Re: [PATCH]"drm: change DRM_MIPI_DSI module type from "bool" to "tristate".
From: Andrzej Hajda
Date: Thu Oct 20 2016 - 09:21:11 EST
Hi Jani,
Forgive me late response.
On 12.10.2016 16:28, Jani Nikula wrote:
> On Wed, 12 Oct 2016, Emil Velikov <emil.l.velikov@xxxxxxxxx> wrote:
>> On 11 October 2016 at 10:33, Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote:
>>> On Tue, 11 Oct 2016, "Sun, Jing A" <jing.a.sun@xxxxxxxxx> wrote:
>>>> It's needed that DRM Driver module could be removed and reloaded after
>>>> kernel booting on the projects that I have been working on, and I hope
>>>> such module type change could be accepted. Looks like Iwai has similar
>>>> change request as well. Would you please review it and let us know if
>>>> any concerns?
>>> Looking at the Kconfig, selecting CONFIG_DRM_MIPI_DSI is against the
>>> recommendations of Documentation/kbuild/kconfig-language.txt:
>>>
>>> select should be used with care. select will force
>>> a symbol to a value without visiting the dependencies.
>>> By abusing select you are able to select a symbol FOO even
>>> if FOO depends on BAR that is not set.
>>> In general use select only for non-visible symbols
>>> (no prompts anywhere) and for symbols with no dependencies.
>>> That will limit the usefulness but on the other hand avoid
>>> the illegal configurations all over.
>>>
>>> Indeed, you may end up with CONFIG_DRM_MIPI_DSI=y and CONFIG_DRM=m,
>>> which violates DRM_MIPI_DSI dependency on CONFIG_DRM. This is broken and
>>> should be fixed. The suggested patch does *not* fix this issue.
>>>
>> Jani, git log suggests you as the unfortunate author of the select
>> DRM_MIPI_DSI/select DRM_PANEL hunks in i915 ;-)
> /o\
>
> As much as my present self would like to scold my past self for all his
> mistakes, I have to remind myself that it is the mistakes that have
> given me invaluable experience that my past self didn't have. I can only
> hope my future self will have time to fix even a fraction of the
> mistakes.
>
> Anyway, as Andrzej pointed out, all configs that select DRM_MIPI_DSI
> also depend on DRM, so this problem can't currently occur. Once dsi bus
> un-registration gets addressed, we can turn DRM_MIPI_DSI into a tristate
> config (i.e. a loadable module).
There is already patch adding bus unregistration [1]. It was published
together
with 'tristate' patch [2], both were created by Takashi few months ago.
[1]:
https://lists.freedesktop.org/archives/dri-devel/2016-August/114870.html
[2]:
https://lists.freedesktop.org/archives/dri-devel/2016-August/114497.html
Regards
Andrzej
>
> BR,
> Jani.
>