diff --git a/ChangeLog.txt b/ChangeLog.txt index b04e2af87..e86bc10eb 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1575,3 +1575,8 @@ (2016-03-25). 7.16 2016-xx-xx Gregory Nutt + + * apps/system/sdcard: Remove the SD card application. This + application violates OS/application interface rules and has been + moved to Obsoleted/apps/system/sdcard (2016-03-29). + diff --git a/system/Kconfig b/system/Kconfig index 3b0758f0f..8ad2b6769 100644 --- a/system/Kconfig +++ b/system/Kconfig @@ -19,7 +19,6 @@ source "$APPSDIR/system/ramtest/Kconfig" source "$APPSDIR/system/readline/Kconfig" source "$APPSDIR/system/prun/Kconfig" source "$APPSDIR/system/mdio/Kconfig" -source "$APPSDIR/system/sdcard/Kconfig" source "$APPSDIR/system/sudoku/Kconfig" source "$APPSDIR/system/lm75/Kconfig" source "$APPSDIR/system/vi/Kconfig" diff --git a/system/Make.defs b/system/Make.defs index 24111c615..2caba6179 100644 --- a/system/Make.defs +++ b/system/Make.defs @@ -102,10 +102,6 @@ ifeq ($(CONFIG_SYSTEM_READLINE),y) CONFIGURED_APPS += system/readline endif -ifeq ($(CONFIG_SYSTEM_SDCARD),y) -CONFIGURED_APPS += system/sdcard -endif - ifeq ($(CONFIG_SYSTEM_SUDOKU),y) CONFIGURED_APPS += system/sudoku endif diff --git a/system/Makefile b/system/Makefile index 353a06338..04b2deef5 100644 --- a/system/Makefile +++ b/system/Makefile @@ -38,7 +38,7 @@ # Sub-directories containing system tasks/libraries SUBDIRS = cdcacm cle composite cu flash_eraseall free i2c hex2bin install -SUBDIRS += hexed lm75 mdio netdb nxplayer ramtest readline sdcard +SUBDIRS += hexed lm75 mdio netdb nxplayer ramtest readline SUBDIRS += stackmonitor sudoku symtab ubloxmodem usbmonitor usbmsc vi SUBDIRS += zmodem zoneinfo diff --git a/system/sdcard/.gitignore b/system/sdcard/.gitignore deleted file mode 100644 index 83bd7b811..000000000 --- a/system/sdcard/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -/Make.dep -/.depend -/.built -/*.asm -/*.rel -/*.lst -/*.sym -/*.adb -/*.lib -/*.src -/*.obj diff --git a/system/sdcard/Kconfig b/system/sdcard/Kconfig deleted file mode 100644 index 029226c83..000000000 --- a/system/sdcard/Kconfig +++ /dev/null @@ -1,14 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see the file kconfig-language.txt in the NuttX tools repository. -# - -config SYSTEM_SDCARD - bool "SD Card" - default n - ---help--- - Enable support for the NSH sdcard command. - -if SYSTEM_SDCARD -endif - diff --git a/system/sdcard/Makefile b/system/sdcard/Makefile deleted file mode 100644 index 9aac89f95..000000000 --- a/system/sdcard/Makefile +++ /dev/null @@ -1,149 +0,0 @@ -############################################################################ -# apps/system/sdcard/Makefile -# -# Copyright (C) 2011 Uros Platise. All rights reserved. -# Copyright (C) 2012 Gregory Nutt. All rights reserved. -# Author: Uros Platise -# Gregory Nutt -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -# TODO, this makefile should run make under the app dirs, instead of -# sourcing the Make.defs! - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs -include $(APPDIR)/Make.defs - -ifeq ($(WINTOOL),y) -INCDIROPT = -w -endif - -# Hello Application -# TODO: appname can be automatically extracted from the directory name - -APPNAME = sdcard -PRIORITY = SCHED_PRIORITY_DEFAULT -STACKSIZE = 1024 - -ASRCS = -CSRCS = -MAINSRC = sdcard.c - -AOBJS = $(ASRCS:.S=$(OBJEXT)) -COBJS = $(CSRCS:.c=$(OBJEXT)) -MAINOBJ = $(MAINSRC:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) $(MAINSRC) -OBJS = $(AOBJS) $(COBJS) - -ifneq ($(CONFIG_BUILD_KERNEL),y) - OBJS += $(MAINOBJ) -endif - -ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BIN = ..\..\libapps$(LIBEXT) -else -ifeq ($(WINTOOL),y) - BIN = ..\\..\\libapps$(LIBEXT) -else - BIN = ../../libapps$(LIBEXT) -endif -endif - -ifeq ($(WINTOOL),y) - INSTALL_DIR = "${shell cygpath -w $(BIN_DIR)}" -else - INSTALL_DIR = $(BIN_DIR) -endif - -CONFIG_XYZ_PROGNAME ?= sdcard$(EXEEXT) -PROGNAME = $(CONFIG_XYZ_PROGNAME) - -ROOTDEPPATH = --dep-path . - -# Common build - -VPATH = - -all: .built -.PHONY: context depend clean distclean - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS) $(MAINOBJ): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -.built: $(OBJS) - $(call ARCHIVE, $(BIN), $(OBJS)) - $(Q) touch .built - -ifeq ($(CONFIG_BUILD_KERNEL),y) -$(BIN_DIR)$(DELIM)$(PROGNAME): $(OBJS) $(MAINOBJ) - @echo "LD: $(PROGNAME)" - $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $(INSTALL_DIR)$(DELIM)$(PROGNAME) $(ARCHCRT0OBJ) $(MAINOBJ) $(LDLIBS) - $(Q) $(NM) -u $(INSTALL_DIR)$(DELIM)$(PROGNAME) - -install: $(BIN_DIR)$(DELIM)$(PROGNAME) - -else -install: - -endif - -# Register application - -ifeq ($(CONFIG_NSH_BUILTIN_APPS),y) -$(BUILTIN_REGISTRY)$(DELIM)$(APPNAME)_main.bdat: $(DEPCONFIG) Makefile - $(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main) - -context: $(BUILTIN_REGISTRY)$(DELIM)$(APPNAME)_main.bdat -else -context: -endif - -# Create dependencies - -.depend: Makefile $(SRCS) - $(Q) $(MKDEP) $(ROOTDEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep - $(Q) touch $@ - -depend: .depend - -clean: - $(call DELFILE, .built) - $(call CLEAN) - -distclean: clean - $(call DELFILE, Make.dep) - $(call DELFILE, .depend) - --include Make.dep diff --git a/system/sdcard/sdcard.c b/system/sdcard/sdcard.c deleted file mode 100644 index 1235d7f24..000000000 --- a/system/sdcard/sdcard.c +++ /dev/null @@ -1,162 +0,0 @@ -/**************************************************************************** - * apps/system/sdcard/sdcard.c - * - * Copyright (C) 2011 Uros Platise. All rights reserved. - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * - * Authors: Uros Platise - * Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include -#include -#include -#include -#include - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -FAR struct sdio_dev_s *sdio_initialize(int slotno); -void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot); - -// TODO get the structure out from the slot number -static FAR struct sdio_dev_s *sdio = NULL; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* Create device device for the SDIO-based MMC/SD block driver */ - -static int sdcard_start(int slotno) -{ - int ret; - - /* First, get an instance of the SDIO interface */ - - sdio = sdio_initialize(slotno); - if (!sdio) - { - printf("SDIO: Failed to initialize slot %d\n", slotno); - return -ENODEV; - } - - printf("SDIO: Initialized slot %d\n", slotno); - - /* Now bind the SPI interface to the MMC/SD driver */ - - ret = mmcsd_slotinitialize(slotno, sdio); - if (ret != OK) - { - printf("SDIO: Failed to bind to the MMC/SD driver: %d\n", ret); - return ret; - } - - printf("SDIO: Successfully bound to the MMC/SD driver\n"); - - /* Then let's guess and say that there is a card in the slot. I need to check to - * see if the VSN board supports a GPIO to detect if there is a card in - * the slot. - */ - sdio_mediachange(sdio, true); - - return OK; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#ifdef CONFIG_BUILD_KERNEL -int main(int argc, FAR char *argv[]) -#else -int sdcard_main(int argc, char *argv[]) -#endif -{ - int slotno = 0; - - if (argc >= 2) { - - /* The 3rd argument is expected to be a slot number, if given */ - - if (argc==3) - { - slotno = atoi(argv[2]); - } - - /* Commands */ - - if (!strcmp(argv[1], "start")) - { - return sdcard_start(slotno); - } - else if (!strcmp(argv[1], "stop")) - { - fprintf(stderr, "Not implemented yet\n"); - } - else if (!strcmp(argv[1], "insert")) - { - if (sdio) - { - sdio_mediachange(sdio, true); - return OK; - } - } - else if (!strcmp(argv[1], "eject")) - { - if (sdio) - { - sdio_mediachange(sdio, false); - return OK; - } - } - else if (!strcmp(argv[1], "status")) - { - printf("SDcard #%d Status:\n", slotno); -#ifndef CONFIG_MMCSD_HAVECARDDETECT - printf("\t - Without SDcard detect capability\n"); -#endif - return 0; - } - } - - printf("%s: {slotno}\n", argv[0]); - return -1; -}