static void rhine_shutdown (struct device *gendev) 
static void rhine_shutdown (struct pci_dev *pdev) 
static void rhine_shutdown (struct device *gendev){	struct pci_dev *pdev = to_pci_dev(gendev);	struct net_device *dev = pci_get_drvdata(pdev);	struct rhine_private *rp = netdev_priv(dev);	void __iomem *ioaddr = rp->base;	if (!(rp->quirks & rqWOL))		return; /* Nothing to do for non-WOL adapters */	rhine_power_init(dev);	/* Make sure we use pattern 0, 1 and not 4, 5 */	if (rp->quirks & rq6patterns)		iowrite8(0x04, ioaddr + 0xA7);	if (rp->wolopts & WAKE_MAGIC) {		iowrite8(WOLmagic, ioaddr + WOLcrSet);		/*		 * Turn EEPROM-controlled wake-up back on -- some hardware may		 * not cooperate otherwise.		 */		iowrite8(ioread8(ioaddr + ConfigA) | 0x03, ioaddr + ConfigA);	}	if (rp->wolopts & (WAKE_BCAST|WAKE_MCAST))		iowrite8(WOLbmcast, ioaddr + WOLcgSet);	if (rp->wolopts & WAKE_PHY)		iowrite8(WOLlnkon | WOLlnkoff, ioaddr + WOLcrSet);	if (rp->wolopts & WAKE_UCAST)		iowrite8(WOLucast, ioaddr + WOLcrSet);	if (rp->wolopts) {		/* Enable legacy WOL (for old motherboards) */		iowrite8(0x01, ioaddr + PwcfgSet);		iowrite8(ioread8(ioaddr + StickyHW) | 0x04, ioaddr + StickyHW);	}	/* Hit power state D3 (sleep) */	iowrite8(ioread8(ioaddr + StickyHW) | 0x03, ioaddr + StickyHW);	/* TODO: Check use of pci_enable_wake() */}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d18c3db58bc544fce6662ca7edba616ca9788a70/via-rhine.c/buggy/drivers/net/via-rhine.c