drm: Rationalize DRM_MIPI_DSI inclusion in Kconfig

Submitted by Sean Paul on Aug. 16, 2018, 6:54 p.m.

Details

Message ID 20180816185414.104152-1-sean@poorly.run
State New
Headers show
Series "drm: Rationalize DRM_MIPI_DSI inclusion in Kconfig" ( rev: 1 ) in DRI devel

Not browsing as part of any series.

Commit Message

Sean Paul Aug. 16, 2018, 6:54 p.m.
From: Sean Paul <seanpaul@chromium.org>

DRM_MIPI_DSI is included via both "select" and "depends on", this is
trouble waiting to happen since this will result in different behavior
depending on which is used.

This patch resolves the problem by:
- Converting all inclusion to "select" since DRM_MIPI_DSI is not a menu
  item.
- Remove "depends on DRM" since "select"ing DRM_MIPI_DSI won't include
  DRM anyways, so this is misleading.

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/Kconfig       |  1 -
 drivers/gpu/drm/panel/Kconfig | 22 +++++++++++-----------
 2 files changed, 11 insertions(+), 12 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index cb88528e7b10..197691b10c6b 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -25,7 +25,6 @@  menuconfig DRM
 
 config DRM_MIPI_DSI
 	bool
-	depends on DRM
 
 config DRM_DP_AUX_CHARDEV
 	bool "DRM DP AUX Interface"
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
index 6020c30a33b3..a1e00e9fa566 100644
--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -49,7 +49,7 @@  config DRM_PANEL_ILITEK_IL9322
 config DRM_PANEL_ILITEK_ILI9881C
 	tristate "Ilitek ILI9881C-based panels"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y if you want to enable support for panels based on the
@@ -58,7 +58,7 @@  config DRM_PANEL_ILITEK_ILI9881C
 config DRM_PANEL_INNOLUX_P079ZCA
 	tristate "Innolux P079ZCA panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for Innolux P079ZCA
@@ -69,7 +69,7 @@  config DRM_PANEL_INNOLUX_P079ZCA
 config DRM_PANEL_JDI_LT070ME05000
 	tristate "JDI LT070ME05000 WUXGA DSI panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for JDI DSI video mode
@@ -93,7 +93,7 @@  config DRM_PANEL_LG_LG4573
 config DRM_PANEL_ORISETECH_OTM8009A
 	tristate "Orise Technology otm8009a 480x800 dsi 2dl panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for Orise Technology
@@ -102,7 +102,7 @@  config DRM_PANEL_ORISETECH_OTM8009A
 config DRM_PANEL_PANASONIC_VVX10F034N00
 	tristate "Panasonic VVX10F034N00 1920x1200 video mode panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for Panasonic VVX10F034N00
@@ -111,7 +111,7 @@  config DRM_PANEL_PANASONIC_VVX10F034N00
 
 config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
 	tristate "Raspberry Pi 7-inch touchscreen panel"
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	help
 	  Say Y here if you want to enable support for the Raspberry
 	  Pi 7" Touchscreen.  To compile this driver as a module,
@@ -120,7 +120,7 @@  config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
 config DRM_PANEL_RAYDIUM_RM68200
 	tristate "Raydium RM68200 720x1280 DSI video mode panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for Raydium RM68200
@@ -129,14 +129,14 @@  config DRM_PANEL_RAYDIUM_RM68200
 config DRM_PANEL_SAMSUNG_S6E3HA2
 	tristate "Samsung S6E3HA2 DSI video mode panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	select VIDEOMODE_HELPERS
 
 config DRM_PANEL_SAMSUNG_S6E63J0X03
 	tristate "Samsung S6E63J0X03 DSI command mode panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	select VIDEOMODE_HELPERS
 
@@ -158,7 +158,7 @@  config DRM_PANEL_SEIKO_43WVF1G
 config DRM_PANEL_SHARP_LQ101R1SX01
 	tristate "Sharp LQ101R1SX01 panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for Sharp LQ101R1SX01
@@ -172,7 +172,7 @@  config DRM_PANEL_SHARP_LQ101R1SX01
 config DRM_PANEL_SHARP_LS043T1LE01
 	tristate "Sharp LS043T1LE01 qHD video mode panel"
 	depends on OF
-	depends on DRM_MIPI_DSI
+	select DRM_MIPI_DSI
 	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for Sharp LS043T1LE01 qHD

Comments

On Thu, Aug 16, 2018 at 02:54:14PM -0400, Sean Paul wrote:
> From: Sean Paul <seanpaul@chromium.org>
> 
> DRM_MIPI_DSI is included via both "select" and "depends on", this is
> trouble waiting to happen since this will result in different behavior
> depending on which is used.
> 
> This patch resolves the problem by:
> - Converting all inclusion to "select" since DRM_MIPI_DSI is not a menu
>   item.
> - Remove "depends on DRM" since "select"ing DRM_MIPI_DSI won't include
>   DRM anyways, so this is misleading.
> 
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Suggested-by: Daniel Vetter <daniel@ffwll.ch>
> Signed-off-by: Sean Paul <seanpaul@chromium.org>
> ---
>  drivers/gpu/drm/Kconfig       |  1 -
>  drivers/gpu/drm/panel/Kconfig | 22 +++++++++++-----------
>  2 files changed, 11 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index cb88528e7b10..197691b10c6b 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -25,7 +25,6 @@ menuconfig DRM
>  
>  config DRM_MIPI_DSI
>  	bool
> -	depends on DRM

Since DRM_MIPI_DSI is a hidden symbol this should be ok. Personally I
think just throwing this out would be better, pretty much all other
helpers we have aren't optional (beyond the overall helper knob, maybe
also doesn't make sense - every driver needs it anyway).

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

But Jani's ack here is worth more for sure on this topic :-)
-Daniel


>  
>  config DRM_DP_AUX_CHARDEV
>  	bool "DRM DP AUX Interface"
> diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
> index 6020c30a33b3..a1e00e9fa566 100644
> --- a/drivers/gpu/drm/panel/Kconfig
> +++ b/drivers/gpu/drm/panel/Kconfig
> @@ -49,7 +49,7 @@ config DRM_PANEL_ILITEK_IL9322
>  config DRM_PANEL_ILITEK_ILI9881C
>  	tristate "Ilitek ILI9881C-based panels"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y if you want to enable support for panels based on the
> @@ -58,7 +58,7 @@ config DRM_PANEL_ILITEK_ILI9881C
>  config DRM_PANEL_INNOLUX_P079ZCA
>  	tristate "Innolux P079ZCA panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Innolux P079ZCA
> @@ -69,7 +69,7 @@ config DRM_PANEL_INNOLUX_P079ZCA
>  config DRM_PANEL_JDI_LT070ME05000
>  	tristate "JDI LT070ME05000 WUXGA DSI panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for JDI DSI video mode
> @@ -93,7 +93,7 @@ config DRM_PANEL_LG_LG4573
>  config DRM_PANEL_ORISETECH_OTM8009A
>  	tristate "Orise Technology otm8009a 480x800 dsi 2dl panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Orise Technology
> @@ -102,7 +102,7 @@ config DRM_PANEL_ORISETECH_OTM8009A
>  config DRM_PANEL_PANASONIC_VVX10F034N00
>  	tristate "Panasonic VVX10F034N00 1920x1200 video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Panasonic VVX10F034N00
> @@ -111,7 +111,7 @@ config DRM_PANEL_PANASONIC_VVX10F034N00
>  
>  config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
>  	tristate "Raspberry Pi 7-inch touchscreen panel"
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	help
>  	  Say Y here if you want to enable support for the Raspberry
>  	  Pi 7" Touchscreen.  To compile this driver as a module,
> @@ -120,7 +120,7 @@ config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
>  config DRM_PANEL_RAYDIUM_RM68200
>  	tristate "Raydium RM68200 720x1280 DSI video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Raydium RM68200
> @@ -129,14 +129,14 @@ config DRM_PANEL_RAYDIUM_RM68200
>  config DRM_PANEL_SAMSUNG_S6E3HA2
>  	tristate "Samsung S6E3HA2 DSI video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	select VIDEOMODE_HELPERS
>  
>  config DRM_PANEL_SAMSUNG_S6E63J0X03
>  	tristate "Samsung S6E63J0X03 DSI command mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	select VIDEOMODE_HELPERS
>  
> @@ -158,7 +158,7 @@ config DRM_PANEL_SEIKO_43WVF1G
>  config DRM_PANEL_SHARP_LQ101R1SX01
>  	tristate "Sharp LQ101R1SX01 panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Sharp LQ101R1SX01
> @@ -172,7 +172,7 @@ config DRM_PANEL_SHARP_LQ101R1SX01
>  config DRM_PANEL_SHARP_LS043T1LE01
>  	tristate "Sharp LS043T1LE01 qHD video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Sharp LS043T1LE01 qHD
> -- 
> Sean Paul, Software Engineer, Google / Chromium OS
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Thu, 16 Aug 2018, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Aug 16, 2018 at 02:54:14PM -0400, Sean Paul wrote:
>> From: Sean Paul <seanpaul@chromium.org>
>> 
>> DRM_MIPI_DSI is included via both "select" and "depends on", this is
>> trouble waiting to happen since this will result in different behavior
>> depending on which is used.
>> 
>> This patch resolves the problem by:
>> - Converting all inclusion to "select" since DRM_MIPI_DSI is not a menu
>>   item.
>> - Remove "depends on DRM" since "select"ing DRM_MIPI_DSI won't include
>>   DRM anyways, so this is misleading.
>> 
>> Cc: Jani Nikula <jani.nikula@intel.com>
>> Cc: Thierry Reding <thierry.reding@gmail.com>
>> Suggested-by: Daniel Vetter <daniel@ffwll.ch>
>> Signed-off-by: Sean Paul <seanpaul@chromium.org>
>> ---
>>  drivers/gpu/drm/Kconfig       |  1 -
>>  drivers/gpu/drm/panel/Kconfig | 22 +++++++++++-----------
>>  2 files changed, 11 insertions(+), 12 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>> index cb88528e7b10..197691b10c6b 100644
>> --- a/drivers/gpu/drm/Kconfig
>> +++ b/drivers/gpu/drm/Kconfig
>> @@ -25,7 +25,6 @@ menuconfig DRM
>>  
>>  config DRM_MIPI_DSI
>>  	bool
>> -	depends on DRM
>
> Since DRM_MIPI_DSI is a hidden symbol this should be ok. Personally I
> think just throwing this out would be better, pretty much all other
> helpers we have aren't optional (beyond the overall helper knob, maybe
> also doesn't make sense - every driver needs it anyway).
>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> But Jani's ack here is worth more for sure on this topic :-)

Haven't had my morning coffee yet, but looks good.

Acked-by: Jani Nikula <jani.nikula@intel.com>

> -Daniel
>
>
>>  
>>  config DRM_DP_AUX_CHARDEV
>>  	bool "DRM DP AUX Interface"
>> diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
>> index 6020c30a33b3..a1e00e9fa566 100644
>> --- a/drivers/gpu/drm/panel/Kconfig
>> +++ b/drivers/gpu/drm/panel/Kconfig
>> @@ -49,7 +49,7 @@ config DRM_PANEL_ILITEK_IL9322
>>  config DRM_PANEL_ILITEK_ILI9881C
>>  	tristate "Ilitek ILI9881C-based panels"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y if you want to enable support for panels based on the
>> @@ -58,7 +58,7 @@ config DRM_PANEL_ILITEK_ILI9881C
>>  config DRM_PANEL_INNOLUX_P079ZCA
>>  	tristate "Innolux P079ZCA panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y here if you want to enable support for Innolux P079ZCA
>> @@ -69,7 +69,7 @@ config DRM_PANEL_INNOLUX_P079ZCA
>>  config DRM_PANEL_JDI_LT070ME05000
>>  	tristate "JDI LT070ME05000 WUXGA DSI panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y here if you want to enable support for JDI DSI video mode
>> @@ -93,7 +93,7 @@ config DRM_PANEL_LG_LG4573
>>  config DRM_PANEL_ORISETECH_OTM8009A
>>  	tristate "Orise Technology otm8009a 480x800 dsi 2dl panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y here if you want to enable support for Orise Technology
>> @@ -102,7 +102,7 @@ config DRM_PANEL_ORISETECH_OTM8009A
>>  config DRM_PANEL_PANASONIC_VVX10F034N00
>>  	tristate "Panasonic VVX10F034N00 1920x1200 video mode panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y here if you want to enable support for Panasonic VVX10F034N00
>> @@ -111,7 +111,7 @@ config DRM_PANEL_PANASONIC_VVX10F034N00
>>  
>>  config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
>>  	tristate "Raspberry Pi 7-inch touchscreen panel"
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	help
>>  	  Say Y here if you want to enable support for the Raspberry
>>  	  Pi 7" Touchscreen.  To compile this driver as a module,
>> @@ -120,7 +120,7 @@ config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
>>  config DRM_PANEL_RAYDIUM_RM68200
>>  	tristate "Raydium RM68200 720x1280 DSI video mode panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y here if you want to enable support for Raydium RM68200
>> @@ -129,14 +129,14 @@ config DRM_PANEL_RAYDIUM_RM68200
>>  config DRM_PANEL_SAMSUNG_S6E3HA2
>>  	tristate "Samsung S6E3HA2 DSI video mode panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	select VIDEOMODE_HELPERS
>>  
>>  config DRM_PANEL_SAMSUNG_S6E63J0X03
>>  	tristate "Samsung S6E63J0X03 DSI command mode panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	select VIDEOMODE_HELPERS
>>  
>> @@ -158,7 +158,7 @@ config DRM_PANEL_SEIKO_43WVF1G
>>  config DRM_PANEL_SHARP_LQ101R1SX01
>>  	tristate "Sharp LQ101R1SX01 panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y here if you want to enable support for Sharp LQ101R1SX01
>> @@ -172,7 +172,7 @@ config DRM_PANEL_SHARP_LQ101R1SX01
>>  config DRM_PANEL_SHARP_LS043T1LE01
>>  	tristate "Sharp LS043T1LE01 qHD video mode panel"
>>  	depends on OF
>> -	depends on DRM_MIPI_DSI
>> +	select DRM_MIPI_DSI
>>  	depends on BACKLIGHT_CLASS_DEVICE
>>  	help
>>  	  Say Y here if you want to enable support for Sharp LS043T1LE01 qHD
>> -- 
>> Sean Paul, Software Engineer, Google / Chromium OS
>> 
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Thu, Aug 16, 2018 at 02:54:14PM -0400, Sean Paul wrote:
> From: Sean Paul <seanpaul@chromium.org>
> 
> DRM_MIPI_DSI is included via both "select" and "depends on", this is
> trouble waiting to happen since this will result in different behavior
> depending on which is used.
> 
> This patch resolves the problem by:
> - Converting all inclusion to "select" since DRM_MIPI_DSI is not a menu
>   item.
> - Remove "depends on DRM" since "select"ing DRM_MIPI_DSI won't include
>   DRM anyways, so this is misleading.

The reason behind the decision to have both select and depends on for
this was, if I recall correctly, so that a driver would select the
symbol if it implemented (i.e. "provided") a DSI controller and panel
drivers (or bridge drivers for that matter) would depend on the symbol
to specify that they want to "consume" a DSI controller. That way the
DSI panels and bridges can't be selected unless there is a driver that
provides a DSI controller. If there's no driver that provides a DSI
controller, there's no use in enabling any panels that need one.

Granted, in retrospect this seems somewhat over-engineered, but the
reason why it works is because thy symbol is not user-visible. That's
one of the, I think even documented, use-cases where it is safe to use
both select and depends.

That said, I'm fine with simplifying this, but if we do, I would prefer
going all the way and just removing the symbol entirely. It's not like
it is a lot of extra infrastructure, at least compared to the rest of
the helpers that we already pull in. There are also quite a few drivers
that support DSI now, so I think there's more justification for
unconditional inclusion than there used to be.

Thierry
On 16.08.2018 20:54, Sean Paul wrote:
> From: Sean Paul <seanpaul@chromium.org>
>
> DRM_MIPI_DSI is included via both "select" and "depends on", this is
> trouble waiting to happen since this will result in different behavior
> depending on which is used.

As Thierry said 'select' is for DSI controllers, 'depends on' for DSI
devices, why is it problematic?
What kind of troubles do you expect?

>
> This patch resolves the problem by:
> - Converting all inclusion to "select" since DRM_MIPI_DSI is not a menu
>   item.
> - Remove "depends on DRM" since "select"ing DRM_MIPI_DSI won't include
>   DRM anyways, so this is misleading.

I suppose "depends on DRM" should mean the code enabled by symbol DRM_MIPI_DSI uses code enabled by symbol DRM, ie maybe removal of this symbol is OK (if dsi framework does not depends on DRM), but the reason is incorrect IMHO.

Regards
Andrzej


>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Suggested-by: Daniel Vetter <daniel@ffwll.ch>
> Signed-off-by: Sean Paul <seanpaul@chromium.org>
> ---
>  drivers/gpu/drm/Kconfig       |  1 -
>  drivers/gpu/drm/panel/Kconfig | 22 +++++++++++-----------
>  2 files changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index cb88528e7b10..197691b10c6b 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -25,7 +25,6 @@ menuconfig DRM
>  
>  config DRM_MIPI_DSI
>  	bool
> -	depends on DRM
>  
>  config DRM_DP_AUX_CHARDEV
>  	bool "DRM DP AUX Interface"
> diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
> index 6020c30a33b3..a1e00e9fa566 100644
> --- a/drivers/gpu/drm/panel/Kconfig
> +++ b/drivers/gpu/drm/panel/Kconfig
> @@ -49,7 +49,7 @@ config DRM_PANEL_ILITEK_IL9322
>  config DRM_PANEL_ILITEK_ILI9881C
>  	tristate "Ilitek ILI9881C-based panels"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y if you want to enable support for panels based on the
> @@ -58,7 +58,7 @@ config DRM_PANEL_ILITEK_ILI9881C
>  config DRM_PANEL_INNOLUX_P079ZCA
>  	tristate "Innolux P079ZCA panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Innolux P079ZCA
> @@ -69,7 +69,7 @@ config DRM_PANEL_INNOLUX_P079ZCA
>  config DRM_PANEL_JDI_LT070ME05000
>  	tristate "JDI LT070ME05000 WUXGA DSI panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for JDI DSI video mode
> @@ -93,7 +93,7 @@ config DRM_PANEL_LG_LG4573
>  config DRM_PANEL_ORISETECH_OTM8009A
>  	tristate "Orise Technology otm8009a 480x800 dsi 2dl panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Orise Technology
> @@ -102,7 +102,7 @@ config DRM_PANEL_ORISETECH_OTM8009A
>  config DRM_PANEL_PANASONIC_VVX10F034N00
>  	tristate "Panasonic VVX10F034N00 1920x1200 video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Panasonic VVX10F034N00
> @@ -111,7 +111,7 @@ config DRM_PANEL_PANASONIC_VVX10F034N00
>  
>  config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
>  	tristate "Raspberry Pi 7-inch touchscreen panel"
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	help
>  	  Say Y here if you want to enable support for the Raspberry
>  	  Pi 7" Touchscreen.  To compile this driver as a module,
> @@ -120,7 +120,7 @@ config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
>  config DRM_PANEL_RAYDIUM_RM68200
>  	tristate "Raydium RM68200 720x1280 DSI video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Raydium RM68200
> @@ -129,14 +129,14 @@ config DRM_PANEL_RAYDIUM_RM68200
>  config DRM_PANEL_SAMSUNG_S6E3HA2
>  	tristate "Samsung S6E3HA2 DSI video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	select VIDEOMODE_HELPERS
>  
>  config DRM_PANEL_SAMSUNG_S6E63J0X03
>  	tristate "Samsung S6E63J0X03 DSI command mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	select VIDEOMODE_HELPERS
>  
> @@ -158,7 +158,7 @@ config DRM_PANEL_SEIKO_43WVF1G
>  config DRM_PANEL_SHARP_LQ101R1SX01
>  	tristate "Sharp LQ101R1SX01 panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Sharp LQ101R1SX01
> @@ -172,7 +172,7 @@ config DRM_PANEL_SHARP_LQ101R1SX01
>  config DRM_PANEL_SHARP_LS043T1LE01
>  	tristate "Sharp LS043T1LE01 qHD video mode panel"
>  	depends on OF
> -	depends on DRM_MIPI_DSI
> +	select DRM_MIPI_DSI
>  	depends on BACKLIGHT_CLASS_DEVICE
>  	help
>  	  Say Y here if you want to enable support for Sharp LS043T1LE01 qHD