aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2009-02-12 14:47:49 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2009-03-24 19:20:34 -0400
commit0ff71883b2d60136430458413c135d545c69b0c4 (patch)
treec8828d2881acc8d4c063ee5336f5a282f766e7c8 /drivers/usb/storage
parente6e244b6cb1f70e7109381626293cd40a8334ed3 (diff)
usb-storage: make sddr09 a separate module
This patch (as1207) converts usb-storage's sddr09 subdriver into a separate module. An unexpected complication arises because of DPCM devices, in which one LUN uses the sddr09 transport and one uses the standard CB transport. Since these devices can be used even when USB_STORAGE_SDDR09 isn't configured, their entries in unusual_devs.h require special treatment. If SDDR09 isn't configured then the entries remain in unusual_devs.h; if it is then the entries are present in unusual_sddr09.h instead. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/storage')
-rw-r--r--drivers/usb/storage/Kconfig4
-rw-r--r--drivers/usb/storage/Makefile5
-rw-r--r--drivers/usb/storage/sddr09.c107
-rw-r--r--drivers/usb/storage/sddr09.h38
-rw-r--r--drivers/usb/storage/unusual_devs.h50
-rw-r--r--drivers/usb/storage/unusual_sddr09.h56
-rw-r--r--drivers/usb/storage/usb.c21
-rw-r--r--drivers/usb/storage/usual-tables.c1
8 files changed, 174 insertions, 108 deletions
diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig
index 5c367566be8d..7be8899f2559 100644
--- a/drivers/usb/storage/Kconfig
+++ b/drivers/usb/storage/Kconfig
@@ -83,13 +83,15 @@ config USB_STORAGE_USBAT
83 - Sandisk ImageMate SDDR-05b 83 - Sandisk ImageMate SDDR-05b
84 84
85config USB_STORAGE_SDDR09 85config USB_STORAGE_SDDR09
86 bool "SanDisk SDDR-09 (and other SmartMedia, including DPCM) support" 86 tristate "SanDisk SDDR-09 (and other SmartMedia, including DPCM) support"
87 depends on USB_STORAGE 87 depends on USB_STORAGE
88 help 88 help
89 Say Y here to include additional code to support the Sandisk SDDR-09 89 Say Y here to include additional code to support the Sandisk SDDR-09
90 SmartMedia reader in the USB Mass Storage driver. 90 SmartMedia reader in the USB Mass Storage driver.
91 Also works for the Microtech Zio! CompactFlash/SmartMedia reader. 91 Also works for the Microtech Zio! CompactFlash/SmartMedia reader.
92 92
93 If this driver is compiled as a module, it will be named ums-sddr09.
94
93config USB_STORAGE_SDDR55 95config USB_STORAGE_SDDR55
94 bool "SanDisk SDDR-55 SmartMedia support" 96 bool "SanDisk SDDR-55 SmartMedia support"
95 depends on USB_STORAGE 97 depends on USB_STORAGE
diff --git a/drivers/usb/storage/Makefile b/drivers/usb/storage/Makefile
index a9e475e127a5..a52740a95602 100644
--- a/drivers/usb/storage/Makefile
+++ b/drivers/usb/storage/Makefile
@@ -11,7 +11,6 @@ obj-$(CONFIG_USB_STORAGE) += usb-storage.o
11 11
12usb-storage-obj-$(CONFIG_USB_STORAGE_DEBUG) += debug.o 12usb-storage-obj-$(CONFIG_USB_STORAGE_DEBUG) += debug.o
13usb-storage-obj-$(CONFIG_USB_STORAGE_USBAT) += shuttle_usbat.o 13usb-storage-obj-$(CONFIG_USB_STORAGE_USBAT) += shuttle_usbat.o
14usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR09) += sddr09.o
15usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR55) += sddr55.o 14usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR55) += sddr55.o
16usb-storage-obj-$(CONFIG_USB_STORAGE_FREECOM) += freecom.o 15usb-storage-obj-$(CONFIG_USB_STORAGE_FREECOM) += freecom.o
17usb-storage-obj-$(CONFIG_USB_STORAGE_ISD200) += isd200.o 16usb-storage-obj-$(CONFIG_USB_STORAGE_ISD200) += isd200.o
@@ -30,3 +29,7 @@ ifeq ($(CONFIG_USB_LIBUSUAL),)
30else 29else
31 obj-$(CONFIG_USB) += libusual.o usual-tables.o 30 obj-$(CONFIG_USB) += libusual.o usual-tables.o
32endif 31endif
32
33obj-$(CONFIG_USB_STORAGE_SDDR09) += ums-sddr09.o
34
35ums-sddr09-objs := sddr09.o
diff --git a/drivers/usb/storage/sddr09.c b/drivers/usb/storage/sddr09.c
index b667c7d2b837..170ad86b2d3e 100644
--- a/drivers/usb/storage/sddr09.c
+++ b/drivers/usb/storage/sddr09.c
@@ -41,6 +41,7 @@
41 */ 41 */
42 42
43#include <linux/errno.h> 43#include <linux/errno.h>
44#include <linux/module.h>
44#include <linux/slab.h> 45#include <linux/slab.h>
45 46
46#include <scsi/scsi.h> 47#include <scsi/scsi.h>
@@ -51,7 +52,50 @@
51#include "transport.h" 52#include "transport.h"
52#include "protocol.h" 53#include "protocol.h"
53#include "debug.h" 54#include "debug.h"
54#include "sddr09.h" 55
56
57static int usb_stor_sddr09_dpcm_init(struct us_data *us);
58static int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us);
59static int usb_stor_sddr09_init(struct us_data *us);
60
61
62/*
63 * The table of devices
64 */
65#define UNUSUAL_DEV(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax, \
66 vendorName, productName, useProtocol, useTransport, \
67 initFunction, flags) \
68{ USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
69 .driver_info = (flags)|(USB_US_TYPE_STOR<<24) }
70
71struct usb_device_id sddr09_usb_ids[] = {
72# include "unusual_sddr09.h"
73 { } /* Terminating entry */
74};
75MODULE_DEVICE_TABLE(usb, sddr09_usb_ids);
76
77#undef UNUSUAL_DEV
78
79/*
80 * The flags table
81 */
82#define UNUSUAL_DEV(idVendor, idProduct, bcdDeviceMin, bcdDeviceMax, \
83 vendor_name, product_name, use_protocol, use_transport, \
84 init_function, Flags) \
85{ \
86 .vendorName = vendor_name, \
87 .productName = product_name, \
88 .useProtocol = use_protocol, \
89 .useTransport = use_transport, \
90 .initFunction = init_function, \
91}
92
93static struct us_unusual_dev sddr09_unusual_dev_list[] = {
94# include "unusual_sddr09.h"
95 { } /* Terminating entry */
96};
97
98#undef UNUSUAL_DEV
55 99
56 100
57#define short_pack(lsb,msb) ( ((u16)(lsb)) | ( ((u16)(msb))<<8 ) ) 101#define short_pack(lsb,msb) ( ((u16)(lsb)) | ( ((u16)(msb))<<8 ) )
@@ -1406,7 +1450,7 @@ sddr09_common_init(struct us_data *us) {
1406 * unusual devices list but called from here then LUN 0 of the combo reader 1450 * unusual devices list but called from here then LUN 0 of the combo reader
1407 * is not recognized. But I do not know what precisely these calls do. 1451 * is not recognized. But I do not know what precisely these calls do.
1408 */ 1452 */
1409int 1453static int
1410usb_stor_sddr09_dpcm_init(struct us_data *us) { 1454usb_stor_sddr09_dpcm_init(struct us_data *us) {
1411 int result; 1455 int result;
1412 unsigned char *data = us->iobuf; 1456 unsigned char *data = us->iobuf;
@@ -1456,7 +1500,7 @@ usb_stor_sddr09_dpcm_init(struct us_data *us) {
1456/* 1500/*
1457 * Transport for the Microtech DPCM-USB 1501 * Transport for the Microtech DPCM-USB
1458 */ 1502 */
1459int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us) 1503static int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us)
1460{ 1504{
1461 int ret; 1505 int ret;
1462 1506
@@ -1498,7 +1542,7 @@ int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us)
1498/* 1542/*
1499 * Transport for the Sandisk SDDR-09 1543 * Transport for the Sandisk SDDR-09
1500 */ 1544 */
1501int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us) 1545static int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us)
1502{ 1546{
1503 static unsigned char sensekey = 0, sensecode = 0; 1547 static unsigned char sensekey = 0, sensecode = 0;
1504 static unsigned char havefakesense = 0; 1548 static unsigned char havefakesense = 0;
@@ -1697,7 +1741,60 @@ int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us)
1697/* 1741/*
1698 * Initialization routine for the sddr09 subdriver 1742 * Initialization routine for the sddr09 subdriver
1699 */ 1743 */
1700int 1744static int
1701usb_stor_sddr09_init(struct us_data *us) { 1745usb_stor_sddr09_init(struct us_data *us) {
1702 return sddr09_common_init(us); 1746 return sddr09_common_init(us);
1703} 1747}
1748
1749static int sddr09_probe(struct usb_interface *intf,
1750 const struct usb_device_id *id)
1751{
1752 struct us_data *us;
1753 int result;
1754
1755 result = usb_stor_probe1(&us, intf, id,
1756 (id - sddr09_usb_ids) + sddr09_unusual_dev_list);
1757 if (result)
1758 return result;
1759
1760 if (us->protocol == US_PR_DPCM_USB) {
1761 us->transport_name = "Control/Bulk-EUSB/SDDR09";
1762 us->transport = dpcm_transport;
1763 us->transport_reset = usb_stor_CB_reset;
1764 us->max_lun = 1;
1765 } else {
1766 us->transport_name = "EUSB/SDDR09";
1767 us->transport = sddr09_transport;
1768 us->transport_reset = usb_stor_CB_reset;
1769 us->max_lun = 0;
1770 }
1771
1772 result = usb_stor_probe2(us);
1773 return result;
1774}
1775
1776static struct usb_driver sddr09_driver = {
1777 .name = "ums-sddr09",
1778 .probe = sddr09_probe,
1779 .disconnect = usb_stor_disconnect,
1780 .suspend = usb_stor_suspend,
1781 .resume = usb_stor_resume,
1782 .reset_resume = usb_stor_reset_resume,
1783 .pre_reset = usb_stor_pre_reset,
1784 .post_reset = usb_stor_post_reset,
1785 .id_table = sddr09_usb_ids,
1786 .soft_unbind = 1,
1787};
1788
1789static int __init sddr09_init(void)
1790{
1791 return usb_register(&sddr09_driver);
1792}
1793
1794static void __exit sddr09_exit(void)
1795{
1796 usb_deregister(&sddr09_driver);
1797}
1798
1799module_init(sddr09_init);
1800module_exit(sddr09_exit);
diff --git a/drivers/usb/storage/sddr09.h b/drivers/usb/storage/sddr09.h
deleted file mode 100644
index b701172e12e3..000000000000
--- a/drivers/usb/storage/sddr09.h
+++ /dev/null
@@ -1,38 +0,0 @@
1/* Driver for SanDisk SDDR-09 SmartMedia reader
2 * Header File
3 *
4 * Current development and maintenance by:
5 * (c) 2000 Robert Baruch (autophile@dol.net)
6 * (c) 2002 Andries Brouwer (aeb@cwi.nl)
7 *
8 * See sddr09.c for more explanation
9 *
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the
12 * Free Software Foundation; either version 2, or (at your option) any
13 * later version.
14 *
15 * This program is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License along
21 * with this program; if not, write to the Free Software Foundation, Inc.,
22 * 675 Mass Ave, Cambridge, MA 02139, USA.
23 */
24
25#ifndef _USB_SHUTTLE_EUSB_SDDR09_H
26#define _USB_SHUTTLE_EUSB_SDDR09_H
27
28/* Sandisk SDDR-09 stuff */
29
30extern int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us);
31extern int usb_stor_sddr09_init(struct us_data *us);
32
33/* Microtech DPCM-USB stuff */
34
35extern int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us);
36extern int usb_stor_sddr09_dpcm_init(struct us_data *us);
37
38#endif
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index cfde74a6faa3..1fe7062f1cda 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -53,6 +53,11 @@
53 * as opposed to devices that do something strangely or wrongly. 53 * as opposed to devices that do something strangely or wrongly.
54 */ 54 */
55 55
56#if !defined(CONFIG_USB_STORAGE_SDDR09) && \
57 !defined(CONFIG_USB_STORAGE_SDDR09_MODULE)
58#define NO_SDDR09
59#endif
60
56/* patch submitted by Vivian Bregier <Vivian.Bregier@imag.fr> 61/* patch submitted by Vivian Bregier <Vivian.Bregier@imag.fr>
57 */ 62 */
58UNUSUAL_DEV( 0x03eb, 0x2002, 0x0100, 0x0100, 63UNUSUAL_DEV( 0x03eb, 0x2002, 0x0100, 0x0100,
@@ -246,12 +251,7 @@ UNUSUAL_DEV( 0x0424, 0x0fdc, 0x0210, 0x0210,
246 US_SC_DEVICE, US_PR_DEVICE, NULL, 251 US_SC_DEVICE, US_PR_DEVICE, NULL,
247 US_FL_SINGLE_LUN ), 252 US_FL_SINGLE_LUN ),
248 253
249#ifdef CONFIG_USB_STORAGE_SDDR09 254#ifdef NO_SDDR09
250UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100,
251 "Microtech",
252 "CameraMate (DPCM_USB)",
253 US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ),
254#else
255UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100, 255UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100,
256 "Microtech", 256 "Microtech",
257 "CameraMate", 257 "CameraMate",
@@ -467,20 +467,7 @@ UNUSUAL_DEV( 0x04e6, 0x0002, 0x0100, 0x0100,
467 US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 467 US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init,
468 US_FL_SCM_MULT_TARG ), 468 US_FL_SCM_MULT_TARG ),
469 469
470#ifdef CONFIG_USB_STORAGE_SDDR09 470#ifdef NO_SDDR09
471UNUSUAL_DEV( 0x04e6, 0x0003, 0x0000, 0x9999,
472 "Sandisk",
473 "ImageMate SDDR09",
474 US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init,
475 0),
476
477/* This entry is from Andries.Brouwer@cwi.nl */
478UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208,
479 "SCM Microsystems",
480 "eUSB SmartMedia / CompactFlash Adapter",
481 US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init,
482 0),
483#else
484UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, 471UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208,
485 "SCM Microsystems", 472 "SCM Microsystems",
486 "eUSB CompactFlash Adapter", 473 "eUSB CompactFlash Adapter",
@@ -935,14 +922,6 @@ UNUSUAL_DEV( 0x0644, 0x0000, 0x0100, 0x0100,
935 "Floppy Drive", 922 "Floppy Drive",
936 US_SC_UFI, US_PR_CB, NULL, 0 ), 923 US_SC_UFI, US_PR_CB, NULL, 0 ),
937 924
938#ifdef CONFIG_USB_STORAGE_SDDR09
939UNUSUAL_DEV( 0x066b, 0x0105, 0x0100, 0x0100,
940 "Olympus",
941 "Camedia MAUSB-2",
942 US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init,
943 0),
944#endif
945
946/* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */ 925/* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */
947UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001, 926UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001,
948 "SigmaTel", 927 "SigmaTel",
@@ -1057,14 +1036,6 @@ UNUSUAL_DEV( 0x0781, 0x0100, 0x0100, 0x0100,
1057 US_SC_SCSI, US_PR_CB, NULL, 1036 US_SC_SCSI, US_PR_CB, NULL,
1058 US_FL_SINGLE_LUN ), 1037 US_FL_SINGLE_LUN ),
1059 1038
1060#ifdef CONFIG_USB_STORAGE_SDDR09
1061UNUSUAL_DEV( 0x0781, 0x0200, 0x0000, 0x9999,
1062 "Sandisk",
1063 "ImageMate SDDR-09",
1064 US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init,
1065 0),
1066#endif
1067
1068#ifdef CONFIG_USB_STORAGE_FREECOM 1039#ifdef CONFIG_USB_STORAGE_FREECOM
1069UNUSUAL_DEV( 0x07ab, 0xfc01, 0x0000, 0x9999, 1040UNUSUAL_DEV( 0x07ab, 0xfc01, 0x0000, 0x9999,
1070 "Freecom", 1041 "Freecom",
@@ -1091,12 +1062,7 @@ UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100,
1091 US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 1062 US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init,
1092 US_FL_SCM_MULT_TARG ), 1063 US_FL_SCM_MULT_TARG ),
1093 1064
1094#ifdef CONFIG_USB_STORAGE_SDDR09 1065#ifdef NO_SDDR09
1095UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100,
1096 "Microtech",
1097 "CameraMate (DPCM_USB)",
1098 US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ),
1099#else
1100UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, 1066UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100,
1101 "Microtech", 1067 "Microtech",
1102 "CameraMate", 1068 "CameraMate",
diff --git a/drivers/usb/storage/unusual_sddr09.h b/drivers/usb/storage/unusual_sddr09.h
new file mode 100644
index 000000000000..50cab511a4d7
--- /dev/null
+++ b/drivers/usb/storage/unusual_sddr09.h
@@ -0,0 +1,56 @@
1/* Unusual Devices File for SanDisk SDDR-09 SmartMedia reader
2 *
3 * This program is free software; you can redistribute it and/or modify it
4 * under the terms of the GNU General Public License as published by the
5 * Free Software Foundation; either version 2, or (at your option) any
6 * later version.
7 *
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 675 Mass Ave, Cambridge, MA 02139, USA.
16 */
17
18#if defined(CONFIG_USB_STORAGE_SDDR09) || \
19 defined(CONFIG_USB_STORAGE_SDDR09_MODULE)
20
21UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100,
22 "Microtech",
23 "CameraMate (DPCM_USB)",
24 US_SC_SCSI, US_PR_DPCM_USB, NULL, 0),
25
26UNUSUAL_DEV( 0x04e6, 0x0003, 0x0000, 0x9999,
27 "Sandisk",
28 "ImageMate SDDR09",
29 US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init,
30 0),
31
32/* This entry is from Andries.Brouwer@cwi.nl */
33UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208,
34 "SCM Microsystems",
35 "eUSB SmartMedia / CompactFlash Adapter",
36 US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init,
37 0),
38
39UNUSUAL_DEV( 0x066b, 0x0105, 0x0100, 0x0100,
40 "Olympus",
41 "Camedia MAUSB-2",
42 US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init,
43 0),
44
45UNUSUAL_DEV( 0x0781, 0x0200, 0x0000, 0x9999,
46 "Sandisk",
47 "ImageMate SDDR-09",
48 US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init,
49 0),
50
51UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100,
52 "Microtech",
53 "CameraMate (DPCM_USB)",
54 US_SC_SCSI, US_PR_DPCM_USB, NULL, 0),
55
56#endif /* defined(CONFIG_USB_STORAGE_SDDR09) || ... */
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index 490ea761398c..33cce41a5e8a 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -69,9 +69,6 @@
69#ifdef CONFIG_USB_STORAGE_USBAT 69#ifdef CONFIG_USB_STORAGE_USBAT
70#include "shuttle_usbat.h" 70#include "shuttle_usbat.h"
71#endif 71#endif
72#ifdef CONFIG_USB_STORAGE_SDDR09
73#include "sddr09.h"
74#endif
75#ifdef CONFIG_USB_STORAGE_SDDR55 72#ifdef CONFIG_USB_STORAGE_SDDR55
76#include "sddr55.h" 73#include "sddr55.h"
77#endif 74#endif
@@ -631,15 +628,6 @@ static void get_transport(struct us_data *us)
631 break; 628 break;
632#endif 629#endif
633 630
634#ifdef CONFIG_USB_STORAGE_SDDR09
635 case US_PR_EUSB_SDDR09:
636 us->transport_name = "EUSB/SDDR09";
637 us->transport = sddr09_transport;
638 us->transport_reset = usb_stor_CB_reset;
639 us->max_lun = 0;
640 break;
641#endif
642
643#ifdef CONFIG_USB_STORAGE_SDDR55 631#ifdef CONFIG_USB_STORAGE_SDDR55
644 case US_PR_SDDR55: 632 case US_PR_SDDR55:
645 us->transport_name = "SDDR55"; 633 us->transport_name = "SDDR55";
@@ -649,15 +637,6 @@ static void get_transport(struct us_data *us)
649 break; 637 break;
650#endif 638#endif
651 639
652#ifdef CONFIG_USB_STORAGE_DPCM
653 case US_PR_DPCM_USB:
654 us->transport_name = "Control/Bulk-EUSB/SDDR09";
655 us->transport = dpcm_transport;
656 us->transport_reset = usb_stor_CB_reset;
657 us->max_lun = 1;
658 break;
659#endif
660
661#ifdef CONFIG_USB_STORAGE_FREECOM 640#ifdef CONFIG_USB_STORAGE_FREECOM
662 case US_PR_FREECOM: 641 case US_PR_FREECOM:
663 us->transport_name = "Freecom"; 642 us->transport_name = "Freecom";
diff --git a/drivers/usb/storage/usual-tables.c b/drivers/usb/storage/usual-tables.c
index 1924e3229409..f808c5262d0c 100644
--- a/drivers/usb/storage/usual-tables.c
+++ b/drivers/usb/storage/usual-tables.c
@@ -77,6 +77,7 @@ struct ignore_entry {
77} 77}
78 78
79static struct ignore_entry ignore_ids[] = { 79static struct ignore_entry ignore_ids[] = {
80# include "unusual_sddr09.h"
80 { } /* Terminating entry */ 81 { } /* Terminating entry */
81}; 82};
82 83