diff mbox

drivers/bus: make uniphier-system-bus.c explicitly non-modular

Message ID 1451935379-14107-1-git-send-email-paul.gortmaker@windriver.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paul Gortmaker Jan. 4, 2016, 7:22 p.m. UTC
The Kconfig currently controlling compilation of this code is:

drivers/bus/Kconfig:config UNIPHIER_SYSTEM_BUS
drivers/bus/Kconfig:    bool "UniPhier System Bus driver"

...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.

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

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
is already contained at the top of the file in the comments.

Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Olof Johansson <olof@lixom.net>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/bus/uniphier-system-bus.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Masahiro Yamada Jan. 4, 2016, 11:15 p.m. UTC | #1
Hi Paul, Olof,

2016-01-05 4:22 GMT+09:00 Paul Gortmaker <paul.gortmaker@windriver.com>:
> The Kconfig currently controlling compilation of this code is:
>
> drivers/bus/Kconfig:config UNIPHIER_SYSTEM_BUS
> drivers/bus/Kconfig:    bool "UniPhier System Bus driver"
>
> ...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.
>
> Since module_platform_driver() uses the same init level priority as
> builtin_platform_driver() the init ordering remains unchanged with
> this commit.
>
> 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
> is already contained at the top of the file in the comments.
>
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Olof Johansson <olof@lixom.net>
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>


This driver can be modular.

I wrote "tristate" in my original patch.

See this one:
https://patchwork.kernel.org/patch/7805091/



But when I look at linux-next, it is "bool".



Now, I realized what happened.

Olof Johansson only said "Thanks, applied to next/drivers."
But, he silently modified my patch,
changing "tristate" into "bool".


Olof,

Why did you do that?


I want this driver tristate.
Masahiro Yamada Jan. 4, 2016, 11:24 p.m. UTC | #2
Hi Olof,

Sorry my misunderstanding.


2016-01-05 8:15 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Hi Paul, Olof,
>
> 2016-01-05 4:22 GMT+09:00 Paul Gortmaker <paul.gortmaker@windriver.com>:
>> The Kconfig currently controlling compilation of this code is:
>>
>> drivers/bus/Kconfig:config UNIPHIER_SYSTEM_BUS
>> drivers/bus/Kconfig:    bool "UniPhier System Bus driver"
>>
>> ...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.
>>
>> Since module_platform_driver() uses the same init level priority as
>> builtin_platform_driver() the init ordering remains unchanged with
>> this commit.
>>
>> 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
>> is already contained at the top of the file in the comments.
>>
>> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
>> Cc: Rob Herring <robh@kernel.org>
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> Cc: Olof Johansson <olof@lixom.net>
>> Cc: linux-arm-kernel@lists.infradead.org
>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
>
>
> This driver can be modular.
>
> I wrote "tristate" in my original patch.
>
> See this one:
> https://patchwork.kernel.org/patch/7805091/
>
>
>
> But when I look at linux-next, it is "bool".
>
>
>
> Now, I realized what happened.
>
> Olof Johansson only said "Thanks, applied to next/drivers."
> But, he silently modified my patch,
> changing "tristate" into "bool".
>
>
> Olof,
>
> Why did you do that?
>
>
> I want this driver tristate.


My bad - Olof had applied it as it is.

It was changed from "tristate" to "bool" by

commit 326ea45aa827da6686c78b5907f9839f91ef5782
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Dec 28 11:05:18 2015 +0100

    bus: uniphier: allow only built-in driver



I did not notice this.
Masahiro Yamada Jan. 5, 2016, 2:26 a.m. UTC | #3
Hi Paul,


2016-01-05 8:24 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Hi Olof,
>
> Sorry my misunderstanding.
>
>
> 2016-01-05 8:15 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
>> Hi Paul, Olof,
>>
>> 2016-01-05 4:22 GMT+09:00 Paul Gortmaker <paul.gortmaker@windriver.com>:
>>> The Kconfig currently controlling compilation of this code is:
>>>
>>> drivers/bus/Kconfig:config UNIPHIER_SYSTEM_BUS
>>> drivers/bus/Kconfig:    bool "UniPhier System Bus driver"
>>>
>>> ...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.
>>>
>>> Since module_platform_driver() uses the same init level priority as
>>> builtin_platform_driver() the init ordering remains unchanged with
>>> this commit.
>>>
>>> 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
>>> is already contained at the top of the file in the comments.
>>>
>>> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
>>> Cc: Rob Herring <robh@kernel.org>
>>> Cc: Arnd Bergmann <arnd@arndb.de>
>>> Cc: Olof Johansson <olof@lixom.net>
>>> Cc: linux-arm-kernel@lists.infradead.org
>>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>



I assume commit 326ea45aa827 ("bus: uniphier: allow only built-in driver")
is a temporary fix.

I'd like to revive the tristate for this driver
by hook or by crook.


I've sent the following to fix the build error.
http://www.thefreedictionary.com/

I want to see how it goes.


So, please hold back yours for now.
Masahiro Yamada Jan. 5, 2016, 2:31 a.m. UTC | #4
2016-01-05 11:26 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Hi Paul,
>
>
> 2016-01-05 8:24 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
>> Hi Olof,
>>
>> Sorry my misunderstanding.
>>
>>
>> 2016-01-05 8:15 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
>>> Hi Paul, Olof,
>>>
>>> 2016-01-05 4:22 GMT+09:00 Paul Gortmaker <paul.gortmaker@windriver.com>:
>>>> The Kconfig currently controlling compilation of this code is:
>>>>
>>>> drivers/bus/Kconfig:config UNIPHIER_SYSTEM_BUS
>>>> drivers/bus/Kconfig:    bool "UniPhier System Bus driver"
>>>>
>>>> ...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.
>>>>
>>>> Since module_platform_driver() uses the same init level priority as
>>>> builtin_platform_driver() the init ordering remains unchanged with
>>>> this commit.
>>>>
>>>> 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
>>>> is already contained at the top of the file in the comments.
>>>>
>>>> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
>>>> Cc: Rob Herring <robh@kernel.org>
>>>> Cc: Arnd Bergmann <arnd@arndb.de>
>>>> Cc: Olof Johansson <olof@lixom.net>
>>>> Cc: linux-arm-kernel@lists.infradead.org
>>>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
>
>
>
> I assume commit 326ea45aa827 ("bus: uniphier: allow only built-in driver")
> is a temporary fix.
>
> I'd like to revive the tristate for this driver
> by hook or by crook.
>
>
> I've sent the following to fix the build error.
> http://www.thefreedictionary.com/

Sorry, I mean this one:
https://patchwork.kernel.org/patch/7952361/
Paul Gortmaker Jan. 5, 2016, 3:59 p.m. UTC | #5
[Re: [PATCH] drivers/bus: make uniphier-system-bus.c explicitly non-modular] On 05/01/2016 (Tue 11:31) Masahiro Yamada wrote:

> 2016-01-05 11:26 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> > Hi Paul,
> >

[...]

> >
> >
> > I assume commit 326ea45aa827 ("bus: uniphier: allow only built-in driver")
> > is a temporary fix.
> >
> > I'd like to revive the tristate for this driver
> > by hook or by crook.
> >
> >
> > I've sent the following to fix the build error.
> > http://www.thefreedictionary.com/
> 
> Sorry, I mean this one:
> https://patchwork.kernel.org/patch/7952361/

Sure, I'll shelf it and assume it will get back to tristate.

Note however that the patch I was looking at was not 326ea. It was

commit 6c741c74092c61465af206672ba567940a23d709
Author: Daniel Kurtz <djkurtz@chromium.org>
Date:   Tue Dec 22 21:46:37 2015 +0800

    pinctrl: mediatek: convert to arch_initcall

..and if you make it tristate again, you defeat the above change,
since if you look at module.h, you will see for the =m config:

 #define arch_initcall(fn)               module_init(fn)

...meaning that the change in 6c741c does nothing if =m is set.
I don't know if that is an issue or not, perhaps Daniel can comment.

Paul.
--

> 
> 
> 
> -- 
> Best Regards
> Masahiro Yamada
diff mbox

Patch

diff --git a/drivers/bus/uniphier-system-bus.c b/drivers/bus/uniphier-system-bus.c
index 834a2aeaf27a..6b14b8d0a1a2 100644
--- a/drivers/bus/uniphier-system-bus.c
+++ b/drivers/bus/uniphier-system-bus.c
@@ -14,7 +14,7 @@ 
 
 #include <linux/io.h>
 #include <linux/log2.h>
-#include <linux/module.h>
+#include <linux/init.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_platform.h>
@@ -265,7 +265,6 @@  static const struct of_device_id uniphier_system_bus_match[] = {
 	{ .compatible = "socionext,uniphier-system-bus" },
 	{ /* sentinel */ }
 };
-MODULE_DEVICE_TABLE(of, uniphier_system_bus_match);
 
 static struct platform_driver uniphier_system_bus_driver = {
 	.probe		= uniphier_system_bus_probe,
@@ -274,8 +273,4 @@  static struct platform_driver uniphier_system_bus_driver = {
 		.of_match_table = uniphier_system_bus_match,
 	},
 };
-module_platform_driver(uniphier_system_bus_driver);
-
-MODULE_AUTHOR("Masahiro Yamada <yamada.masahiro@socionext.com>");
-MODULE_DESCRIPTION("UniPhier System Bus driver");
-MODULE_LICENSE("GPL");
+builtin_platform_driver(uniphier_system_bus_driver);