aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPawel Moll <pawel.moll@arm.com>2011-09-07 08:36:26 -0400
committerJeff Garzik <jgarzik@redhat.com>2011-10-08 00:07:16 -0400
commit37210fbe1ddcd91b0331877fae81645978b5c3b1 (patch)
treebc8aa82fe246f253b256602182ce587aa6349801 /drivers
parentedc7d12ede4333a1fd7b59cebae970b4953ec9d0 (diff)
ata: Make pata_of_platform.c compile again and work on non-PPC platforms
This patch adds missing #includes, makes the driver selectable on non-PPC OF-enabled platforms and fixes property value accesses to be correct in Little Endian system. Cc: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/Kconfig2
-rw-r--r--drivers/ata/pata_of_platform.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 5987e0ba8c2..c6ef9d0cf37 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -820,7 +820,7 @@ config PATA_PLATFORM
820 820
821config PATA_OF_PLATFORM 821config PATA_OF_PLATFORM
822 tristate "OpenFirmware platform device PATA support" 822 tristate "OpenFirmware platform device PATA support"
823 depends on PATA_PLATFORM && PPC_OF 823 depends on PATA_PLATFORM && OF
824 help 824 help
825 This option enables support for generic directly connected ATA 825 This option enables support for generic directly connected ATA
826 devices commonly found on embedded systems with OpenFirmware 826 devices commonly found on embedded systems with OpenFirmware
diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c
index f3054009bd2..a72ab0dde4e 100644
--- a/drivers/ata/pata_of_platform.c
+++ b/drivers/ata/pata_of_platform.c
@@ -11,6 +11,8 @@
11 11
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/module.h> 13#include <linux/module.h>
14#include <linux/of_address.h>
15#include <linux/of_irq.h>
14#include <linux/of_platform.h> 16#include <linux/of_platform.h>
15#include <linux/ata_platform.h> 17#include <linux/ata_platform.h>
16 18
@@ -57,11 +59,11 @@ static int __devinit pata_of_platform_probe(struct platform_device *ofdev)
57 59
58 prop = of_get_property(dn, "reg-shift", NULL); 60 prop = of_get_property(dn, "reg-shift", NULL);
59 if (prop) 61 if (prop)
60 reg_shift = *prop; 62 reg_shift = be32_to_cpup(prop);
61 63
62 prop = of_get_property(dn, "pio-mode", NULL); 64 prop = of_get_property(dn, "pio-mode", NULL);
63 if (prop) { 65 if (prop) {
64 pio_mode = *prop; 66 pio_mode = be32_to_cpup(prop);
65 if (pio_mode > 6) { 67 if (pio_mode > 6) {
66 dev_err(&ofdev->dev, "invalid pio-mode\n"); 68 dev_err(&ofdev->dev, "invalid pio-mode\n");
67 return -EINVAL; 69 return -EINVAL;