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

From: Daniel Vetter
Date: Wed Oct 12 2016 - 02:51:51 EST

On Wed, Oct 12, 2016 at 03:08:24AM +0000, Sun, Jing A wrote:
> 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.

Just to avoid tears in the future: If you plan to ship this in product,
you won't ship.

And for debugging, just install a kernel with your changes for both drm
and i915.

In short, your use-case isn't really valid (but we could still make the
dsi code modular if people feel like).

> Regards,
> 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.
> Regards
> Andrzej
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx

Daniel Vetter
Software Engineer, Intel Corporation