netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: Mahesh Bandewar <maheshb@google.com>
Cc: David Miller <davem@davemloft.net>,
	netdev <netdev@vger.kernel.org>,
	Tom Herbert <therbert@google.com>
Subject: Re: [PATCH] net: Abstract features usage.
Date: Tue, 24 May 2011 16:11:38 -0700	[thread overview]
Message-ID: <20110524161138.55aed6b1@nehalam> (raw)
In-Reply-To: <BANLkTin48HKVRn6kG8SCZNfhyWVVhkBArg@mail.gmail.com>

On Tue, 24 May 2011 16:04:20 -0700
Mahesh Bandewar <maheshb@google.com> wrote:

> On Tue, May 24, 2011 at 2:29 PM, Stephen Hemminger
> <shemminger@vyatta.com> wrote:
> > On Tue, 24 May 2011 11:52:42 -0700
> > Mahesh Bandewar <maheshb@google.com> wrote:
> >
> >> Define macros to set/clear/test bits for feature set usage. This will eliminate
> >> the direct use of these fields and enable future ease in managing these fields.
> >>
> >> Signed-off-by: Mahesh Bandewar <maheshb@google.com>
> >> ---
> >>  include/linux/netdev_features.h |  137 +++++++++++++++++++++++++++++++++++++++
> >>  include/linux/netdevice.h       |   35 ++---------
> >>  2 files changed, 142 insertions(+), 30 deletions(-)
> >>  create mode 100644 include/linux/netdev_features.h
> >>
> >> diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h
> >> new file mode 100644
> >> index 0000000..97bf8c4
> >> --- /dev/null
> >> +++ b/include/linux/netdev_features.h
> >> @@ -0,0 +1,137 @@
> >> +#ifndef      _NETDEV_FEATURES_H
> >> +#define      _NETDEV_FEATURES_H
> >> +
> >> +/* Forward declarations */
> >> +struct net_device;
> >> +
> >> +typedef      unsigned long *nd_feature_t
> >
> > typedef'ing a pointer is strongly discouraged by kernel coding style.
> > You need to use another way such as open coding it.
> >
> The idea here is to have a typedef that we can use to avoid future
> changes all over the code if we decide to change the way feature bits
> are stored. So if this is bitmap it will be defined as "unsigned long
> *" and if it were to be u64 then it's typedef-ed as "u64". So in one
> case it's a pointer and in other case it's not! Now how do we handle
> both these cases?

It is okay to add a typedef for a fixed width type. 
Just not adding the indirection
because it leads to confusion.

Read "Chapter 5: Typedefs" in Documentation/CodingStyle



-- 

  reply	other threads:[~2011-05-24 23:11 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-24 18:52 [PATCH] net: Abstract features usage Mahesh Bandewar
2011-05-24 19:37 ` Michał Mirosław
2011-05-24 20:29   ` Mahesh Bandewar
2011-05-24 21:49     ` Michał Mirosław
2011-05-24 23:11       ` Mahesh Bandewar
2011-05-24 21:29 ` Stephen Hemminger
2011-05-24 23:04   ` Mahesh Bandewar
2011-05-24 23:11     ` Stephen Hemminger [this message]
2011-05-24 23:25       ` Mahesh Bandewar
2011-05-25  1:55 ` [PATCHv2] " Mahesh Bandewar
2011-05-25 22:43   ` [PATCHv3] " Mahesh Bandewar
2011-05-25  1:56 ` [PATCHv2] net: Define enum for the bits used in features Mahesh Bandewar
2011-05-25  7:58   ` Hagen Paul Pfeifer
2011-05-25  9:43   ` Michał Mirosław
2011-05-25  9:48     ` Michał Mirosław
2011-05-25 18:05     ` Mahesh Bandewar
2011-05-25 22:42   ` [PATCHv3] " Mahesh Bandewar
2011-05-26 10:40     ` Michał Mirosław
2011-05-27  9:25     ` [RFC PATCH] net: ethtool: use C99 array initialization for feature-names table Michał Mirosław
2011-06-04 20:34     ` [PATCHv3] net: Define enum for the bits used in features David Miller
2011-06-06  3:58       ` Michael S. Tsirkin
2011-06-06  5:15         ` David Miller
2011-06-06 15:32           ` Michael S. Tsirkin
2011-06-06 19:20             ` David Miller
2011-06-06 20:35               ` Michael S. Tsirkin
2011-06-09 16:46                 ` Michael S. Tsirkin
2011-06-09 20:12                   ` Michael S. Tsirkin
2011-06-08  6:55               ` Mahesh Bandewar
2011-06-06 15:48       ` Michał Mirosław

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110524161138.55aed6b1@nehalam \
    --to=shemminger@vyatta.com \
    --cc=davem@davemloft.net \
    --cc=maheshb@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=therbert@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).