linux/drivers/net/ethernet/freescale
Claudiu Manoil 208627883e gianfar: Cleanup/Fix gfar_probe and the hw init code
Factor out gfar_hw_init() to contain all the controller hw
initialization steps for a better control of register writes,
and to significantly simplify the tangled code from gfar_probe().
This results in code size and stack usage reduction (besides
code readability).

Fix memory leak on device removal, by freeing the rx_/tx_queue
structures.

Replace custom bit swapping function with a library one (bitrev8).

Move allocation of rx_/tx_queue struct arrays before the group
structure init, because in order to assign Rx/Tx queues
to groups we need to have the queues first.  This also allows
earlier bail out of gfar_probe(), in case the memory allocation
fails.

The flow control checks for maccfg1 were removed from gfar_probe(),
since flow control is disabled at probe time (priv->rx_/tx_pause_en
are 0). Redundant initializations (by 0) also removed.

Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-02-18 15:03:01 -05:00
..
fs_enet drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
Kconfig NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
Makefile net: fec: build fec.c and fec_ptp.c to one module 2013-03-25 12:14:57 -04:00
fec.h fec: Implement the SIOCGHWTSTAMP ioctl 2013-11-21 17:17:37 +00:00
fec_main.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
fec_mpc52xx.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
fec_mpc52xx.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
fec_mpc52xx_phy.c net: fec_mpc52xx_phy: remove unnecessary dev_set_drvdata() 2013-08-21 12:27:04 -07:00
fec_ptp.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
fsl_pq_mdio.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
gianfar.c gianfar: Cleanup/Fix gfar_probe and the hw init code 2014-02-18 15:03:01 -05:00
gianfar.h gianfar: Cleanup/Fix gfar_probe and the hw init code 2014-02-18 15:03:01 -05:00
gianfar_ethtool.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
gianfar_ptp.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
gianfar_sysfs.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
ucc_geth.c net: freescale: remove unused compare_addr() 2013-12-26 13:31:32 -05:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
ucc_geth_ethtool.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
xgmac_mdio.c drivers: clean-up prom.h implicit includes 2013-10-09 20:04:04 -05:00