Messages in this thread | | | Subject | Re: [PATCH V7 3/3] firmware: imx: imx-scu: register build-in child devices | From | Guenter Roeck <> | Date | Wed, 6 Mar 2019 08:05:33 -0800 |
| |
Hi,
On 3/5/19 5:06 PM, Anson Huang wrote: > For some devices which are controlled by system controller, > they are NOT present in device tree since no hardware info > needed, just register these devices as children of SCU device. > This patch registers i.MX system controller watchdog platform > device as child device of SCU. > > Signed-off-by: Anson Huang <Anson.Huang@nxp.com> > --- > No changes. > --- > drivers/firmware/imx/imx-scu.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/firmware/imx/imx-scu.c b/drivers/firmware/imx/imx-scu.c > index 2bb1a19..df75ead 100644 > --- a/drivers/firmware/imx/imx-scu.c > +++ b/drivers/firmware/imx/imx-scu.c > @@ -196,6 +196,7 @@ EXPORT_SYMBOL(imx_scu_call_rpc); > > static int imx_scu_probe(struct platform_device *pdev) > { > + struct platform_device *child_pdev; > struct device *dev = &pdev->dev; > struct imx_sc_ipc *sc_ipc; > struct imx_sc_chan *sc_chan; > @@ -248,6 +249,13 @@ static int imx_scu_probe(struct platform_device *pdev) > > dev_info(dev, "NXP i.MX SCU Initialized\n"); > > + /* register SCU child devices which are NOT in device tree */ > + child_pdev = platform_device_register_data(dev, "imx-sc-wdt", > + PLATFORM_DEVID_NONE, NULL, 0); > + if (IS_ERR(child_pdev)) > + dev_warn(dev, "failed to register scu watchdog device %ld!\n", > + PTR_ERR(child_pdev)); > +
I just realized ... since this is not a devm_ function, we now also need error handling (if devm_of_platform_populate() fails) and a remove function. Sorry for that - I should have noticed earlier.
Guenter
> return devm_of_platform_populate(dev); > } > >
| |