Changeset 6430ac6 in mainline
- Timestamp:
- 2011-07-03T10:53:17Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 71fa44c
- Parents:
- 3f08fd2b
- Location:
- uspace/drv/bus/usb/usbmast
- Files:
-
- 1 added
- 3 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbmast/Makefile
r3f08fd2b r6430ac6 45 45 SOURCES = \ 46 46 cmds.c \ 47 inquiry.c \48 47 main.c \ 49 mast.c 48 mast.c \ 49 scsi_ms.c 50 50 51 51 include $(USPACE_PREFIX)/Makefile.common -
uspace/drv/bus/usb/usbmast/main.c
r3f08fd2b r6430ac6 42 42 #include "cmds.h" 43 43 #include "mast.h" 44 #include "scsi_ms.h" 44 45 45 46 #define NAME "usbmast" … … 107 108 108 109 usb_log_debug("Inquire...\n"); 109 usb _massstor_inquiry_result_t inquiry;110 rc = usb _massstor_inquiry(dev, &inquiry);110 usbmast_inquiry_data_t inquiry; 111 rc = usbmast_inquiry(dev, &inquiry); 111 112 if (rc != EOK) { 112 113 usb_log_warning("Failed to inquire device `%s': %s.\n", … … 121 122 inquiry.vendor, 122 123 inquiry.revision, 123 usb _str_masstor_scsi_peripheral_device_type(inquiry.device_type),124 usbmast_scsi_dev_type_str(inquiry.device_type), 124 125 inquiry.removable ? "removable" : "non-removable", 125 126 lun_count); -
uspace/drv/bus/usb/usbmast/mast.h
r3f08fd2b r6430ac6 46 46 #define BULK_OUT_EP 1 47 47 48 /** Result of SCSI INQUIRY command.49 * This is already parsed structure, not the original buffer returned by50 * the device.51 */52 typedef struct {53 /** SCSI peripheral device type */54 unsigned device_type;55 /** Whether the device is removable */56 bool removable;57 /** Vendor ID string */58 char vendor[SCSI_INQ_VENDOR_STR_BUFSIZE];59 /** Product ID string */60 char product[SCSI_INQ_PRODUCT_STR_BUFSIZE];61 /** Revision string */62 char revision[SCSI_INQ_REVISION_STR_BUFSIZE];63 } usb_massstor_inquiry_result_t;64 65 48 int usb_massstor_data_in(usb_device_t *dev, uint32_t, uint8_t, void *, 66 49 size_t, void *, size_t, size_t *); … … 69 52 int usb_massstor_get_max_lun(usb_device_t *); 70 53 size_t usb_masstor_get_lun_count(usb_device_t *); 71 int usb_massstor_inquiry(usb_device_t *, usb_massstor_inquiry_result_t *);72 const char *usb_str_masstor_scsi_peripheral_device_type(unsigned);73 54 74 55 #endif -
uspace/drv/bus/usb/usbmast/scsi_ms.c
r3f08fd2b r6430ac6 32 32 /** 33 33 * @file 34 * Main routines ofUSB mass storage driver.34 * SCSI functions for USB mass storage driver. 35 35 */ 36 36 #include <bitops.h> … … 46 46 #include "cmds.h" 47 47 #include "mast.h" 48 #include "scsi_ms.h" 48 49 49 50 /** Get string representation for SCSI peripheral device type. 50 51 * 51 * @param type 52 * @return 52 * @param type SCSI peripheral device type code. 53 * @return String representation. 53 54 */ 54 const char *usb _str_masstor_scsi_peripheral_device_type(unsigned type)55 const char *usbmast_scsi_dev_type_str(unsigned type) 55 56 { 56 57 return scsi_get_dev_type_str(type); … … 59 60 /** Perform SCSI INQUIRY command on USB mass storage device. 60 61 * 61 * @param dev USB device. 62 * @param bulk_in_idx Index (in dev->pipes) of bulk in pipe. 63 * @param bulk_out_idx Index of bulk out pipe. 62 * @param dev USB device. 64 63 * @param inquiry_result Where to store parsed inquiry result. 65 * @return 64 * @return Error code. 66 65 */ 67 int usb_massstor_inquiry(usb_device_t *dev, 68 usb_massstor_inquiry_result_t *inquiry_result) 66 int usbmast_inquiry(usb_device_t *dev, usbmast_inquiry_data_t *inq_res) 69 67 { 70 68 scsi_std_inquiry_data_t inq_data; … … 98 96 */ 99 97 100 bzero(inq uiry_result, sizeof(*inquiry_result));98 bzero(inq_res, sizeof(*inq_res)); 101 99 102 inq uiry_result->device_type = BIT_RANGE_EXTRACT(uint8_t,100 inq_res->device_type = BIT_RANGE_EXTRACT(uint8_t, 103 101 inq_data.pqual_devtype, SCSI_PQDT_DEV_TYPE_h, SCSI_PQDT_DEV_TYPE_l); 104 102 105 inq uiry_result->removable = BIT_RANGE_EXTRACT(uint8_t,103 inq_res->removable = BIT_RANGE_EXTRACT(uint8_t, 106 104 inq_data.rmb, SCSI_RMB_RMB, SCSI_RMB_RMB); 107 105 108 spascii_to_str(inq uiry_result->vendor, SCSI_INQ_VENDOR_STR_BUFSIZE,106 spascii_to_str(inq_res->vendor, SCSI_INQ_VENDOR_STR_BUFSIZE, 109 107 inq_data.vendor, sizeof(inq_data.vendor)); 110 108 111 spascii_to_str(inq uiry_result->product, SCSI_INQ_PRODUCT_STR_BUFSIZE,109 spascii_to_str(inq_res->product, SCSI_INQ_PRODUCT_STR_BUFSIZE, 112 110 inq_data.product, sizeof(inq_data.product)); 113 111 114 spascii_to_str(inq uiry_result->revision, SCSI_INQ_REVISION_STR_BUFSIZE,112 spascii_to_str(inq_res->revision, SCSI_INQ_REVISION_STR_BUFSIZE, 115 113 inq_data.revision, sizeof(inq_data.revision)); 116 114
Note:
See TracChangeset
for help on using the changeset viewer.