[PATCH 14/18] mfd: wm831x-i2c: Make it explicitly non-modular

2019-01-13 Thread Paul Gortmaker
The Kconfig currently controlling compilation of this code is:

drivers/mfd/Kconfig:config MFD_WM831X_I2C
drivers/mfd/Kconfig:bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"

...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 explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.

Since module_init was not in use by this code, the init ordering
remains unchanged with this commit.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

Cc: Lee Jones 
Cc: patc...@opensource.cirrus.com
Signed-off-by: Paul Gortmaker 
Acked-by: Linus Walleij 
Acked-by: Charles Keepax 
---
 drivers/mfd/wm831x-i2c.c | 20 ++--
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/drivers/mfd/wm831x-i2c.c b/drivers/mfd/wm831x-i2c.c
index 22f7054d1b28..0f3af42f7268 100644
--- a/drivers/mfd/wm831x-i2c.c
+++ b/drivers/mfd/wm831x-i2c.c
@@ -13,7 +13,7 @@
  */
 
 #include 
-#include 
+#include 
 #include 
 #include 
 #include 
@@ -68,15 +68,6 @@ static int wm831x_i2c_probe(struct i2c_client *i2c,
return wm831x_device_init(wm831x, i2c->irq);
 }
 
-static int wm831x_i2c_remove(struct i2c_client *i2c)
-{
-   struct wm831x *wm831x = i2c_get_clientdata(i2c);
-
-   wm831x_device_exit(wm831x);
-
-   return 0;
-}
-
 static int wm831x_i2c_suspend(struct device *dev)
 {
struct wm831x *wm831x = dev_get_drvdata(dev);
@@ -103,7 +94,6 @@ static const struct i2c_device_id wm831x_i2c_id[] = {
{ "wm8326", WM8326 },
{ }
 };
-MODULE_DEVICE_TABLE(i2c, wm831x_i2c_id);
 
 static const struct dev_pm_ops wm831x_pm_ops = {
.suspend = wm831x_i2c_suspend,
@@ -115,9 +105,9 @@ static struct i2c_driver wm831x_i2c_driver = {
.name = "wm831x",
.pm = _pm_ops,
.of_match_table = of_match_ptr(wm831x_of_match),
+   .suppress_bind_attrs = true,
},
.probe = wm831x_i2c_probe,
-   .remove = wm831x_i2c_remove,
.id_table = wm831x_i2c_id,
 };
 
@@ -132,9 +122,3 @@ static int __init wm831x_i2c_init(void)
return ret;
 }
 subsys_initcall(wm831x_i2c_init);
-
-static void __exit wm831x_i2c_exit(void)
-{
-   i2c_del_driver(_i2c_driver);
-}
-module_exit(wm831x_i2c_exit);
-- 
2.7.4



Re: [PATCH 14/18] mfd: wm831x-i2c: Make it explicitly non-modular

2018-12-19 Thread Charles Keepax
On Mon, Dec 17, 2018 at 03:31:24PM -0500, Paul Gortmaker wrote:
> The Kconfig currently controlling compilation of this code is:
> 
> drivers/mfd/Kconfig:config MFD_WM831X_I2C
> drivers/mfd/Kconfig:bool "Wolfson Microelectronics WM831x/2x PMICs with 
> I2C"
> 
> ...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 explicitly disallow a driver unbind, since that doesn't have a
> sensible use case anyway, and it allows us to drop the ".remove"
> code for non-modular drivers.
> 
> Since module_init was not in use by this code, the init ordering
> remains unchanged with this commit.
> 
> Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
> 
> Cc: Lee Jones 
> Cc: patc...@opensource.cirrus.com
> Signed-off-by: Paul Gortmaker 
> Acked-by: Linus Walleij 
> ---

Acked-by: Charles Keepax 

Thanks,
Charles


[PATCH 14/18] mfd: wm831x-i2c: Make it explicitly non-modular

2018-12-17 Thread Paul Gortmaker
The Kconfig currently controlling compilation of this code is:

drivers/mfd/Kconfig:config MFD_WM831X_I2C
drivers/mfd/Kconfig:bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"

...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 explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.

Since module_init was not in use by this code, the init ordering
remains unchanged with this commit.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

Cc: Lee Jones 
Cc: patc...@opensource.cirrus.com
Signed-off-by: Paul Gortmaker 
Acked-by: Linus Walleij 
---
 drivers/mfd/wm831x-i2c.c | 20 ++--
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/drivers/mfd/wm831x-i2c.c b/drivers/mfd/wm831x-i2c.c
index 22f7054d1b28..0f3af42f7268 100644
--- a/drivers/mfd/wm831x-i2c.c
+++ b/drivers/mfd/wm831x-i2c.c
@@ -13,7 +13,7 @@
  */
 
 #include 
-#include 
+#include 
 #include 
 #include 
 #include 
@@ -68,15 +68,6 @@ static int wm831x_i2c_probe(struct i2c_client *i2c,
return wm831x_device_init(wm831x, i2c->irq);
 }
 
-static int wm831x_i2c_remove(struct i2c_client *i2c)
-{
-   struct wm831x *wm831x = i2c_get_clientdata(i2c);
-
-   wm831x_device_exit(wm831x);
-
-   return 0;
-}
-
 static int wm831x_i2c_suspend(struct device *dev)
 {
struct wm831x *wm831x = dev_get_drvdata(dev);
@@ -103,7 +94,6 @@ static const struct i2c_device_id wm831x_i2c_id[] = {
{ "wm8326", WM8326 },
{ }
 };
-MODULE_DEVICE_TABLE(i2c, wm831x_i2c_id);
 
 static const struct dev_pm_ops wm831x_pm_ops = {
.suspend = wm831x_i2c_suspend,
@@ -115,9 +105,9 @@ static struct i2c_driver wm831x_i2c_driver = {
.name = "wm831x",
.pm = _pm_ops,
.of_match_table = of_match_ptr(wm831x_of_match),
+   .suppress_bind_attrs = true,
},
.probe = wm831x_i2c_probe,
-   .remove = wm831x_i2c_remove,
.id_table = wm831x_i2c_id,
 };
 
@@ -132,9 +122,3 @@ static int __init wm831x_i2c_init(void)
return ret;
 }
 subsys_initcall(wm831x_i2c_init);
-
-static void __exit wm831x_i2c_exit(void)
-{
-   i2c_del_driver(_i2c_driver);
-}
-module_exit(wm831x_i2c_exit);
-- 
2.7.4



Re: [PATCH 14/18] mfd: wm831x-i2c: Make it explicitly non-modular

2018-12-10 Thread Charles Keepax
On Fri, Dec 07, 2018 at 03:11:01PM -0500, Paul Gortmaker wrote:
> The Kconfig currently controlling compilation of this code is:
> 
> drivers/mfd/Kconfig:config MFD_WM831X_I2C
> drivers/mfd/Kconfig:bool "Wolfson Microelectronics WM831x/2x PMICs with 
> I2C"
> 
> ...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 explicitly disallow a driver unbind, since that doesn't have a
> sensible use case anyway, and it allows us to drop the ".remove"
> code for non-modular drivers.
> 
> Since module_init was not in use by this code, the init ordering
> remains unchanged with this commit.
> 
> Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
> 
> Cc: Lee Jones 
> Cc: patc...@opensource.cirrus.com
> Acked-by: Linus Walleij 
> Signed-off-by: Paul Gortmaker 
> ---

Acked-by: Charles Keepax 

Thanks,
Charles


[PATCH 14/18] mfd: wm831x-i2c: Make it explicitly non-modular

2018-12-07 Thread Paul Gortmaker
The Kconfig currently controlling compilation of this code is:

drivers/mfd/Kconfig:config MFD_WM831X_I2C
drivers/mfd/Kconfig:bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"

...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 explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.

Since module_init was not in use by this code, the init ordering
remains unchanged with this commit.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

Cc: Lee Jones 
Cc: patc...@opensource.cirrus.com
Acked-by: Linus Walleij 
Signed-off-by: Paul Gortmaker 
---
 drivers/mfd/wm831x-i2c.c | 20 ++--
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/drivers/mfd/wm831x-i2c.c b/drivers/mfd/wm831x-i2c.c
index 22f7054d1b28..0f3af42f7268 100644
--- a/drivers/mfd/wm831x-i2c.c
+++ b/drivers/mfd/wm831x-i2c.c
@@ -13,7 +13,7 @@
  */
 
 #include 
-#include 
+#include 
 #include 
 #include 
 #include 
@@ -68,15 +68,6 @@ static int wm831x_i2c_probe(struct i2c_client *i2c,
return wm831x_device_init(wm831x, i2c->irq);
 }
 
-static int wm831x_i2c_remove(struct i2c_client *i2c)
-{
-   struct wm831x *wm831x = i2c_get_clientdata(i2c);
-
-   wm831x_device_exit(wm831x);
-
-   return 0;
-}
-
 static int wm831x_i2c_suspend(struct device *dev)
 {
struct wm831x *wm831x = dev_get_drvdata(dev);
@@ -103,7 +94,6 @@ static const struct i2c_device_id wm831x_i2c_id[] = {
{ "wm8326", WM8326 },
{ }
 };
-MODULE_DEVICE_TABLE(i2c, wm831x_i2c_id);
 
 static const struct dev_pm_ops wm831x_pm_ops = {
.suspend = wm831x_i2c_suspend,
@@ -115,9 +105,9 @@ static struct i2c_driver wm831x_i2c_driver = {
.name = "wm831x",
.pm = _pm_ops,
.of_match_table = of_match_ptr(wm831x_of_match),
+   .suppress_bind_attrs = true,
},
.probe = wm831x_i2c_probe,
-   .remove = wm831x_i2c_remove,
.id_table = wm831x_i2c_id,
 };
 
@@ -132,9 +122,3 @@ static int __init wm831x_i2c_init(void)
return ret;
 }
 subsys_initcall(wm831x_i2c_init);
-
-static void __exit wm831x_i2c_exit(void)
-{
-   i2c_del_driver(_i2c_driver);
-}
-module_exit(wm831x_i2c_exit);
-- 
2.7.4



[PATCH 14/18] mfd: wm831x-i2c: Make it explicitly non-modular

2018-12-07 Thread Paul Gortmaker
The Kconfig currently controlling compilation of this code is:

drivers/mfd/Kconfig:config MFD_WM831X_I2C
drivers/mfd/Kconfig:bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"

...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 explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.

Since module_init was not in use by this code, the init ordering
remains unchanged with this commit.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

Cc: Lee Jones 
Cc: patc...@opensource.cirrus.com
Acked-by: Linus Walleij 
Signed-off-by: Paul Gortmaker 
---
 drivers/mfd/wm831x-i2c.c | 20 ++--
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/drivers/mfd/wm831x-i2c.c b/drivers/mfd/wm831x-i2c.c
index 22f7054d1b28..0f3af42f7268 100644
--- a/drivers/mfd/wm831x-i2c.c
+++ b/drivers/mfd/wm831x-i2c.c
@@ -13,7 +13,7 @@
  */
 
 #include 
-#include 
+#include 
 #include 
 #include 
 #include 
@@ -68,15 +68,6 @@ static int wm831x_i2c_probe(struct i2c_client *i2c,
return wm831x_device_init(wm831x, i2c->irq);
 }
 
-static int wm831x_i2c_remove(struct i2c_client *i2c)
-{
-   struct wm831x *wm831x = i2c_get_clientdata(i2c);
-
-   wm831x_device_exit(wm831x);
-
-   return 0;
-}
-
 static int wm831x_i2c_suspend(struct device *dev)
 {
struct wm831x *wm831x = dev_get_drvdata(dev);
@@ -103,7 +94,6 @@ static const struct i2c_device_id wm831x_i2c_id[] = {
{ "wm8326", WM8326 },
{ }
 };
-MODULE_DEVICE_TABLE(i2c, wm831x_i2c_id);
 
 static const struct dev_pm_ops wm831x_pm_ops = {
.suspend = wm831x_i2c_suspend,
@@ -115,9 +105,9 @@ static struct i2c_driver wm831x_i2c_driver = {
.name = "wm831x",
.pm = _pm_ops,
.of_match_table = of_match_ptr(wm831x_of_match),
+   .suppress_bind_attrs = true,
},
.probe = wm831x_i2c_probe,
-   .remove = wm831x_i2c_remove,
.id_table = wm831x_i2c_id,
 };
 
@@ -132,9 +122,3 @@ static int __init wm831x_i2c_init(void)
return ret;
 }
 subsys_initcall(wm831x_i2c_init);
-
-static void __exit wm831x_i2c_exit(void)
-{
-   i2c_del_driver(_i2c_driver);
-}
-module_exit(wm831x_i2c_exit);
-- 
2.7.4