Re: [PATCH] driver: bus: simple-pm-bus: Add Freescale i.MX8qm/qxp CSR compatible strings

From: Liu Ying
Date: Wed Jan 25 2023 - 21:55:51 EST


On Wed, 2023-01-25 at 10:05 +0100, Geert Uytterhoeven wrote:
> Hi Liu,

Hi Geert,

>
> On Wed, Jan 25, 2023 at 9:31 AM Liu Ying <victor.liu@xxxxxxx> wrote:
> > Freescale i.MX8qm/qxp CSR module matches with what the simple power
> > managed bus driver does, considering it needs an IPG clock to be
> > enabled before accessing it's child devices, the child devices need
> > to be populated by the CSR module and the child devices' power
> > management operations need to be propagated to their parent
> > devices.
> > Add the CSR module's compatible strings to simple_pm_bus_of_match[]
> > table to support the CSR module.
> >
> > Suggested-by: Rob Herring <robh@xxxxxxxxxx>
> > Suggested-by: Lee Jones <lee@xxxxxxxxxx>
> > Signed-off-by: Liu Ying <victor.liu@xxxxxxx>
>
> Thanks for your patch!

Thanks for your review!

>
> > ---
> > The CSR module's dt-binding documentation can be found at
> > Documentation/devicetree/bindings/mfd/fsl,imx8qxp-csr.yaml.
> >
> > Suggested by Rob and Lee in this thread:
> >
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.kernel.org%2Fproject%2Flinux-arm-kernel%2Fpatch%2F20221017075702.4182846-1-victor.liu%40nxp.com%2F&data=05%7C01%7Cvictor.liu%40nxp.com%7C3fa98ff270534078019508dafeb34b10%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638102343312884116%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=zm8Z5gWt9yGXakYlxopUfZKLMUJRWTxq1kWHLyqhyww%3D&reserved=0
> >
> > drivers/bus/simple-pm-bus.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/bus/simple-pm-bus.c b/drivers/bus/simple-pm-
> > bus.c
> > index 7afe1947e1c0..4a7575afe6c6 100644
> > --- a/drivers/bus/simple-pm-bus.c
> > +++ b/drivers/bus/simple-pm-bus.c
> > @@ -120,6 +120,8 @@ static const struct of_device_id
> > simple_pm_bus_of_match[] = {
> > { .compatible = "simple-mfd", .data = ONLY_BUS },
> > { .compatible = "isa", .data = ONLY_BUS },
> > { .compatible = "arm,amba-bus", .data = ONLY_BUS },
> > + { .compatible = "fsl,imx8qm-lvds-csr", },
> > + { .compatible = "fsl,imx8qxp-mipi-lvds-csr", },
>
> I did read the thread linked above, and I still think you should just
> add "simple-pm-bus" to the compatible value in DTS, so no driver
> change
> is needed, cfr.
> Documentation/devicetree/bindings/bus/renesas,bsc.yaml.

This means that i.MX8qm/qxp CSR module dt-binding documentation needs
to be changed. I'd like to know how Rob and Krzysztof think about
that.

>
> If that doesn't work due to DT binding constraints, the latter should
> be fixed.

Adding "simple-pm-bus" to the compatible value in DTS doesn't work,
because "simple-mfd" is matched first and "ONLY_BUS" is set for
"simple-mfd". s/simple-mfd/simple-pm-bus/ for the compatbile value in
DTS does work, but it means that fsl,imx8qxp-csr.yaml needs to be
changed and moved from mfd directory to bus directory...

Hmm, fsl,imx8qxp-csr.yaml was first written earlier than the below
patch. Without that patch, child devices of the CSR module can be
populated.

98e96cf80045 ("drivers: bus: simple-pm-bus: Add support for probing
simple bus only devices")

Should I go ahead to fix fsl,imx8qxp-csr.yaml and move it to bus
directory?

Regards,
Liu Ying

>
> > { /* sentinel */ }
> > };
> > MODULE_DEVICE_TABLE(of, simple_pm_bus_of_match);
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 --
> geert@xxxxxxxxxxxxxx
>
> In personal conversations with technical people, I call myself a
> hacker. But
> when I'm talking to journalists I just say "programmer" or something
> like that.
> -- Linus Torvalds