Messages in this thread | | | Subject | Re: [PATCH] driver: bus: simple-pm-bus: Add Freescale i.MX8qm/qxp CSR compatible strings | From | Liu Ying <> | Date | Thu, 26 Jan 2023 10:54:54 +0800 |
| |
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@nxp.com> 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@kernel.org> > > Suggested-by: Lee Jones <lee@kernel.org> > > Signed-off-by: Liu Ying <victor.liu@nxp.com> > > 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@linux-m68k.org > > 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
| |