All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: kbuild test robot <lkp@intel.com>, Lee Jones <lee.jones@linaro.org>
Cc: <kbuild-all@01.org>, <linux-kernel@vger.kernel.org>,
	David Dajun Chen <dchen@diasemi.com>,
	Support Opensource <support.opensource@diasemi.com>
Subject: Re: [PATCH 02/11] mfd: da9055-core: make it explicitly non-modular
Date: Fri, 23 Nov 2018 09:43:29 -0500	[thread overview]
Message-ID: <20181123144328.GE14659@windriver.com> (raw)
In-Reply-To: <20181123031456.GD14659@windriver.com>

[Re: [PATCH 02/11] mfd: da9055-core: make it explicitly non-modular] On 22/11/2018 (Thu 22:14) Paul Gortmaker wrote:

> [Re: [PATCH 02/11] mfd: da9055-core: make it explicitly non-modular] On 23/11/2018 (Fri 10:21) kbuild test robot wrote:
> 

[...]

> > 
> > All errors (new ones prefixed by >>):
> > 
> >    drivers/mfd/da9055-i2c.o: In function `da9055_i2c_remove':
> > >> drivers/mfd/da9055-i2c.c:53: undefined reference to `da9055_device_exit'
> 
> Thanks for the report -- I'll look into what causes it, why my testing
> didn't see it, and get an update to Lee as soon as possible.

OK, mystery solved.  I chose this smaller subset of MFD "simple" patches
from my pending queue of MFD patches - to create a reasonable sized
maintainer-friendly send, based on patches with zero runtime changes.

My other pending MFD patches have a trivial runtime behavior change;
deleting a ".remove" field/function - that will never be used for a
non-module case, but in theory could be (pointlessly) triggered by
forcing a driver unbind.  (see mainline 98b72b94def9 as an example)
Patches like this were left behind for a future send batch.

Unfortunately that allowed me to overlook the fact that patch #2 link
depended on the below ".remove" patch (not sent) to be applied 1st.

Lee, what would you like to have happen?  I can resend the queue with
this patch, or I can resend with #2 being temporarily deferred until
a future patch batch that has the below da9055-i2c in it, or ...

Whatever is easiest for you - let me know.

Paul.
--

From da28030dbcdcd5cb4807ad18dfa6fd4773719ad0 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Sun, 6 Sep 2015 22:10:34 -0400
Subject: [PATCH] mfd: da9055-i2c: Make it explicitly non-modular

The Makefile/Kconfig currently controlling compilation of this code is:

drivers/mfd/Makefile:da9055-objs := da9055-core.o da9055-i2c.o
drivers/mfd/Makefile:obj-$(CONFIG_MFD_DA9055)   += da9055.o

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

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: Support Opensource <support.opensource@diasemi.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: David Dajun Chen <dchen@diasemi.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

diff --git a/drivers/mfd/da9055-i2c.c b/drivers/mfd/da9055-i2c.c
index b53e100f577c..7c66f82522f0 100644
--- a/drivers/mfd/da9055-i2c.c
+++ b/drivers/mfd/da9055-i2c.c
@@ -11,7 +11,7 @@
  *
  */
 
-#include <linux/module.h>
+#include <linux/init.h>
 #include <linux/device.h>
 #include <linux/i2c.h>
 #include <linux/err.h>
@@ -46,15 +46,6 @@ static int da9055_i2c_probe(struct i2c_client *i2c,
 	return da9055_device_init(da9055);
 }
 
-static int da9055_i2c_remove(struct i2c_client *i2c)
-{
-	struct da9055 *da9055 = i2c_get_clientdata(i2c);
-
-	da9055_device_exit(da9055);
-
-	return 0;
-}
-
 /*
  * DO NOT change the device Ids. The naming is intentionally specific as both
  * the PMIC and CODEC parts of this chip are instantiated separately as I2C
@@ -66,7 +57,6 @@ static struct i2c_device_id da9055_i2c_id[] = {
 	{"da9055-pmic", 0},
 	{ }
 };
-MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
 
 static const struct of_device_id da9055_of_match[] = {
 	{ .compatible = "dlg,da9055-pmic", },
@@ -75,11 +65,11 @@ static const struct of_device_id da9055_of_match[] = {
 
 static struct i2c_driver da9055_i2c_driver = {
 	.probe = da9055_i2c_probe,
-	.remove = da9055_i2c_remove,
 	.id_table = da9055_i2c_id,
 	.driver = {
 		.name = "da9055-pmic",
 		.of_match_table = of_match_ptr(da9055_of_match),
+		.suppress_bind_attrs = true,
 	},
 };
 
@@ -96,13 +86,3 @@ static int __init da9055_i2c_init(void)
 	return 0;
 }
 subsys_initcall(da9055_i2c_init);
-
-static void __exit da9055_i2c_exit(void)
-{
-	i2c_del_driver(&da9055_i2c_driver);
-}
-module_exit(da9055_i2c_exit);
-
-MODULE_AUTHOR("David Dajun Chen <dchen@diasemi.com>");
-MODULE_DESCRIPTION("I2C driver for Dialog DA9055 PMIC");
-MODULE_LICENSE("GPL");
-- 
2.8.0


  reply	other threads:[~2018-11-23 14:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-22  4:32 [PATCH 00/11] mfd: simple demodularization of non-modular drivers Paul Gortmaker
2018-11-22  4:32 ` Paul Gortmaker
2018-11-22  4:32 ` [PATCH 01/11] mfd: as3711: Make it explicitly non-modular Paul Gortmaker
2018-11-22  4:32 ` [PATCH 02/11] mfd: da9055-core: make " Paul Gortmaker
     [not found]   ` <201811231036.wIjm7GBh%fengguang.wu@intel.com>
2018-11-23  3:14     ` Paul Gortmaker
2018-11-23 14:43       ` Paul Gortmaker [this message]
2018-11-27 13:07         ` Lee Jones
2018-11-27 15:03           ` Paul Gortmaker
2018-11-28  9:35         ` Lee Jones
2018-11-22  4:32 ` [PATCH 03/11] mfd: db8500-prcmu: drop unused MODULE_ tags from non-modular code Paul Gortmaker
2018-11-30 22:19   ` Linus Walleij
2018-11-22  4:32 ` [PATCH 04/11] mfd: htc-i2cpld: Make it explicitly non-modular Paul Gortmaker
2018-11-22  4:32 ` [PATCH 05/11] mfd: max8925-core: drop unused MODULE_ tags from non-modular code Paul Gortmaker
2018-11-22  4:32 ` [PATCH 06/11] mfd: rc5t583: Make it explicitly non-modular Paul Gortmaker
2018-11-22  4:32 ` [PATCH 07/11] mfd: sta2x11: drop unused MODULE_ tags from non-modular code Paul Gortmaker
2018-11-22  4:32 ` [PATCH 08/11] mfd: syscon: Make it explicitly non-modular Paul Gortmaker
2018-11-22  4:32 ` [PATCH 09/11] mfd: tps65910: " Paul Gortmaker
2018-11-22  4:32   ` Paul Gortmaker
2018-11-22  8:56   ` Graeme Gregory
2018-11-22  4:32 ` [PATCH 10/11] mfd: wm831x-core: drop unused MODULE_ tags from non-modular code Paul Gortmaker
2018-11-22  9:28   ` Charles Keepax
2018-11-22  4:32 ` [PATCH 11/11] mfd: wm8400-core: Make it explicitly non-modular Paul Gortmaker
2018-11-22  9:29   ` Charles Keepax

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181123144328.GE14659@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=dchen@diasemi.com \
    --cc=kbuild-all@01.org \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=support.opensource@diasemi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.