Re: [PATCH 1/5] serial: 8250_pci: use DEFINE_PCI_DEVICE_TABLE macro

From: Guenter Roeck
Date: Sun Dec 01 2013 - 22:46:08 EST


On 12/01/2013 04:07 PM, Jingoo Han wrote:
On Friday, November 29, 2013 10:34 AM, Jingoo Han wrote:
On Thursday, November 28, 2013 3:24 PM, Joe Perches wrote:
On Wed, 2013-11-27 at 21:53 -0800, 'Greg Kroah-Hartman' wrote:
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.
[]
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"?

Anyone else have an opinion?

I don't care one way or another, but please, one way
not two.


Same here.

(+cc Bjorn Helgaas, linux-pci)

Then, how about the following steps?

1. Fix ./Documentation/PCI/pci.txt as below.
(Jingoo Han)
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. Each entry consists of:
+all-zero entry; Each entry consists of:

2. Fix ./scripts/checkpatch.pl in order to guide to use
struct pci_device_id instead of DEFINE_PCI_DEVICE_TABLE.
(Joe Perches)

If all DEFINE_PCI_DEVICE_TABLEs are replaced with 'const struct pci_device_id'
and these patches are merged through 'driver-core.git', it will be not
necessary to fix ./scripts/checkpatch.pl.

Why not ?

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/