Changeset 64e6945d in mainline for uspace/drv


Ignore:
Timestamp:
2011-07-03T10:27:37Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ec62681
Parents:
dcb74c0a
Message:

Factor out bit operations from usbmast to bitops.h.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbmast/inquiry.c

    rdcb74c0a r64e6945d  
    3434 * Main routines of USB mass storage driver.
    3535 */
     36#include <bitops.h>
    3637#include <usb/dev/driver.h>
    3738#include <usb/debug.h>
     
    4546#include "cmds.h"
    4647#include "mast.h"
    47 
    48 #define BITS_GET_MASK(type, bitcount) (((type)(1 << (bitcount)))-1)
    49 #define BITS_GET_MID_MASK(type, bitcount, offset) \
    50         ((type)( BITS_GET_MASK(type, (bitcount) + (offset)) - BITS_GET_MASK(type, bitcount) ))
    51 #define BITS_GET(type, number, hi_bit, lo_bit) \
    52         ((type)( (number) & (BITS_GET_MID_MASK(type, (hi_bit)-(lo_bit)+1, lo_bit)) ) >> (lo_bit))
    5348
    5449/** Get string representation for SCSI peripheral device type.
     
    107102        bzero(inquiry_result, sizeof(*inquiry_result));
    108103
    109         inquiry_result->device_type = BITS_GET(uint8_t, inq_data.pqual_devtype,
    110             SCSI_PQDT_DEV_TYPE_h, SCSI_PQDT_DEV_TYPE_l);
     104        inquiry_result->device_type = BIT_RANGE_EXTRACT(uint8_t,
     105            inq_data.pqual_devtype, SCSI_PQDT_DEV_TYPE_h, SCSI_PQDT_DEV_TYPE_l);
    111106
    112         inquiry_result->removable = BITS_GET(uint8_t, inq_data.rmb,
    113             SCSI_RMB_RMB, SCSI_RMB_RMB);
     107        inquiry_result->removable = BIT_RANGE_EXTRACT(uint8_t,
     108            inq_data.rmb, SCSI_RMB_RMB, SCSI_RMB_RMB);
    114109
    115110        spascii_to_str(inquiry_result->vendor, SCSI_INQ_VENDOR_STR_BUFSIZE,
Note: See TracChangeset for help on using the changeset viewer.