From: Joe Perches <joe@perches.com>
To: Steffen Maier <maier@linux.vnet.ibm.com>,
Andy Whitcroft <apw@canonical.com>,
linux-kernel@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Subject: Re: [PATCH v2] checkpatch: [HLP]LIST_HEAD is also declaration
Date: Wed, 14 Jun 2017 06:49:11 -0700 [thread overview]
Message-ID: <1497448151.18751.53.camel@perches.com> (raw)
In-Reply-To: <bc6acd66-af18-951e-d2a5-24ca71f1e615@linux.vnet.ibm.com>
On Wed, 2017-06-14 at 15:43 +0200, Steffen Maier wrote:
> Sorry, only realized after sending v2, that you also mentioned SLIST_HEAD, which I haven't found on git grep'ing include/ only.
>
> I could only find SLIST_HEAD (and even another variant) in some driver private header.
> Am I searching in a wrong way?
> If not, shall we still add this like the other official list APIs?
No worries.
checkpatch is not and never will be free of false-positives.
I had done git grep -E "define\s+[A-Z]?LIST_HEAD" and
listed the results but I wouldn't bother with SLIST_HEAD.
It's private to one driver.
> Linus' tree at:
> $ git branch -vv
> * master 63f700aab4c1 [origin/master] Merge tag 'xtensa-20170612' of git://github.com/jcmvbkbc/linux-xtensa
>
> $ git grep 'define.*LIST_HEAD('
> drivers/gpu/drm/nouveau/include/nvif/list.h:124:#define LIST_HEAD(name) \
> drivers/gpu/drm/radeon/mkregtable.c:47:#define LIST_HEAD(name) \
> drivers/scsi/aic7xxx/queue.h:107:#define SLIST_HEAD(name, type) \
> drivers/scsi/aic7xxx/queue.h:249:#define BSD_LIST_HEAD(name, type) \
> include/linux/list.h:22:#define LIST_HEAD(name) \
> include/linux/list.h:625:#define HLIST_HEAD(name) struct hlist_head name = { .first = NULL }
> include/linux/list.h:626:#define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL)
> include/linux/llist.h:75:#define LLIST_HEAD(name) struct llist_head name = LLIST_HEAD_INIT(name)
> include/linux/plist.h:104:#define PLIST_HEAD(head) \
> include/linux/shm.h:57:#define shm_init_task(task) INIT_LIST_HEAD(&(task)->sysvshm.shm_clist)
> scripts/kconfig/list.h:30:#define LIST_HEAD(name) \
> tools/include/linux/list.h:21:#define LIST_HEAD(name) \
> tools/include/linux/list.h:595:#define HLIST_HEAD(name) struct hlist_head name = { .first = NULL }
> tools/include/linux/list.h:596:#define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL)
> tools/usb/usbip/libsrc/list.h:24:#define LIST_HEAD(name) \
>
>
> On 06/14/2017 03:35 PM, Steffen Maier wrote:
> > Fixes the following false warning
> > among others for LLIST_HEAD and PLIST_HEAD:
> >
> > WARNING: Missing a blank line after declarations
> > #71: FILE: drivers/s390/scsi/zfcp_fsf.c:422:
> > + struct hlist_node *tmp;
> > + HLIST_HEAD(remove_queue);
> >
> > Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
> > ---
> > Changes from v1:
> > Extended it to also support LLIST_HEAD and PLIST_HEAD as suggested by
> > Joe Perches.
> >
> > scripts/checkpatch.pl | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > index 4b9569fa931b..86818b0ba8be 100755
> > --- a/scripts/checkpatch.pl
> > +++ b/scripts/checkpatch.pl
> > @@ -732,7 +732,7 @@ our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant|$String)};
> >
> > our $declaration_macros = qr{(?x:
> > (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(|
> > - (?:$Storage\s+)?LIST_HEAD\s*\(|
> > + (?:$Storage\s+)?[HLP]?LIST_HEAD\s*\(|
> > (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\(
> > )};
> >
>
>
prev parent reply other threads:[~2017-06-14 13:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-14 10:16 [PATCH] checkpatch: HLIST_HEAD is also declaration Steffen Maier
2017-06-14 10:41 ` Joe Perches
2017-06-14 10:45 ` Joe Perches
2017-06-14 13:35 ` [PATCH v2] checkpatch: [HLP]LIST_HEAD " Steffen Maier
2017-06-14 13:39 ` Joe Perches
2017-06-14 13:43 ` Steffen Maier
2017-06-14 13:49 ` Joe Perches [this message]
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=1497448151.18751.53.camel@perches.com \
--to=joe@perches.com \
--cc=apw@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=maier@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.