diff options
Diffstat (limited to 'drivers/staging/keucr')
-rw-r--r-- | drivers/staging/keucr/init.c | 1 | ||||
-rw-r--r-- | drivers/staging/keucr/init.h | 5 | ||||
-rw-r--r-- | drivers/staging/keucr/scsiglue.c | 2 | ||||
-rw-r--r-- | drivers/staging/keucr/smil.h | 3 | ||||
-rw-r--r-- | drivers/staging/keucr/smilmain.c | 34 | ||||
-rw-r--r-- | drivers/staging/keucr/smilsub.c | 1 | ||||
-rw-r--r-- | drivers/staging/keucr/transport.c | 1 |
7 files changed, 22 insertions, 25 deletions
diff --git a/drivers/staging/keucr/init.c b/drivers/staging/keucr/init.c index e61183906548..1e7449d6d120 100644 --- a/drivers/staging/keucr/init.c +++ b/drivers/staging/keucr/init.c @@ -9,6 +9,7 @@ #include "usb.h" #include "scsiglue.h" #include "transport.h" +#include "smil.h" #include "init.h" /* diff --git a/drivers/staging/keucr/init.h b/drivers/staging/keucr/init.h index 98d2e3ba8545..d1367e726ff1 100644 --- a/drivers/staging/keucr/init.h +++ b/drivers/staging/keucr/init.h @@ -1,10 +1,5 @@ #include "common.h" -extern u32 MediaChange; -extern int Check_D_MediaFmt(struct us_data *); - - - static u8 SM_Init[] = { 0x7B, 0x09, 0x7C, 0xF0, 0x7D, 0x10, 0x7E, 0xE9, 0x7F, 0xCC, 0x12, 0x2F, 0x71, 0x90, 0xE9, 0xCC, diff --git a/drivers/staging/keucr/scsiglue.c b/drivers/staging/keucr/scsiglue.c index ac3d34dcc438..7d8d444910c1 100644 --- a/drivers/staging/keucr/scsiglue.c +++ b/drivers/staging/keucr/scsiglue.c @@ -106,7 +106,7 @@ static int queuecommand_lck(struct scsi_cmnd *srb, /* check for state-transition errors */ if (us->srb != NULL) { /* pr_info("Error in %s: us->srb = %p\n" - __FUNCTION__, us->srb); */ + __func__, us->srb); */ return SCSI_MLQUEUE_HOST_BUSY; } diff --git a/drivers/staging/keucr/smil.h b/drivers/staging/keucr/smil.h index 39951738d231..f938759337e6 100644 --- a/drivers/staging/keucr/smil.h +++ b/drivers/staging/keucr/smil.h @@ -204,6 +204,7 @@ extern struct keucr_media_area CisArea; int Init_D_SmartMedia(void); int Pwoff_D_SmartMedia(void); int Check_D_SmartMedia(void); +int Check_D_MediaFmt(struct us_data *); int Check_D_Parameter(struct us_data *, u16 *, u8 *, u8 *); int Media_D_ReadSector(struct us_data *, u32, u16, u8 *); int Media_D_WriteSector(struct us_data *, u32, u16, u8 *); @@ -284,6 +285,4 @@ u8 correct_data(u8 *, u8 *, u8, u8, u8); int _Correct_D_SwECC(u8 *, u8 *, u8 *); void _Calculate_D_SwECC(u8 *, u8 *); -void SM_Init(void); - #endif /* already included */ diff --git a/drivers/staging/keucr/smilmain.c b/drivers/staging/keucr/smilmain.c index fc7cbc6f8a45..42ec8a669ad3 100644 --- a/drivers/staging/keucr/smilmain.c +++ b/drivers/staging/keucr/smilmain.c @@ -141,23 +141,6 @@ int Media_D_CopySector(struct us_data *us, u32 start, u16 count, u8 *buf) return NO_ERROR; } -/* ----- Release_D_CopySector() ------------------------------------------ */ -static int Release_D_CopySector(struct us_data *us) -{ - Log2Phy[Media.Zone][Media.LogBlock] = WriteBlock; - Media.PhyBlock = ReadBlock; - - if (Media.PhyBlock == NO_ASSIGN) { - Media.PhyBlock = WriteBlock; - return SMSUCCESS; - } - - Clr_D_Bit(Assign[Media.Zone], Media.PhyBlock); - Media.PhyBlock = WriteBlock; - - return SMSUCCESS; -} - /* SmartMedia Physical Format Test Subroutine */ /* ----- Check_D_MediaFmt() --------------------------------------------- */ int Check_D_MediaFmt(struct us_data *us) @@ -184,6 +167,23 @@ int Check_D_MediaFmt(struct us_data *us) return SMSUCCESS; } +/* ----- Release_D_CopySector() ------------------------------------------ */ +static int Release_D_CopySector(struct us_data *us) +{ + Log2Phy[Media.Zone][Media.LogBlock] = WriteBlock; + Media.PhyBlock = ReadBlock; + + if (Media.PhyBlock == NO_ASSIGN) { + Media.PhyBlock = WriteBlock; + return SMSUCCESS; + } + + Clr_D_Bit(Assign[Media.Zone], Media.PhyBlock); + Media.PhyBlock = WriteBlock; + + return SMSUCCESS; +} + /* SmartMedia Physical Address Control Subroutine */ /* ----- Conv_D_MediaAddr() --------------------------------------------- */ static int Conv_D_MediaAddr(struct us_data *us, u32 addr) diff --git a/drivers/staging/keucr/smilsub.c b/drivers/staging/keucr/smilsub.c index 44ced8265039..e981f14f3bf9 100644 --- a/drivers/staging/keucr/smilsub.c +++ b/drivers/staging/keucr/smilsub.c @@ -133,6 +133,7 @@ void Set_D_LogBlockAddr(u8 *redundant) void Set_D_FailBlock(u8 *redundant) { char i; + for (i = 0; i < REDTSIZE; i++) *redundant++ = (u8)((i == REDT_BLOCK) ? 0xF0 : 0xFF); } diff --git a/drivers/staging/keucr/transport.c b/drivers/staging/keucr/transport.c index ae9414755d2f..5e59525271f8 100644 --- a/drivers/staging/keucr/transport.c +++ b/drivers/staging/keucr/transport.c @@ -669,6 +669,7 @@ int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us) /* R/W data */ if (transfer_length) { unsigned int pipe; + if (srb->sc_data_direction == DMA_FROM_DEVICE) pipe = us->recv_bulk_pipe; else |