mbox series

[V3,0/9] Support i.MX8 SoCs pinctrl drivers built as module

Message ID 1591712485-20609-1-git-send-email-Anson.Huang@nxp.com (mailing list archive)
Headers show
Series Support i.MX8 SoCs pinctrl drivers built as module | expand

Message

Anson Huang June 9, 2020, 2:21 p.m. UTC
There are more and mroe requirements that SoC specific modules should be built
as module in order to support generic kernel image, such as Android GKI concept.

This patch series supports i.MX8 SoCs pinctrl drivers to be built as module,
including i.MX8MQ/MM/MN/MP/QXP/QM/DXL SoCs, and it also supports building i.MX
common pinctrl driver and i.MX SCU common pinctrl driver as module.

Compared to V2, the changes are as below:
	- add "depends on OF" to PINCTRL_IMX to fix build error using x86 randconfig;
	- change the config dependency of PINCTRL_IMX_SCU to support scenario of
	  building in PINCTRL_IMX while building PINCTRL_IMX_SCU as module, no other
	  good choice in my mind, if you have better idea without changing the driver
	  code, please advise.

Anson Huang (9):
  pinctrl: imx: Support building SCU pinctrl driver as module
  pinctrl: imx: Support building i.MX pinctrl driver as module
  pinctrl: imx8mm: Support building as module
  pinctrl: imx8mn: Support building as module
  pinctrl: imx8mq: Support building as module
  pinctrl: imx8mp: Support building as module
  pinctrl: imx8qxp: Support building as module
  pinctrl: imx8qm: Support building as module
  pinctrl: imx8dxl: Support building as module

 drivers/pinctrl/freescale/Kconfig           | 27 ++++++++++++++-------------
 drivers/pinctrl/freescale/pinctrl-imx.c     |  4 ++++
 drivers/pinctrl/freescale/pinctrl-imx.h     |  2 +-
 drivers/pinctrl/freescale/pinctrl-imx8dxl.c |  9 +++------
 drivers/pinctrl/freescale/pinctrl-imx8mm.c  | 10 ++++------
 drivers/pinctrl/freescale/pinctrl-imx8mn.c  | 10 ++++------
 drivers/pinctrl/freescale/pinctrl-imx8mp.c  | 10 ++++------
 drivers/pinctrl/freescale/pinctrl-imx8mq.c  |  9 ++++-----
 drivers/pinctrl/freescale/pinctrl-imx8qm.c  |  9 +++------
 drivers/pinctrl/freescale/pinctrl-imx8qxp.c |  9 +++------
 drivers/pinctrl/freescale/pinctrl-scu.c     |  6 ++++++
 11 files changed, 50 insertions(+), 55 deletions(-)

Comments

Aisheng Dong June 10, 2020, 8:04 a.m. UTC | #1
> From: Anson Huang <Anson.Huang@nxp.com>
> Sent: Tuesday, June 9, 2020 10:21 PM
> 
> There are more and mroe requirements that SoC specific modules should be
> built as module in order to support generic kernel image, such as Android GKI
> concept.
> 
> This patch series supports i.MX8 SoCs pinctrl drivers to be built as module,
> including i.MX8MQ/MM/MN/MP/QXP/QM/DXL SoCs, and it also supports
> building i.MX common pinctrl driver and i.MX SCU common pinctrl driver as
> module.
> 

This patch series also changed the driver initcall level from arch_initcall to module_init.
Maybe you could provide some test information to help the reviewer to better understand
the change impact.

Regards
Aisheng

> Compared to V2, the changes are as below:
> 	- add "depends on OF" to PINCTRL_IMX to fix build error using x86
> randconfig;
> 	- change the config dependency of PINCTRL_IMX_SCU to support scenario
> of
> 	  building in PINCTRL_IMX while building PINCTRL_IMX_SCU as module,
> no other
> 	  good choice in my mind, if you have better idea without changing the
> driver
> 	  code, please advise.
> 
> Anson Huang (9):
>   pinctrl: imx: Support building SCU pinctrl driver as module
>   pinctrl: imx: Support building i.MX pinctrl driver as module
>   pinctrl: imx8mm: Support building as module
>   pinctrl: imx8mn: Support building as module
>   pinctrl: imx8mq: Support building as module
>   pinctrl: imx8mp: Support building as module
>   pinctrl: imx8qxp: Support building as module
>   pinctrl: imx8qm: Support building as module
>   pinctrl: imx8dxl: Support building as module
> 
>  drivers/pinctrl/freescale/Kconfig           | 27 ++++++++++++++-------------
>  drivers/pinctrl/freescale/pinctrl-imx.c     |  4 ++++
>  drivers/pinctrl/freescale/pinctrl-imx.h     |  2 +-
>  drivers/pinctrl/freescale/pinctrl-imx8dxl.c |  9 +++------
> drivers/pinctrl/freescale/pinctrl-imx8mm.c  | 10 ++++------
> drivers/pinctrl/freescale/pinctrl-imx8mn.c  | 10 ++++------
> drivers/pinctrl/freescale/pinctrl-imx8mp.c  | 10 ++++------
> drivers/pinctrl/freescale/pinctrl-imx8mq.c  |  9 ++++-----
> drivers/pinctrl/freescale/pinctrl-imx8qm.c  |  9 +++------
> drivers/pinctrl/freescale/pinctrl-imx8qxp.c |  9 +++------
>  drivers/pinctrl/freescale/pinctrl-scu.c     |  6 ++++++
>  11 files changed, 50 insertions(+), 55 deletions(-)
> 
> --
> 2.7.4
Anson Huang June 10, 2020, 8:12 a.m. UTC | #2
> Subject: RE: [PATCH V3 0/9] Support i.MX8 SoCs pinctrl drivers built as module
> 
> > From: Anson Huang <Anson.Huang@nxp.com>
> > Sent: Tuesday, June 9, 2020 10:21 PM
> >
> > There are more and mroe requirements that SoC specific modules should
> > be built as module in order to support generic kernel image, such as
> > Android GKI concept.
> >
> > This patch series supports i.MX8 SoCs pinctrl drivers to be built as
> > module, including i.MX8MQ/MM/MN/MP/QXP/QM/DXL SoCs, and it also
> > supports building i.MX common pinctrl driver and i.MX SCU common
> > pinctrl driver as module.
> >
> 
> This patch series also changed the driver initcall level from arch_initcall to
> module_init.
> Maybe you could provide some test information to help the reviewer to better
> understand the change impact.

There are still some more changes in V4 I just sent out, which is to cover various config combination,
will add test info in next version. 

Anson
Anson Huang June 11, 2020, 8:31 a.m. UTC | #3
> Subject: RE: [PATCH V3 0/9] Support i.MX8 SoCs pinctrl drivers built as module
> 
> 
> 
> 
> > Subject: RE: [PATCH V3 0/9] Support i.MX8 SoCs pinctrl drivers built
> > as module
> >
> > > From: Anson Huang <Anson.Huang@nxp.com>
> > > Sent: Tuesday, June 9, 2020 10:21 PM
> > >
> > > There are more and mroe requirements that SoC specific modules
> > > should be built as module in order to support generic kernel image,
> > > such as Android GKI concept.
> > >
> > > This patch series supports i.MX8 SoCs pinctrl drivers to be built as
> > > module, including i.MX8MQ/MM/MN/MP/QXP/QM/DXL SoCs, and it also
> > > supports building i.MX common pinctrl driver and i.MX SCU common
> > > pinctrl driver as module.
> > >
> >
> > This patch series also changed the driver initcall level from
> > arch_initcall to module_init.
> > Maybe you could provide some test information to help the reviewer to
> > better understand the change impact.
> 
> There are still some more changes in V4 I just sent out, which is to cover
> various config combination, will add test info in next version.

I will keep the arch_initcall() there in next version patch series, it can make sure the
change does NOT impact built-in config. For module build, the arch_initcall() will
be same as module_init(), user needs to insmod the .ko with correct sequence.

Anson