* Felipe Balbi <balbi@xxxxxx> [150113 11:57]: > On Tue, Jan 13, 2015 at 11:29:27AM -0800, Tony Lindgren wrote: > > Some devices like dm816x have the MDIO registers within the first EMAC > > instance address space. Let's fix the issue by allowing to pass an > > optional second IO range for the EMAC control register area. > > > > Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> > > Cc: Felipe Balbi <balbi@xxxxxx> > > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > > --- > > drivers/net/ethernet/ti/davinci_emac.c | 15 ++++++++++++--- > > 1 file changed, 12 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c > > index 4c8d82c..0342273 100644 > > --- a/drivers/net/ethernet/ti/davinci_emac.c > > +++ b/drivers/net/ethernet/ti/davinci_emac.c > > @@ -1877,7 +1877,7 @@ davinci_emac_of_get_pdata(struct platform_device *pdev, struct emac_priv *priv) > > static int davinci_emac_probe(struct platform_device *pdev) > > { > > int rc = 0; > > - struct resource *res; > > + struct resource *res, *res_ctrl; > > struct net_device *ndev; > > struct emac_priv *priv; > > unsigned long hw_ram_addr; > > @@ -1936,11 +1936,20 @@ static int davinci_emac_probe(struct platform_device *pdev) > > rc = PTR_ERR(priv->remap_addr); > > goto no_pdata; > > } > > + > > + res_ctrl = platform_get_resource(pdev, IORESOURCE_MEM, 1); > > + if (res_ctrl) { > > devm_ioremap_resource() will check for res_ctrl being a valid pointer, > perhaps below would be slightly better ? > > > res_ctrl = platform_get_resource(pdev, IORESOURCE_MEM, 1); > priv->ctrl_base = devm_ioremap_resource(&pdev->dev, res_ctrl); > if (IS_ERR(priv->ctrl_base)) > priv->ctrl_base = priv->remap_addr + pdata->ctrl_mod_reg_offset; > We have a pile of devices using just one ioremap area so the second ioremap area needs to be optional. That's why we only do it based on if (res_ctrl). Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html