diff mbox series

[1/2] m68k/atari: add platform device for Falcon IDE port

Message ID 1562018556-15090-2-git-send-email-schmitzmic@gmail.com
State Not Applicable
Delegated to: David Miller
Headers show
Series Convert Atari Falcon IDE driver to platform device | expand

Commit Message

Michael Schmitz July 1, 2019, 10:02 p.m. UTC
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@gmail.com>

--

Changes from RFC

- fix region size (spotted by Szymon Bieganski <S.Bieganski@chello.nl>)
- define IDE interface address in atari/config.c, create platform device
  always (suggested by Geert Uytterhoeven <geert@linux-m68k.org>)
---
 arch/m68k/atari/config.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

Comments

Bartlomiej Zolnierkiewicz July 2, 2019, 12:50 p.m. UTC | #1
On 7/2/19 12:02 AM, Michael Schmitz wrote:
> 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@gmail.com>

Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
Geert Uytterhoeven Sept. 3, 2019, 12:40 p.m. UTC | #2
Hi Michael,

On Tue, Jul 2, 2019 at 12:02 AM Michael Schmitz <schmitzmic@gmail.com> wrote:
> 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@gmail.com>
>
> --
>
> Changes from RFC
>
> - fix region size (spotted by Szymon Bieganski <S.Bieganski@chello.nl>)
> - define IDE interface address in atari/config.c, create platform device
>   always (suggested by Geert Uytterhoeven <geert@linux-m68k.org>)

Thanks for the update!

Looks good to me.  However, with just this patch applied, pata_falcon
fails with:

    pata_falcon: Atari Falcon PATA controller
    pata_falcon: resources busy

To avoid bisection issues, probably both patches should be combined into a
single patch.

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

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;
 }