From: Bjorn Helgaas <bhelgaas@google.com>
To: Joe Perches <joe@perches.com>
Cc: Jonas Bonn <jonas@southpole.se>, Jingoo Han <jg1.han@samsung.com>,
'Guenter Roeck' <linux@roeck-us.net>,
'Greg Kroah-Hartman' <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
'Andrew Morton' <akpm@linux-foundation.org>,
'Andy Whitcroft' <apw@canonical.com>,
linux-serial@vger.kernel.org
Subject: Re: [PATCH] pci/checkpatch: Deprecate DEFINE_PCI_DEVICE_TABLE
Date: Fri, 13 Dec 2013 11:39:05 -0700 [thread overview]
Message-ID: <20131213183905.GA6746@google.com> (raw)
In-Reply-To: <1386006217.2680.13.camel@joe-AO722>
On Mon, Dec 02, 2013 at 09:43:37AM -0800, Joe Perches wrote:
> Prefer use of the direct definition of struct pci_device_id
> instead of indirection via macro DEFINE_PCI_DEVICE_TABLE.
>
> Update the PCI documentation to deprecate DEFINE_PCI_DEVICE_TABLE.
> Update checkpatch adding --fix option.
>
> Signed-off-by: Joe Perches <joe@perches.com>
Applied with Jingoo's ack for v3.14, thanks!
Bjorn
> ---
> Documentation/PCI/pci.txt | 6 ++++--
> include/linux/pci.h | 3 +--
> scripts/checkpatch.pl | 11 +++++++----
> 3 files changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/PCI/pci.txt b/Documentation/PCI/pci.txt
> index 6f45856..9518006 100644
> --- a/Documentation/PCI/pci.txt
> +++ b/Documentation/PCI/pci.txt
> @@ -123,8 +123,10 @@ initialization with a pointer to a structure describing the driver
>
>
> 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. Definitions with static const are generally preferred.
> +Use of the deprecated macro DEFINE_PCI_DEVICE_TABLE should be avoided.
> +
> +Each entry consists of:
>
> vendor,device Vendor and device ID to match (or PCI_ANY_ID)
>
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 1084a15..88674b0 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -634,8 +634,7 @@ struct pci_driver {
> * DEFINE_PCI_DEVICE_TABLE - macro used to describe a pci device table
> * @_table: device table name
> *
> - * This macro is used to create a struct pci_device_id array (a device table)
> - * in a generic manner.
> + * This macro is deprecated and should not be used in new code.
> */
> #define DEFINE_PCI_DEVICE_TABLE(_table) \
> const struct pci_device_id _table[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 38be5d5..6f883f0 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2643,10 +2643,13 @@ sub process {
> }
> }
>
> -# check for declarations of struct pci_device_id
> - if ($line =~ /\bstruct\s+pci_device_id\s+\w+\s*\[\s*\]\s*\=\s*\{/) {
> - WARN("DEFINE_PCI_DEVICE_TABLE",
> - "Use DEFINE_PCI_DEVICE_TABLE for struct pci_device_id\n" . $herecurr);
> +# check for uses of DEFINE_PCI_DEVICE_TABLE
> + if ($line =~ /\bDEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=/) {
> + if (WARN("DEFINE_PCI_DEVICE_TABLE",
> + "Prefer struct pci_device_id over deprecated DEFINE_PCI_DEVICE_TABLE\n" . $herecurr) &&
> + $fix) {
> + $fixed[$linenr - 1] =~ s/\b(?:static\s+|)DEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=\s*/static const struct pci_device_id $1\[\] = /;
> + }
> }
>
> # check for new typedefs, only function parameters and sparse annotations
>
>
prev parent reply other threads:[~2013-12-13 18:39 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'
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 [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=20131213183905.GA6746@google.com \
--to=bhelgaas@google.com \
--cc=akpm@linux-foundation.org \
--cc=apw@canonical.com \
--cc=gregkh@linuxfoundation.org \
--cc=jg1.han@samsung.com \
--cc=joe@perches.com \
--cc=jonas@southpole.se \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@roeck-us.net \
/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.