Patchwork [v2,libata] pata_cs5536: Add support for non-X86_32 platforms

login
register
mail settings
Submitter Zhangjin Wu
Date Dec. 23, 2010, 4:35 p.m.
Message ID <21c0c6ed72c9fb53f47562705de1c2dfc3f3b2ee.1293121910.git.wuzhangjin@gmail.com>
Download mbox | patch
Permalink /patch/76525/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Zhangjin Wu - Dec. 23, 2010, 4:35 p.m.
pata_cs5536 does work on the other platforms(e.g. Loongson, a MIPS
variant), so, remove the dependency of X86_32 and fix the building
errors under the other platforms via only reserving the X86_32 specific
parts for X86_32.

pata_amd also supports cs5536 IDE controller, but this one saves about
33k for the compressed kernel image(vmlinuz for MIPS).

The driver version is incremented to 0.08 as feedback from "Sergei Shtylyov"
<sshtylyov@mvista.com>.

Signed-off-by: Zhang Le <r0bertz@gentoo.org>
Signed-off-by: Chen Jie <chenj@lemote.com>
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
---
 drivers/ata/Kconfig       |    2 +-
 drivers/ata/pata_cs5536.c |   18 ++++++++++++------
 2 files changed, 13 insertions(+), 7 deletions(-)
Sergei Shtylyov - Dec. 23, 2010, 5:44 p.m.
Hello.

Wu Zhangjin wrote:

> pata_cs5536 does work on the other platforms(e.g. Loongson, a MIPS
> variant), so, remove the dependency of X86_32 and fix the building
> errors under the other platforms via only reserving the X86_32 specific
> parts for X86_32.

> pata_amd also supports cs5536 IDE controller, but this one saves about
> 33k for the compressed kernel image(vmlinuz for MIPS).

> The driver version is incremented to 0.08 as feedback from "Sergei Shtylyov"
> <sshtylyov@mvista.com>.

    This remark should really have been put under --- tear line...

> Signed-off-by: Zhang Le <r0bertz@gentoo.org>
> Signed-off-by: Chen Jie <chenj@lemote.com>
> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zhangjin Wu - Dec. 24, 2010, 1:30 p.m.
On Fri, Dec 24, 2010 at 1:44 AM, Sergei Shtylyov <sshtylyov@mvista.com> wrote:
> Hello.
>
> Wu Zhangjin wrote:
>
>> pata_cs5536 does work on the other platforms(e.g. Loongson, a MIPS
>> variant), so, remove the dependency of X86_32 and fix the building
>> errors under the other platforms via only reserving the X86_32 specific
>> parts for X86_32.
>
>> pata_amd also supports cs5536 IDE controller, but this one saves about
>> 33k for the compressed kernel image(vmlinuz for MIPS).
>
>> The driver version is incremented to 0.08 as feedback from "Sergei
>> Shtylyov"
>> <sshtylyov@mvista.com>.
>
>   This remark should really have been put under --- tear line...

Or I can simply add this line as the 1st line instead:

Changes from v1:

      o The driver version is incremented to 0.08 as feedback from "Sergei
      Shtylyov" <sshtylyov@mvista.com>.

But this is really a trivial stuff ... anyway, v3 will be sent out later ;-)

Regards,
Wu Zhangjin

>
>> Signed-off-by: Zhang Le <r0bertz@gentoo.org>
>> Signed-off-by: Chen Jie <chenj@lemote.com>
>> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
>
> WBR, Sergei
>
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 11ec911..cfd04f4 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -366,7 +366,7 @@  config PATA_CS5535
 
 config PATA_CS5536
 	tristate "CS5536 PATA support"
-	depends on PCI && X86 && !X86_64
+	depends on PCI
 	help
 	  This option enables support for the AMD CS5536
 	  companion chip used with the Geode LX processor family.
diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c
index 21ee23f..a6e6c96 100644
--- a/drivers/ata/pata_cs5536.c
+++ b/drivers/ata/pata_cs5536.c
@@ -37,10 +37,20 @@ 
 #include <linux/delay.h>
 #include <linux/libata.h>
 #include <scsi/scsi_host.h>
+
+#ifdef CONFIG_X86_32
 #include <asm/msr.h>
+static int use_msr;
+module_param_named(msr, use_msr, int, 0644);
+MODULE_PARM_DESC(msr, "Force using MSR to configure IDE function (Default: 0)");
+#else
+#define rdmsr(x, y, z) do { } while (0)
+#define wrmsr(x, y, z) do { } while (0)
+#define use_msr 0
+#endif
 
 #define DRV_NAME	"pata_cs5536"
-#define DRV_VERSION	"0.0.7"
+#define DRV_VERSION	"0.0.8"
 
 enum {
 	CFG			= 0,
@@ -75,8 +85,6 @@  enum {
 	IDE_ETC_NODMA		= 0x03,
 };
 
-static int use_msr;
-
 static const u32 msr_reg[4] = {
 	MSR_IDE_CFG, MSR_IDE_DTC, MSR_IDE_CAST, MSR_IDE_ETC,
 };
@@ -88,7 +96,7 @@  static const u8 pci_reg[4] = {
 static inline int cs5536_read(struct pci_dev *pdev, int reg, u32 *val)
 {
 	if (unlikely(use_msr)) {
-		u32 dummy;
+		u32 dummy __maybe_unused;
 
 		rdmsr(msr_reg[reg], *val, dummy);
 		return 0;
@@ -294,8 +302,6 @@  MODULE_DESCRIPTION("low-level driver for the CS5536 IDE controller");
 MODULE_LICENSE("GPL");
 MODULE_DEVICE_TABLE(pci, cs5536);
 MODULE_VERSION(DRV_VERSION);
-module_param_named(msr, use_msr, int, 0644);
-MODULE_PARM_DESC(msr, "Force using MSR to configure IDE function (Default: 0)");
 
 module_init(cs5536_init);
 module_exit(cs5536_exit);