net: ll_temac: Fix and simplify error handling by using devres functions
As a side effect, a few error cases are fixed. If of_iomap() of sdma_regs failed, no error code was returned. Fixed to return -ENOMEM similar to of_iomap() fail of regs. If sysfs_create_group() or register_netdev() failed, lp->phy_node was not released. Finally, the order in remove function is corrected to be reverse order of what is done in probe, i.e. calling temac_mdio_teardown() last, so we unregister the netdev that most likely is using the mdio_bus first. Signed-off-by: Esben Haabendal <esben@geanix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
ac97a359b7
commit
a63625d2a0
@@ -378,7 +378,7 @@ void temac_indirect_out32(struct temac_local *lp, int reg, u32 value);
|
||||
|
||||
|
||||
/* xilinx_temac_mdio.c */
|
||||
int temac_mdio_setup(struct temac_local *lp, struct device_node *np);
|
||||
int temac_mdio_setup(struct temac_local *lp, struct platform_device *pdev);
|
||||
void temac_mdio_teardown(struct temac_local *lp);
|
||||
|
||||
#endif /* XILINX_LL_TEMAC_H */
|
||||
|
Reference in New Issue
Block a user