All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: Lee Jones <lee.jones@linaro.org>, <linux-kernel@vger.kernel.org>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	<patches@opensource.cirrus.com>,
	Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH 18/18] mfd: wm8400-core: Make it explicitly non-modular
Date: Fri, 21 Dec 2018 10:55:16 -0500	[thread overview]
Message-ID: <20181221155516.GP4292@windriver.com> (raw)
In-Reply-To: <20181219091742.GA16508@imbe.wolfsonmicro.main>

[Re: [PATCH 18/18] mfd: wm8400-core: Make it explicitly non-modular] On 19/12/2018 (Wed 09:17) Charles Keepax wrote:

> On Mon, Dec 17, 2018 at 03:31:28PM -0500, Paul Gortmaker wrote:
> > The Kconfig currently controlling compilation of this code is:
> > 
> > drivers/mfd/Kconfig:config MFD_WM8400
> > drivers/mfd/Kconfig:    bool "Wolfson Microelectronics WM8400"
> > 
> > ...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_init was not in use by this code, the init ordering
> > remains unchanged with this commit.
> > 
> > A trivial function rename from wm8400_module_init to the name
> > wm8400_driver_init is also done to reduce possible confusion.
> > 
> > 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: Lee Jones <lee.jones@linaro.org>
> > Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > Cc: patches@opensource.cirrus.com
> > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > Acked-by: Linus Walleij <linus.walleij@linaro.org>
> > ---
> > -MODULE_DEVICE_TABLE(i2c, wm8400_i2c_id);
> >  
> >  static struct i2c_driver wm8400_i2c_driver = {
> >  	.driver = {
> > @@ -161,7 +160,7 @@ static struct i2c_driver wm8400_i2c_driver = {
> >  };
> >  #endif
> 
> Do we not want to add suppress_bind_attrs into the i2c_driver
> struct here?

We can add one if you/maintainers want one, but if you look at the
original patch, this driver was using the more classic/legacy case of
subsys_init() vs. platform_driver_register() used in other drivers.

Not adding a suppress_bind_attrs here was intentional, since I'd decided
to put in the unbind entries for code that used platform_driver_register()
where the author had created the .remove code, on the assumption that they
had put some thought into the process of unbind/remove - to make it
explicit that unbind is now disabled.

To be clear, using the subsys_init() doesn't implicitly disable unbind.
However, there are lots of non-modular drivers out there; ones I've not
even touched, and to start a project to add an unbind disable to them
all is beyond the scope of the goals I've listed in the 00/18 preamble.

I'd hope maybe we can revisit the global default setting for non-modular
code someday - to make non-modules opt-in instead of opt-out, and
achieve better consistency from one driver to the next, without having
to add a new .driver sub-struct to each file for the suppress entry.

I think LinusW hinted at in an earlier email in this ongoing review,
that the default setting didn't quite make sense to him either.  But in
any case, that is a separate discussion for another time and place.

Let me know if you explicitly want one added, otherwise I'll just leave
the .remove + .suppress_bind_attrs pairing as described above.

Thanks,
Paul.
--

> 
> Thanks, Charles

  reply	other threads:[~2018-12-21 15:55 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-17 20:31 [PATCH v4 00/18] mfd: demodularization of non-modular drivers Paul Gortmaker
2018-12-17 20:31 ` Paul Gortmaker
2018-12-17 20:31 ` [PATCH 01/18] mfd: aat2870-core: Make it explicitly non-modular Paul Gortmaker
2018-12-18  6:21   ` jinyoungp
2018-12-17 20:31 ` [PATCH 02/18] mfd: adp5520: " Paul Gortmaker
2018-12-18  7:43   ` Hennerich, Michael
2018-12-17 20:31 ` [PATCH 03/18] mfd: as3711: " Paul Gortmaker
2018-12-17 20:31 ` [PATCH 04/18] mfd: db8500-prcmu: drop unused MODULE_ tags from non-modular code Paul Gortmaker
2018-12-17 20:31 ` [PATCH 05/18] mfd: htc-i2cpld: Make it explicitly non-modular Paul Gortmaker
2018-12-17 20:31 ` [PATCH 06/18] mfd: max8925-core: drop unused MODULE_ tags from non-modular code Paul Gortmaker
2018-12-17 20:31 ` [PATCH 07/18] mfd: rc5t583: Make it explicitly non-modular Paul Gortmaker
2018-12-18 10:04   ` Laxman Dewangan
2018-12-17 20:31 ` [PATCH 08/18] mfd: sta2x11: drop unused MODULE_ tags from non-modular code Paul Gortmaker
2018-12-17 20:31 ` [PATCH 09/18] mfd: syscon: Make it explicitly non-modular Paul Gortmaker
2018-12-17 20:31 ` [PATCH 10/18] mfd: tps65090: " Paul Gortmaker
2018-12-17 20:31 ` [PATCH 11/18] mfd: tps65910: " Paul Gortmaker
2018-12-17 20:31   ` Paul Gortmaker
2018-12-23 16:35   ` Tony Lindgren
2018-12-17 20:31 ` [PATCH 12/18] mfd: tps80031: " Paul Gortmaker
2018-12-18 10:07   ` Laxman Dewangan
2018-12-17 20:31 ` [PATCH 13/18] mfd: wm831x-spi: " Paul Gortmaker
2018-12-19  9:14   ` Charles Keepax
2018-12-17 20:31 ` [PATCH 14/18] mfd: wm831x-i2c: " Paul Gortmaker
2018-12-19  9:14   ` Charles Keepax
2018-12-17 20:31 ` [PATCH 15/18] mfd: wm831x-core: drop unused module infrastructure from non-modular code Paul Gortmaker
2018-12-19  9:14   ` Charles Keepax
2018-12-17 20:31 ` [PATCH 16/18] mfd: wm8350-i2c: Make it explicitly non-modular Paul Gortmaker
2018-12-19  9:14   ` Charles Keepax
2018-12-17 20:31 ` [PATCH 17/18] mfd: wm8350-core: drop unused module infrastructure from non-modular code Paul Gortmaker
2018-12-19  9:15   ` Charles Keepax
2018-12-17 20:31 ` [PATCH 18/18] mfd: wm8400-core: Make it explicitly non-modular Paul Gortmaker
2018-12-19  9:17   ` Charles Keepax
2018-12-21 15:55     ` Paul Gortmaker [this message]
2018-12-28  9:42       ` Charles Keepax
2018-12-19  8:03 ` [PATCH v4 00/18] mfd: demodularization of non-modular drivers Lee Jones
2018-12-19  8:03   ` Lee Jones
  -- strict thread matches above, loose matches on Subject: below --
2019-01-13 18:36 [PATCH v5 " Paul Gortmaker
2019-01-13 18:36 ` [PATCH 18/18] mfd: wm8400-core: Make it explicitly non-modular Paul Gortmaker
2018-12-07 20:10 [PATCH v3 00/18] mfd: demodularization of non-modular drivers Paul Gortmaker
2018-12-07 20:11 ` [PATCH 18/18] mfd: wm8400-core: Make it explicitly non-modular Paul Gortmaker
2018-12-10  9:28   ` 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=20181221155516.GP4292@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@opensource.cirrus.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.