Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1435881 > unrolled thread

[PATCH 14/14] PCI: xgene: make it explicitly non-modular

Started byPaul Gortmaker <paul.gortmaker@windriver.com>
First post2016-07-03 01:20 +0200
Last post2016-07-10 01:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 14/14] PCI: xgene: make it explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-07-03 01:20 +0200
    Re: [PATCH 14/14] PCI: xgene: make it explicitly non-modular Duc Dang <dhdang@apm.com> - 2016-07-08 00:50 +0200
      Re: [PATCH 14/14] PCI: xgene: make it explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-07-10 01:20 +0200

#1435881 — [PATCH 14/14] PCI: xgene: make it explicitly non-modular

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2016-07-03 01:20 +0200
Subject[PATCH 14/14] PCI: xgene: make it explicitly non-modular
Message-ID<rQCmC-1hQ-15@gated-at.bofh.it>
The Kconfig currently controlling compilation of this code is:

drivers/pci/host/Kconfig:config PCI_XGENE
drivers/pci/host/Kconfig:       bool "X-Gene PCIe controller"

...meaning that it currently is not being built as a module by anyone.

Lets remove the few trace uses of modular code and macros, so that
when reading the driver there is no doubt it is builtin-only.

Since module_platform_driver() uses the same init level priority as
builtin_platform_driver() the init ordering remains unchanged with
this commit.

We also delete the MODULE_LICENSE tag etc. since all that information
is already contained at the top of the file in the comments.

Cc: Tanmay Inamdar <tinamdar@apm.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/pci/host/pci-xgene.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
index 7eb20cc76dd3..a81273c23341 100644
--- a/drivers/pci/host/pci-xgene.c
+++ b/drivers/pci/host/pci-xgene.c
@@ -21,7 +21,7 @@
 #include <linux/io.h>
 #include <linux/jiffies.h>
 #include <linux/memblock.h>
-#include <linux/module.h>
+#include <linux/init.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_irq.h>
@@ -579,8 +579,4 @@ static struct platform_driver xgene_pcie_driver = {
 	},
 	.probe = xgene_pcie_probe_bridge,
 };
-module_platform_driver(xgene_pcie_driver);
-
-MODULE_AUTHOR("Tanmay Inamdar <tinamdar@apm.com>");
-MODULE_DESCRIPTION("APM X-Gene PCIe driver");
-MODULE_LICENSE("GPL v2");
+builtin_platform_driver(xgene_pcie_driver);
-- 
2.8.4

[toc] | [next] | [standalone]


#1438994

FromDuc Dang <dhdang@apm.com>
Date2016-07-08 00:50 +0200
Message-ID<rSqhk-4FB-35@gated-at.bofh.it>
In reply to#1435881
On Thu, Jul 7, 2016 at 3:35 PM, Tanmay Inamdar <tinamdar@apm.com> wrote:
>
>
> On Sat, Jul 2, 2016 at 4:13 PM, Paul Gortmaker
> <paul.gortmaker@windriver.com> wrote:
>>
>> The Kconfig currently controlling compilation of this code is:
>>
>> drivers/pci/host/Kconfig:config PCI_XGENE
>> drivers/pci/host/Kconfig:       bool "X-Gene PCIe controller"
>>
>> ...meaning that it currently is not being built as a module by anyone.
>>
>> Lets remove the few trace uses of modular code and macros, so that
>> when reading the driver there is no doubt it is builtin-only.
>>
>> Since module_platform_driver() uses the same init level priority as
>> builtin_platform_driver() the init ordering remains unchanged with
>> this commit.
>>
>> We also delete the MODULE_LICENSE tag etc. since all that information
>> is already contained at the top of the file in the comments.
>>
>> Cc: Tanmay Inamdar <tinamdar@apm.com>
>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: linux-pci@vger.kernel.org
>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Thanks for taking care of this, Paul.

I tested your patch and it worked fine on my X-Gene Mustang board.

One minor comment below.

>> ---
>>  drivers/pci/host/pci-xgene.c | 8 ++------
>>  1 file changed, 2 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
>> index 7eb20cc76dd3..a81273c23341 100644
>> --- a/drivers/pci/host/pci-xgene.c
>> +++ b/drivers/pci/host/pci-xgene.c
>> @@ -21,7 +21,7 @@
>>  #include <linux/io.h>
>>  #include <linux/jiffies.h>
>>  #include <linux/memblock.h>
>> -#include <linux/module.h>
>> +#include <linux/init.h>

The platform_device.h already has builtin_platform_driver macro
defined. So this init.h is not need?

>>  #include <linux/of.h>
>>  #include <linux/of_address.h>
>>  #include <linux/of_irq.h>
>> @@ -579,8 +579,4 @@ static struct platform_driver xgene_pcie_driver = {
>>         },
>>         .probe = xgene_pcie_probe_bridge,
>>  };
>> -module_platform_driver(xgene_pcie_driver);
>> -
>> -MODULE_AUTHOR("Tanmay Inamdar <tinamdar@apm.com>");
>> -MODULE_DESCRIPTION("APM X-Gene PCIe driver");
>> -MODULE_LICENSE("GPL v2");
>> +builtin_platform_driver(xgene_pcie_driver);
>
>
> Copying Duc.
>>
>> --
>> 2.8.4
>>
>
Regards,
Duc Dang.

[toc] | [prev] | [next] | [standalone]


#1439992

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2016-07-10 01:20 +0200
Message-ID<rT9Hr-UO-9@gated-at.bofh.it>
In reply to#1438994
[Re: [PATCH 14/14] PCI: xgene: make it explicitly non-modular] On 07/07/2016 (Thu 15:42) Duc Dang wrote:

> On Thu, Jul 7, 2016 at 3:35 PM, Tanmay Inamdar <tinamdar@apm.com> wrote:
> >
> >
> > On Sat, Jul 2, 2016 at 4:13 PM, Paul Gortmaker
> > <paul.gortmaker@windriver.com> wrote:
> >>
> >> The Kconfig currently controlling compilation of this code is:
> >>
> >> drivers/pci/host/Kconfig:config PCI_XGENE
> >> drivers/pci/host/Kconfig:       bool "X-Gene PCIe controller"
> >>
> >> ...meaning that it currently is not being built as a module by anyone.
> >>
> >> Lets remove the few trace uses of modular code and macros, so that
> >> when reading the driver there is no doubt it is builtin-only.
> >>
> >> Since module_platform_driver() uses the same init level priority as
> >> builtin_platform_driver() the init ordering remains unchanged with
> >> this commit.
> >>
> >> We also delete the MODULE_LICENSE tag etc. since all that information
> >> is already contained at the top of the file in the comments.
> >>
> >> Cc: Tanmay Inamdar <tinamdar@apm.com>
> >> Cc: Bjorn Helgaas <bhelgaas@google.com>
> >> Cc: linux-pci@vger.kernel.org
> >> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> 
> Thanks for taking care of this, Paul.
> 
> I tested your patch and it worked fine on my X-Gene Mustang board.
> 
> One minor comment below.
> 
> >> ---
> >>  drivers/pci/host/pci-xgene.c | 8 ++------
> >>  1 file changed, 2 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
> >> index 7eb20cc76dd3..a81273c23341 100644
> >> --- a/drivers/pci/host/pci-xgene.c
> >> +++ b/drivers/pci/host/pci-xgene.c
> >> @@ -21,7 +21,7 @@
> >>  #include <linux/io.h>
> >>  #include <linux/jiffies.h>
> >>  #include <linux/memblock.h>
> >> -#include <linux/module.h>
> >> +#include <linux/init.h>
> 
> The platform_device.h already has builtin_platform_driver macro
> defined. So this init.h is not need?

If you look, you will find that platform_device.h does not include the
init.h even though it references __init; it can do this w/o error since
all the references themselves are in a macro.  However once code wants
to be a consumer of those macros, they will need init.h present.  Often
you can overlook directly calling it out for inclusion since it gets
sourced by another header, but it is best policy to list what gets used.

Thanks for testing!

Paul.
--

> 
> >>  #include <linux/of.h>
> >>  #include <linux/of_address.h>
> >>  #include <linux/of_irq.h>
> >> @@ -579,8 +579,4 @@ static struct platform_driver xgene_pcie_driver = {
> >>         },
> >>         .probe = xgene_pcie_probe_bridge,
> >>  };
> >> -module_platform_driver(xgene_pcie_driver);
> >> -
> >> -MODULE_AUTHOR("Tanmay Inamdar <tinamdar@apm.com>");
> >> -MODULE_DESCRIPTION("APM X-Gene PCIe driver");
> >> -MODULE_LICENSE("GPL v2");
> >> +builtin_platform_driver(xgene_pcie_driver);
> >
> >
> > Copying Duc.
> >>
> >> --
> >> 2.8.4
> >>
> >
> Regards,
> Duc Dang.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web