[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070611151915.398add18@localhost.localdomain>
Date: Mon, 11 Jun 2007 15:19:15 -0700
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Auke Kok <auke-jan.h.kok@...el.com>
Cc: netdev@...r.kernel.org, jeff@...zik.org, davem@...emloft.net,
arjan@...ux.intel.com, joe@...ches.com
Subject: Re: [PATCH 1/2] [RFC] NET: Implement a standard ndev_printk family
On Mon, 11 Jun 2007 14:37:21 -0700
Auke Kok <auke-jan.h.kok@...el.com> wrote:
> A lot of netdevices implement their own variant of printk and use
> use variations of dev_printk, printk or others that use msg_enable,
> which has been an eyesore with countless variations across drivers.
>
> This patch implements a standard ndev_printk and derivatives
> such as ndev_err, ndev_info, ndev_warn that allows drivers to
> transparently use both the msg_enable and a generic netdevice
> message layout. It moves the msg_enable over to the net_device
> struct and allows drivers to obsolete ethtool handling code of
> the msg_enable value.
>
> The current code has each driver contain a copy of msg_enable and
> handle the setting/changing through ethtool that way. Since the
> netdev name is stored in the net_device struct, those two are
> not coherently available in a uniform way across all drivers (a
> single macro or function would not work since all drivers name
> their net_device members differently). This makes netdevice
> driver writes reinvent the wheel over and over again.
>
> It thus makes sense to move msg_enable to the net_device. This
> gives us the opportunity to (1) initialize it by default with a
> globally sane value, (2) remove msg_enable handling code w/r
> ethtool for drivers that know and use the msg_enable member
> of the net_device struct. (3) Ethtool code can just modify the
> net_device msg_enable for drivers that do not have custom
> msg_enable get/set handlers so converted drivers lose some
> code for that as well.
>
> Signed-off-by: Auke Kok <auke-jan.h.kok@...el.com>
> ---
>
> include/linux/netdevice.h | 38 ++++++++++++++++++++++++++++++++++++++
> net/core/dev.c | 5 +++++
> net/core/ethtool.c | 14 +++++++-------
> 3 files changed, 50 insertions(+), 7 deletions(-)
>
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index 3a70f55..d185f41 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -540,6 +540,8 @@ struct net_device
> struct device dev;
> /* space for optional statistics and wireless sysfs groups */
> struct attribute_group *sysfs_groups[3];
> +
> + int msg_enable;
> };
Since msg_enable is used as bits, it should be unsigned (probably unsigned long).
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists