I just test that and it works fine. I did little cleanup. Patch attached.
Regards, Robert.
diff --git a/Makefile b/Makefile index 6536bd4..d639053 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ # Makefile for the PCI-Express Card Reader drivers. # -TARGET_MODULE := rts5229 +TARGET_MODULE := rts5227 EXTRA_CFLAGS := -Idrivers/scsi @@ -38,9 +38,9 @@ debug: cp -f ./define.debug ./define.h make -C /lib/modules/$(shell uname -r)/build/ SUBDIRS=$(PWD) modules install: - cp $(TARGET_MODULE).ko /lib/modules/$(shell uname -r)/kernel/drivers/scsi -f + mkdir -p /lib/modules/$(shell uname -r)/kernel/drivers/scsi + cp $(TARGET_MODULE).ko /lib/modules/$(shell uname -r)/kernel/drivers/scsi/ -f clean: - rm -f *.o *.ko + rm -f *.o *.ko .*.ko* .*.o* Module.symvers define.h modules.order rm -f $(TARGET_MODULE).mod.c - - + rm -rf .tmp_versions diff --git a/rtsx.c b/rtsx.c index 7fd7a92..dbe66ce 100644 --- a/rtsx.c +++ b/rtsx.c @@ -129,39 +129,6 @@ static int slave_configure(struct scsi_device *sdev) #define SPRINTF(args...) \ do { if (pos < buffer+length) pos += sprintf(pos, ## args); } while (0) -static int proc_info (struct Scsi_Host *host, char *buffer, - char **start, off_t offset, int length, int inout) -{ - char *pos = buffer; - - - if (inout) - return length; - - - SPRINTF(" Host scsi%d: %s\n", host->host_no, CR_DRIVER_NAME); - - - SPRINTF(" Vendor: Realtek Corp.\n"); - SPRINTF(" Product: RTS5229\n"); - SPRINTF(" Version: %s\n", DRIVER_VERSION); - SPRINTF(" Build: %s, %s\n", __DATE__, __TIME__); - - /* - * Calculate start of next buffer, and return value. - */ - *start = buffer + offset; - - if ((pos - buffer) < offset) - return (0); - else if ((pos - buffer - offset) < length) - return (pos - buffer - offset); - else - return (length); -} - - - static int queuecommand_lck(struct scsi_cmnd *srb, void (*done)(struct scsi_cmnd *)) { @@ -263,7 +230,6 @@ static struct scsi_host_template rtsx_host_template = { .name = CR_DRIVER_NAME, .proc_name = CR_DRIVER_NAME, - .proc_info = proc_info, .info = host_info, @@ -911,7 +877,7 @@ static void rtsx_init_options(struct rtsx_chip *chip) chip->support_mmc = 1; } -static int __devinit rtsx_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) +static int rtsx_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) { struct Scsi_Host *host; struct rtsx_dev *dev; @@ -1066,7 +1032,7 @@ errout: } -static void __devexit rtsx_remove(struct pci_dev *pci) +static void rtsx_remove(struct pci_dev *pci) { struct rtsx_dev *dev = (struct rtsx_dev *)pci_get_drvdata(pci); @@ -1092,7 +1058,7 @@ static struct pci_driver driver = { .name = CR_DRIVER_NAME, .id_table = rts5229_ids, .probe = rtsx_probe, - .remove = __devexit_p(rtsx_remove), + .remove = rtsx_remove, #ifdef CONFIG_PM .suspend = rtsx_suspend, .resume = rtsx_resume, diff --git a/rtsx.h b/rtsx.h index 3a1bb2f..98b26c4 100644 --- a/rtsx.h +++ b/rtsx.h @@ -52,7 +52,7 @@ #include "trace.h" #include "general.h" -#define CR_DRIVER_NAME "rts5229" +#define CR_DRIVER_NAME "rts5227" #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 14)