Autoloading of Falcon IDE driver modules requires converting
these drivers to platform drivers.

Add platform device for Falcon IDE interface in Atari platform
setup code in preparation for this.

Signed-off-by: Michael Schmitz <[email protected]>

--

Changes from RFC

- fix region size (spotted by Szymon Bieganski <[email protected]>)
- define IDE interface address in atari/config.c, create platform device
  always (suggested by Geert Uytterhoeven <[email protected]>)
---
 arch/m68k/atari/config.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c
index ca8469e..c10533c 100644
--- a/arch/m68k/atari/config.c
+++ b/arch/m68k/atari/config.c
@@ -896,6 +896,25 @@ static void isp1160_delay(struct device *dev, int delay)
 };
 #endif
 
+/*
+ * Falcon IDE interface
+ */
+
+#define FALCON_IDE_BASE        0xfff00000
+
+static const struct resource atari_falconide_rsrc[] __initconst = {
+       {
+               .flags = IORESOURCE_MEM,
+               .start = FALCON_IDE_BASE,
+               .end   = FALCON_IDE_BASE+0x39,
+       },
+       {
+               .flags = IORESOURCE_IRQ,
+               .start = IRQ_MFP_FSCSI,
+               .end   = IRQ_MFP_FSCSI,
+       },
+};
+
 int __init atari_platform_init(void)
 {
        int rv = 0;
@@ -939,6 +958,10 @@ int __init atari_platform_init(void)
                        atari_scsi_tt_rsrc, ARRAY_SIZE(atari_scsi_tt_rsrc));
 #endif
 
+       if (ATARIHW_PRESENT(IDE))
+               platform_device_register_simple("pata_falcon", -1,
+                       atari_falconide_rsrc, ARRAY_SIZE(atari_falconide_rsrc));
+
        return rv;
 }
 
-- 
1.7.0.4

Reply via email to