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