From f23e7fdad166a4968f1f7f56964b75acfdcf57a4 Mon Sep 17 00:00:00 2001 From: Francois Romieu Date: Thu, 4 Oct 2007 22:36:14 +0200 Subject: r8169: convert bitfield to plain enum mask Signed-off-by: Francois Romieu Cc: Edward Hsu --- drivers/net/r8169.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'drivers/net/r8169.c') diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 9c11087d3e87..16ecba15830d 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -381,6 +381,10 @@ struct ring_info { u8 __pad[sizeof(void *) - sizeof(u32)]; }; +enum features { + RTL_FEATURE_WOL = (1 << 0), +}; + struct rtl8169_private { void __iomem *mmio_addr; /* memory map physical address */ struct pci_dev *pci_dev; /* Index of PCI device */ @@ -421,7 +425,7 @@ struct rtl8169_private { unsigned int (*phy_reset_pending)(void __iomem *); unsigned int (*link_ok)(void __iomem *); struct delayed_work task; - unsigned wol_enabled : 1; + unsigned features; }; MODULE_AUTHOR("Realtek and the Linux r8169 crew "); @@ -627,7 +631,10 @@ static int rtl8169_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) RTL_W8(Cfg9346, Cfg9346_Lock); - tp->wol_enabled = (wol->wolopts) ? 1 : 0; + if (wol->wolopts) + tp->features |= RTL_FEATURE_WOL; + else + tp->features &= ~RTL_FEATURE_WOL; spin_unlock_irq(&tp->lock); @@ -3045,7 +3052,8 @@ static int rtl8169_suspend(struct pci_dev *pdev, pm_message_t state) out_pci_suspend: pci_save_state(pdev); - pci_enable_wake(pdev, pci_choose_state(pdev, state), tp->wol_enabled); + pci_enable_wake(pdev, pci_choose_state(pdev, state), + (tp->features & RTL_FEATURE_WOL) ? 1 : 0); pci_set_power_state(pdev, pci_choose_state(pdev, state)); return 0; -- cgit v1.2.1