Re: Bug#757733: 答复: Bug#757733: RTS2557 SD card reader does not work
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)
Reply to: