diff options
Diffstat (limited to 'include/linux/memstick.h')
| -rw-r--r-- | include/linux/memstick.h | 97 |
1 files changed, 49 insertions, 48 deletions
diff --git a/include/linux/memstick.h b/include/linux/memstick.h index a9f998a3f48b..d0c37e682234 100644 --- a/include/linux/memstick.h +++ b/include/linux/memstick.h | |||
| @@ -21,30 +21,30 @@ | |||
| 21 | struct ms_status_register { | 21 | struct ms_status_register { |
| 22 | unsigned char reserved; | 22 | unsigned char reserved; |
| 23 | unsigned char interrupt; | 23 | unsigned char interrupt; |
| 24 | #define MEMSTICK_INT_CMDNAK 0x0001 | 24 | #define MEMSTICK_INT_CMDNAK 0x01 |
| 25 | #define MEMSTICK_INT_IOREQ 0x0008 | 25 | #define MEMSTICK_INT_IOREQ 0x08 |
| 26 | #define MEMSTICK_INT_IOBREQ 0x0010 | 26 | #define MEMSTICK_INT_IOBREQ 0x10 |
| 27 | #define MEMSTICK_INT_BREQ 0x0020 | 27 | #define MEMSTICK_INT_BREQ 0x20 |
| 28 | #define MEMSTICK_INT_ERR 0x0040 | 28 | #define MEMSTICK_INT_ERR 0x40 |
| 29 | #define MEMSTICK_INT_CED 0x0080 | 29 | #define MEMSTICK_INT_CED 0x80 |
| 30 | 30 | ||
| 31 | unsigned char status0; | 31 | unsigned char status0; |
| 32 | #define MEMSTICK_STATUS0_WP 0x0001 | 32 | #define MEMSTICK_STATUS0_WP 0x01 |
| 33 | #define MEMSTICK_STATUS0_SL 0x0002 | 33 | #define MEMSTICK_STATUS0_SL 0x02 |
| 34 | #define MEMSTICK_STATUS0_BF 0x0010 | 34 | #define MEMSTICK_STATUS0_BF 0x10 |
| 35 | #define MEMSTICK_STATUS0_BE 0x0020 | 35 | #define MEMSTICK_STATUS0_BE 0x20 |
| 36 | #define MEMSTICK_STATUS0_FB0 0x0040 | 36 | #define MEMSTICK_STATUS0_FB0 0x40 |
| 37 | #define MEMSTICK_STATUS0_MB 0x0080 | 37 | #define MEMSTICK_STATUS0_MB 0x80 |
| 38 | 38 | ||
| 39 | unsigned char status1; | 39 | unsigned char status1; |
| 40 | #define MEMSTICK_STATUS1_UCFG 0x0001 | 40 | #define MEMSTICK_STATUS1_UCFG 0x01 |
| 41 | #define MEMSTICK_STATUS1_FGER 0x0002 | 41 | #define MEMSTICK_STATUS1_FGER 0x02 |
| 42 | #define MEMSTICK_STATUS1_UCEX 0x0004 | 42 | #define MEMSTICK_STATUS1_UCEX 0x04 |
| 43 | #define MEMSTICK_STATUS1_EXER 0x0008 | 43 | #define MEMSTICK_STATUS1_EXER 0x08 |
| 44 | #define MEMSTICK_STATUS1_UCDT 0x0010 | 44 | #define MEMSTICK_STATUS1_UCDT 0x10 |
| 45 | #define MEMSTICK_STATUS1_DTER 0x0020 | 45 | #define MEMSTICK_STATUS1_DTER 0x20 |
| 46 | #define MEMSTICK_STATUS1_FBI 0x0040 | 46 | #define MEMSTICK_STATUS1_FB1 0x40 |
| 47 | #define MEMSTICK_STATUS1_MB 0x0080 | 47 | #define MEMSTICK_STATUS1_MB 0x80 |
| 48 | } __attribute__((packed)); | 48 | } __attribute__((packed)); |
| 49 | 49 | ||
| 50 | struct ms_id_register { | 50 | struct ms_id_register { |
| @@ -56,32 +56,32 @@ struct ms_id_register { | |||
| 56 | 56 | ||
| 57 | struct ms_param_register { | 57 | struct ms_param_register { |
| 58 | unsigned char system; | 58 | unsigned char system; |
| 59 | #define MEMSTICK_SYS_ATEN 0xc0 | ||
| 60 | #define MEMSTICK_SYS_BAMD 0x80 | ||
| 61 | #define MEMSTICK_SYS_PAM 0x08 | 59 | #define MEMSTICK_SYS_PAM 0x08 |
| 60 | #define MEMSTICK_SYS_BAMD 0x80 | ||
| 62 | 61 | ||
| 63 | unsigned char block_address_msb; | 62 | unsigned char block_address_msb; |
| 64 | unsigned short block_address; | 63 | unsigned short block_address; |
| 65 | unsigned char cp; | 64 | unsigned char cp; |
| 66 | #define MEMSTICK_CP_BLOCK 0x0000 | 65 | #define MEMSTICK_CP_BLOCK 0x00 |
| 67 | #define MEMSTICK_CP_PAGE 0x0020 | 66 | #define MEMSTICK_CP_PAGE 0x20 |
| 68 | #define MEMSTICK_CP_EXTRA 0x0040 | 67 | #define MEMSTICK_CP_EXTRA 0x40 |
| 69 | #define MEMSTICK_CP_OVERWRITE 0x0080 | 68 | #define MEMSTICK_CP_OVERWRITE 0x80 |
| 70 | 69 | ||
| 71 | unsigned char page_address; | 70 | unsigned char page_address; |
| 72 | } __attribute__((packed)); | 71 | } __attribute__((packed)); |
| 73 | 72 | ||
| 74 | struct ms_extra_data_register { | 73 | struct ms_extra_data_register { |
| 75 | unsigned char overwrite_flag; | 74 | unsigned char overwrite_flag; |
| 76 | #define MEMSTICK_OVERWRITE_UPDATA 0x0010 | 75 | #define MEMSTICK_OVERWRITE_UDST 0x10 |
| 77 | #define MEMSTICK_OVERWRITE_PAGE 0x0060 | 76 | #define MEMSTICK_OVERWRITE_PGST1 0x20 |
| 78 | #define MEMSTICK_OVERWRITE_BLOCK 0x0080 | 77 | #define MEMSTICK_OVERWRITE_PGST0 0x40 |
| 78 | #define MEMSTICK_OVERWRITE_BKST 0x80 | ||
| 79 | 79 | ||
| 80 | unsigned char management_flag; | 80 | unsigned char management_flag; |
| 81 | #define MEMSTICK_MANAGEMENT_SYSTEM 0x0004 | 81 | #define MEMSTICK_MANAGEMENT_SYSFLG 0x04 |
| 82 | #define MEMSTICK_MANAGEMENT_TRANS_TABLE 0x0008 | 82 | #define MEMSTICK_MANAGEMENT_ATFLG 0x08 |
| 83 | #define MEMSTICK_MANAGEMENT_COPY 0x0010 | 83 | #define MEMSTICK_MANAGEMENT_SCMS1 0x10 |
| 84 | #define MEMSTICK_MANAGEMENT_ACCESS 0x0020 | 84 | #define MEMSTICK_MANAGEMENT_SCMS0 0x20 |
| 85 | 85 | ||
| 86 | unsigned short logical_address; | 86 | unsigned short logical_address; |
| 87 | } __attribute__((packed)); | 87 | } __attribute__((packed)); |
| @@ -96,9 +96,9 @@ struct ms_register { | |||
| 96 | 96 | ||
| 97 | struct mspro_param_register { | 97 | struct mspro_param_register { |
| 98 | unsigned char system; | 98 | unsigned char system; |
| 99 | #define MEMSTICK_SYS_SERIAL 0x80 | ||
| 100 | #define MEMSTICK_SYS_PAR4 0x00 | 99 | #define MEMSTICK_SYS_PAR4 0x00 |
| 101 | #define MEMSTICK_SYS_PAR8 0x40 | 100 | #define MEMSTICK_SYS_PAR8 0x40 |
| 101 | #define MEMSTICK_SYS_SERIAL 0x80 | ||
| 102 | 102 | ||
| 103 | unsigned short data_count; | 103 | unsigned short data_count; |
| 104 | unsigned int data_address; | 104 | unsigned int data_address; |
| @@ -147,7 +147,7 @@ struct ms_register_addr { | |||
| 147 | unsigned char w_length; | 147 | unsigned char w_length; |
| 148 | } __attribute__((packed)); | 148 | } __attribute__((packed)); |
| 149 | 149 | ||
| 150 | enum { | 150 | enum memstick_tpc { |
| 151 | MS_TPC_READ_MG_STATUS = 0x01, | 151 | MS_TPC_READ_MG_STATUS = 0x01, |
| 152 | MS_TPC_READ_LONG_DATA = 0x02, | 152 | MS_TPC_READ_LONG_DATA = 0x02, |
| 153 | MS_TPC_READ_SHORT_DATA = 0x03, | 153 | MS_TPC_READ_SHORT_DATA = 0x03, |
| @@ -167,7 +167,7 @@ enum { | |||
| 167 | MS_TPC_SET_CMD = 0x0e | 167 | MS_TPC_SET_CMD = 0x0e |
| 168 | }; | 168 | }; |
| 169 | 169 | ||
| 170 | enum { | 170 | enum memstick_command { |
| 171 | MS_CMD_BLOCK_END = 0x33, | 171 | MS_CMD_BLOCK_END = 0x33, |
| 172 | MS_CMD_RESET = 0x3c, | 172 | MS_CMD_RESET = 0x3c, |
| 173 | MS_CMD_BLOCK_WRITE = 0x55, | 173 | MS_CMD_BLOCK_WRITE = 0x55, |
| @@ -201,8 +201,6 @@ enum { | |||
| 201 | 201 | ||
| 202 | /*** Driver structures and functions ***/ | 202 | /*** Driver structures and functions ***/ |
| 203 | 203 | ||
| 204 | #define MEMSTICK_PART_SHIFT 3 | ||
| 205 | |||
| 206 | enum memstick_param { MEMSTICK_POWER = 1, MEMSTICK_INTERFACE }; | 204 | enum memstick_param { MEMSTICK_POWER = 1, MEMSTICK_INTERFACE }; |
| 207 | 205 | ||
| 208 | #define MEMSTICK_POWER_OFF 0 | 206 | #define MEMSTICK_POWER_OFF 0 |
| @@ -215,24 +213,27 @@ enum memstick_param { MEMSTICK_POWER = 1, MEMSTICK_INTERFACE }; | |||
| 215 | struct memstick_host; | 213 | struct memstick_host; |
| 216 | struct memstick_driver; | 214 | struct memstick_driver; |
| 217 | 215 | ||
| 216 | struct memstick_device_id { | ||
| 217 | unsigned char match_flags; | ||
| 218 | #define MEMSTICK_MATCH_ALL 0x01 | 218 | #define MEMSTICK_MATCH_ALL 0x01 |
| 219 | 219 | ||
| 220 | unsigned char type; | ||
| 220 | #define MEMSTICK_TYPE_LEGACY 0xff | 221 | #define MEMSTICK_TYPE_LEGACY 0xff |
| 221 | #define MEMSTICK_TYPE_DUO 0x00 | 222 | #define MEMSTICK_TYPE_DUO 0x00 |
| 222 | #define MEMSTICK_TYPE_PRO 0x01 | 223 | #define MEMSTICK_TYPE_PRO 0x01 |
| 223 | 224 | ||
| 225 | unsigned char category; | ||
| 224 | #define MEMSTICK_CATEGORY_STORAGE 0xff | 226 | #define MEMSTICK_CATEGORY_STORAGE 0xff |
| 225 | #define MEMSTICK_CATEGORY_STORAGE_DUO 0x00 | 227 | #define MEMSTICK_CATEGORY_STORAGE_DUO 0x00 |
| 228 | #define MEMSTICK_CATEGORY_IO 0x01 | ||
| 229 | #define MEMSTICK_CATEGORY_IO_PRO 0x10 | ||
| 226 | 230 | ||
| 227 | #define MEMSTICK_CLASS_GENERIC 0xff | ||
| 228 | #define MEMSTICK_CLASS_GENERIC_DUO 0x00 | ||
| 229 | |||
| 230 | |||
| 231 | struct memstick_device_id { | ||
| 232 | unsigned char match_flags; | ||
| 233 | unsigned char type; | ||
| 234 | unsigned char category; | ||
| 235 | unsigned char class; | 231 | unsigned char class; |
| 232 | #define MEMSTICK_CLASS_FLASH 0xff | ||
| 233 | #define MEMSTICK_CLASS_DUO 0x00 | ||
| 234 | #define MEMSTICK_CLASS_ROM 0x01 | ||
| 235 | #define MEMSTICK_CLASS_RO 0x02 | ||
| 236 | #define MEMSTICK_CLASS_WP 0x03 | ||
| 236 | }; | 237 | }; |
| 237 | 238 | ||
| 238 | struct memstick_request { | 239 | struct memstick_request { |
| @@ -319,9 +320,9 @@ void memstick_suspend_host(struct memstick_host *host); | |||
| 319 | void memstick_resume_host(struct memstick_host *host); | 320 | void memstick_resume_host(struct memstick_host *host); |
| 320 | 321 | ||
| 321 | void memstick_init_req_sg(struct memstick_request *mrq, unsigned char tpc, | 322 | void memstick_init_req_sg(struct memstick_request *mrq, unsigned char tpc, |
| 322 | struct scatterlist *sg); | 323 | const struct scatterlist *sg); |
| 323 | void memstick_init_req(struct memstick_request *mrq, unsigned char tpc, | 324 | void memstick_init_req(struct memstick_request *mrq, unsigned char tpc, |
| 324 | void *buf, size_t length); | 325 | const void *buf, size_t length); |
| 325 | int memstick_next_req(struct memstick_host *host, | 326 | int memstick_next_req(struct memstick_host *host, |
| 326 | struct memstick_request **mrq); | 327 | struct memstick_request **mrq); |
| 327 | void memstick_new_req(struct memstick_host *host); | 328 | void memstick_new_req(struct memstick_host *host); |
