[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <90ff94d9-6f15-5353-c5a1-f2ec5ee744ad@roeck-us.net>
Date: Wed, 6 Mar 2019 08:05:33 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Anson Huang <anson.huang@....com>,
"catalin.marinas@....com" <catalin.marinas@....com>,
"will.deacon@....com" <will.deacon@....com>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"festevam@...il.com" <festevam@...il.com>,
"wim@...ux-watchdog.org" <wim@...ux-watchdog.org>,
Andy Gross <andy.gross@...aro.org>,
"heiko@...ech.de" <heiko@...ech.de>,
"horms+renesas@...ge.net.au" <horms+renesas@...ge.net.au>,
"arnd@...db.de" <arnd@...db.de>,
"maxime.ripard@...tlin.com" <maxime.ripard@...tlin.com>,
"jagan@...rulasolutions.com" <jagan@...rulasolutions.com>,
"bjorn.andersson@...aro.org" <bjorn.andersson@...aro.org>,
"enric.balletbo@...labora.com" <enric.balletbo@...labora.com>,
"marc.w.gonzalez@...e.fr" <marc.w.gonzalez@...e.fr>,
"olof@...om.net" <olof@...om.net>,
Aisheng Dong <aisheng.dong@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-watchdog@...r.kernel.org" <linux-watchdog@...r.kernel.org>
Cc: dl-linux-imx <linux-imx@....com>
Subject: Re: [PATCH V7 3/3] firmware: imx: imx-scu: register build-in child
devices
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@....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);
> }
>
>
Powered by blists - more mailing lists