Message ID | 1481807497-4724-3-git-send-email-madalin.bucur@nxp.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On 12/15/2016 07:11 AM, Madalin Bucur wrote: > From: Igal Liberman <igal.liberman@freescale.com> > > Signed-off-by: Igal Liberman <igal.liberman@freescale.com> > --- > drivers/net/ethernet/freescale/fman/fman.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c > index dafd9e1..f36b4eb 100644 > --- a/drivers/net/ethernet/freescale/fman/fman.c > +++ b/drivers/net/ethernet/freescale/fman/fman.c > @@ -2868,6 +2868,16 @@ static struct fman *read_dts_node(struct platform_device *of_dev) > > fman->dev = &of_dev->dev; > > +#ifdef CONFIG_ARM64 > + /* call of_platform_populate in order to probe sub-nodes on arm64 */ > + err = of_platform_populate(fm_node, NULL, NULL, &of_dev->dev); > + if (err) { > + dev_err(&of_dev->dev, "%s: of_platform_populate() failed\n", > + __func__); > + goto fman_free; > + } > +#endif Should we remove fsl,fman from the PPC of_device_ids[], so this doesn't need an ifdef? Why is it #ifdef CONFIG_ARM64 rather than #ifndef CONFIG_PPC? -Scott
> From: Scott Wood > Sent: Thursday, December 15, 2016 8:42 PM > > On 12/15/2016 07:11 AM, Madalin Bucur wrote: > > From: Igal Liberman <igal.liberman@freescale.com> > > > > Signed-off-by: Igal Liberman <igal.liberman@freescale.com> > > --- > > drivers/net/ethernet/freescale/fman/fman.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/drivers/net/ethernet/freescale/fman/fman.c > b/drivers/net/ethernet/freescale/fman/fman.c > > index dafd9e1..f36b4eb 100644 > > --- a/drivers/net/ethernet/freescale/fman/fman.c > > +++ b/drivers/net/ethernet/freescale/fman/fman.c > > @@ -2868,6 +2868,16 @@ static struct fman *read_dts_node(struct > platform_device *of_dev) > > > > fman->dev = &of_dev->dev; > > > > +#ifdef CONFIG_ARM64 > > + /* call of_platform_populate in order to probe sub-nodes on arm64 */ > > + err = of_platform_populate(fm_node, NULL, NULL, &of_dev->dev); > > + if (err) { > > + dev_err(&of_dev->dev, "%s: of_platform_populate() failed\n", > > + __func__); > > + goto fman_free; > > + } > > +#endif > > Should we remove fsl,fman from the PPC of_device_ids[], so this doesn't > need an ifdef? > > Why is it #ifdef CONFIG_ARM64 rather than #ifndef CONFIG_PPC? > > -Scott Igal was working on adding ARM64 support when this patch was created, thus the choice of #ifdef CONFIG_ARM64. Unifying this for PPC and ARM64 by always calling of_platform_populate() sounds like the best approach. I would need to synchronize the introduction of this code with the removal of the fsl,fman entry from the of_device_ids[] array. Dave, Michael, Scott, is it ok to add to v2 of this patch set the patch that removes the compatible "fsl,fman" from arch/powerpc/platforms/85xx/corenet_generic.c? Thanks, Madalin
diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c index dafd9e1..f36b4eb 100644 --- a/drivers/net/ethernet/freescale/fman/fman.c +++ b/drivers/net/ethernet/freescale/fman/fman.c @@ -2868,6 +2868,16 @@ static struct fman *read_dts_node(struct platform_device *of_dev) fman->dev = &of_dev->dev; +#ifdef CONFIG_ARM64 + /* call of_platform_populate in order to probe sub-nodes on arm64 */ + err = of_platform_populate(fm_node, NULL, NULL, &of_dev->dev); + if (err) { + dev_err(&of_dev->dev, "%s: of_platform_populate() failed\n", + __func__); + goto fman_free; + } +#endif + return fman; fman_node_put: