The nomodeset kernel command line parameter is used to prevent the KMS/DRM drivers to be registered/probed. But only a few drivers implement support for this parameter and most DRM drivers would just ignore it.
This (huge) patch series makes all DRM drivers to honour this parameter. It is posted as separate patches to make easier for drivers maintainers to ack or pick them independently at their own pace. Patches are quite trivial and just add an if (drm_firmware_drivers_only()) check and return -ENODEV if that's true. The condition is checked as early as possible, that is in the module_init handler for drivers that have one or in the probe function for drivers that are using the module_*_driver() macros and don't have their own module init function. I included all the DRM drivers that think makes sense. I only left the vc4 and v3d drivers, that Maxime is already handling in another patch series and the vgem, vkms and simpledrm drivers that should ignore the param IMO. I've built tested with 'make allmodconfig && make M=drivers/gpu/drm/', but only booted in a few devices with and without nomodeset in the cmdline. So testing and reviewing for all the drivers would be highly appreciated. Best regards, Javier Javier Martinez Canillas (60): drm/komeda: Add support for the nomodeset kernel parameter drm/arm/hdlcd: Add support for the nomodeset kernel parameter drm/malidp: Add support for the nomodeset kernel parameter drm/armada: Add support for the nomodeset kernel parameter drm/aspeed: Add support for the nomodeset kernel parameter drm/atmel-hlcdc: Add support for the nomodeset kernel parameter drm/etnaviv: Add support for the nomodeset kernel parameter drm/exynos: Add support for the nomodeset kernel parameter drm/fsl-dcu: Add support for the nomodeset kernel parameter drm/gma500: Add support for the nomodeset kernel parameter drm/gud: Add support for the nomodeset kernel parameter drm/hisilicon/hibmc: Add support for the nomodeset kernel parameter drm/hisilicon/kirin: Add support for the nomodeset kernel parameter drm/hyperv: Add support for the nomodeset kernel parameter drm/i810: Add support for the nomodeset kernel parameter drm/imx/dcss: Add support for the nomodeset kernel parameter drm/imx: Add support for the nomodeset kernel parameter drm/ingenic: Add support for the nomodeset kernel parameter drm/kmb: Add support for the nomodeset kernel parameter drm/lima: Add support for the nomodeset kernel parameter drm/mcde: Add support for the nomodeset kernel parameter drm/mediatek: Add support for the nomodeset kernel parameter drm/meson: Add support for the nomodeset kernel parameter drm/mga: Add support for the nomodeset kernel parameter drm/msm: Add support for the nomodeset kernel parameter drm: mxsfb: Add support for the nomodeset kernel parameter drm/omap: Add support for the nomodeset kernel parameter drm/panel: ilitek-ili9341: Add support for the nomodeset kernel parameter drm/panfrost: Add support for the nomodeset kernel parameter drm/pl111: Add support for the nomodeset kernel parameter drm/r128: Add support for the nomodeset kernel parameter drm: rcar-du: Add support for the nomodeset kernel parameter drm/rockchip: Add support for the nomodeset kernel parameter drm/savage: Add support for the nomodeset kernel parameter drm/shmobile: Add support for the nomodeset kernel parameter drm/sis: Add support for the nomodeset kernel parameter drm/sprd: Add support for the nomodeset kernel parameter drm/sti: Add support for the nomodeset kernel parameter drm/stm: Add support for the nomodeset kernel parameter drm/sun4i: Add support for the nomodeset kernel parameter drm/tdfx: Add support for the nomodeset kernel parameter drm/tegra: Add support for the nomodeset kernel parameter drm/tidss: Add support for the nomodeset kernel parameter drm/tilcdc: Add support for the nomodeset kernel parameter drm/arc: Add support for the nomodeset kernel parameter drm/gm12u320: Add support for the nomodeset kernel parameter drm/hx8357d: Add support for the nomodeset kernel parameter drm/ili9163: Add support for the nomodeset kernel parameter drm/ili9225: Add support for the nomodeset kernel parameter drm/ili9341: Add support for the nomodeset kernel parameter drm/ili9486: Add support for the nomodeset kernel parameter drm/mi0283qt: Add support for the nomodeset kernel parameter drm/repaper: Add support for the nomodeset kernel parameter drm/st7586: Add support for the nomodeset kernel parameter drm/st7735r: Add support for the nomodeset kernel parameter drm/tve200: Add support for the nomodeset kernel parameter drm/udl: Add support for the nomodeset kernel parameter drm/via: Add support for the nomodeset kernel parameter drm/xen: Add support for the nomodeset kernel parameter drm/xlnx: Add support for the nomodeset kernel parameter drivers/gpu/drm/arm/display/komeda/komeda_drv.c | 4 ++++ drivers/gpu/drm/arm/hdlcd_drv.c | 3 +++ drivers/gpu/drm/arm/malidp_drv.c | 3 +++ drivers/gpu/drm/armada/armada_drv.c | 3 +++ drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 3 +++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 3 +++ drivers/gpu/drm/etnaviv/etnaviv_drv.c | 3 +++ drivers/gpu/drm/exynos/exynos_drm_drv.c | 3 +++ drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 3 +++ drivers/gpu/drm/gma500/psb_drv.c | 3 +++ drivers/gpu/drm/gud/gud_drv.c | 3 +++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +++ drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 3 +++ drivers/gpu/drm/hyperv/hyperv_drm_drv.c | 3 +++ drivers/gpu/drm/i810/i810_drv.c | 3 +++ drivers/gpu/drm/imx/dcss/dcss-drv.c | 3 +++ drivers/gpu/drm/imx/imx-drm-core.c | 3 +++ drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 3 +++ drivers/gpu/drm/kmb/kmb_drv.c | 3 +++ drivers/gpu/drm/lima/lima_drv.c | 3 +++ drivers/gpu/drm/mcde/mcde_drv.c | 3 +++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 3 +++ drivers/gpu/drm/meson/meson_drv.c | 3 +++ drivers/gpu/drm/mga/mga_drv.c | 3 +++ drivers/gpu/drm/msm/msm_drv.c | 3 +++ drivers/gpu/drm/mxsfb/mxsfb_drv.c | 3 +++ drivers/gpu/drm/omapdrm/omap_drv.c | 3 +++ drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 3 +++ drivers/gpu/drm/panfrost/panfrost_drv.c | 3 +++ drivers/gpu/drm/pl111/pl111_drv.c | 3 +++ drivers/gpu/drm/r128/r128_drv.c | 3 +++ drivers/gpu/drm/rcar-du/rcar_du_drv.c | 3 +++ drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 3 +++ drivers/gpu/drm/savage/savage_drv.c | 3 +++ drivers/gpu/drm/shmobile/shmob_drm_drv.c | 3 +++ drivers/gpu/drm/sis/sis_drv.c | 3 +++ drivers/gpu/drm/sprd/sprd_drm.c | 3 +++ drivers/gpu/drm/sti/sti_drv.c | 3 +++ drivers/gpu/drm/stm/drv.c | 3 +++ drivers/gpu/drm/sun4i/sun4i_drv.c | 3 +++ drivers/gpu/drm/tdfx/tdfx_drv.c | 3 +++ drivers/gpu/drm/tegra/drm.c | 3 +++ drivers/gpu/drm/tidss/tidss_drv.c | 3 +++ drivers/gpu/drm/tilcdc/tilcdc_drv.c | 3 +++ drivers/gpu/drm/tiny/arcpgu.c | 3 +++ drivers/gpu/drm/tiny/gm12u320.c | 3 +++ drivers/gpu/drm/tiny/hx8357d.c | 3 +++ drivers/gpu/drm/tiny/ili9163.c | 3 +++ drivers/gpu/drm/tiny/ili9225.c | 3 +++ drivers/gpu/drm/tiny/ili9341.c | 3 +++ drivers/gpu/drm/tiny/ili9486.c | 3 +++ drivers/gpu/drm/tiny/mi0283qt.c | 3 +++ drivers/gpu/drm/tiny/repaper.c | 3 +++ drivers/gpu/drm/tiny/st7586.c | 3 +++ drivers/gpu/drm/tiny/st7735r.c | 3 +++ drivers/gpu/drm/tve200/tve200_drv.c | 3 +++ drivers/gpu/drm/udl/udl_drv.c | 3 +++ drivers/gpu/drm/via/via_drv.c | 3 +++ drivers/gpu/drm/xen/xen_drm_front.c | 3 +++ drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 3 +++ 60 files changed, 181 insertions(+) -- 2.33.1