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 <schmitzmic@xxxxxxxxx> -- Changes from RFC - fix region size (spotted by Szymon Bieganski <S.Bieganski@xxxxxxxxx>) - define IDE interface address in atari/config.c, create platform device always (suggested by Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>) Changes from v1 - add error checking for Falcon IDE platform device register --- arch/m68k/atari/config.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c index ca8469e..d6e9363 100644 --- a/arch/m68k/atari/config.c +++ b/arch/m68k/atari/config.c @@ -896,8 +896,28 @@ 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) { + struct platform_device *pdev; int rv = 0; if (!MACH_IS_ATARI) @@ -939,6 +959,13 @@ int __init atari_platform_init(void) atari_scsi_tt_rsrc, ARRAY_SIZE(atari_scsi_tt_rsrc)); #endif + if (ATARIHW_PRESENT(IDE)) { + pdev = platform_device_register_simple("atari-falcon-ide", -1, + atari_falconide_rsrc, ARRAY_SIZE(atari_falconide_rsrc)); + if (IS_ERR(pdev)) + rv = PTR_ERR(pdev); + } + return rv; } -- 1.7.0.4