-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 3/3/15 3:40 PM, Jeff Mahoney wrote:
Hi folks -
I just did the update to 4.0-rc1 and am in something of a cleanup mode. There are a number of drivers that are only loaded when enumerated via device tree/open firmware. On x86_64, there isn't any hardware we support that uses DT/OF, so we can skip building them entirely. On i386, we support the OLPC XO-1, so we need to determine which drivers that hardware requires. It gets cloudy when it comes to ppc/ppc64/ppc64le.
The following is a quick review of drivers that we are building that are only enumerated using device tree/open firmware. Drivers that are only being built on ARM already are not included.
The gist is that there are 46 drivers that are built with only DT/OF support across all non-ARM architectures. Of those, 17 are being built because the driver doesn't report CONFIG_OF as a dependency. 24 of them are being built on i386 or x86_64, where the devices will never be discovered.
Before I go and commit these changes, I'd like to ask for some quick review to see if I've overlooked anything or have some false positives. As it is, I'm sure there is hardware that is only on ARM but is being built for ppc.
The process used was to expand every non-ARM kernel RPM from Kernel:HEAD and run depmod on each one. Every driver that loads with OF/DT will have an alias that starts with of:. Every driver that can also load after being enumerated by another mechanism (typically either ACPI or I2C) is filtered out.
airport - APPLE_AIRPORT - enabled on ppc, ppc64, ppc64le - macio: ppc64le can be disabled altera_tse - ALTERA_TSE - buggy, should require OF - enabled on armv7hl, i386, ppc, ppc64, ppc64le, s390x, x86_64 - i386, s390x, x86_64 can be disabled - ppc, ppc64, ppc64le should probably be disabled apbps2 - Documentation/devicetree/bindings/input/ps2keyb-mouse-apbps2.txt - SERIO_APBPS2 - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le - typical environment is on a LEON SPARC system - i386 can be disabled - arm64, armv6hl, armv7hl, ppc, ppc64, ppc64le should probably be disabled bh1780gli - SENSORS_BH1780 - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - buggy? has an i2c device table but it's not exported bmac - BMAC - enabled on ppc - ok docg3 - MTD_DOCG3 - buggy, should depend on OF - enabled on i386, ppc64, ppc64le, x86_64 - i386, x86_64 can be disabled - ppc64, ppc64le should probably be disabled dw_wdt - DW_WATCHDOG - buggy, should depend on OF - enabled on armv6hl, armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - i386, x86_64, ppc, ppc64, ppc64le can be disabled - Used to be documented as ARM-only until commit 58a251f2c25 updated it to be generic after it became used on Xtensa. ethoc - ETHOC - buggy, should depend on OF - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - i386, x86_64 can be disabled - can probably be disabled everywhere fec_mpc52xx - FEC_MPC52xx - enabled on ppc - ok fec_mpc52xx_phy - FEC_MPC52xx - enabled on ppc - ok fsl_lpuart - SERIAL_FSL_LPUART - buggy, should depend on OF - enabled on armv6hl, armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 - unsure if it can be disabled on ppc, ppc64, ppc64le gpio_74xx_mmio - GPIO_74XX_MMIO - enabled on arm64, i386, ppc, ppc64, ppc64le - can be disbled on i386 gpio_beeper - INPUT_GPIO_BEEPER - buggy, should depend on OF - enabled on i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 - can probably be disabled everywhere gpio_grgpio - GPIO_GRGPIO - Documentation/devicetree/bindings/gpio/gpio-grgpio.txt - typical environment is on a LEON SPARC system - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le - can be disabled on i386, ppc, ppc64, ppc64le - can probably be disabled everywhere gpio_ir_recv - IR_GPIO_CIR - buggy, should depend on OF - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 gpio_syscon - GPIO_SYSCON - buggy, should depend on OF - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le - can be disabled on i386, x86_64 gpio_wdt - GPIO_WATCHDOG - enabled on armv6hl, armv7hl, i386, ppc, ppc64, ppc64le - can be disabled on i386 i2c_mpc - I2C_MPC - should probably depend on PPC32 - enabled on ppc, ppc64, ppc64le - can be disabled on ppc64, ppc64 i2c_opal - I2C_OPAL - enabled on ppc64, ppc64le - ok ibm_emac - IBM_EMAC - enabled on ppc64,ppc64le - ok ipmi_powernv - IPMI_POWERNV - enabled on ppc64, ppc64le - ok ks8851_mll - KS8851_MLL - buggy, should depend on OF - enabled on arm64, armv7hl, armv6hl, i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 - should probably be disabled on ppc, ppc64, ppc64le ll_temac - XILINX_LL_TEMAC - enabled on ppc, ppc64, ppc64le - ok mac53c94 - SCSI_MAC53C94 - enabled on ppc - ok mace - MACE - enabled on ppc - ok mdio_mux_gpio - MDIO_BUS_MUX_GPIO - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le - can be disabled on i386 mdio_mux_mmioreg - MDIO_BUS_MUX_GPIO - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le - can be disabled on i386 mesh - SCSI_MESH - enabled on ppc - ok ocfb - FB_OPENCORES - buggy, should depend on OF - enabled on i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 - can probably be disabled everywhere olpc_apsp - ok olpc_battery - ok pata_mpc52xx - PATA_MPC52xx - enabled on ppc - ok physmap_of - MTD_PHYSMAP_OF - enabled on arm64, armv6hl, armv7h, i386 - not sure if required by olpc flash pps_gpio - PPS_CLIENT_GPIO - buggy, should depend on OF - enabled on i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 rtc_snvs - RTC_DRV_SNVS - enabled on arm64, armv6hl, armv7hl, ppc, ppc64, ppc64le - can be disabled on i386 sdhci_of_arasan - MMC_SDHCI_OF_ARASAN - enabled on arm64, armv6hl, armv7hl, i386 - can be disabled on i386 - can possibly be disabled on arm64 snd_aoa_i2sbus - SND_AOA_SOUNDBUS_I2S - enabled on ppc, ppc64, ppc64le - ok st_drv - TI_ST - buggy, should depend on OF - enabled on arm64, armv7hl, armv6hl, i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 - can probably be disabled on ppc, ppc64, ppc64le stmmac_platform - STMMAC_PLATFORM - buggy, should depend on OF - enabled on armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, ppc, ppc64, ppc64le, x86_64 ti_am335x_tscadc - MFD_TI_AM335X_TSCADC - buggy, should depend on OF - enabled on arm64, armv6hl, armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, ppc, ppc64, ppc64le, x86_64 timeriomem_rng - HW_RANDOM_TIMERIOMEM - buggy, should depend on OF - enabled on arm64, armv6hl, armv7hl, ppc - can probably be disabled on ppc virtio_mmio - buggy, should depend on OF - enabled on arm64, armv7hl, i386, ppc, ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 w1_gpio - W1_MASTER_GPIO - buggy, should depend on OF - enabled on arm64, armv6hl, armv7hl, i386, ppc,ppc64, ppc64le, x86_64 - can be disabled on i386, x86_64 xilinx_emaclite - XILINX_EMACLITE - enabled on armv7hl, ppc - ok xilinx_ps2 - SERIO_XILINX_XPS_PS2 - enabled on ppc, ppc64, ppc64le - ok xilinx_uartps - SERIAL_XILINX_PS_UART - enabled on armv6hl, armv6hl, ppc, ppc64, ppc64le, i386 - can be disabled on i386
Thanks for the feedback, everyone. I've pushed the config update. Jan, I updated the xen/ec2/pv configs for this as well so you shouldn't need to resync for that. config: disable FEC_MPC52xx on ppc config: disable SERIAL_XILINX_PS_UART on i386 config: disable W1_MASTER_GPIO on i386, x86_64 config: disable VIRTIO_MMIO on i386, x86_64 config: disable MFD_TI_AM335X_TSCADC on non-ARM platforms config: disable STMMAC_PLATFORM on non-ARM platforms config: disable TI_ST and RADIO_WL128X on i386, x86_64 config: disable MMC_SDHCI_OF_ARASAN on i386 config: disable PPS_CLIENT_GPIO on i386, x86_64 config: disable MDIO_BUS_MUX_GPIO on i386 config: disable KS8851_MLL on i386, x86_64 config: disable I2C_MPC on ppc64, ppc64le config: disable GPIO_WATCHDOG on i386 config: disable GPIO_SYSCON on i386 config: disable IR_GPIO_CIR on i386, x86_64 config: disable GPIO_GRGPIO on i386, ppc, ppc64, ppc64le config: disable INPUT_GPIO_BEEPER on i386, x86_64 config: disable GPIO_74XX_MMIO on i386 config: disable SERIAL_FSL_LPUART on non-ARM platforms. config: disable DW_WATCHDOG on i386, x86_64, ppc, ppc64, ppc64le config: disable MTD_DOCG3 on i386, x86_64, ppc64, ppc64le config: disable SERIO_APBPS2 on i386 config: disable APPLE_AIRPORT on ppc64le config: disable ALTERA_TSE on i386/x86_64 config: disable ETHOC on i386, x86_64 config: disable FB_OPENCORES on i386/x86_64 - -Jeff - -- Jeff Mahoney SUSE Labs -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) iQIcBAEBAgAGBQJU/aaKAAoJEB57S2MheeWyacUQAJHyQbF6RorDD8+fE/nYWPfg vnB79tUFjqQr6mHZwCwU8fgeDG9PraAGntvhZaizP1wM2ikOJsSs+Wf14NL25KaM NI0OhA9othseHpR9Tx+thgZH7mKPOEzGSXgfGHt4F5nMtPhSIJTgTIkzjNQ5Vsrc reY8g1/epYHDN5elbqbzssYppfRXeAuKHM9/WilXpoqE8ONEoKQsU71vBfaGOeX5 HjwkoZTg3381PwXoA/QkhotMg8VRNfSf8LYdK3piM/iQwOD+enBY4rFxQ/wHaN1e ft0/4h6eQeNL9ZAD9k4PZMd1ESrWkX1TOC7WJbXSB5VJiPw/g52tipg5NK86cIC3 gUxQlozU9WiEIAJLr70pZ/0aEY/vjm8Qey6vCcbaYzMzFDFLP9kvwQRQ7lcYVvEg o/6N1zz9/zGBFKtMXIW38qcqN2Hw1/XiuFSsQ8aiYjxA7/dRZbKqp9u11olUSbIK wYCb/Vui9TEAJ+dWKDfDtED0ZM1RmlFNrR/oe2IRq/5OrSskvB3vxc90+pRrmiO+ E9qjUBZUCi4dUmb9BgDDFkENypCdEzIWhdGgd0KXp5HLT6UcZevdoJi7AkBg7gjH CBTFubQqwFaZFAj71dOT/KVWSzAeo/5/K6/s4rCPNB3OmjBSJJh9Iu8IPj76hRHF Nyi3caw23LZNAJy++1hi =OjKI -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org