mbox series

[0/2] video/fbdev: Support 'nomodeset' in PCI drivers

Message ID 20221107104916.18733-1-tzimmermann@suse.de
Headers show
Series video/fbdev: Support 'nomodeset' in PCI drivers | expand

Message

Thomas Zimmermann Nov. 7, 2022, 10:49 a.m. UTC
Add support for the kernel's 'nomodeset' parameter to PCI-based
fbdev drivers. The option prevents DRM drivers from loading if they
could possibly displace a hardware-agnostic driver that runs on the
firmware framebuffer. It is a fallback for systems on which the
hardware's native driver does not work correctly.

After the work on the aperture helpers and their integration with
fbdev, it can happen that an fbdev driver replaces a hardware-
agnostic DRM driver. Supporting the nomodeset parameter unifies
the behavior among the graphics drivers and subsystems. An fbdev
driver will not replace any hardware-agnostic driver with nomodeset
given.

Thomas Zimmermann (2):
  drm: Move nomodeset kernel parameter to drivers/video
  fbdev: Add support for the nomodeset kernel parameter

 .../admin-guide/kernel-parameters.txt         |  2 +-
 MAINTAINERS                                   |  2 +
 drivers/gpu/drm/Kconfig                       |  7 +---
 drivers/gpu/drm/Makefile                      |  1 -
 drivers/staging/sm750fb/Kconfig               |  1 +
 drivers/staging/sm750fb/sm750.c               |  4 ++
 drivers/video/Kconfig                         |  4 ++
 drivers/video/Makefile                        |  1 +
 drivers/video/fbdev/Kconfig                   | 37 +++++++++++++++++++
 drivers/video/fbdev/arkfb.c                   |  6 +++
 drivers/video/fbdev/asiliantfb.c              |  5 +++
 drivers/video/fbdev/aty/aty128fb.c            |  6 +++
 drivers/video/fbdev/aty/atyfb_base.c          |  6 +++
 drivers/video/fbdev/aty/radeon_base.c         |  6 +++
 drivers/video/fbdev/carminefb.c               |  5 +++
 drivers/video/fbdev/chipsfb.c                 |  5 +++
 drivers/video/fbdev/cirrusfb.c                |  6 +++
 drivers/video/fbdev/cyber2000fb.c             |  6 +++
 drivers/video/fbdev/geode/Kconfig             |  3 ++
 drivers/video/fbdev/geode/gx1fb_core.c        |  7 ++++
 drivers/video/fbdev/geode/gxfb_core.c         |  7 ++++
 drivers/video/fbdev/geode/lxfb_core.c         |  7 ++++
 drivers/video/fbdev/gxt4500.c                 |  5 +++
 drivers/video/fbdev/hyperv_fb.c               |  5 +++
 drivers/video/fbdev/i740fb.c                  |  6 +++
 drivers/video/fbdev/i810/i810_main.c          |  8 ++++
 drivers/video/fbdev/imsttfb.c                 |  7 ++++
 drivers/video/fbdev/intelfb/intelfbdrv.c      |  5 +++
 drivers/video/fbdev/kyro/fbdev.c              |  6 +++
 drivers/video/fbdev/matrox/matroxfb_base.c    |  5 +++
 drivers/video/fbdev/mb862xx/mb862xxfbdrv.c    |  5 +++
 drivers/video/fbdev/neofb.c                   |  6 +++
 drivers/video/fbdev/nvidia/nvidia.c           |  7 ++++
 drivers/video/fbdev/pm2fb.c                   |  6 +++
 drivers/video/fbdev/pm3fb.c                   |  6 +++
 drivers/video/fbdev/pvr2fb.c                  |  7 ++++
 drivers/video/fbdev/riva/fbdev.c              |  7 ++++
 drivers/video/fbdev/s3fb.c                    |  6 +++
 drivers/video/fbdev/savage/savagefb_driver.c  |  5 +++
 drivers/video/fbdev/sis/sis_main.c            |  7 ++++
 drivers/video/fbdev/skeletonfb.c              |  7 ++++
 drivers/video/fbdev/sm712fb.c                 |  5 +++
 drivers/video/fbdev/sstfb.c                   |  4 ++
 drivers/video/fbdev/sunxvr2500.c              |  5 +++
 drivers/video/fbdev/sunxvr500.c               |  5 +++
 drivers/video/fbdev/tdfxfb.c                  |  6 +++
 drivers/video/fbdev/tgafb.c                   |  6 +++
 drivers/video/fbdev/tridentfb.c               |  6 +++
 drivers/video/fbdev/vermilion/vermilion.c     |  7 ++++
 drivers/video/fbdev/via/via-core.c            |  5 +++
 drivers/video/fbdev/vt8623fb.c                |  6 +++
 .../drm/drm_nomodeset.c => video/nomodeset.c} | 12 +++---
 include/drm/drm_drv.h                         |  8 +++-
 include/video/nomodeset.h                     |  8 ++++
 54 files changed, 319 insertions(+), 14 deletions(-)
 rename drivers/{gpu/drm/drm_nomodeset.c => video/nomodeset.c} (63%)
 create mode 100644 include/video/nomodeset.h


base-commit: 3aa97a74d622aa26fe79cf4bd819b6a4fd176e90