From patchwork Sun Mar 29 02:51:23 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Beregalov X-Patchwork-Id: 25268 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org 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 D1A33DDDFF for ; Sun, 29 Mar 2009 14:01:42 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755023AbZC2Cvc (ORCPT ); Sat, 28 Mar 2009 22:51:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754540AbZC2Cvb (ORCPT ); Sat, 28 Mar 2009 22:51:31 -0400 Received: from mail-fx0-f158.google.com ([209.85.220.158]:58547 "EHLO mail-fx0-f158.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753445AbZC2Cva (ORCPT ); Sat, 28 Mar 2009 22:51:30 -0400 Received: by fxm2 with SMTP id 2so1508460fxm.37 for ; Sat, 28 Mar 2009 19:51:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=h4su06LoYZBid8TltyyqxG6OtvofvJ8ZdVW8Z3sf+p0=; b=erFbiiMKryuGg62j2eiMyqSg6i3BqPfyQ5LNogeTtp9iiTY0TvjzT+CqnQBADmjGys Vtb+bDOgqOWYUPWZHpKkeEHhPvT+Ksbva9cFyTvYLBP0I9utluq5bbj/hwEim3OwPCid 1SOb4nMoBRAkoLeEUiNe2EIzXhNKh9bWXsy28= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=MgB5z1nb8X2QzIEhkhWH+6ixf4NVEJHjRZcXIaQlnviezFYZn8CjDgE5MTlvfLYKO2 HQ+ucZEgVv7CHbHHWSa4en83DgY8iusrteUn5ZwGU7SaU8sWfx0mbMqXUa625bpt3Z8/ 3XqOzCRLrfylNtH/6KtWxUUvrTeBcxHiPs3gs= Received: by 10.86.36.17 with SMTP id j17mr3266607fgj.36.1238295087755; Sat, 28 Mar 2009 19:51:27 -0700 (PDT) Received: from orion (ppp85-140-245-5.pppoe.mtu-net.ru [85.140.245.5]) by mx.google.com with ESMTPS id e20sm2186592fga.4.2009.03.28.19.51.26 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 28 Mar 2009 19:51:27 -0700 (PDT) Date: Sun, 29 Mar 2009 06:51:23 +0400 From: Alexander Beregalov To: David Miller Cc: netdev@vger.kernel.org, shemminger@vyatta.com Subject: Re: [PATCH] ni5010: convert to net_device_ops Message-ID: <20090329025123.GA26722@orion> References: <20090329022613.GA30897@orion> <20090328.193604.230866790.davem@davemloft.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20090328.193604.230866790.davem@davemloft.net> User-Agent: Mutt/1.5.19 (2009-01-05) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Sat, Mar 28, 2009 at 07:36:04PM -0700, David Miller wrote: > From: Alexander Beregalov > Date: Sun, 29 Mar 2009 06:26:13 +0400 > > > @@ -189,6 +189,14 @@ static void __init trigger_irq(int ioaddr) > > outb(MM_EN_XMT|MM_MUX, IE_MMODE); /* Start transmission */ > > } > > > > +static const struct net_device_ops ni5010_netdev_ops = { > > + .ndo_open = ni5010_open, > > + .ndo_stop = ni5010_close, > > + .ndo_start_xmit = ni5010_send_packet, > > + .ndo_set_multicast_list = ni5010_set_multicast_list, > > + .ndo_tx_timeout = ni5010_timeout, > > +}; > > Missing: > > .ndo_change_mtu = eth_change_mtu, > .ndo_set_mac_address = eth_mac_addr, > .ndo_validate_addr = eth_validate_addr, > > as would have been initialized to dev->foo by alloc_etherdev(). Ok, thanks. Subject: [PATCH] ni5010: convert to net_device_ops From: Alexander Beregalov Signed-off-by: Alexander Beregalov --- drivers/net/ni5010.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/ni5010.c b/drivers/net/ni5010.c index 539e18a..2a8da47 100644 --- a/drivers/net/ni5010.c +++ b/drivers/net/ni5010.c @@ -189,6 +189,17 @@ static void __init trigger_irq(int ioaddr) outb(MM_EN_XMT|MM_MUX, IE_MMODE); /* Start transmission */ } +static const struct net_device_ops ni5010_netdev_ops = { + .ndo_open = ni5010_open, + .ndo_stop = ni5010_close, + .ndo_start_xmit = ni5010_send_packet, + .ndo_set_multicast_list = ni5010_set_multicast_list, + .ndo_tx_timeout = ni5010_timeout, + .ndo_validate_addr = eth_validate_addr, + .ndo_set_mac_address = eth_mac_addr, + .ndo_change_mtu = eth_change_mtu, +}; + /* * This is the real probe routine. Linux has a history of friendly device * probes on the ISA bus. A good device probes avoids doing writes, and @@ -328,13 +339,8 @@ static int __init ni5010_probe1(struct net_device *dev, int ioaddr) outb(0, IE_RBUF); /* set buffer byte 0 to 0 again */ } printk("-> bufsize rcv/xmt=%d/%d\n", bufsize_rcv, NI5010_BUFSIZE); - memset(netdev_priv(dev), 0, sizeof(struct ni5010_local)); - dev->open = ni5010_open; - dev->stop = ni5010_close; - dev->hard_start_xmit = ni5010_send_packet; - dev->set_multicast_list = ni5010_set_multicast_list; - dev->tx_timeout = ni5010_timeout; + dev->netdev_ops = &ni5010_netdev_ops; dev->watchdog_timeo = HZ/20; dev->flags &= ~IFF_MULTICAST; /* Multicast doesn't work */