RE: [PATCH]"drm: change DRM_MIPI_DSI module type from "bool" to "tristate".

From: Sun, Jing A
Date: Tue Oct 11 2016 - 23:08:41 EST

Interestingly, I am able to reload i915 and drm. Our CI has tests for
i915 unload/reload, but does not check drm. In any case the config problem should not impact the reloadability of i915.
Sorry that I didn't make myself clear. In order to replace the default i915 module with an updated one, the related DRM modules also need to be updated to match the updated i915, hence the restriction.

Sun, Jing

-----Original Message-----
From: Andrzej Hajda [mailto:a.hajda@xxxxxxxxxxx]
Sent: Tuesday, October 11, 2016 5:53 PM
To: Jani Nikula; Sun, Jing A; Takashi Iwai
Cc: airlied@xxxxxxxx; Vetter, Daniel; linux-kernel@xxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; Thierry Reding; Emil Velikov
Subject: Re: [PATCH]"drm: change DRM_MIPI_DSI module type from "bool" to "tristate".

On 11.10.2016 11:33, Jani Nikula 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.

All existing drivers which selects DRM_MIPI_DSI also depends on DRM.
So the dependency is always true. I am not sure if it could not change in the future, but in such case mipi_dsi bus should be completely detached from DRM framework, I hope we have not such case yet :)

> 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.

At the moment it should not be possible.