From patchwork Sat May 9 23:06:54 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Beregalov X-Patchwork-Id: 27032 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@bilbo.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from ozlabs.org (ozlabs.org [203.10.76.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mx.ozlabs.org", Issuer "CA Cert Signing Authority" (verified OK)) by bilbo.ozlabs.org (Postfix) with ESMTPS id E2F1CB6F35 for ; Sun, 10 May 2009 09:07:58 +1000 (EST) Received: by ozlabs.org (Postfix) id D21E4DDDF0; Sun, 10 May 2009 09:07:58 +1000 (EST) Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 749A3DDDEE for ; Sun, 10 May 2009 09:07:58 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751494AbZEIXHr (ORCPT ); Sat, 9 May 2009 19:07:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752711AbZEIXHr (ORCPT ); Sat, 9 May 2009 19:07:47 -0400 Received: from fg-out-1718.google.com ([72.14.220.152]:42282 "EHLO fg-out-1718.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751494AbZEIXHo (ORCPT ); Sat, 9 May 2009 19:07:44 -0400 Received: by fg-out-1718.google.com with SMTP id 16so704156fgg.17 for ; Sat, 09 May 2009 16:07:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer; bh=tpK8bAQWvaIL1ebVa6S5/P/qBlTyTZ0NztIOUG0LHP4=; b=JNqLo+vXhJdZ9uXoSFzFOBuZ332QX4jPHfm47pEi/9icOt2pRjqSrP6lrWYnjY54Ll MEErKP85W4WZG+7lOKuK79/CuGVRWqsUtt8tsTCoA5pbMEVkcr/WrjCQeArhrmxrizxZ yxtDtclih40P5GAulYoa6eZgjyC6cnwqHbVGU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=we03eH7n0P1W9WSgh5gvfkGVMnmkKhI38G701KbVcfd5acTxWRz8P3oXqb5E5qm15E Er8Guls1Jik75QycWcg3LOuaqr7+kagVF+Xiy0jncrof/BoEJIixqUpNr1TkF1Y2tD2I fgdnlk9EbQwFdz5KHsMI1tv6+7xkH0//Xi3u4= Received: by 10.86.86.10 with SMTP id j10mr4462227fgb.37.1241910462318; Sat, 09 May 2009 16:07:42 -0700 (PDT) Received: from localhost.localdomain (ppp91-78-156-225.pppoe.mtu-net.ru [91.78.156.225]) by mx.google.com with ESMTPS id e20sm1729104fga.5.2009.05.09.16.07.40 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 09 May 2009 16:07:41 -0700 (PDT) From: Alexander Beregalov To: gregkh@suse.de, davem@davemloft.net Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Alexander Beregalov Subject: [PATCH] Staging: rtl8187se: convert to net_device_ops Date: Sun, 10 May 2009 03:06:54 +0400 Message-Id: <1241910414-7389-1-git-send-email-a.beregalov@gmail.com> X-Mailer: git-send-email 1.6.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Alexander Beregalov Acked-by: David S. Miller --- drivers/staging/rtl8187se/Kconfig | 2 +- .../staging/rtl8187se/ieee80211/ieee80211_module.c | 1 - drivers/staging/rtl8187se/r8180_core.c | 25 ++++++++++++-------- drivers/staging/rtl8187se/r8180_pm.c | 6 +++- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8187se/Kconfig b/drivers/staging/rtl8187se/Kconfig index f636296..236e427 100644 --- a/drivers/staging/rtl8187se/Kconfig +++ b/drivers/staging/rtl8187se/Kconfig @@ -1,6 +1,6 @@ config RTL8187SE tristate "RealTek RTL8187SE Wireless LAN NIC driver" depends on PCI - depends on WIRELESS_EXT && COMPAT_NET_DEV_OPS + depends on WIRELESS_EXT default N ---help--- diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c index 0c9fef0..c2b61e6 100644 --- a/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c +++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c @@ -114,7 +114,6 @@ struct net_device *alloc_ieee80211(int sizeof_priv) goto failed; } ieee = netdev_priv(dev); - dev->hard_start_xmit = ieee80211_xmit; ieee->dev = dev; diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c index e10413c..7e2feca 100644 --- a/drivers/staging/rtl8187se/r8180_core.c +++ b/drivers/staging/rtl8187se/r8180_core.c @@ -198,7 +198,8 @@ static void __devexit rtl8180_pci_remove(struct pci_dev *pdev); static void rtl8180_shutdown (struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - dev->stop(dev); + if (dev->netdev_ops->ndo_stop) + dev->netdev_ops->ndo_stop(dev); pci_disable_device(pdev); } @@ -4551,8 +4552,6 @@ short rtl8180_init(struct net_device *dev) //DMESG("Reported EEPROM chip is a 93c46 (1Kbit)"); } - dev->get_stats = rtl8180_stats; - dev->dev_addr[0]=eprom_read(dev,MAC_ADR) & 0xff; dev->dev_addr[1]=(eprom_read(dev,MAC_ADR) & 0xff00)>>8; dev->dev_addr[2]=eprom_read(dev,MAC_ADR+1) & 0xff; @@ -5832,6 +5831,18 @@ int rtl8180_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) -----------------------------PCI STUFF--------------------------- *****************************************************************************/ +static const struct net_device_ops rtl8180_netdev_ops = { + .ndo_open = rtl8180_open, + .ndo_stop = rtl8180_close, + .ndo_get_stats = rtl8180_stats, + .ndo_tx_timeout = rtl8180_restart, + .ndo_do_ioctl = rtl8180_ioctl, + .ndo_set_multicast_list = r8180_set_multicast, + .ndo_set_mac_address = r8180_set_mac_adr, + .ndo_validate_addr = eth_validate_addr, + .ndo_change_mtu = eth_change_mtu, + .ndo_start_xmit = ieee80211_xmit, +}; static int __devinit rtl8180_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -5936,14 +5947,8 @@ static int __devinit rtl8180_pci_probe(struct pci_dev *pdev, dev->irq = pdev->irq; priv->irq = 0; - dev->open = rtl8180_open; - dev->stop = rtl8180_close; - //dev->hard_start_xmit = ieee80211_xmit; - dev->tx_timeout = rtl8180_restart; + dev->netdev_ops = &rtl8180_netdev_ops; dev->wireless_handlers = &r8180_wx_handlers_def; - dev->do_ioctl = rtl8180_ioctl; - dev->set_multicast_list = r8180_set_multicast; - dev->set_mac_address = r8180_set_mac_adr; #if WIRELESS_EXT >= 12 #if WIRELESS_EXT < 17 diff --git a/drivers/staging/rtl8187se/r8180_pm.c b/drivers/staging/rtl8187se/r8180_pm.c index 3851b93..2b3d642 100644 --- a/drivers/staging/rtl8187se/r8180_pm.c +++ b/drivers/staging/rtl8187se/r8180_pm.c @@ -30,7 +30,8 @@ int rtl8180_suspend (struct pci_dev *pdev, pm_message_t state) if (!netif_running(dev)) goto out_pci_suspend; - dev->stop(dev); + if (dev->netdev_ops->ndo_stop) + dev->netdev_ops->ndo_stop(dev); netif_device_detach(dev); @@ -71,7 +72,8 @@ int rtl8180_resume (struct pci_dev *pdev) if(!netif_running(dev)) goto out; - dev->open(dev); + if (dev->netdev_ops->ndo_open) + dev->netdev_ops->ndo_open(dev); netif_device_attach(dev); out: return 0;