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

Message ID 20230814060311.15945-1-raag.jadav@intel.com
Headers
Series Reuse common functions from pinctrl-intel |

Message

Raag Jadav Aug. 14, 2023, 6:03 a.m. UTC
  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(-)