> A web search shows some similar reports (e.g.
> <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1329566>,
>
<http://askubuntu.com/questions/473848/ubuntu-14-04-realtek-semiconductor-co-ltd-rts5227-pci-express-card-reader-isn>).
> But in that last one, it turns out that the out-of-tree driver does
> work.

Indeed, that is a workaround - download from
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=15&PFid=25&Level=4&Conn=3&DownTypeID=3&GetDown=false
, apply the attached patch, remove all rtsx_* modules, and insert the
new rts2557 module into the kernel.

commit 31eeecabfabe62c9667464f2144cbbd57c370b6f
Author: Philipp Hagemeister <phi...@phihag.de>
Date:   Mon Aug 11 03:03:56 2014 +0200

    Rename rts2559 to rts2557 and remove outdated macros

diff --git a/Makefile b/Makefile
index 6536bd4..7815096 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 
 
diff --git a/rtsx.c b/rtsx.c
index 7fd7a92..8ba9e19 100644
--- a/rtsx.c
+++ b/rtsx.c
@@ -263,7 +263,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 +910,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 +1065,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 +1091,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)

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to