public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: <linux-kernel@vger.kernel.org>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Cory Maccarrone <darkstar6262@gmail.com>,
	Dong Aisheng <dong.aisheng@linaro.org>,
	Graeme Gregory <gg@slimlogic.co.uk>,
	Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	Haojian Zhuang <haojian.zhuang@marvell.com>,
	Jorge Eduardo Candelaria <jedu@slimlogic.co.uk>,
	Laxman Dewangan <ldewangan@nvidia.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Mattias Nilsson <mattias.i.nilsson@stericsson.com>,
	Tony Lindgren <tony@atomide.com>, <linux-omap@vger.kernel.org>,
	<patches@opensource.cirrus.com>,
	Support Opensource <support.opensource@diasemi.com>
Subject: [PATCH 00/11] mfd: simple demodularization of non-modular drivers
Date: Wed, 21 Nov 2018 23:32:48 -0500	[thread overview]
Message-ID: <1542861179-8941-1-git-send-email-paul.gortmaker@windriver.com> (raw)

This group of MFD drivers are all controlled by "bool" Kconfig settings,
but contain traces of module infrastructure like unused/orphaned __exit
functions, use of <linux/module.h> and/or MODULE_ macros that are no-ops
in the non-modular case.

We can remove/replace all of the above.  We are trying to make driver
code consistent with the Makefiles/Kconfigs that control them.  This
means not using modular functions/macros for drivers that can never be
built as a module.  Some of the downfalls this leads to are:

 (1) it is easy to accidentally write unused module_exit and remove code
 (2) it can be misleading when reading the source, thinking it can be
     modular when the Makefile and/or Kconfig prohibit it
 (3) it requires the include of the module.h header file which in turn
     includes nearly everything else, thus adding to CPP overhead.
 (4) it gets copied/replicated into other drivers and spreads quickly.

The changes here should represent zero runtime changes.  Only the ones
with removed __exit functions will have a slightly smaller object size.
The source gets a net reduction of 100+ lines of unused code.

Build testing was done on drivers/mfd for allyesconfig on x86_64, ARM
and ARM-64.

Paul.

---

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Cory Maccarrone <darkstar6262@gmail.com>
Cc: Dong Aisheng <dong.aisheng@linaro.org>
Cc: Graeme Gregory <gg@slimlogic.co.uk>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Jorge Eduardo Candelaria <jedu@slimlogic.co.uk>
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org
Cc: patches@opensource.cirrus.com
Cc: Support Opensource <support.opensource@diasemi.com>

Paul Gortmaker (11):
  mfd: as3711: Make it explicitly non-modular
  mfd: da9055-core: make it explicitly non-modular
  mfd: db8500-prcmu: drop unused MODULE_ tags from non-modular code
  mfd: htc-i2cpld: Make it explicitly non-modular
  mfd: max8925-core: drop unused MODULE_ tags from non-modular code
  mfd: rc5t583: Make it explicitly non-modular
  mfd: sta2x11: drop unused MODULE_ tags from non-modular code
  mfd: syscon: Make it explicitly non-modular
  mfd: tps65910: Make it explicitly non-modular
  mfd: wm831x-core: drop unused MODULE_ tags from non-modular code
  mfd: wm8400-core: Make it explicitly non-modular

 drivers/mfd/as3711.c       | 14 --------------
 drivers/mfd/da9055-core.c  | 13 ++-----------
 drivers/mfd/db8500-prcmu.c | 10 ++++------
 drivers/mfd/htc-i2cpld.c   | 18 +-----------------
 drivers/mfd/max8925-core.c |  7 +------
 drivers/mfd/rc5t583.c      | 14 --------------
 drivers/mfd/sta2x11-mfd.c  | 10 ++++------
 drivers/mfd/syscon.c       | 12 +-----------
 drivers/mfd/tps65910.c     | 18 +-----------------
 drivers/mfd/wm831x-core.c  |  7 ++-----
 drivers/mfd/wm8400-core.c  | 18 +++---------------
 11 files changed, 19 insertions(+), 122 deletions(-)

-- 
2.7.4

             reply	other threads:[~2018-11-22  4:38 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-22  4:32 Paul Gortmaker [this message]
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
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  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=1542861179-8941-1-git-send-email-paul.gortmaker@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=arnd@arndb.de \
    --cc=darkstar6262@gmail.com \
    --cc=dong.aisheng@linaro.org \
    --cc=g.liakhovetski@gmx.de \
    --cc=gg@slimlogic.co.uk \
    --cc=haojian.zhuang@marvell.com \
    --cc=jedu@slimlogic.co.uk \
    --cc=ldewangan@nvidia.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mattias.i.nilsson@stericsson.com \
    --cc=patches@opensource.cirrus.com \
    --cc=support.opensource@diasemi.com \
    --cc=tony@atomide.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox