diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-01-25 22:20:48 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-01-25 22:20:48 +0000 |
commit | 4bd61ddb8690c76e3e1424cf16a43c678b0666da (patch) | |
tree | afb4093dff7dc358f46f86bc70ab9781e3ee2abc /nuttx/drivers/usbdev | |
parent | 84ebd8284c5c2f190ee154e0124fc5ddccbb0361 (diff) | |
download | px4-nuttx-4bd61ddb8690c76e3e1424cf16a43c678b0666da.tar.gz px4-nuttx-4bd61ddb8690c76e3e1424cf16a43c678b0666da.tar.bz2 px4-nuttx-4bd61ddb8690c76e3e1424cf16a43c678b0666da.zip |
Fixes on reverification of USB mass storage class
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4336 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/drivers/usbdev')
-rw-r--r-- | nuttx/drivers/usbdev/cdcacm.c | 40 | ||||
-rw-r--r-- | nuttx/drivers/usbdev/msc_descriptors.c | 8 |
2 files changed, 43 insertions, 5 deletions
diff --git a/nuttx/drivers/usbdev/cdcacm.c b/nuttx/drivers/usbdev/cdcacm.c index c203d5415..aeea60ce8 100644 --- a/nuttx/drivers/usbdev/cdcacm.c +++ b/nuttx/drivers/usbdev/cdcacm.c @@ -2049,7 +2049,6 @@ errout_with_class: int cdcser_initialize(int minor) { FAR struct usbdevclass_driver_s *drvr; - FAR struct cdcser_dev_s *priv; int ret; /* Get an instance of the serial driver class object */ @@ -2068,3 +2067,42 @@ int cdcser_initialize(int minor) return ret; } #endif + +/**************************************************************************** + * Name: cdcser_uninitialize + * + * Description: + * Un-initialize the USB storage class driver + * + * Input Parameters: + * handle - The handle returned by a previous call to cdcser_configure(). + * + * Returned Value: + * None + * + ****************************************************************************/ + +#ifndef CONFIG_CDCSER_COMPOSITE +void cdcser_uninitialize(FAR struct usbdevclass_driver_s *classdev) +{ + FAR struct cdcser_driver_s *drvr = (FAR struct cdcser_driver_s *)classdev; + FAR struct cdcser_dev_s *priv = drvr->dev; + + /* Unbind the class (if still bound) */ + + if (priv->usbdev) + { + cdcser_unbind(Fpriv->usbdev); + } + + /* Unregister the driver (unless we are a part of a composite device */ + +#ifndef CONFIG_CDCSER_COMPOSITE + usbdev_unregister(&alloc->drvr.drvr); +#endif + + /* And free the driver structure */ + + kfree(priv); +} +#endif diff --git a/nuttx/drivers/usbdev/msc_descriptors.c b/nuttx/drivers/usbdev/msc_descriptors.c index 467eaced8..0c86eaba9 100644 --- a/nuttx/drivers/usbdev/msc_descriptors.c +++ b/nuttx/drivers/usbdev/msc_descriptors.c @@ -213,7 +213,7 @@ static const struct usb_epdesc_s g_hsepbulkindesc = /* Strings ******************************************************************/ #ifndef CONFIG_USBMSC_COMPOSITE -const char g_msccendorstr[] = CONFIG_USBMSC_VENDORSTR; +const char g_mscvendorstr[] = CONFIG_USBMSC_VENDORSTR; const char g_mscproductstr[] = CONFIG_USBMSC_PRODUCTSTR; const char g_mscserialstr[] = CONFIG_USBMSC_SERIALSTR; #endif @@ -256,15 +256,15 @@ int usbmsc_mkstrdesc(uint8_t id, struct usb_strdesc_s *strdesc) } case USBMSC_MANUFACTURERSTRID: - str = g_vendorstr; + str = g_mscvendorstr; break; case USBMSC_PRODUCTSTRID: - str = g_productstr; + str = g_mscproductstr; break; case USBMSC_SERIALSTRID: - str = g_serialstr; + str = g_mscserialstr; break; #endif |