changes sinve v2:
- some more style changes from review
changes since v1:
- move from header- to -core.c-based implementation
- style changes from review
This series mainly splits the one GPIO driver into two. The split allows
to clearly model runtime and compile time dependencies on the GPIO chip
drivers.
p1 is kind of not too related to that split but also prepares for more
GPIO based drivers to come.
p2 takes the driver we had and puts some of its content into a -core,
to be used by the two drivers.
p3 deals with more fine-grained configuration posibilities and compile
time dependencies.
Henning Schild (3):
leds: simatic-ipc-leds-gpio: move two extra gpio pins into another
table
leds: simatic-ipc-leds-gpio: split up into multiple drivers
leds: simatic-ipc-leds-gpio: introduce more Kconfig switches
drivers/leds/simple/Kconfig | 31 +++-
drivers/leds/simple/Makefile | 5 +-
.../simple/simatic-ipc-leds-gpio-apollolake.c | 64 ++++++++
.../leds/simple/simatic-ipc-leds-gpio-core.c | 104 +++++++++++++
.../simple/simatic-ipc-leds-gpio-f7188x.c | 64 ++++++++
drivers/leds/simple/simatic-ipc-leds-gpio.c | 139 ------------------
drivers/leds/simple/simatic-ipc-leds-gpio.h | 22 +++
drivers/leds/simple/simatic-ipc-leds.c | 1 -
drivers/platform/x86/simatic-ipc.c | 7 +-
9 files changed, 289 insertions(+), 148 deletions(-)
create mode 100644 drivers/leds/simple/simatic-ipc-leds-gpio-apollolake.c
create mode 100644 drivers/leds/simple/simatic-ipc-leds-gpio-core.c
create mode 100644 drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
delete mode 100644 drivers/leds/simple/simatic-ipc-leds-gpio.c
create mode 100644 drivers/leds/simple/simatic-ipc-leds-gpio.h
--
2.39.3
To describe the dependency chain better and allow for potential
fine-grained config tuning, introduce Kconfig switch for the individual
GPIO based drivers.
Signed-off-by: Henning Schild <[email protected]>
Acked-by: Hans de Goede <[email protected]>
---
drivers/leds/simple/Kconfig | 31 ++++++++++++++++++++++++++++---
drivers/leds/simple/Makefile | 7 +++----
2 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/drivers/leds/simple/Kconfig b/drivers/leds/simple/Kconfig
index fd2b8225d926..44fa0f93cb3b 100644
--- a/drivers/leds/simple/Kconfig
+++ b/drivers/leds/simple/Kconfig
@@ -1,11 +1,36 @@
# SPDX-License-Identifier: GPL-2.0-only
config LEDS_SIEMENS_SIMATIC_IPC
tristate "LED driver for Siemens Simatic IPCs"
- depends on LEDS_GPIO
depends on SIEMENS_SIMATIC_IPC
help
This option enables support for the LEDs of several Industrial PCs
from Siemens.
- To compile this driver as a module, choose M here: the modules
- will be called simatic-ipc-leds and simatic-ipc-leds-gpio.
+ To compile this driver as a module, choose M here: the module
+ will be called simatic-ipc-leds.
+
+config LEDS_SIEMENS_SIMATIC_IPC_APOLLOLAKE
+ tristate "LED driver for Siemens Simatic IPCs based on Intel Apollo Lake GPIO"
+ depends on LEDS_GPIO
+ depends on PINCTRL_BROXTON
+ depends on SIEMENS_SIMATIC_IPC
+ default LEDS_SIEMENS_SIMATIC_IPC
+ help
+ This option enables support for the LEDs of several Industrial PCs
+ from Siemens based on Apollo Lake GPIO i.e. IPC127E.
+
+ To compile this driver as a module, choose M here: the module
+ will be called simatic-ipc-leds-gpio-apollolake.
+
+config LEDS_SIEMENS_SIMATIC_IPC_F7188X
+ tristate "LED driver for Siemens Simatic IPCs based on Nuvoton GPIO"
+ depends on LEDS_GPIO
+ depends on GPIO_F7188X
+ depends on SIEMENS_SIMATIC_IPC
+ default LEDS_SIEMENS_SIMATIC_IPC
+ help
+ This option enables support for the LEDs of several Industrial PCs
+ from Siemens based on Nuvoton GPIO i.e. IPC227G.
+
+ To compile this driver as a module, choose M here: the module
+ will be called simatic-ipc-leds-gpio-f7188x.
diff --git a/drivers/leds/simple/Makefile b/drivers/leds/simple/Makefile
index ed9057f7b6da..e3e840cea275 100644
--- a/drivers/leds/simple/Makefile
+++ b/drivers/leds/simple/Makefile
@@ -1,5 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
-obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC) += simatic-ipc-leds.o
-obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC) += simatic-ipc-leds-gpio-core.o
-obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC) += simatic-ipc-leds-gpio-apollolake.o
-obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC) += simatic-ipc-leds-gpio-f7188x.o
+obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC) += simatic-ipc-leds.o
+obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC_APOLLOLAKE) += simatic-ipc-leds-gpio-core.o simatic-ipc-leds-gpio-apollolake.o
+obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC_F7188X) += simatic-ipc-leds-gpio-core.o simatic-ipc-leds-gpio-f7188x.o
--
2.39.3