diff --git a/ChangeLog.txt b/ChangeLog.txt index cb8e0976c..02130e225 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -196,7 +196,7 @@ backspace or a DEL character as a backspace (i.e., deleting the character to the left of the cursor). This makes NSH less dependent on particular keyboard mappings of the Backspace key. Submitted by Mike Smith. - * apps/examples/cdcacm: An example that illustrates how the CDC/ACM driver + * apps/system/cdcacm: An example that illustrates how the CDC/ACM driver may to connected and disconnected through software control. * apps/examples/nsh/nsh_main.c: If available, call up_cxxinitialize() to initialize all statically defined C++ classes. @@ -664,3 +664,4 @@ * apps/system/stackmonitor: Add a daemon that can be used to monitor stack usage by all threads (2013-9-24). * system/usbmsc: Move examples/usbmsc to system/usbmsc (2013-9-25). + * system/cdcacm: Move examples/cdcacm to system/cdcacm (2013-9-25). diff --git a/examples/Kconfig b/examples/Kconfig index adbb54a7e..3f699148d 100644 --- a/examples/Kconfig +++ b/examples/Kconfig @@ -7,7 +7,6 @@ source "$APPSDIR/examples/adc/Kconfig" source "$APPSDIR/examples/buttons/Kconfig" source "$APPSDIR/examples/can/Kconfig" source "$APPSDIR/examples/cc3000/Kconfig" -source "$APPSDIR/examples/cdcacm/Kconfig" source "$APPSDIR/examples/composite/Kconfig" source "$APPSDIR/examples/cxxtest/Kconfig" source "$APPSDIR/examples/dhcpd/Kconfig" diff --git a/examples/Make.defs b/examples/Make.defs index a5e4dc087..944739a12 100644 --- a/examples/Make.defs +++ b/examples/Make.defs @@ -50,10 +50,6 @@ ifeq ($(CONFIG_EXAMPLES_CC3000BASIC),y) CONFIGURED_APPS += examples/cc3000 endif -ifeq ($(CONFIG_EXAMPLES_CDCACM),y) -CONFIGURED_APPS += examples/cdcacm -endif - ifeq ($(CONFIG_EXAMPLES_COMPOSITE),y) CONFIGURED_APPS += examples/composite endif diff --git a/examples/Makefile b/examples/Makefile index 584531ddf..daa944e89 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -37,7 +37,7 @@ # Sub-directories -SUBDIRS = adc buttons can cc3000 cdcacm composite cxxtest dhcpd discover elf +SUBDIRS = adc buttons can cc3000 composite cxxtest dhcpd discover elf SUBDIRS += flash_test ftpc ftpd hello helloxx hidkbd igmp json keypadtest SUBDIRS += lcdrw mm modbus mount mtdpart nettest nrf24l01_term nsh null SUBDIRS += nx nxconsole nxffs nxflat nxhello nximage nxlines nxtext ostest @@ -53,7 +53,7 @@ SUBDIRS += xmlrpc CNTXTDIRS = pwm ifeq ($(CONFIG_NSH_BUILTIN_APPS),y) -CNTXTDIRS += adc can cc3000 cdcacm composite cxxtest dhcpd discover flash_test +CNTXTDIRS += adc can cc3000 composite cxxtest dhcpd discover flash_test CNTXTDIRS += ftpd hello helloxx json keypadtestmodbus lcdrw mtdpart nettest CNTXTDIRS += nx nxhello nximage nxlines nxtext nrf24l01_term ostest relays CNTXTDIRS += qencoder slcd smart_test tcpecho telnetd tiff touchscreen diff --git a/examples/README.txt b/examples/README.txt index 02e38061c..29dd6fa7d 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -131,50 +131,6 @@ examples/cc3000 This is a test for the TI CC3000 wireless networking module. -examples/cdcacm -^^^^^^^^^^^^^^^ - - This very simple example shows how a USB CDC/ACM serial can be dynamically - connected and disconnected from a host. This example can only be used as - an NSH built-int command. If built-in, then two new NSH commands will be - supported: - - 1. sercon - Connect the CDC/ACM serial device - 2. serdis - Disconnect the CDC/ACM serial device - - Configuration prequisites (not complete): - - CONFIG_USBDEV=y : USB device support must be enabled - CONFIG_CDCACM=y : The CDC/ACM driver must be built - CONFIG_NSH_BUILTIN_APPS : NSH built-in application support must be enabled - - Configuration options specific to this example: - - CONFIG_EXAMPLES_CDCACM_DEVMINOR : The minor number of the CDC/ACM device. - : i.e., the 'x' in /dev/ttyACMx - - If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB, or - CONFIG_USBDEV_TRACE), then the example code will also initialize the USB trace - output. The amount of trace output can be controlled using: - - CONFIG_EXAMPLES_CDCACM_TRACEINIT - Show initialization events - CONFIG_EXAMPLES_CDCACM_TRACECLASS - Show class driver events - CONFIG_EXAMPLES_CDCACM_TRACETRANSFERS - Show data transfer events - CONFIG_EXAMPLES_CDCACM_TRACECONTROLLER - Show controller events - CONFIG_EXAMPLES_CDCACM_TRACEINTERRUPTS - Show interrupt-related events. - - Note: This example is only enables or disable USB CDC/ACM via the NSH - 'sercon' and 'serdis' command. It will enable and disable tracing per - the settings before enabling and after disabling the CDC/ACM device. It - will not, however, monitor buffered trace data in the interim. If - CONFIG_USBDEV_TRACE is defined (and the debug options are not), other - application logic will need to monitor the buffered trace data. - examples/composite ^^^^^^^^^^^^^^^^^^ diff --git a/system/Kconfig b/system/Kconfig index 22d212b12..c2eec877b 100644 --- a/system/Kconfig +++ b/system/Kconfig @@ -3,6 +3,10 @@ # see misc/tools/kconfig-language.txt. # +menu "USB CDC/ACM Class Commands" +source "$APPSDIR/system/cdcacm/Kconfig" +endmenu + menu "Custom Free Memory Command" source "$APPSDIR/system/free/Kconfig" endmenu @@ -51,7 +55,7 @@ menu "Stack Monitor" source "$APPSDIR/system/stackmonitor/Kconfig" endmenu -menu "USB Mass Storage Class" +menu "USB Mass Storage Class Commands" source "$APPSDIR/system/usbmsc/Kconfig" endmenu diff --git a/system/Make.defs b/system/Make.defs index c12a77af0..a314220aa 100644 --- a/system/Make.defs +++ b/system/Make.defs @@ -34,6 +34,10 @@ # ############################################################################ +ifeq ($(CONFIG_SYSTEM_CDCACM),y) +CONFIGURED_APPS += system/cdcacm +endif + ifeq ($(CONFIG_SYSTEM_FREE),y) CONFIGURED_APPS += system/free endif diff --git a/system/Makefile b/system/Makefile index 01008dbdc..46ceccdda 100644 --- a/system/Makefile +++ b/system/Makefile @@ -37,8 +37,8 @@ # Sub-directories containing system task -SUBDIRS = flash_eraseall free i2c install poweroff ramtest ramtron readline -SUBDIRS += sdcard stackmonitor sysinfo usbmonitor usbmsc zmodem +SUBDIRS = cdcacm flash_eraseall free i2c install poweroff ramtest ramtron +SUBDIRS += readline sdcard stackmonitor sysinfo usbmonitor usbmsc zmodem # Create the list of installed runtime modules (INSTALLED_DIRS) diff --git a/examples/cdcacm/.gitignore b/system/cdcacm/.gitignore similarity index 100% rename from examples/cdcacm/.gitignore rename to system/cdcacm/.gitignore diff --git a/examples/cdcacm/Kconfig b/system/cdcacm/Kconfig similarity index 68% rename from examples/cdcacm/Kconfig rename to system/cdcacm/Kconfig index fcb7a1e01..b85b15a9e 100644 --- a/examples/cdcacm/Kconfig +++ b/system/cdcacm/Kconfig @@ -3,16 +3,19 @@ # see misc/tools/kconfig-language.txt. # -config EXAMPLES_CDCACM - bool "CDC/ACM example" +config SYSTEM_CDCACM + bool "CDC/ACM class controls" default n - depends on CDCACM + depends on CDCACM && !KERNEL_BUILD ---help--- - Enable the USB CDC/ACM class driver example + Enable the USB CDC/ACM class controls. These controls include: -if EXAMPLES_CDCACM + sercon: Connect the mass storage device to the host + serdis: Disconnect the mass storage device to the host -config EXAMPLES_CDCACM_DEVMINOR +if SYSTEM_CDCACM + +config SYSTEM_CDCACM_DEVMINOR int "CDC/ACM Minor Device Number" default 0 ---help--- @@ -20,53 +23,53 @@ config EXAMPLES_CDCACM_DEVMINOR For example, N in /dev/ttyACMN. Used for registering the serial driver. Default is zero. -config EXAMPLES_CDCACM_TRACEINIT +config SYSTEM_CDCACM_TRACEINIT bool "USB Trace Initialization" default n depends on USBDEV_TRACE || DEBUG_USB ---help--- If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The + then the add-on code will also manage the USB trace output. The amount of trace output can be controlled this configuration value: This setting will show USB initialization events -config EXAMPLES_CDCACM_TRACECLASS +config SYSTEM_CDCACM_TRACECLASS bool "USB Trace Class" default n depends on USBDEV_TRACE || DEBUG_USB ---help--- If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The + then the add-on code will also manage the USB trace output. The amount of trace output can be controlled this configuration value: This setting will show USB class driver events -config EXAMPLES_CDCACM_TRACETRANSFERS +config SYSTEM_CDCACM_TRACETRANSFERS bool "USB Trace Transfers" default n depends on USBDEV_TRACE || DEBUG_USB ---help--- If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The + then the add-on code will also manage the USB trace output. The amount of trace output can be controlled this configuration value: This setting will show USB data transfer events -config EXAMPLES_CDCACM_TRACECONTROLLER +config SYSTEM_CDCACM_TRACECONTROLLER bool "USB Trace Device Controller Events" default n depends on USBDEV_TRACE || DEBUG_USB ---help--- If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The + then the add-on code will also manage the USB trace output. The amount of trace output can be controlled this configuration value: This setting will show USB device controller events -config EXAMPLES_CDCACM_TRACEINTERRUPTS +config SYSTEM_CDCACM_TRACEINTERRUPTS bool "USB Trace Device Controller Interrupt Events" default n depends on USBDEV_TRACE || DEBUG_USB ---help--- If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The + then the add-on code will also manage the USB trace output. The amount of trace output can be controlled this configuration value: This setting will show USB device controller interrupt-related events. diff --git a/examples/cdcacm/Makefile b/system/cdcacm/Makefile similarity index 97% rename from examples/cdcacm/Makefile rename to system/cdcacm/Makefile index 2cf3a107f..b72bb9fae 100644 --- a/examples/cdcacm/Makefile +++ b/system/cdcacm/Makefile @@ -1,5 +1,5 @@ ############################################################################ -# apps/examples/cdcacm/Makefile +# apps/system/cdcacm/Makefile # # Copyright (C) 2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt @@ -37,7 +37,7 @@ -include $(TOPDIR)/Make.defs include $(APPDIR)/Make.defs -# USB CDC/ACM serial mass storage example +# USB CDC/ACM serial mass storage add-on ASRCS = CSRCS = cdcacm_main.c diff --git a/system/cdcacm/README.txt b/system/cdcacm/README.txt new file mode 100755 index 000000000..a428cb318 --- /dev/null +++ b/system/cdcacm/README.txt @@ -0,0 +1,43 @@ +system/cdcacm +^^^^^^^^^^^^^^^ + + This very simple add-on allows the USB CDC/ACM serial device can be dynamically + connected and disconnected from a host. This add-on can only be used as + an NSH built-in command. If built-in, then two new NSH commands will be + supported: + + 1. sercon - Connect the CDC/ACM serial device + 2. serdis - Disconnect the CDC/ACM serial device + + Configuration prequisites (not complete): + + CONFIG_USBDEV=y : USB device support must be enabled + CONFIG_CDCACM=y : The CDC/ACM driver must be built + CONFIG_NSH_BUILTIN_APPS : NSH built-in application support must be enabled + + Configuration options specific to this add-on: + + CONFIG_SYSTEM_CDCACM_DEVMINOR : The minor number of the CDC/ACM device. + : i.e., the 'x' in /dev/ttyACMx + + If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB, or + CONFIG_USBDEV_TRACE), then the add-on code will also initialize the USB trace + output. The amount of trace output can be controlled using: + + CONFIG_SYSTEM_CDCACM_TRACEINIT + Show initialization events + CONFIG_SYSTEM_CDCACM_TRACECLASS + Show class driver events + CONFIG_SYSTEM_CDCACM_TRACETRANSFERS + Show data transfer events + CONFIG_SYSTEM_CDCACM_TRACECONTROLLER + Show controller events + CONFIG_SYSTEM_CDCACM_TRACEINTERRUPTS + Show interrupt-related events. + + Note: This add-on is only enables or disable USB CDC/ACM via the NSH + 'sercon' and 'serdis' command. It will enable and disable tracing per + the settings before enabling and after disabling the CDC/ACM device. It + will not, however, monitor buffered trace data in the interim. If + CONFIG_USBDEV_TRACE is defined (and the debug options are not), other + application logic will need to monitor the buffered trace data. diff --git a/examples/cdcacm/cdcacm.h b/system/cdcacm/cdcacm.h similarity index 85% rename from examples/cdcacm/cdcacm.h rename to system/cdcacm/cdcacm.h index 1b3b2511c..bc9cf2f9e 100644 --- a/examples/cdcacm/cdcacm.h +++ b/system/cdcacm/cdcacm.h @@ -1,5 +1,5 @@ /**************************************************************************** - * examples/cdcacm/cdcacm.h + * system/cdcacm/cdcacm.h * * Copyright (C) 2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -33,8 +33,8 @@ * ****************************************************************************/ -#ifndef __EXAMPLES_CDCACM_CDCACM_H -#define __EXAMPLES_CDCACM_CDCACM_H +#ifndef __SYSTEM_CDCACM_CDCACM_H +#define __SYSTEM_CDCACM_CDCACM_H /**************************************************************************** * Included Files @@ -61,18 +61,18 @@ #endif #ifndef CONFIG_NSH_BUILTIN_APPS -# error "This example can only be built as an NSH built-in application" +# error "This add-on can only be built as an NSH built-in application" #endif /* Default configuration values */ -#ifndef CONFIG_EXAMPLES_CDCACM_DEVMINOR -# define CONFIG_EXAMPLES_CDCACM_DEVMINOR 0 +#ifndef CONFIG_SYSTEM_CDCACM_DEVMINOR +# define CONFIG_SYSTEM_CDCACM_DEVMINOR 0 #endif /* Trace Configuration ******************************************************/ -#ifdef CONFIG_EXAMPLES_CDCACM_TRACEINIT +#ifdef CONFIG_SYSTEM_CDCACM_TRACEINIT # define TRACE_INIT_BITS (TRACE_INIT_BIT) #else # define TRACE_INIT_BITS (0) @@ -80,26 +80,26 @@ #define TRACE_ERROR_BITS (TRACE_DEVERROR_BIT|TRACE_CLSERROR_BIT) -#ifdef CONFIG_EXAMPLES_CDCACM_TRACECLASS +#ifdef CONFIG_SYSTEM_CDCACM_TRACECLASS # define TRACE_CLASS_BITS (TRACE_CLASS_BIT|TRACE_CLASSAPI_BIT|TRACE_CLASSSTATE_BIT) #else # define TRACE_CLASS_BITS (0) #endif -#ifdef CONFIG_EXAMPLES_CDCACM_TRACETRANSFERS +#ifdef CONFIG_SYSTEM_CDCACM_TRACETRANSFERS # define TRACE_TRANSFER_BITS (TRACE_OUTREQQUEUED_BIT|TRACE_INREQQUEUED_BIT|TRACE_READ_BIT|\ TRACE_WRITE_BIT|TRACE_COMPLETE_BIT) #else # define TRACE_TRANSFER_BITS (0) #endif -#ifdef CONFIG_EXAMPLES_CDCACM_TRACECONTROLLER +#ifdef CONFIG_SYSTEM_CDCACM_TRACECONTROLLER # define TRACE_CONTROLLER_BITS (TRACE_EP_BIT|TRACE_DEV_BIT) #else # define TRACE_CONTROLLER_BITS (0) #endif -#ifdef CONFIG_EXAMPLES_CDCACM_TRACEINTERRUPTS +#ifdef CONFIG_SYSTEM_CDCACM_TRACEINTERRUPTS # define TRACE_INTERRUPT_BITS (TRACE_INTENTRY_BIT|TRACE_INTDECODE_BIT|TRACE_INTEXIT_BIT) #else # define TRACE_INTERRUPT_BITS (0) @@ -132,14 +132,14 @@ * Public Types ****************************************************************************/ -/* All global variables used by this example are packed into a structure in +/* All global variables used by this add-on are packed into a structure in * order to avoid name collisions. */ struct cdcacm_state_s { - /* This is the handle that references to this particular USB storage driver - * instance. It is only needed if the USB mass storage device example is + /* This is the handle that references to this particular USB CDC/ACM driver + * instance. It is only needed if the USB CDC/ACM device add-on is * built using CONFIG_NSH_BUILTIN_APPS. In this case, the value * of the driver handle must be remembered between the 'sercon' and 'msdis' * commands. @@ -152,7 +152,7 @@ struct cdcacm_state_s * Public Data ****************************************************************************/ -/* All global variables used by this example are packed into a structure in +/* All global variables used by this add-on are packed into a structure in * order to avoid name collisions. */ @@ -162,4 +162,4 @@ extern struct cdcacm_state_s g_cdcacm; * Public Functions ****************************************************************************/ -#endif /* __EXAMPLES_CDCACM_CDCACM_H */ +#endif /* __SYSTEM_CDCACM_CDCACM_H */ diff --git a/examples/cdcacm/cdcacm_main.c b/system/cdcacm/cdcacm_main.c similarity index 96% rename from examples/cdcacm/cdcacm_main.c rename to system/cdcacm/cdcacm_main.c index aeb7a9e74..724e8fd14 100644 --- a/examples/cdcacm/cdcacm_main.c +++ b/system/cdcacm/cdcacm_main.c @@ -1,5 +1,5 @@ /**************************************************************************** - * examples/cdcacm/cdcacm_main.c + * system/cdcacm/cdcacm_main.c * * Copyright (C) 2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -57,7 +57,7 @@ * Private Data ****************************************************************************/ -/* All global variables used by this example are packed into a structure in +/* All global variables used by this add-on are packed into a structure in * order to avoid name collisions. */ @@ -102,7 +102,7 @@ int sercon_main(int argc, char *argv[]) /* Initialize the USB CDC/ACM serial driver */ message("sercon: Registering CDC/ACM serial driver\n"); - ret = cdcacm_initialize(CONFIG_EXAMPLES_CDCACM_DEVMINOR, &g_cdcacm.handle); + ret = cdcacm_initialize(CONFIG_SYSTEM_CDCACM_DEVMINOR, &g_cdcacm.handle); if (ret < 0) { message("sercon: ERROR: Failed to create the CDC/ACM serial device: %d\n", -ret); diff --git a/system/usbmsc/Kconfig b/system/usbmsc/Kconfig index d78f8a8ac..7be540e33 100644 --- a/system/usbmsc/Kconfig +++ b/system/usbmsc/Kconfig @@ -6,7 +6,7 @@ config SYSTEM_USBMSC bool "USB mass storage class controls" default n - depends on USBMSC + depends on USBMSC && !KERNEL_BUILD ---help--- Enable the USB mass storage class controls. These controls include: diff --git a/system/usbmsc/README.txt b/system/usbmsc/README.txt new file mode 100755 index 000000000..6734a4ed8 --- /dev/null +++ b/system/usbmsc/README.txt @@ -0,0 +1,76 @@ +system/usbmsc +^^^^^^^^^^^^^^^ + + This add-on registers a block device driver, then exports the block + the device using the USB storage class driver. In order to use this + add-on, your board-specific logic must provide the function: + + void usbmsc_archinitialize(void); + + This function will be called by the system/usbmsc in order to + do the actual registration of the block device drivers. For examples + of the implementation of usbmsc_archinitialize() see + configs/mcu123-lpc124x/src/up_usbmsc.c or + configs/stm3210e-eval/src/usbmsc.c + + Configuration options: + + CONFIG_NSH_BUILTIN_APPS + This add-on can be built as two NSH "built-in" commands if this option + is selected: 'msconn' will connect the USB mass storage device; 'msdis' + will disconnect the USB storage device. + CONFIG_SYSTEM_USBMSC_NLUNS + Defines the number of logical units (LUNs) exported by the USB storage + driver. Each LUN corresponds to one exported block driver (or partition + of a block driver). May be 1, 2, or 3. Default is 1. + CONFIG_SYSTEM_USBMSC_DEVMINOR1 + The minor device number of the block driver for the first LUN. For + example, N in /dev/mmcsdN. Used for registering the block driver. Default + is zero. + CONFIG_SYSTEM_USBMSC_DEVPATH1 + The full path to the registered block driver. Default is "/dev/mmcsd0" + CONFIG_SYSTEM_USBMSC_DEVMINOR2 and CONFIG_SYSTEM_USBMSC_DEVPATH2 + Similar parameters that would have to be provided if CONFIG_SYSTEM_USBMSC_NLUNS + is 2 or 3. No defaults. + CONFIG_SYSTEM_USBMSC_DEVMINOR3 and CONFIG_SYSTEM_USBMSC_DEVPATH3 + Similar parameters that would have to be provided if CONFIG_SYSTEM_USBMSC_NLUNS + is 3. No defaults. + CONFIG_SYSTEM_USBMSC_DEBUGMM + Enables some debug tests to check for memory usage and memory leaks. + + If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB), then + the code will also manage the USB trace output. The amount of trace output + can be controlled using: + + CONFIG_SYSTEM_USBMSC_TRACEINIT + Show initialization events + CONFIG_SYSTEM_USBMSC_TRACECLASS + Show class driver events + CONFIG_SYSTEM_USBMSC_TRACETRANSFERS + Show data transfer events + CONFIG_SYSTEM_USBMSC_TRACECONTROLLER + Show controller events + CONFIG_SYSTEM_USBMSC_TRACEINTERRUPTS + Show interrupt-related events. + + Error results are always shown in the trace output + + NOTE 1: When built as an NSH add-on command (CONFIG_NSH_BUILTIN_APPS=y), + Caution should be used to assure that the SD drive (or other storage device) is + not in use when the USB storage device is configured. Specifically, the SD + driver should be unmounted like: + + nsh> mount -t vfat /dev/mmcsd0 /mnt/sdcard # Card is mounted in NSH + ... + nsh> umount /mnd/sdcard # Unmount before connecting USB!!! + nsh> msconn # Connect the USB storage device + ... + nsh> msdis # Disconnect USB storate device + nsh> mount -t vfat /dev/mmcsd0 /mnt/sdcard # Restore the mount + + Failure to do this could result in corruption of the SD card format. + + NOTE 2: This add-on used internal USB device driver interfaces. As such, + it relies on internal OS interfaces that are not normally available to a + user-space program. As a result, this add-on cannot be used if a + NuttX is built as a protected, supervisor kernel (CONFIG_NUTTX_KERNEL). diff --git a/system/usbmsc/usbmsc.h b/system/usbmsc/usbmsc.h index c829473e4..1a0afb9a2 100644 --- a/system/usbmsc/usbmsc.h +++ b/system/usbmsc/usbmsc.h @@ -1,7 +1,7 @@ /**************************************************************************** * system/usbmsc/usbmsc.h * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2012-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -33,8 +33,8 @@ * ****************************************************************************/ -#ifndef __EXAMPLES_USBSTORAGE_USBMSC_H -#define __EXAMPLES_USBSTORAGE_USBMSC_H +#ifndef __SYSTEM_USBMSC_USBMSC_H +#define __SYSTEM_USBMSC_USBMSC_H /**************************************************************************** * Included Files @@ -177,4 +177,4 @@ extern struct usbmsc_state_s g_usbmsc; extern int usbmsc_archinitialize(void); -#endif /* __EXAMPLES_USBSTORAGE_USBMSC_H */ +#endif /* __SYSTEM_USBMSC_USBMSC_H */