drm/tinydrm/Kconfig: drivers: Select BACKLIGHT_CLASS_DEVICE
The mipi_dbi helper is missing a dependency on DRM_KMS_HELPER and putting that in revealed this problem: drivers/video/fbdev/Kconfig:12:error: recursive dependency detected! drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:75: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:69: symbol DRM_KMS_HELPER is selected by TINYDRM_MIPI_DBI drivers/gpu/drm/tinydrm/Kconfig:11: symbol TINYDRM_MIPI_DBI is selected by TINYDRM_HX8357D drivers/gpu/drm/tinydrm/Kconfig:15: symbol TINYDRM_HX8357D depends on BACKLIGHT_CLASS_DEVICE drivers/video/backlight/Kconfig:144: symbol BACKLIGHT_CLASS_DEVICE is selected by FB_BACKLIGHT drivers/video/fbdev/Kconfig:187: symbol FB_BACKLIGHT depends on FB A symbol that selects DRM_KMS_HELPER can not depend on BACKLIGHT_CLASS_DEVICE. The reason for this is that DRM_KMS_FB_HELPER selects FB instead of depending on it. The tinydrm drivers have somehow gotten away with depending on BACKLIGHT_CLASS_DEVICE because DRM_TINYDRM selects DRM_KMS_HELPER and the drivers depend on that symbol. An audit shows that all DRM drivers that select DRM_KMS_HELPER and use BACKLIGHT_CLASS_DEVICE, selects it: DRM_TILCDC, DRM_GMA500, DRM_SHMOBILE, DRM_NOUVEAU, DRM_FSL_DCU, DRM_I915, DRM_RADEON, DRM_AMDGPU, DRM_PARADE_PS8622 Documentation/kbuild/kconfig-language.txt has a note regarding select: 1. 'select should be used with care since it doesn't visit dependencies.' This is not a problem since BACKLIGHT_CLASS_DEVICE doesn't have any dependencies. 2. 'In general use select only for non-visible symbols' BACKLIGHT_CLASS_DEVICE is user visible. The real solution to this would be to have DRM_KMS_FB_HELPER depend on the user visible symbol FB. That is a can of worms I'm not willing to tackle. I fear that such a change will result in me handling difficult fallouts for the next weeks. So I'm following DRM suite here. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: David Lechner <david@lechnology.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190722104312.16184-7-noralf@tronnes.org
This commit is contained in:
parent
7c9f1312cf
commit
3389669ac5
@ -14,8 +14,8 @@ config TINYDRM_MIPI_DBI
|
||||
config TINYDRM_HX8357D
|
||||
tristate "DRM support for HX8357D display panels"
|
||||
depends on DRM_TINYDRM && SPI
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
select TINYDRM_MIPI_DBI
|
||||
select BACKLIGHT_CLASS_DEVICE
|
||||
help
|
||||
DRM driver for the following HX8357D panels:
|
||||
* YX350HV15-T 3.5" 340x350 TFT (Adafruit 3.5")
|
||||
@ -35,8 +35,8 @@ config TINYDRM_ILI9225
|
||||
config TINYDRM_ILI9341
|
||||
tristate "DRM support for ILI9341 display panels"
|
||||
depends on DRM_TINYDRM && SPI
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
select TINYDRM_MIPI_DBI
|
||||
select BACKLIGHT_CLASS_DEVICE
|
||||
help
|
||||
DRM driver for the following Ilitek ILI9341 panels:
|
||||
* YX240QV29-T 2.4" 240x320 TFT (Adafruit 2.4")
|
||||
@ -46,8 +46,8 @@ config TINYDRM_ILI9341
|
||||
config TINYDRM_MI0283QT
|
||||
tristate "DRM support for MI0283QT"
|
||||
depends on DRM_TINYDRM && SPI
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
select TINYDRM_MIPI_DBI
|
||||
select BACKLIGHT_CLASS_DEVICE
|
||||
help
|
||||
DRM driver for the Multi-Inno MI0283QT display panel
|
||||
If M is selected the module will be called mi0283qt.
|
||||
@ -78,8 +78,8 @@ config TINYDRM_ST7586
|
||||
config TINYDRM_ST7735R
|
||||
tristate "DRM support for Sitronix ST7735R display panels"
|
||||
depends on DRM_TINYDRM && SPI
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
select TINYDRM_MIPI_DBI
|
||||
select BACKLIGHT_CLASS_DEVICE
|
||||
help
|
||||
DRM driver Sitronix ST7735R with one of the following LCDs:
|
||||
* JD-T18003-T01 1.8" 128x160 TFT
|
||||
|
Loading…
Reference in New Issue
Block a user