From: 'Greg Kroah-Hartman' <gregkh@linuxfoundation.org>
To: Joe Perches <joe@perches.com>
Cc: Jingoo Han <jg1.han@samsung.com>,
linux-kernel@vger.kernel.org,
'Andrew Morton' <akpm@linux-foundation.org>,
'Andy Whitcroft' <apw@canonical.com>,
linux-serial@vger.kernel.org
Subject: Re: [PATCH 1/5] serial: 8250_pci: use DEFINE_PCI_DEVICE_TABLE macro
Date: Wed, 27 Nov 2013 21:53:28 -0800 [thread overview]
Message-ID: <20131128055328.GA565@kroah.com> (raw)
In-Reply-To: <1385617213.12210.5.camel@joe-AO722>
On Wed, Nov 27, 2013 at 09:40:13PM -0800, Joe Perches wrote:
> On Thu, 2013-11-28 at 14:29 +0900, Jingoo Han wrote:
> > On Thursday, November 28, 2013 1:08 PM, Greg Kroah-Hartman wrote:
> > > On Thu, Nov 28, 2013 at 10:55:35AM +0900, Jingoo Han wrote:
> > > > This macro is used to create a struct pci_device_id array.
> > >
> > > Yeah, and it's a horrid macro that deserves to be removed, please don't
> > > use it in more places.
> > >
> > > Actually, if you could just remove it, that would be best, sorry, I'm
> > > not going to take these patches.
> >
> > (+cc Joe Perches, Andrew Morton, Andy Whitcroft)
> >
> > Hi Joe Perches,
> >
> > Would you fix checkpatch.pl about DEFINE_PCI_DEVICE_TABLE?
> > Currently, checkpatch.pl guides to use DEFINE_PCI_DEVICE_TABLE
> > as below.
> >
> > WARNING: Use DEFINE_PCI_DEVICE_TABLE for struct pci_device_id
> > #331: FILE: drivers/usb/host/ehci-pci.c:331:
> > +static const struct pci_device_id pci_ids [] = { {
> >
> > However, Greg Kroah-Hartman mentioned that DEFINE_PCI_DEVICE_TABLE
> > shouldn't be used anymore.
> >
> > So, would you change checkpatch.pl in order to guide to use
> > struct pci_device_id instead of DEFINE_PCI_DEVICE_TABLE?
> >
> > For example,
> > WARNING: Use struct pci_device_id instead of DEFINE_PCI_DEVICE_TABLE
>
> The documentation doesn't agree with Greg.
>
> Documentation/PCI/pci.txt:
>
> The ID table is an array of struct pci_device_id entries ending with an
> all-zero entry; use of the macro DEFINE_PCI_DEVICE_TABLE is the preferred
> method of declaring the table.
Then it should be fixed.
> Neither does the kernel tree:
>
> $ git grep -w DEFINE_PCI_DEVICE_TABLE | wc -l
> 410
>
> $ git grep -E "\bstruct\s+pci_device_id\s+\w+\s*\[\s*\]\s*=" | wc -l
> 376
>
> Most of the 376 should be const and are not.
>
> $ git grep -E "\bconst\s+struct\s+pci_device_id\s+\w+\s*\[\s*\]\s*=" | wc -l
> 155
Then fix those and make them const.
Hiding structures behind an odd (and misnamed) macro isn't the best
thing.
> Everything that uses DEFINE_PCI_DEVICE_TABLE is const.
>
> $ git grep -A1 -E "define\s+DEFINE_PCI_DEVICE_TABLE"
> include/linux/pci.h:#define DEFINE_PCI_DEVICE_TABLE(_table) \
> include/linux/pci.h- const struct pci_device_id _table[]
I say just remove it, I should have done that years ago when I was the
PCI maintainer, just never got around to it. No other bus has something
like this for their device ids, why should PCI be "special"?
thanks,
greg k-h
next prev parent reply other threads:[~2013-11-28 5:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-28 1:55 [PATCH 1/5] serial: 8250_pci: use DEFINE_PCI_DEVICE_TABLE macro Jingoo Han
2013-11-28 1:57 ` [PATCH 2/5] serial: icom: " Jingoo Han
2013-11-28 1:58 ` [PATCH 3/5] serial: jsm: " Jingoo Han
2013-11-28 11:35 ` Thadeu Lima de Souza Cascardo
2013-11-29 0:53 ` Jingoo Han
2013-11-28 1:59 ` [PATCH 4/5] serial: mfd: " Jingoo Han
2013-11-28 2:00 ` [PATCH 5/5] serial: txx9: " Jingoo Han
2013-11-28 4:07 ` [PATCH 1/5] serial: 8250_pci: " 'Greg Kroah-Hartman'
2013-11-28 4:32 ` Jingoo Han
2013-11-28 5:29 ` Jingoo Han
2013-11-28 5:40 ` Joe Perches
2013-11-28 5:53 ` 'Greg Kroah-Hartman' [this message]
2013-11-28 6:24 ` Joe Perches
2013-11-29 1:33 ` Jingoo Han
2013-12-02 0:07 ` Jingoo Han
2013-12-02 0:07 ` Jingoo Han
2013-12-02 3:45 ` Guenter Roeck
2013-12-02 3:50 ` Jingoo Han
2013-12-02 3:55 ` Guenter Roeck
2013-12-02 4:03 ` Jingoo Han
2013-12-02 5:48 ` Joe Perches
2013-12-02 10:44 ` Jonas Bonn
2013-12-02 17:43 ` [PATCH] pci/checkpatch: Deprecate DEFINE_PCI_DEVICE_TABLE Joe Perches
2013-12-02 18:01 ` Guenter Roeck
2013-12-02 18:07 ` Joe Perches
2013-12-03 1:52 ` Jingoo Han
2013-12-13 18:39 ` Bjorn Helgaas
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=20131128055328.GA565@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=apw@canonical.com \
--cc=jg1.han@samsung.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/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.