zoukankan      html  css  js  c++  java
  • USB storage drivers分析之一

    /drivers/usb/storage/Makefile

    #
    # Makefile for the USB Mass Storage device drivers.
    #
    # 15 Aug 2000, Christoph Hellwig <hch@infradead.org>
    # Rewritten to use lists instead of if-statements.
    #

    ccflags-y := -Idrivers/scsi

    obj-$(CONFIG_USB_UAS) += uas.o
    obj-$(CONFIG_USB_STORAGE) += usb-storage.o

    好好分析下面这个价相关文件开始

    usb-storage-y := scsiglue.o protocol.o transport.o usb.o
    usb-storage-y += initializers.o sierra_ms.o option_ms.o

    usb-storage-$(CONFIG_USB_STORAGE_DEBUG) += debug.o

    ifeq ($(CONFIG_USB_LIBUSUAL),)
    usb-storage-y += usual-tables.o
    else
    obj-$(CONFIG_USB) += usb-libusual.o
    usb-libusual-y := libusual.o usual-tables.o
    endif

    obj-$(CONFIG_USB_STORAGE_ALAUDA) += ums-alauda.o
    obj-$(CONFIG_USB_STORAGE_CYPRESS_ATACB) += ums-cypress.o
    obj-$(CONFIG_USB_STORAGE_DATAFAB) += ums-datafab.o
    obj-$(CONFIG_USB_STORAGE_ENE_UB6250) += ums-eneub6250.o
    obj-$(CONFIG_USB_STORAGE_FREECOM) += ums-freecom.o
    obj-$(CONFIG_USB_STORAGE_ISD200) += ums-isd200.o
    obj-$(CONFIG_USB_STORAGE_JUMPSHOT) += ums-jumpshot.o
    obj-$(CONFIG_USB_STORAGE_KARMA) += ums-karma.o
    obj-$(CONFIG_USB_STORAGE_ONETOUCH) += ums-onetouch.o
    obj-$(CONFIG_USB_STORAGE_REALTEK) += ums-realtek.o
    obj-$(CONFIG_USB_STORAGE_SDDR09) += ums-sddr09.o
    obj-$(CONFIG_USB_STORAGE_SDDR55) += ums-sddr55.o
    obj-$(CONFIG_USB_STORAGE_USBAT) += ums-usbat.o

    ums-alauda-y := alauda.o
    ums-cypress-y := cypress_atacb.o
    ums-datafab-y := datafab.o
    ums-eneub6250-y := ene_ub6250.o
    ums-freecom-y := freecom.o
    ums-isd200-y := isd200.o
    ums-jumpshot-y := jumpshot.o
    ums-karma-y := karma.o
    ums-onetouch-y := onetouch.o
    ums-realtek-y := realtek_cr.o
    ums-sddr09-y := sddr09.o
    ums-sddr55-y := sddr55.o
    ums-usbat-y := shuttle_usbat.o

    /drivers/usb/storage/Kconfig

    #
    # USB Storage driver configuration
    #

    comment "NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may"
    comment "also be needed; see USB_STORAGE Help for more info"
    depends on USB

    config USB_STORAGE
    tristate "USB Mass Storage support"
    depends on USB && SCSI
    ---help---
    Say Y here if you want to connect USB mass storage devices to your
    computer's USB port. This is the driver you need for USB
    floppy drives, USB hard disks, USB tape drives, USB CD-ROMs,
    USB flash devices, and memory sticks, along with
    similar devices. This driver may also be used for some cameras
    and card readers.

    This option depends on 'SCSI' support being enabled, but you
    probably also need 'SCSI device support: SCSI disk support'
    (BLK_DEV_SD) for most USB storage devices.

    To compile this driver as a module, choose M here: the
    module will be called usb-storage.

    config USB_STORAGE_DEBUG
    bool "USB Mass Storage verbose debug"
    depends on USB_STORAGE
    help
    Say Y here in order to have the USB Mass Storage code generate
    verbose debugging messages.

    config USB_STORAGE_REALTEK
    tristate "Realtek Card Reader support"
    depends on USB_STORAGE
    help
    Say Y here to include additional code to support the power-saving function
    for Realtek RTS51xx USB card readers.

    If this driver is compiled as a module, it will be named ums-realtek.


    config USB_STORAGE_DATAFAB
    tristate "Datafab Compact Flash Reader support"
    depends on USB_STORAGE
    help
    Support for certain Datafab CompactFlash readers.
    Datafab has a web page at <http://www.datafab.com/>.

    If this driver is compiled as a module, it will be named ums-datafab.

    config USB_STORAGE_FREECOM
    tristate "Freecom USB/ATAPI Bridge support"
    depends on USB_STORAGE
    help
    Support for the Freecom USB to IDE/ATAPI adaptor.
    Freecom has a web page at <http://www.freecom.de/>.

    If this driver is compiled as a module, it will be named ums-freecom.

    config USB_STORAGE_ISD200
    tristate "ISD-200 USB/ATA Bridge support"
    depends on USB_STORAGE
    ---help---
    Say Y here if you want to use USB Mass Store devices based
    on the In-Systems Design ISD-200 USB/ATA bridge.

    Some of the products that use this chip are:

    - Archos Jukebox 6000
    - ISD SmartCable for Storage
    - Taiwan Skymaster CD530U/DEL-0241 IDE bridge
    - Sony CRX10U CD-R/RW drive
    - CyQ've CQ8060A CDRW drive
    - Planex eXtreme Drive RX-25HU USB-IDE cable (not model RX-25U)

    If this driver is compiled as a module, it will be named ums-isd200.

    config USB_STORAGE_USBAT
    tristate "USBAT/USBAT02-based storage support"
    depends on USB_STORAGE
    help
    Say Y here to include additional code to support storage devices
    based on the SCM/Shuttle USBAT/USBAT02 processors.

    Devices reported to work with this driver include:
    - CompactFlash reader included with Kodak DC3800 camera
    - Dane-Elec Zmate CompactFlash reader
    - Delkin Efilm reader2
    - HP 8200e/8210e/8230e CD-Writer Plus drives
    - I-JAM JS-50U
    - Jessops CompactFlash JESDCFRU BLACK
    - Kingston Technology PCREAD-USB/CF
    - Maxell UA4 CompactFlash reader
    - Memorex UCF-100
    - Microtech ZiO! ICS-45 CF2
    - RCA LYRA MP3 portable
    - Sandisk ImageMate SDDR-05b

    If this driver is compiled as a module, it will be named ums-usbat.

    config USB_STORAGE_SDDR09
    tristate "SanDisk SDDR-09 (and other SmartMedia, including DPCM) support"
    depends on USB_STORAGE
    help
    Say Y here to include additional code to support the Sandisk SDDR-09
    SmartMedia reader in the USB Mass Storage driver.
    Also works for the Microtech Zio! CompactFlash/SmartMedia reader.

    If this driver is compiled as a module, it will be named ums-sddr09.

    config USB_STORAGE_SDDR55
    tristate "SanDisk SDDR-55 SmartMedia support"
    depends on USB_STORAGE
    help
    Say Y here to include additional code to support the Sandisk SDDR-55
    SmartMedia reader in the USB Mass Storage driver.

    If this driver is compiled as a module, it will be named ums-sddr55.

    config USB_STORAGE_JUMPSHOT
    tristate "Lexar Jumpshot Compact Flash Reader"
    depends on USB_STORAGE
    help
    Say Y here to include additional code to support the Lexar Jumpshot
    USB CompactFlash reader.

    If this driver is compiled as a module, it will be named ums-jumpshot.

    config USB_STORAGE_ALAUDA
    tristate "Olympus MAUSB-10/Fuji DPC-R1 support"
    depends on USB_STORAGE
    help
    Say Y here to include additional code to support the Olympus MAUSB-10
    and Fujifilm DPC-R1 USB Card reader/writer devices.

    These devices are based on the Alauda chip and support both
    XD and SmartMedia cards.

    If this driver is compiled as a module, it will be named ums-alauda.

    config USB_STORAGE_ONETOUCH
    tristate "Support OneTouch Button on Maxtor Hard Drives"
    depends on USB_STORAGE
    depends on INPUT=y || INPUT=USB_STORAGE
    help
    Say Y here to include additional code to support the Maxtor OneTouch
    USB hard drive's onetouch button.

    This code registers the button on the front of Maxtor OneTouch USB
    hard drive's as an input device. An action can be associated with
    this input in any keybinding software. (e.g. gnome's keyboard short-
    cuts)

    If this driver is compiled as a module, it will be named ums-onetouch.

    config USB_STORAGE_KARMA
    tristate "Support for Rio Karma music player"
    depends on USB_STORAGE
    help
    Say Y here to include additional code to support the Rio Karma
    USB interface.

    This code places the Rio Karma into mass storage mode, enabling
    it to be mounted as an ordinary filesystem. Performing an eject
    on the resulting scsi device node returns the Karma to normal
    operation.

    If this driver is compiled as a module, it will be named ums-karma.

    config USB_STORAGE_CYPRESS_ATACB
    tristate "SAT emulation on Cypress USB/ATA Bridge with ATACB"
    depends on USB_STORAGE
    ---help---
    Say Y here if you want to use SAT (ata pass through) on devices based
    on the Cypress USB/ATA bridge supporting ATACB. This will allow you
    to use tools to tune and monitor your drive (like hdparm or smartctl).

    If you say no here your device will still work with the standard usb
    mass storage class.

    If this driver is compiled as a module, it will be named ums-cypress.

    config USB_STORAGE_ENE_UB6250
    tristate "USB ENE card reader support"
    depends on USB && SCSI
    depends on USB_STORAGE
    ---help---
    Say Y here if you wish to control a ENE SD Card reader.
    To use SM/MS card, please build driver/staging/keucr/keucr.ko

    This option depends on 'SCSI' support being enabled, but you
    probably also need 'SCSI device support: SCSI disk support'
    (BLK_DEV_SD) for most USB storage devices.

    To compile this driver as a module, choose M here: the
    module will be called ums-eneub6250.

    config USB_UAS
    tristate "USB Attached SCSI"
    depends on USB && SCSI
    help
    The USB Attached SCSI protocol is supported by some USB
    storage devices. It permits higher performance by supporting
    multiple outstanding commands.

    If you don't know whether you have a UAS device, it is safe to
    say 'Y' or 'M' here and the kernel will use the right driver.

    If you compile this driver as a module, it will be named uas.

    config USB_LIBUSUAL
    bool "The shared table of common (or usual) storage devices"
    depends on USB
    help
    This module contains a table of common (or usual) devices
    for usb-storage and ub drivers, and allows to switch binding
    of these devices without rebuilding modules.

    Typical syntax of /etc/modprobe.conf is:

    options libusual bias="ub"

    If unsure, say N.

  • 相关阅读:
    导入maven工程遇见的问题【问题】
    Java 反射机制
    SSH 使用JUnit测试
    Struts2 Convention插件的使用(4)使用@Action注解返回json数据
    Struts2 Convention插件的使用(3)方法前的@Action注解
    Struts2 Convention插件的使用(2)return视图以及jsp的关系
    Struts2 Convention插件的使用(1)
    Struts2 直接返回字符串(可用于json)
    PowerDesigner 将CDM、PDM导出为图片
    Servlet3.0-使用注解定义Servlet
  • 原文地址:https://www.cnblogs.com/haoxing990/p/4685179.html
Copyright © 2011-2022 走看看