diff options
-rw-r--r-- | drivers/usb/storage/Kconfig | 11 | ||||
-rw-r--r-- | drivers/usb/storage/Makefile | 1 | ||||
-rw-r--r-- | drivers/usb/storage/dpcm.c | 86 | ||||
-rw-r--r-- | drivers/usb/storage/dpcm.h | 32 | ||||
-rw-r--r-- | drivers/usb/storage/sddr09.c | 43 | ||||
-rw-r--r-- | drivers/usb/storage/sddr09.h | 5 | ||||
-rw-r--r-- | drivers/usb/storage/unusual_devs.h | 22 | ||||
-rw-r--r-- | drivers/usb/storage/usb.c | 3 |
8 files changed, 69 insertions, 134 deletions
diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig index c68b738900bd..9df6887b91f6 100644 --- a/drivers/usb/storage/Kconfig +++ b/drivers/usb/storage/Kconfig | |||
@@ -61,13 +61,6 @@ config USB_STORAGE_ISD200 | |||
61 | - CyQ've CQ8060A CDRW drive | 61 | - CyQ've CQ8060A CDRW drive |
62 | - Planex eXtreme Drive RX-25HU USB-IDE cable (not model RX-25U) | 62 | - Planex eXtreme Drive RX-25HU USB-IDE cable (not model RX-25U) |
63 | 63 | ||
64 | config USB_STORAGE_DPCM | ||
65 | bool "Microtech/ZiO! CompactFlash/SmartMedia support" | ||
66 | depends on USB_STORAGE | ||
67 | help | ||
68 | Say Y here to support the Microtech/ZiO! CompactFlash reader. | ||
69 | There is a web page at <http://www.ziocorp.com/products/>. | ||
70 | |||
71 | config USB_STORAGE_USBAT | 64 | config USB_STORAGE_USBAT |
72 | bool "USBAT/USBAT02-based storage support" | 65 | bool "USBAT/USBAT02-based storage support" |
73 | depends on USB_STORAGE | 66 | depends on USB_STORAGE |
@@ -90,12 +83,12 @@ config USB_STORAGE_USBAT | |||
90 | - Sandisk ImageMate SDDR-05b | 83 | - Sandisk ImageMate SDDR-05b |
91 | 84 | ||
92 | config USB_STORAGE_SDDR09 | 85 | config USB_STORAGE_SDDR09 |
93 | bool "SanDisk SDDR-09 (and other SmartMedia) support" | 86 | bool "SanDisk SDDR-09 (and other SmartMedia, including DPCM) support" |
94 | depends on USB_STORAGE | 87 | depends on USB_STORAGE |
95 | help | 88 | help |
96 | 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 |
97 | SmartMedia reader in the USB Mass Storage driver. | 90 | SmartMedia reader in the USB Mass Storage driver. |
98 | Also works for the Microtech Zio! SmartMedia reader. | 91 | Also works for the Microtech Zio! CompactFlash/SmartMedia reader. |
99 | 92 | ||
100 | config USB_STORAGE_SDDR55 | 93 | config USB_STORAGE_SDDR55 |
101 | bool "SanDisk SDDR-55 SmartMedia support" | 94 | bool "SanDisk SDDR-55 SmartMedia support" |
diff --git a/drivers/usb/storage/Makefile b/drivers/usb/storage/Makefile index 7f8beb5366ae..facf610f1683 100644 --- a/drivers/usb/storage/Makefile +++ b/drivers/usb/storage/Makefile | |||
@@ -14,7 +14,6 @@ usb-storage-obj-$(CONFIG_USB_STORAGE_USBAT) += shuttle_usbat.o | |||
14 | usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR09) += sddr09.o | 14 | usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR09) += sddr09.o |
15 | usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR55) += sddr55.o | 15 | usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR55) += sddr55.o |
16 | usb-storage-obj-$(CONFIG_USB_STORAGE_FREECOM) += freecom.o | 16 | usb-storage-obj-$(CONFIG_USB_STORAGE_FREECOM) += freecom.o |
17 | usb-storage-obj-$(CONFIG_USB_STORAGE_DPCM) += dpcm.o | ||
18 | usb-storage-obj-$(CONFIG_USB_STORAGE_ISD200) += isd200.o | 17 | usb-storage-obj-$(CONFIG_USB_STORAGE_ISD200) += isd200.o |
19 | usb-storage-obj-$(CONFIG_USB_STORAGE_DATAFAB) += datafab.o | 18 | usb-storage-obj-$(CONFIG_USB_STORAGE_DATAFAB) += datafab.o |
20 | usb-storage-obj-$(CONFIG_USB_STORAGE_JUMPSHOT) += jumpshot.o | 19 | usb-storage-obj-$(CONFIG_USB_STORAGE_JUMPSHOT) += jumpshot.o |
diff --git a/drivers/usb/storage/dpcm.c b/drivers/usb/storage/dpcm.c deleted file mode 100644 index 939923471af4..000000000000 --- a/drivers/usb/storage/dpcm.c +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | /* Driver for Microtech DPCM-USB CompactFlash/SmartMedia reader | ||
2 | * | ||
3 | * DPCM driver v0.1: | ||
4 | * | ||
5 | * First release | ||
6 | * | ||
7 | * Current development and maintenance by: | ||
8 | * (c) 2000 Brian Webb (webbb@earthlink.net) | ||
9 | * | ||
10 | * This device contains both a CompactFlash card reader, which | ||
11 | * uses the Control/Bulk w/o Interrupt protocol and | ||
12 | * a SmartMedia card reader that uses the same protocol | ||
13 | * as the SDDR09. | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify it | ||
16 | * under the terms of the GNU General Public License as published by the | ||
17 | * Free Software Foundation; either version 2, or (at your option) any | ||
18 | * later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, but | ||
21 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
23 | * General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License along | ||
26 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
27 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
28 | */ | ||
29 | |||
30 | #include <scsi/scsi.h> | ||
31 | #include <scsi/scsi_cmnd.h> | ||
32 | #include <scsi/scsi_device.h> | ||
33 | |||
34 | #include "usb.h" | ||
35 | #include "transport.h" | ||
36 | #include "protocol.h" | ||
37 | #include "debug.h" | ||
38 | #include "dpcm.h" | ||
39 | #include "sddr09.h" | ||
40 | |||
41 | /* | ||
42 | * Transport for the Microtech DPCM-USB | ||
43 | * | ||
44 | */ | ||
45 | int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us) | ||
46 | { | ||
47 | int ret; | ||
48 | |||
49 | if (srb == NULL) | ||
50 | return USB_STOR_TRANSPORT_ERROR; | ||
51 | |||
52 | US_DEBUGP("dpcm_transport: LUN=%d\n", srb->device->lun); | ||
53 | |||
54 | switch (srb->device->lun) { | ||
55 | case 0: | ||
56 | |||
57 | /* | ||
58 | * LUN 0 corresponds to the CompactFlash card reader. | ||
59 | */ | ||
60 | ret = usb_stor_CB_transport(srb, us); | ||
61 | break; | ||
62 | |||
63 | #ifdef CONFIG_USB_STORAGE_SDDR09 | ||
64 | case 1: | ||
65 | |||
66 | /* | ||
67 | * LUN 1 corresponds to the SmartMedia card reader. | ||
68 | */ | ||
69 | |||
70 | /* | ||
71 | * Set the LUN to 0 (just in case). | ||
72 | */ | ||
73 | srb->device->lun = 0; us->srb->device->lun = 0; | ||
74 | ret = sddr09_transport(srb, us); | ||
75 | srb->device->lun = 1; us->srb->device->lun = 1; | ||
76 | break; | ||
77 | |||
78 | #endif | ||
79 | |||
80 | default: | ||
81 | US_DEBUGP("dpcm_transport: Invalid LUN %d\n", srb->device->lun); | ||
82 | ret = USB_STOR_TRANSPORT_ERROR; | ||
83 | break; | ||
84 | } | ||
85 | return ret; | ||
86 | } | ||
diff --git a/drivers/usb/storage/dpcm.h b/drivers/usb/storage/dpcm.h deleted file mode 100644 index e7b7b0f120d7..000000000000 --- a/drivers/usb/storage/dpcm.h +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | /* Driver for Microtech DPCM-USB CompactFlash/SmartMedia reader | ||
2 | * | ||
3 | * DPCM driver v0.1: | ||
4 | * | ||
5 | * First release | ||
6 | * | ||
7 | * Current development and maintenance by: | ||
8 | * (c) 2000 Brian Webb (webbb@earthlink.net) | ||
9 | * | ||
10 | * See dpcm.c for more explanation | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms of the GNU General Public License as published by the | ||
14 | * Free Software Foundation; either version 2, or (at your option) any | ||
15 | * later version. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, but | ||
18 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
20 | * General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License along | ||
23 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
24 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
25 | */ | ||
26 | |||
27 | #ifndef _MICROTECH_DPCM_USB_H | ||
28 | #define _MICROTECH_DPCM_USB_H | ||
29 | |||
30 | extern int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us); | ||
31 | |||
32 | #endif | ||
diff --git a/drivers/usb/storage/sddr09.c b/drivers/usb/storage/sddr09.c index c5a54b872c24..531ae5c5abf3 100644 --- a/drivers/usb/storage/sddr09.c +++ b/drivers/usb/storage/sddr09.c | |||
@@ -45,6 +45,7 @@ | |||
45 | 45 | ||
46 | #include <scsi/scsi.h> | 46 | #include <scsi/scsi.h> |
47 | #include <scsi/scsi_cmnd.h> | 47 | #include <scsi/scsi_cmnd.h> |
48 | #include <scsi/scsi_device.h> | ||
48 | 49 | ||
49 | #include "usb.h" | 50 | #include "usb.h" |
50 | #include "transport.h" | 51 | #include "transport.h" |
@@ -1446,6 +1447,48 @@ usb_stor_sddr09_dpcm_init(struct us_data *us) { | |||
1446 | } | 1447 | } |
1447 | 1448 | ||
1448 | /* | 1449 | /* |
1450 | * Transport for the Microtech DPCM-USB | ||
1451 | */ | ||
1452 | int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us) | ||
1453 | { | ||
1454 | int ret; | ||
1455 | |||
1456 | US_DEBUGP("dpcm_transport: LUN=%d\n", srb->device->lun); | ||
1457 | |||
1458 | switch (srb->device->lun) { | ||
1459 | case 0: | ||
1460 | |||
1461 | /* | ||
1462 | * LUN 0 corresponds to the CompactFlash card reader. | ||
1463 | */ | ||
1464 | ret = usb_stor_CB_transport(srb, us); | ||
1465 | break; | ||
1466 | |||
1467 | case 1: | ||
1468 | |||
1469 | /* | ||
1470 | * LUN 1 corresponds to the SmartMedia card reader. | ||
1471 | */ | ||
1472 | |||
1473 | /* | ||
1474 | * Set the LUN to 0 (just in case). | ||
1475 | */ | ||
1476 | srb->device->lun = 0; | ||
1477 | ret = sddr09_transport(srb, us); | ||
1478 | srb->device->lun = 1; | ||
1479 | break; | ||
1480 | |||
1481 | default: | ||
1482 | US_DEBUGP("dpcm_transport: Invalid LUN %d\n", | ||
1483 | srb->device->lun); | ||
1484 | ret = USB_STOR_TRANSPORT_ERROR; | ||
1485 | break; | ||
1486 | } | ||
1487 | return ret; | ||
1488 | } | ||
1489 | |||
1490 | |||
1491 | /* | ||
1449 | * Transport for the Sandisk SDDR-09 | 1492 | * Transport for the Sandisk SDDR-09 |
1450 | */ | 1493 | */ |
1451 | int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us) | 1494 | int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us) |
diff --git a/drivers/usb/storage/sddr09.h b/drivers/usb/storage/sddr09.h index e50033ad7b19..b701172e12e3 100644 --- a/drivers/usb/storage/sddr09.h +++ b/drivers/usb/storage/sddr09.h | |||
@@ -28,8 +28,11 @@ | |||
28 | /* Sandisk SDDR-09 stuff */ | 28 | /* Sandisk SDDR-09 stuff */ |
29 | 29 | ||
30 | extern int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us); | 30 | extern int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us); |
31 | extern int usb_stor_sddr09_init(struct us_data *us); | ||
32 | |||
33 | /* Microtech DPCM-USB stuff */ | ||
31 | 34 | ||
35 | extern int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us); | ||
32 | extern int usb_stor_sddr09_dpcm_init(struct us_data *us); | 36 | extern int usb_stor_sddr09_dpcm_init(struct us_data *us); |
33 | extern int usb_stor_sddr09_init(struct us_data *us); | ||
34 | 37 | ||
35 | #endif | 38 | #endif |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 745809778310..0fd42a0c794f 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
@@ -296,11 +296,17 @@ UNUSUAL_DEV( 0x0424, 0x0fdc, 0x0210, 0x0210, | |||
296 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 296 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
297 | US_FL_SINGLE_LUN ), | 297 | US_FL_SINGLE_LUN ), |
298 | 298 | ||
299 | #ifdef CONFIG_USB_STORAGE_DPCM | 299 | #ifdef CONFIG_USB_STORAGE_SDDR09 |
300 | UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100, | 300 | UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100, |
301 | "Microtech", | 301 | "Microtech", |
302 | "CameraMate (DPCM_USB)", | 302 | "CameraMate (DPCM_USB)", |
303 | US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), | 303 | US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), |
304 | #else | ||
305 | UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100, | ||
306 | "Microtech", | ||
307 | "CameraMate", | ||
308 | US_SC_SCSI, US_PR_CB, NULL, | ||
309 | US_FL_SINGLE_LUN ), | ||
304 | #endif | 310 | #endif |
305 | 311 | ||
306 | /* Patch submitted by Daniel Drake <dsd@gentoo.org> | 312 | /* Patch submitted by Daniel Drake <dsd@gentoo.org> |
@@ -601,6 +607,12 @@ UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, | |||
601 | "eUSB SmartMedia / CompactFlash Adapter", | 607 | "eUSB SmartMedia / CompactFlash Adapter", |
602 | US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init, | 608 | US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init, |
603 | 0), | 609 | 0), |
610 | #else | ||
611 | UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, | ||
612 | "SCM Microsystems", | ||
613 | "eUSB CompactFlash Adapter", | ||
614 | US_SC_SCSI, US_PR_CB, NULL, | ||
615 | US_FL_SINGLE_LUN), | ||
604 | #endif | 616 | #endif |
605 | 617 | ||
606 | /* Reported by Markus Demleitner <msdemlei@cl.uni-heidelberg.de> */ | 618 | /* Reported by Markus Demleitner <msdemlei@cl.uni-heidelberg.de> */ |
@@ -1175,11 +1187,17 @@ UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100, | |||
1175 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, | 1187 | US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, |
1176 | US_FL_SCM_MULT_TARG ), | 1188 | US_FL_SCM_MULT_TARG ), |
1177 | 1189 | ||
1178 | #ifdef CONFIG_USB_STORAGE_DPCM | 1190 | #ifdef CONFIG_USB_STORAGE_SDDR09 |
1179 | UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, | 1191 | UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, |
1180 | "Microtech", | 1192 | "Microtech", |
1181 | "CameraMate (DPCM_USB)", | 1193 | "CameraMate (DPCM_USB)", |
1182 | US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), | 1194 | US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), |
1195 | #else | ||
1196 | UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, | ||
1197 | "Microtech", | ||
1198 | "CameraMate", | ||
1199 | US_SC_SCSI, US_PR_CB, NULL, | ||
1200 | US_FL_SINGLE_LUN ), | ||
1183 | #endif | 1201 | #endif |
1184 | 1202 | ||
1185 | #ifdef CONFIG_USB_STORAGE_ALAUDA | 1203 | #ifdef CONFIG_USB_STORAGE_ALAUDA |
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index 06c735703f4a..b25c448d5eb7 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c | |||
@@ -75,9 +75,6 @@ | |||
75 | #ifdef CONFIG_USB_STORAGE_SDDR55 | 75 | #ifdef CONFIG_USB_STORAGE_SDDR55 |
76 | #include "sddr55.h" | 76 | #include "sddr55.h" |
77 | #endif | 77 | #endif |
78 | #ifdef CONFIG_USB_STORAGE_DPCM | ||
79 | #include "dpcm.h" | ||
80 | #endif | ||
81 | #ifdef CONFIG_USB_STORAGE_FREECOM | 78 | #ifdef CONFIG_USB_STORAGE_FREECOM |
82 | #include "freecom.h" | 79 | #include "freecom.h" |
83 | #endif | 80 | #endif |