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: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <000601ceebdc$ee148de0$ca3da9a0$%han@samsung.com>
[not found] ` <20131128040750.GA29917@kroah.com>
2013-11-28 5:29 ` [PATCH 1/5] serial: 8250_pci: use DEFINE_PCI_DEVICE_TABLE macro 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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox