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