Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1296405 > unrolled thread
| Started by | Paul Gortmaker <paul.gortmaker@windriver.com> |
|---|---|
| First post | 2015-12-22 02:00 +0100 |
| Last post | 2015-12-22 02:00 +0100 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH 0/2] drivers/pci: use builtin_platform_driver in renesas Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-12-22 02:00 +0100
[PATCH 2/2] drivers/pci: make host/pci-rcar-gen2.c explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-12-22 02:00 +0100
| From | Paul Gortmaker <paul.gortmaker@windriver.com> |
|---|---|
| Date | 2015-12-22 02:00 +0100 |
| Subject | [PATCH 0/2] drivers/pci: use builtin_platform_driver in renesas |
| Message-ID | <qIjsZ-5iB-9@gated-at.bofh.it> |
These two commits are extracted from what was a larger series[1] of demodularization in PCI host code that was bool Kconfig. With the other commits, there was some mixed opinions whether we should make it explicitly non-modular or move towards making it functionally working as a tristate in order to reduce the size of built-in code for multi-platform kernels. However with the renesas changes, there was no ".remove" and no "module_exit" code stripped out ; it is just a straight 1:1 mapping of the modular macros onto what they become in the non-modular case anyway -- meaning the runtime remains unchanged. Given that, and the several Ack rec'd, it makes sense to at least get these two in and out of my queue while we consider what to do with the other PCI host code drivers that do have some modularity already coded into them. Build testing was done on pci/next, using an ARCH=arm allmodconfig and then explicitly building the files changed in this series. Paul. --- [1] https://lkml.kernel.org/r/1449970917-12633-1-git-send-email-paul.gortmaker@windriver.com Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Phil Edworthy <phil.edworthy@renesas.com> Cc: Simon Horman <horms@verge.net.au> Cc: Valentine Barshak <valentine.barshak@cogentembedded.com> Cc: linux-pci@vger.kernel.org Cc: linux-sh@vger.kernel.org Paul Gortmaker (2): drivers/pci: make host/pcie-rcar.c explicitly non-modular drivers/pci: make host/pci-rcar-gen2.c explicitly non-modular drivers/pci/host/pci-rcar-gen2.c | 12 +++--------- drivers/pci/host/pcie-rcar.c | 11 ++++------- 2 files changed, 7 insertions(+), 16 deletions(-) -- 2.6.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Paul Gortmaker <paul.gortmaker@windriver.com> |
|---|---|
| Date | 2015-12-22 02:00 +0100 |
| Subject | [PATCH 2/2] drivers/pci: make host/pci-rcar-gen2.c explicitly non-modular |
| Message-ID | <qIjt0-5iB-21@gated-at.bofh.it> |
| In reply to | #1296405 |
The Kconfig currently controlling compilation of this code is:
drivers/pci/host/Kconfig:config PCI_RCAR_GEN2
drivers/pci/host/Kconfig: bool "Renesas R-Car Gen2 Internal PCI controller"
...meaning that it currently is not being built as a module by anyone.
Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.
We don't have to disallow a driver unbind, since that is already
done for us in this driver.
Since module_platform_driver() uses the same init level priority as
builtin_platform_driver() the init ordering remains unchanged with
this commit.
We don't replace module.h with init.h since the file already has that.
Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
We also delete the MODULE_LICENSE tag etc. since all that information
was (or is now) contained at the top of the file in the comments.
Cc: Simon Horman <horms@verge.net.au>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Phil Edworthy <phil.edworthy@renesas.com>
Cc: Valentine Barshak <valentine.barshak@cogentembedded.com>
Acked-by: Phil Edworthy <phil.edworthy@renesas.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
drivers/pci/host/pci-rcar-gen2.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/pci/host/pci-rcar-gen2.c b/drivers/pci/host/pci-rcar-gen2.c
index 9980a4bdae7e..8df9c36458e9 100644
--- a/drivers/pci/host/pci-rcar-gen2.c
+++ b/drivers/pci/host/pci-rcar-gen2.c
@@ -4,6 +4,8 @@
* Copyright (C) 2013 Renesas Solutions Corp.
* Copyright (C) 2013 Cogent Embedded, Inc.
*
+ * Module Author: Valentine Barshak <valentine.barshak@cogentembedded.com>
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
@@ -14,7 +16,6 @@
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/kernel.h>
-#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
@@ -437,8 +438,6 @@ static struct of_device_id rcar_pci_of_match[] = {
{ },
};
-MODULE_DEVICE_TABLE(of, rcar_pci_of_match);
-
static struct platform_driver rcar_pci_driver = {
.driver = {
.name = "pci-rcar-gen2",
@@ -447,9 +446,4 @@ static struct platform_driver rcar_pci_driver = {
},
.probe = rcar_pci_probe,
};
-
-module_platform_driver(rcar_pci_driver);
-
-MODULE_LICENSE("GPL v2");
-MODULE_DESCRIPTION("Renesas R-Car Gen2 internal PCI");
-MODULE_AUTHOR("Valentine Barshak <valentine.barshak@cogentembedded.com>");
+builtin_platform_driver(rcar_pci_driver);
--
2.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web