Changeset 7190bbc in mainline for uspace/drv/bus/usb/usbmast/main.c
- Timestamp:
- 2011-07-15T20:22:32Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e6b32a8
- Parents:
- 89d3f3c7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbmast/main.c
r89d3f3c7 r7190bbc 48 48 #include "bo_trans.h" 49 49 #include "scsi_ms.h" 50 #include "usbmast.h" 50 51 51 52 #define NAME "usbmast" … … 77 78 }; 78 79 79 /** Mass storage function.80 *81 * Serves as soft state for function/LUN.82 */83 typedef struct {84 /** DDF function */85 ddf_fun_t *ddf_fun;86 /** Total number of blocks. */87 uint64_t nblocks;88 /** Block size in bytes. */89 size_t block_size;90 /** USB device function belongs to */91 usb_device_t *usb_dev;92 } usbmast_fun_t;93 94 80 static void usbmast_bd_connection(ipc_callid_t iid, ipc_call_t *icall, 95 81 void *arg); … … 114 100 goto error; 115 101 } 102 103 msfun->usb_dev = dev; 116 104 117 105 fun = ddf_fun_create(dev->ddf_dev, fun_exposed, fun_name); … … 136 124 137 125 usb_log_debug("Get LUN count...\n"); 138 size_t lun_count = usb_masstor_get_lun_count( dev);126 size_t lun_count = usb_masstor_get_lun_count(msfun); 139 127 140 128 /* XXX Handle more than one LUN properly. */ … … 146 134 usb_log_debug("Inquire...\n"); 147 135 usbmast_inquiry_data_t inquiry; 148 rc = usbmast_inquiry( dev, &inquiry);136 rc = usbmast_inquiry(msfun, &inquiry); 149 137 if (rc != EOK) { 150 138 usb_log_warning("Failed to inquire device `%s': %s.\n", … … 166 154 uint32_t nblocks, block_size; 167 155 168 rc = usbmast_read_capacity( dev, &nblocks, &block_size);156 rc = usbmast_read_capacity(msfun, &nblocks, &block_size); 169 157 if (rc != EOK) { 170 158 usb_log_warning("Failed to read capacity, device `%s': %s.\n", … … 179 167 msfun->nblocks = nblocks; 180 168 msfun->block_size = block_size; 181 msfun->usb_dev = dev;182 169 183 170 rc = ddf_fun_bind(fun); … … 252 239 ba = MERGE_LOUP32(IPC_GET_ARG1(call), IPC_GET_ARG2(call)); 253 240 cnt = IPC_GET_ARG3(call); 254 retval = usbmast_read(msfun->usb_dev, ba, cnt, 255 msfun->block_size, comm_buf); 241 retval = usbmast_read(msfun, ba, cnt, comm_buf); 256 242 async_answer_0(callid, retval); 257 243 break; … … 259 245 ba = MERGE_LOUP32(IPC_GET_ARG1(call), IPC_GET_ARG2(call)); 260 246 cnt = IPC_GET_ARG3(call); 261 retval = usbmast_write(msfun->usb_dev, ba, cnt, 262 msfun->block_size, comm_buf); 247 retval = usbmast_write(msfun, ba, cnt, comm_buf); 263 248 async_answer_0(callid, retval); 264 249 break;
Note:
See TracChangeset
for help on using the changeset viewer.