aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb_usual.h
diff options
context:
space:
mode:
authormatthieu castet <castet.matthieu@free.fr>2008-03-19 19:40:52 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2008-04-24 21:16:42 -0700
commitd277064e7e16d02e0078a6bc1820764ae00dea87 (patch)
tree18f78d06f8bc3d5a57a04ac46d4f75ca5757faad /include/linux/usb_usual.h
parentdda43a0e03a33dd716fb34f812b1af614f74daff (diff)
downloadkernel_samsung_crespo-d277064e7e16d02e0078a6bc1820764ae00dea87.zip
kernel_samsung_crespo-d277064e7e16d02e0078a6bc1820764ae00dea87.tar.gz
kernel_samsung_crespo-d277064e7e16d02e0078a6bc1820764ae00dea87.tar.bz2
USB: mass storage: emulation of sat scsi_pass_thru with ATACB
I have got a cypress usb-ide bridge and I would like to tune or monitor my disk with tools like hdparm, hddtemp or smartctl. My controller support a way to send raw ATA command to the disk with something call atacb (see http://download.cypress.com.edgesuite.net/design_resources/datasheets/contents/cy7c68300c_8.pdf). Atacb support can be added for each application, but there is some disadvantages : - all application need to be patched - A race is possible if there other accesses, because the emulation can be split in 2 atacb scsi transactions. One for sending the command, one for reading the register (if ck_cond is set). I have implemented the emulation in usb-storage with a special proto_handler, and an unsual entry. Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/usb_usual.h')
-rw-r--r--include/linux/usb_usual.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h
index 0a40dfa..d9a3bbe 100644
--- a/include/linux/usb_usual.h
+++ b/include/linux/usb_usual.h
@@ -85,6 +85,7 @@ enum { US_DO_ALL_FLAGS };
#define US_SC_LOCKABLE 0x07 /* Password-protected */
#define US_SC_ISD200 0xf0 /* ISD200 ATA */
+#define US_SC_CYP_ATACB 0xf1 /* Cypress ATACB */
#define US_SC_DEVICE 0xff /* Use device's value */
/* Protocols */