net: stmmac: use suspend functions for hibernation
authorSrinivas Kandagatla <srinivas.kandagatla@st.com>
Thu, 16 Jan 2014 10:52:44 +0000 (10:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 Jan 2014 23:23:43 +0000 (15:23 -0800)
commit33a23e223749c45ff8099ff9baa235301a3ad07f
tree3585cc7ccea89307a8e5dcab8e02fa3315c05d3d
parent623997fb90eab7a135c2c68a332c8450a488baca
net: stmmac: use suspend functions for hibernation

In hibernation freeze case the driver just releases the resources like
dma buffers, irqs, unregisters the drivers and during restore it does
register, request the resources. This is not really necessary, as part
of power management all the data structures are intact, all the
previously allocated resources can be used after coming out of low
power.

This patch uses the suspend and resume callbacks for freeze and
restore which initializes the hardware correctly without unregistering
or releasing the resources, this should also help in reducing the time
to restore.

Also this patch fixes a bug in stmmac_pltfr_restore and
stmmac_pltfr_freeze where it tries to get hold of platform data via
dev_get_platdata call, which would return NULL in device tree cases and
the next if statement would crash as there is no NULL check.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac.h
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c