Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: Remove depends on HAS_DMA in case of platform dependency

Remove dependencies on HAS_DMA where a Kconfig symbol depends on another
symbol that implies HAS_DMA, and, optionally, on "|| COMPILE_TEST".
In most cases this other symbol is an architecture or platform specific
symbol, or PCI.

Generic symbols and drivers without platform dependencies keep their
dependencies on HAS_DMA, to prevent compiling subsystems or drivers that
cannot work anyway.

This simplifies the dependencies, and allows to improve compile-testing.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Geert Uytterhoeven and committed by
David S. Miller
e020797b 935c5e3e

+12 -19
+1 -1
drivers/net/ethernet/amd/Kconfig
··· 173 173 174 174 config AMD_XGBE 175 175 tristate "AMD 10GbE Ethernet driver" 176 - depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM && HAS_DMA 176 + depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM 177 177 depends on X86 || ARM64 || COMPILE_TEST 178 178 select BITREVERSE 179 179 select CRC32
-1
drivers/net/ethernet/apm/xgene-v2/Kconfig
··· 1 1 config NET_XGENE_V2 2 2 tristate "APM X-Gene SoC Ethernet-v2 Driver" 3 - depends on HAS_DMA 4 3 depends on ARCH_XGENE || COMPILE_TEST 5 4 help 6 5 This is the Ethernet driver for the on-chip ethernet interface
-1
drivers/net/ethernet/apm/xgene/Kconfig
··· 1 1 config NET_XGENE 2 2 tristate "APM X-Gene SoC Ethernet Driver" 3 - depends on HAS_DMA 4 3 depends on ARCH_XGENE || COMPILE_TEST 5 4 select PHYLIB 6 5 select MDIO_XGENE
+4 -2
drivers/net/ethernet/arc/Kconfig
··· 24 24 config ARC_EMAC 25 25 tristate "ARC EMAC support" 26 26 select ARC_EMAC_CORE 27 - depends on OF_IRQ && OF_NET && HAS_DMA && (ARC || COMPILE_TEST) 27 + depends on OF_IRQ && OF_NET 28 + depends on ARC || COMPILE_TEST 28 29 ---help--- 29 30 On some legacy ARC (Synopsys) FPGA boards such as ARCAngel4/ML50x 30 31 non-standard on-chip ethernet device ARC EMAC 10/100 is used. ··· 34 33 config EMAC_ROCKCHIP 35 34 tristate "Rockchip EMAC support" 36 35 select ARC_EMAC_CORE 37 - depends on OF_IRQ && OF_NET && REGULATOR && HAS_DMA && (ARCH_ROCKCHIP || COMPILE_TEST) 36 + depends on OF_IRQ && OF_NET && REGULATOR 37 + depends on ARCH_ROCKCHIP || COMPILE_TEST 38 38 ---help--- 39 39 Support for Rockchip RK3036/RK3066/RK3188 EMAC ethernet controllers. 40 40 This selects Rockchip SoC glue layer support for the
-2
drivers/net/ethernet/broadcom/Kconfig
··· 157 157 config BGMAC_BCMA 158 158 tristate "Broadcom iProc GBit BCMA support" 159 159 depends on BCMA && BCMA_HOST_SOC 160 - depends on HAS_DMA 161 160 depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST 162 161 select BGMAC 163 162 select PHYLIB ··· 169 170 170 171 config BGMAC_PLATFORM 171 172 tristate "Broadcom iProc GBit platform support" 172 - depends on HAS_DMA 173 173 depends on ARCH_BCM_IPROC || COMPILE_TEST 174 174 depends on OF 175 175 select BGMAC
+1 -1
drivers/net/ethernet/calxeda/Kconfig
··· 1 1 config NET_CALXEDA_XGMAC 2 2 tristate "Calxeda 1G/10G XGMAC Ethernet driver" 3 - depends on HAS_IOMEM && HAS_DMA 3 + depends on HAS_IOMEM 4 4 depends on ARCH_HIGHBANK || COMPILE_TEST 5 5 select CRC32 6 6 help
+1 -1
drivers/net/ethernet/hisilicon/Kconfig
··· 5 5 config NET_VENDOR_HISILICON 6 6 bool "Hisilicon devices" 7 7 default y 8 - depends on (OF || ACPI) && HAS_DMA 8 + depends on OF || ACPI 9 9 depends on ARM || ARM64 || COMPILE_TEST 10 10 ---help--- 11 11 If you have a network (Ethernet) card belonging to this class, say Y.
+3 -5
drivers/net/ethernet/marvell/Kconfig
··· 18 18 19 19 config MV643XX_ETH 20 20 tristate "Marvell Discovery (643XX) and Orion ethernet support" 21 - depends on (MV64X60 || PPC32 || PLAT_ORION || COMPILE_TEST) && INET 22 - depends on HAS_DMA 21 + depends on MV64X60 || PPC32 || PLAT_ORION || COMPILE_TEST 22 + depends on INET 23 23 select PHYLIB 24 24 select MVMDIO 25 25 ---help--- ··· 58 58 config MVNETA 59 59 tristate "Marvell Armada 370/38x/XP/37xx network interface support" 60 60 depends on ARCH_MVEBU || COMPILE_TEST 61 - depends on HAS_DMA 62 61 select MVMDIO 63 62 select PHYLINK 64 63 ---help--- ··· 83 84 config MVPP2 84 85 tristate "Marvell Armada 375/7K/8K network interface support" 85 86 depends on ARCH_MVEBU || COMPILE_TEST 86 - depends on HAS_DMA 87 87 select MVMDIO 88 88 select PHYLINK 89 89 ---help--- ··· 91 93 92 94 config PXA168_ETH 93 95 tristate "Marvell pxa168 ethernet support" 94 - depends on HAS_IOMEM && HAS_DMA 96 + depends on HAS_IOMEM 95 97 depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST 96 98 select PHYLIB 97 99 ---help---
+1 -1
drivers/net/ethernet/mellanox/mlxsw/Kconfig
··· 30 30 31 31 config MLXSW_PCI 32 32 tristate "PCI bus implementation for Mellanox Technologies Switch ASICs" 33 - depends on PCI && HAS_DMA && HAS_IOMEM && MLXSW_CORE 33 + depends on PCI && HAS_IOMEM && MLXSW_CORE 34 34 default m 35 35 ---help--- 36 36 This is PCI bus implementation for Mellanox Technologies Switch ASICs.
-2
drivers/net/ethernet/renesas/Kconfig
··· 17 17 18 18 config SH_ETH 19 19 tristate "Renesas SuperH Ethernet support" 20 - depends on HAS_DMA 21 20 depends on ARCH_RENESAS || SUPERH || COMPILE_TEST 22 21 select CRC32 23 22 select MII ··· 30 31 31 32 config RAVB 32 33 tristate "Renesas Ethernet AVB support" 33 - depends on HAS_DMA 34 34 depends on ARCH_RENESAS || COMPILE_TEST 35 35 select CRC32 36 36 select MII
-1
drivers/net/wireless/broadcom/brcm80211/Kconfig
··· 60 60 bool "PCIE bus interface support for FullMAC driver" 61 61 depends on BRCMFMAC 62 62 depends on PCI 63 - depends on HAS_DMA 64 63 select BRCMFMAC_PROTO_MSGBUF 65 64 select FW_LOADER 66 65 ---help---
+1 -1
drivers/net/wireless/quantenna/qtnfmac/Kconfig
··· 7 7 config QTNFMAC_PEARL_PCIE 8 8 tristate "Quantenna QSR10g PCIe support" 9 9 default n 10 - depends on HAS_DMA && PCI && CFG80211 10 + depends on PCI && CFG80211 11 11 select QTNFMAC 12 12 select FW_LOADER 13 13 select CRC32