forked from luck/tmp_suning_uos_patched
mv643xx_eth: add mv643xx_eth_shutdown function
mv643xx_eth_shutdown is needed for kexec. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
69a43ac0cf
commit
d57ab6fdde
@ -1516,9 +1516,23 @@ static int mv643xx_eth_shared_remove(struct platform_device *pdev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mv643xx_eth_shutdown(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
struct net_device *dev = platform_get_drvdata(pdev);
|
||||||
|
struct mv643xx_private *mp = netdev_priv(dev);
|
||||||
|
unsigned int port_num = mp->port_num;
|
||||||
|
|
||||||
|
/* Mask all interrupts on ethernet port */
|
||||||
|
mv_write(MV643XX_ETH_INTERRUPT_MASK_REG(port_num), 0);
|
||||||
|
mv_read (MV643XX_ETH_INTERRUPT_MASK_REG(port_num));
|
||||||
|
|
||||||
|
eth_port_reset(port_num);
|
||||||
|
}
|
||||||
|
|
||||||
static struct platform_driver mv643xx_eth_driver = {
|
static struct platform_driver mv643xx_eth_driver = {
|
||||||
.probe = mv643xx_eth_probe,
|
.probe = mv643xx_eth_probe,
|
||||||
.remove = mv643xx_eth_remove,
|
.remove = mv643xx_eth_remove,
|
||||||
|
.shutdown = mv643xx_eth_shutdown,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = MV643XX_ETH_NAME,
|
.name = MV643XX_ETH_NAME,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user