[PATCH] ide/falconide: Avoid build failure when CONFIG_ATARI=n

From: Finn Thain
Date: Thu Jun 10 2021 - 05:30:39 EST


When building the driver for a q40-only configuration, the atari-only code
has to be elided to avoid a linker error:

m68k-linux-ld: drivers/ide/falconide.o: in function `falconide_get_lock':
falconide.c:(.text+0x1c2): undefined reference to `stdma_lock'
m68k-linux-ld: drivers/ide/falconide.o: in function `falconide_release_lock':
falconide.c:(.text+0x20c): undefined reference to `stdma_release'

Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Michael Schmitz <schmitzmic@xxxxxxxxx>
Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Fixes: 9658506fbf8c ("m68k/q40: Replace q40ide driver with pata_falcon and falconide")
Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxx>
---
This change relates to commit 9658506fbf8c ("m68k/q40: Replace q40ide driver
with pata_falcon and falconide") which is found on the for-5.14/libata branch
in Jens' repo. Therefore this 'fixes' tag is not yet relevant to mainline.
---
drivers/ide/falconide.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/ide/falconide.c b/drivers/ide/falconide.c
index fce68412b3c9..a73a9dc17e4d 100644
--- a/drivers/ide/falconide.c
+++ b/drivers/ide/falconide.c
@@ -25,6 +25,7 @@

#define DRV_NAME "falconide"

+#ifdef CONFIG_ATARI
/*
* falconide_intr_lock is used to obtain access to the IDE interrupt,
* which is shared between several drivers.
@@ -49,6 +50,7 @@ static void falconide_get_lock(irq_handler_t handler, void *data)
falconide_intr_lock = 1;
}
}
+#endif

static void falconide_input_data(ide_drive_t *drive, struct ide_cmd *cmd,
void *buf, unsigned int len)
@@ -92,8 +94,10 @@ static const struct ide_tp_ops falconide_tp_ops = {
};

static const struct ide_port_info falconide_port_info = {
+#ifdef CONFIG_ATARI
.get_lock = falconide_get_lock,
.release_lock = falconide_release_lock,
+#endif
.tp_ops = &falconide_tp_ops,
.host_flags = IDE_HFLAG_MMIO | IDE_HFLAG_SERIALIZE |
IDE_HFLAG_NO_DMA,
--
2.26.3