[POWERPC] Move electra-ide support over to new pata_of_platform framework

Move electra-ide glue over to the new pata_of_platform framework, and
add the quirks needed to that driver.


Signed-off-by: Olof Johansson <[EMAIL PROTECTED]>

---

I'll remove the electra-ide stuff from arch/powerpc/platforms/pasemi
once this hits a common tree, since otherwise I'd be without IDE until
they converge (i.e.  2.6.25 merge window).


-Olof

diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c
index 4daf118..3e9675a 100644
--- a/drivers/ata/pata_of_platform.c
+++ b/drivers/ata/pata_of_platform.c
@@ -34,11 +34,20 @@ static int __devinit pata_of_platform_probe(struct 
of_device *ofdev,
                return -EINVAL;
        }
 
-       ret = of_address_to_resource(dn, 1, &ctl_res);
-       if (ret) {
-               dev_err(&ofdev->dev, "can't get CTL address from "
-                       "device tree\n");
-               return -EINVAL;
+       if (of_device_is_compatible(dn, "electra-ide")) {
+               /* Altstatus is really at offset 0x3f6 from the primary window
+                * on electra-ide. Adjust ctl_res and io_res accordingly.
+                */
+               ctl_res = io_res;
+               ctl_res.start = ctl_res.start+0x3f6;
+               io_res.end = ctl_res.start-1;
+       } else {
+               ret = of_address_to_resource(dn, 1, &ctl_res);
+               if (ret) {
+                       dev_err(&ofdev->dev, "can't get CTL address from "
+                               "device tree\n");
+                       return -EINVAL;
+               }
        }
 
        ret = of_irq_to_resource(dn, 0, &irq_res);
@@ -76,6 +85,7 @@ static int __devexit pata_of_platform_remove(struct of_device 
*ofdev)
 
 static struct of_device_id pata_of_platform_match[] = {
        { .compatible = "ata-generic", },
+       { .compatible = "electra-ide", },
        {},
 };
 MODULE_DEVICE_TABLE(of, pata_of_platform_match);
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to