[PATCH v1 0/4] Reuse common functions from pinctrl-intel

From: Raag Jadav
Date: Mon Aug 14 2023 - 02:04:50 EST


This series exports common pinctrl functions that are used across
Intel specific platform drivers to PINCTRL_INTEL namespace and
reuses them into Baytrail, Cherryview and Lynxpoint drivers.
This helps reduce their code and memory footprint.

X86 kernels are fairly unikernels such that pinctrl-intel driver is
enabled by most Linux distributions and most Intel specific platform
drivers (inside drivers/pinctrl/intel) depend on it.

The only exception to this is Lynxpoint. But taking into account its
fairly old age, it wouldn't suffer much from pinctrl-intel dependency.

bloat-o-meter:
==============

Intel:
add/remove: 17/10 grow/shrink: 0/0 up/down: 375/-319 (56)
Total: Before=9598, After=9654, chg +0.58%

Baytrail:
add/remove: 1/6 grow/shrink: 0/2 up/down: 41/-441 (-400)
Total: Before=16538, After=16138, chg -2.42%

Cherryview:
add/remove: 1/6 grow/shrink: 2/0 up/down: 90/-272 (-182)
Total: Before=18133, After=17951, chg -1.00%

Lynxpoint:
add/remove: 1/6 grow/shrink: 0/1 up/down: 24/-354 (-330)
Total: Before=7836, After=7506, chg -4.21%

Raag Jadav (4):
pinctrl: intel: export common pinctrl functions
pinctrl: baytrail: reuse common functions from pinctrl-intel
pinctrl: cherryview: reuse common functions from pinctrl-intel
pinctrl: lynxpoint: reuse common functions from pinctrl-intel

drivers/pinctrl/intel/Kconfig | 6 +-
drivers/pinctrl/intel/pinctrl-baytrail.c | 90 +++-------------------
drivers/pinctrl/intel/pinctrl-cherryview.c | 69 +++--------------
drivers/pinctrl/intel/pinctrl-intel.c | 30 ++++----
drivers/pinctrl/intel/pinctrl-intel.h | 12 +++
drivers/pinctrl/intel/pinctrl-lynxpoint.c | 86 ++-------------------
6 files changed, 57 insertions(+), 236 deletions(-)

--
2.17.1