···11config USB_ENESTORAGE22- tristate "USB ENE SM/MS card reader support"22+ tristate "USB ENE SM card reader support"33 depends on USB && SCSI && m44 ---help---55- Say Y here if you wish to control a ENE SM/MS Card reader.66- To use SD card, please build driver/usb/storage/ums-eneub6250.ko55+ Say Y here if you wish to control a ENE SM Card reader.66+ To use SD/MS card, please build driver/usb/storage/ums-eneub6250.ko7788 This option depends on 'SCSI' support being enabled, but you99 probably also need 'SCSI device support: SCSI disk support'
···432432 usb_stor_print_cmd(srb);433433 /* send the command to the transport layer */434434 scsi_set_resid(srb, 0);435435- if (!(us->MS_Status.Ready || us->SM_Status.Ready))435435+ if (!(us->SM_Status.Ready))436436 result = ENE_InitMedia(us);437437438438 if (us->Power_IsResum == true) {···440440 us->Power_IsResum = false;441441 }442442443443- if (us->MS_Status.Ready)444444- result = MS_SCSIIrp(us, srb);445443 if (us->SM_Status.Ready)446444 result = SM_SCSIIrp(us, srb);447445
-46
drivers/staging/keucr/transport.h
···9595 */9696extern void ENE_stor_invoke_transport(struct scsi_cmnd *, struct us_data *);9797extern int ENE_InitMedia(struct us_data *);9898-extern int ENE_MSInit(struct us_data *);9998extern int ENE_SMInit(struct us_data *);10099extern int ENE_SendScsiCmd(struct us_data*, BYTE, void*, int);101100extern int ENE_LoadBinCode(struct us_data*, BYTE);···106107/*107108 * ENE scsi function108109 */109109-extern int MS_SCSIIrp(struct us_data *us, struct scsi_cmnd *srb);110110extern int SM_SCSIIrp(struct us_data *us, struct scsi_cmnd *srb);111111-112112-/*113113- * ENE MS function114114- */115115-extern int MS_CardInit(struct us_data *us);116116-extern void MS_LibFreeAllocatedArea(struct us_data *us);117117-extern void MS_LibFreeWriteBuf(struct us_data *us);118118-extern int MS_LibFreeLogicalMap(struct us_data *us);119119-extern int MS_LibForceSetLogicalPair(struct us_data *us, WORD logblk,120120- WORD phyblk);121121-extern int MS_ReaderReadPage(struct us_data *us, DWORD PhyBlockAddr,122122- BYTE PageNum, DWORD *PageBuf,123123- MS_LibTypeExtdat *ExtraDat);124124-extern int MS_ReaderCopyBlock(struct us_data *us, WORD oldphy,125125- WORD newphy, WORD PhyBlockAddr,126126- BYTE PageNum, PBYTE buf, WORD len);127127-extern int MS_ReaderEraseBlock(struct us_data *us, DWORD PhyBlockAddr);128128-extern int MS_LibProcessBootBlock(struct us_data *us, WORD PhyBlock,129129- BYTE *PageData);130130-extern int MS_LibAllocLogicalMap(struct us_data *us);131131-extern int MS_LibSetBootBlockMark(struct us_data *us, WORD phyblk);132132-extern int MS_LibSetLogicalBlockMark(struct us_data *us, WORD phyblk,133133- WORD mark);134134-extern int MS_LibSetInitialErrorBlock(struct us_data *us, WORD phyblk);135135-extern int MS_LibScanLogicalBlockNumber(struct us_data *us, WORD phyblk);136136-extern int MS_LibAllocWriteBuf(struct us_data *us);137137-void MS_LibClearWriteBuf(struct us_data *us);138138-void MS_LibPhy2LogRange(WORD PhyBlock, WORD *LogStart,139139- WORD *LogEnde);140140-extern int MS_LibReadExtra(struct us_data *us, DWORD PhyBlock,141141- BYTE PageNum, MS_LibTypeExtdat *ExtraDat);142142-extern int MS_LibReadExtraBlock(struct us_data *us, DWORD PhyBlock,143143- BYTE PageNum, BYTE blen, void *buf);144144-extern int MS_LibSetAcquiredErrorBlock(struct us_data *us, WORD phyblk);145145-extern int MS_LibErasePhyBlock(struct us_data *us, WORD phyblk);146146-extern int MS_LibErrorPhyBlock(struct us_data *us, WORD phyblk);147147-extern int MS_LibOverwriteExtra(struct us_data *us, DWORD PhyBlockAddr,148148- BYTE PageNum, BYTE OverwriteFlag);149149-extern int MS_LibSetLogicalPair(struct us_data *us,150150- WORD logblk, WORD phyblk);151151-extern int MS_LibCheckDisableBlock(struct us_data *us, WORD PhyBlock);152152-extern int MS_CountFreeBlock(struct us_data *us, WORD PhyBlock);153153-extern int MS_LibSearchBlockFromLogical(struct us_data *us, WORD logblk);154154-extern int MS_LibSearchBlockFromPhysical(struct us_data *us, WORD phyblk);155111156112#endif