
The ISA DMA API is inconsistent between architectures, and while
powerpc implements most of what the others have, it does not provide
isa_virt_to_bus():
../drivers/net/ethernet/cirrus/cs89x0.c: In function ‘net_open’:
../drivers/net/ethernet/cirrus/cs89x0.c:897:20: error: implicit declaration of function ‘isa_virt_to_bus’ [-Werror=implicit-function-declaration]
(unsigned long)isa_virt_to_bus(lp->dma_buff));
../drivers/net/ethernet/cirrus/cs89x0.c:894:3: note: in expansion of macro ‘cs89_dbg’
cs89_dbg(1, debug, "%s: dma %lx %lx\n",
I tried a couple of approaches to handle this consistently across
all architectures, but as this driver is really only used on
ARM, I ended up taking the easy way out and just disable compile
testing on powerpc.
Reported-by: Guenter Roeck <linux@roeck-us.net>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: Reported-by: kernel test robot <lkp@intel.com>
Fixes: 47fd22f2b8
("cs89x0: rework driver configuration")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2.0 KiB
SPDX-License-Identifier: GPL-2.0-only
Cirrus network device configuration
config NET_VENDOR_CIRRUS bool "Cirrus devices" default y depends on ISA || EISA || ARM || MAC || COMPILE_TEST help If you have a network (Ethernet) card belonging to this class, say Y.
Note that the answer to this question doesn't directly affect the
kernel: saying N will just cause the configurator to skip all
the questions about Cirrus cards. If you say Y, you will be asked
for your specific card in the following questions.
if NET_VENDOR_CIRRUS
config CS89x0 tristate
config CS89x0_ISA tristate "CS89x0 ISA driver support" depends on HAS_IOPORT_MAP depends on ISA depends on !PPC32 depends on CS89x0_PLATFORM=n select NETDEV_LEGACY_INIT select CS89x0 help Support for CS89x0 chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the file file:Documentation/networking/device_drivers/ethernet/cirrus/cs89x0.rst.
To compile this driver as a module, choose M here. The module
will be called cs89x0.
config CS89x0_PLATFORM tristate "CS89x0 platform driver support" depends on ARM || (COMPILE_TEST && !PPC) select CS89x0 help Say Y to compile the cs89x0 platform driver. This makes this driver suitable for use on certain evaluation boards such as the iMX21ADS.
To compile this driver as a module, choose M here. The module
will be called cs89x0.
config EP93XX_ETH tristate "EP93xx Ethernet support" depends on (ARM && ARCH_EP93XX) || COMPILE_TEST select MII help This is a driver for the ethernet hardware included in EP93xx CPUs. Say Y if you are building a kernel for EP93xx based devices.
config MAC89x0 tristate "Macintosh CS89x0 based ethernet cards" depends on MAC help Support for CS89x0 chipset based Ethernet cards. If you have a Nubus or LC-PDS network (Ethernet) card of this type, say Y here.
To compile this driver as a module, choose M here. This module will
be called mac89x0.
endif # NET_VENDOR_CIRRUS