lkml.org 
[lkml]   [2020]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] soc: imx-scu: Support module build
On Wed, Jun 17, 2020 at 11:41 AM Anson Huang <anson.huang@nxp.com> wrote:

> > >
> > > I'm ok with the change. But I'm curious how can this module be
> > > autoloaded without MODULE_DEVICE_TABLE.
> > > Have you tested if it can work?
> > >
> >
> > I ONLY tested the manual insmod, if want to support auto load, may need
> > some more change, will try it later and send out a V2 if needed.
>
> The further check shows that, if want to support auto load, the platform device
> register needs to be done in somewhere else which is built-in (in my test, I move it
> to clk-imx8qxp.c's probe), and also need to add below module alias in this driver,
> because it has no device node in DT and no device table in driver.
>
> +MODULE_ALIAS("platform:imx-scu-soc");
>
> Since this driver has no device node in DT, and the target is to build all SoC specific
> drivers as module, so the best way is to add a virtual device node in DT in order to support
> auto load?

I see that there is indeed a driver for the device node in
drivers/firmware/imx/imx-scu.c,
the only reason for this module using device_initcall() with a manual
platform_device_register_simple() seems to be that we cannot have two
platform drivers bind to the same device node.

I think a cleaner way to handle this would be to just move the entire soc
driver into the firmware driver and then remove the duplication.

Arnd

\
 
 \ /
  Last update: 2020-06-18 09:22    [W:0.087 / U:1.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site