Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1232039 > unrolled thread

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

Started byTomi Valkeinen <tomi.valkeinen@ti.com>
First post2015-09-24 12:50 +0200
Last post2015-09-24 18:20 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF  platform driver Tomi Valkeinen <tomi.valkeinen@ti.com> - 2015-09-24 12:50 +0200
    Re: [PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF  platform driver Luis de Bethencourt <luis@debethencourt.com> - 2015-09-24 17:40 +0200
      Re: [PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF  platform driver Tomi Valkeinen <tomi.valkeinen@ti.com> - 2015-09-24 17:50 +0200
        Re: [PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF  platform driver Luis de Bethencourt <luis@debethencourt.com> - 2015-09-24 18:10 +0200
          Re: [PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF  platform driver Tomi Valkeinen <tomi.valkeinen@ti.com> - 2015-09-24 18:20 +0200

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

FromTomi Valkeinen <tomi.valkeinen@ti.com>
Date2015-09-24 12:50 +0200
SubjectRe: [PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF platform driver
Message-ID<qccg9-Bw-1@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

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@osg.samsung.com>
> ---
>  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

[toc] | [next] | [standalone]


#1232199

FromLuis de Bethencourt <luis@debethencourt.com>
Date2015-09-24 17:40 +0200
Message-ID<qcgMP-7bv-45@gated-at.bofh.it>
In reply to#1232039
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@osg.samsung.com>
> > ---
> >  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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1232212

FromTomi Valkeinen <tomi.valkeinen@ti.com>
Date2015-09-24 17:50 +0200
Message-ID<qcgWv-7mP-29@gated-at.bofh.it>
In reply to#1232199

[Multipart message — attachments visible in raw view] — view raw

On 24/09/15 18:36, Luis de Bethencourt wrote:

> I am a bit confused.

Yes, it's an interesting mess due to legacy reasons. Maybe we manage to
fix it some day...

> So how the OMAP DRM auto loading is supposed to work when using Device Trees?

omapdrm isn't a real HW device driver at the moment. There's another
driver, omapdss, which is the HW driver, and omapdrm uses omapdss.
omapdrm platform device is created by omap platform code at boot time,
the same way for both DT and non-DT boots.

> 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)?

No, I think that's the thing that makes omapdrm load.

 Tomi

[toc] | [prev] | [next] | [standalone]


#1232223

FromLuis de Bethencourt <luis@debethencourt.com>
Date2015-09-24 18:10 +0200
Message-ID<qchfP-7YI-3@gated-at.bofh.it>
In reply to#1232212
On Thu, Sep 24, 2015 at 06:43:33PM +0300, Tomi Valkeinen wrote:
> 
> On 24/09/15 18:36, Luis de Bethencourt wrote:
> 
> > I am a bit confused.
> 
> Yes, it's an interesting mess due to legacy reasons. Maybe we manage to
> fix it some day...
> 
> > So how the OMAP DRM auto loading is supposed to work when using Device Trees?
> 
> omapdrm isn't a real HW device driver at the moment. There's another
> driver, omapdss, which is the HW driver, and omapdrm uses omapdss.
> omapdrm platform device is created by omap platform code at boot time,
> the same way for both DT and non-DT boots.
> 
> > 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)?
> 
> No, I think that's the thing that makes omapdrm load.
> 
>  Tomi
> 

Makes sense. Thank you for the explanation.

I didn't know that a omapdrm platform device was registered explictly by platform
code.

Please notice that I wrote MODULE_ALIAS("platform:" DMM_DRIVER_NAME) not
MODULE_ALIAS("platform:" DRIVER_NAME)
In other words, I meant if alias: platform:dmm is needed besides alias:
platform:omapdrm?

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

[toc] | [prev] | [next] | [standalone]


#1232229

FromTomi Valkeinen <tomi.valkeinen@ti.com>
Date2015-09-24 18:20 +0200
Message-ID<qchpv-8a5-1@gated-at.bofh.it>
In reply to#1232223

[Multipart message — attachments visible in raw view] — view raw

On 24/09/15 19:06, Luis de Bethencourt wrote:

> Please notice that I wrote MODULE_ALIAS("platform:" DMM_DRIVER_NAME) not
> MODULE_ALIAS("platform:" DRIVER_NAME)
> In other words, I meant if alias: platform:dmm is needed besides alias:
> platform:omapdrm?

Ah, sorry, I misread. Yes, I think there's no need for module alias for
DMM at the moment.

 Tomi

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web