* Jeroen Hofstee <jhofstee@xxxxxxxxxxxxxxxxx> [161028 11:19]: > Hello Tony, > > On 28-10-16 17:52, Tony Lindgren wrote: > > * Jeroen Hofstee <jhofstee@xxxxxxxxxxxxxxxxx> [161028 08:33]: > > > Commit b6745f6e4e63 ("drivers: net: cpsw: davinci_emac: move reading mac > > > id to common file") did not only move the code for an am3517, it also > > > added the slave parameter, resulting in an invalid (all zero) mac address > > > being returned for an am3517, since it only has a single emac and the slave > > > parameter is pointing to the second. So simply always read the first and > > > valid mac-address for a ti,am3517-emac. > > And others davinci_emac.c users can have more than one. So is the > > reason the slave parameter points to the second instance because > > of the location in the hardware? > > Sort of, the slave parameter gets determined by the fact if there is one > or two register range(s) associated with the davinci_emac. In davinci_emac.c > > res_ctrl = platform_get_resource(pdev, IORESOURCE_MEM, 1); > ... > rc = davinci_emac_try_get_mac(pdev, res_ctrl ? 0 : 1, > priv->mac_addr); > > So it there are two ranges, the slave param becomes 0. It there is only one, > it > will be 1. Since the am3517 only has a single regs entry it ends up with > slave 1, > while there is only a single davinci_emac. OK thanks for clarifying it: Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> -- 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