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


Groups > linux.kernel > #1296405 > unrolled thread

[PATCH 0/2] drivers/pci: use builtin_platform_driver in renesas

Started byPaul Gortmaker <paul.gortmaker@windriver.com>
First post2015-12-22 02:00 +0100
Last post2015-12-22 02:00 +0100
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [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

#1296405 — [PATCH 0/2] drivers/pci: use builtin_platform_driver in renesas

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2015-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]


#1296407 — [PATCH 2/2] drivers/pci: make host/pci-rcar-gen2.c explicitly non-modular

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2015-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