Re: [PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF platform driver

From: Luis de Bethencourt
Date: Thu Sep 24 2015 - 11:36:26 EST


On Thu, Sep 24, 2015 at 01:41:56PM +0300, Tomi Valkeinen wrote:
>
> On 17/09/15 17:21, Luis de Bethencourt wrote:
> > This platform driver has a OF device ID table but the OF module
> > alias information is not created so module autoloading won't work.
> >
> > Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx>
> > ---
> > drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> > index 7841970..ecbc9e5 100644
> > --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> > +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> > @@ -1014,6 +1014,7 @@ static const struct of_device_id dmm_of_match[] = {
> > },
> > {},
> > };
> > +MODULE_DEVICE_TABLE(of, dmm_of_match);
> > #endif
> >
> > struct platform_driver omap_dmm_driver = {
>
> I think this one is not needed.
>
> Tiler cannot be compiled as a module. Or, to be more exact, the tiler
> driver is included in the omapdrm module, along with the main omapdrm
> driver, which can be a module.
>
> The autoloading should happen via omapdrm, and when that happens, tiler
> driver comes along.
>
> Tomi
>

Hi Tomi,

I am a bit confused.

So how the OMAP DRM auto loading is supposed to work when using Device Trees?
As far as I can tell, the main omap drm driver does not have a OF device ID
table and a .of_match it only has a MODULE_ALIAS("platform:" DRIVER_NAME),
but the tiler driver (that is built-in the omap drm driver) does have a a
OF device ID table and I see in DTS that are device nodes using those compatible
strings

$ git grep omap4-dmm arch/arm/boot/dts/omap*
arch/arm/boot/dts/omap4.dtsi: compatible = "ti,omap4-dmm";

Does that mean there is no need for MODULE_ALIAS("platform:" DMM_DRIVER_NAME)?

Because right now omapdrm.ko is exporting the alias for legacy / platform
device registration but not for OF.

Thanks,
Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/