All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/37] drm: Make drivers to honour the nomodeset parameter
@ 2021-12-17  0:37 ` Javier Martinez Canillas
  0 siblings, 0 replies; 87+ messages in thread
From: Javier Martinez Canillas @ 2021-12-17  0:37 UTC (permalink / raw)
  To: linux-kernel, dri-devel
  Cc: Javier Martinez Canillas, Heiko Stübner, James (Qian) Wang,
	Alexey Brodkin, Alison Wang, Anitha Chrisanthus, Boris Brezillon,
	Brian Starkey, Chen-Yu Tsai, Chun-Kuang Hu, Deepak Rawat,
	Edmund Dea, Hyun Kwon, Inki Dae, Joel Stanley, Joonyoung Shim,
	Jyri Sarha, Kieran Bingham, Laurent Pinchart, Laurentiu Palcu,
	Linus Walleij, Liviu Dudau, Lucas Stach, Marek Vasut,
	Maxime Ripard, Neil Armstrong, Oleksandr Andrushchenko,
	Patrik Jakobsson, Paul Cercueil, Philipp Zabel, Philippe Cornu,
	Rob Clark, Russell King, Sam Ravnborg, Sandy Huang, Sean Paul,
	Stefan Agner, Thierry Reding, Thomas Zimmermann, Tian Tao,
	Tomi Valkeinen, Xinliang Liu, Yannick Fertre

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 and most DRM drivers just ignore it.

This patch series is a v2 to make DRM drivers to honour nomodeset. It is
posted as separate patches to make easier for drivers maintainers to ack
or pick them independently at their own pace.

The drm_module_{pci,platform}_driver() helper macros are added, which are
just wrappers around module_{pci,platform}_driver() but adding a check for
drm_firmware_drivers_only() and returning -ENODEV if that is true.

PCI and platform DRM drivers are then modified in the following patches to
make use of those macros.

For drivers that have custom module init/exit, the check is added to these
functions instead. Since the drm_*_module_driver() macros are only for the
default case when the init/exit just register/unregister the driver type.

In v1 all KMS/DRM drivers were included but v2 only includes KMS drivers,
and only the the PCI and platform DRM drivers. A follow-up series might
do the same for rendering-only and USB/SPI/I2C drivers, but it will need
more discussion to agree if that's desirable.

I've built tested with 'make allmodconfig && make M=drivers/gpu/drm' but I
don't have hardware to test the drivers, so review/testing is appreciated.

Best regards,
Javier

Changes in v2:
- Add drm_module_{pci,platform}_driver() macros and put the check there
  (Thomas Zimmermann).
- Use the drm_module_*_driver() macros if possible (Thomas Zimmermann).
- Leave the DRM drivers that don't set the DRIVER_MODESET driver feature
  (Lucas Stach).
- Leave USB/SPI/I2C drivers and only include PCI and platform ones
  (Noralf Trønnes).
- Add collected Reviewed-by tags

Javier Martinez Canillas (37):
  drm: Add drm_module_{pci,platform}_driver() helper macros
  drm/hisilicon/hibmc: Use drm_module_pci_driver() to register the
    driver
  drm/komeda: Use drm_module_platform_driver() to register the driver
  drm/arm/hdlcd: Use drm_module_platform_driver() to register the driver
  drm/malidp: Use drm_module_platform_driver() to register the driver
  drm/aspeed: Use drm_module_platform_driver() to register the driver
  drm/atmel-hlcdc: Use drm_module_platform_driver() to register the
    driver
  drm/fsl-dcu: Use drm_module_platform_driver() to register the driver
  drm/hisilicon/kirin: Use drm_module_platform_driver() to register the
    driver
  drm/imx/dcss: Use drm_module_platform_driver() to register the driver
  drm/kmb: Use drm_module_platform_driver() to register the driver
  drm/meson: Use drm_module_platform_driver() to register the driver
  drm: mxsfb: Use drm_module_platform_driver() to register the driver
  drm/shmobile: Use drm_module_platform_driver() to register the driver
  drm/stm: Use drm_module_platform_driver() to register the driver
  drm/sun4i: Use drm_module_platform_driver() to register the driver
  drm/tidss: Use drm_module_platform_driver() to register the driver
  drm/arc: Use drm_module_platform_driver() to register the driver
  drm/tve200: Use drm_module_platform_driver() to register the driver
  drm/xlnx: Use drm_module_platform_driver() to register the driver
  drm/armada: Add support for the nomodeset kernel parameter
  drm/exynos: Add support for the nomodeset kernel parameter
  drm/gma500: Add support for the nomodeset kernel parameter
  drm/hyperv: 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/mcde: Add support for the nomodeset kernel parameter
  drm/mediatek: Add support for the nomodeset kernel parameter
  drm/msm: Add support for the nomodeset kernel parameter
  drm/omap: 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/sprd: Add support for the nomodeset kernel parameter
  drm/sti: Add support for the nomodeset kernel parameter
  drm/tegra: Add support for the nomodeset kernel parameter
  drm/tilcdc: Add support for the nomodeset kernel parameter
  drm/xen: Add support for the nomodeset kernel parameter

 .../gpu/drm/arm/display/komeda/komeda_drv.c   |  3 +-
 drivers/gpu/drm/arm/hdlcd_drv.c               |  2 +-
 drivers/gpu/drm/arm/malidp_drv.c              |  2 +-
 drivers/gpu/drm/armada/armada_drv.c           |  3 ++
 drivers/gpu/drm/aspeed/aspeed_gfx_drv.c       |  2 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c  |  2 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.c       |  3 ++
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c     |  2 +-
 drivers/gpu/drm/gma500/psb_drv.c              |  3 ++
 .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c   |  2 +-
 .../gpu/drm/hisilicon/kirin/kirin_drm_drv.c   |  2 +-
 drivers/gpu/drm/hyperv/hyperv_drm_drv.c       |  3 ++
 drivers/gpu/drm/imx/dcss/dcss-drv.c           |  2 +-
 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                 |  2 +-
 drivers/gpu/drm/mcde/mcde_drv.c               |  3 ++
 drivers/gpu/drm/mediatek/mtk_drm_drv.c        |  3 ++
 drivers/gpu/drm/meson/meson_drv.c             |  2 +-
 drivers/gpu/drm/msm/msm_drv.c                 |  3 ++
 drivers/gpu/drm/mxsfb/mxsfb_drv.c             |  2 +-
 drivers/gpu/drm/omapdrm/omap_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/shmobile/shmob_drm_drv.c      |  2 +-
 drivers/gpu/drm/sprd/sprd_drm.c               |  3 ++
 drivers/gpu/drm/sti/sti_drv.c                 |  3 ++
 drivers/gpu/drm/stm/drv.c                     |  2 +-
 drivers/gpu/drm/sun4i/sun4i_drv.c             |  2 +-
 drivers/gpu/drm/tegra/drm.c                   |  3 ++
 drivers/gpu/drm/tidss/tidss_drv.c             |  2 +-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c           |  3 ++
 drivers/gpu/drm/tiny/arcpgu.c                 |  2 +-
 drivers/gpu/drm/tve200/tve200_drv.c           |  2 +-
 drivers/gpu/drm/xen/xen_drm_front.c           |  3 ++
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c           |  2 +-
 include/drm/drm_drv.h                         | 50 +++++++++++++++++++
 37 files changed, 121 insertions(+), 19 deletions(-)

-- 
2.33.1


^ permalink raw reply	[flat|nested] 87+ messages in thread

end of thread, other threads:[~2022-01-28 11:53 UTC | newest]

Thread overview: 87+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-17  0:37 [PATCH v2 00/37] drm: Make drivers to honour the nomodeset parameter Javier Martinez Canillas
2021-12-17  0:37 ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 01/37] drm: Add drm_module_{pci,platform}_driver() helper macros Javier Martinez Canillas
2021-12-17  0:37   ` [PATCH v2 01/37] drm: Add drm_module_{pci, platform}_driver() " Javier Martinez Canillas
2021-12-17 14:31   ` [PATCH v2 01/37] drm: Add drm_module_{pci,platform}_driver() " Thomas Zimmermann
2021-12-17  0:37 ` [PATCH v2 02/37] drm/hisilicon/hibmc: Use drm_module_pci_driver() to register the driver Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 03/37] drm/komeda: Use drm_module_platform_driver() " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 04/37] drm/arm/hdlcd: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 05/37] drm/malidp: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 06/37] drm/aspeed: " Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 07/37] drm/atmel-hlcdc: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 08/37] drm/fsl-dcu: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 09/37] drm/hisilicon/kirin: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 10/37] drm/imx/dcss: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17 15:58   ` kernel test robot
2021-12-17 15:58     ` kernel test robot
2021-12-17 15:58     ` kernel test robot
2021-12-17  0:37 ` [PATCH v2 11/37] drm/kmb: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 12/37] drm/meson: " Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 13/37] drm: mxsfb: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 14/37] drm/shmobile: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 15/37] drm/stm: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 16/37] drm/sun4i: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 17/37] drm/tidss: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 18/37] drm/arc: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 19/37] drm/tve200: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 20/37] drm/xlnx: " Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 21/37] drm/armada: Add support for the nomodeset kernel parameter Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 22/37] drm/exynos: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 23/37] drm/gma500: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 24/37] drm/hyperv: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-20 17:10   ` Deepak Rawat
2021-12-17  0:37 ` [PATCH v2 25/37] drm/imx: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 26/37] drm/ingenic: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 27/37] drm/mcde: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 28/37] drm/mediatek: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 29/37] drm/msm: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 30/37] drm/omap: " Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 31/37] drm: rcar-du: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2022-01-28  9:13   ` Kieran Bingham
2022-01-28  9:33     ` Thomas Zimmermann
2022-01-28 10:34       ` Laurent Pinchart
2022-01-28 10:46         ` Thomas Zimmermann
2022-01-28 11:04           ` Laurent Pinchart
2022-01-28 11:26             ` Thomas Zimmermann
2022-01-28 11:36               ` Laurent Pinchart
2022-01-28 11:53                 ` Thomas Zimmermann
2022-01-28 11:09           ` Javier Martinez Canillas
2022-01-28 11:09             ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 32/37] drm/rockchip: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 33/37] drm/sprd: " Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 34/37] drm/sti: " Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 35/37] drm/tegra: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17  0:37 ` [PATCH v2 36/37] drm/tilcdc: " Javier Martinez Canillas
2021-12-17  0:37   ` Javier Martinez Canillas
2021-12-17 13:30   ` Jyri Sarha
2021-12-17 13:30     ` Jyri Sarha
2021-12-17  0:37 ` [PATCH v2 37/37] drm/xen: " Javier Martinez Canillas
2022-01-27 18:29 ` [PATCH v2 00/37] drm: Make drivers to honour the nomodeset parameter Javier Martinez Canillas
2022-01-27 18:29   ` Javier Martinez Canillas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.