Hans, this is based on your tag "ib-pdx86-simatic-v6.6" as you requested. Henning Am Tue, 18 Jul 2023 12:52:13 +0200 schrieb Henning Schild <henning.schild@xxxxxxxxxxx>: > Users without a Siemens Simatic IPC will not care about any of these > drivers. Users who do care can enable the submenu and all drivers > behind it will be enabled. > > Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Henning Schild <henning.schild@xxxxxxxxxxx> > --- > drivers/platform/x86/Kconfig | 59 +------------- > drivers/platform/x86/Makefile | 6 +- > drivers/platform/x86/siemens/Kconfig | 77 > +++++++++++++++++++ drivers/platform/x86/siemens/Makefile | > 11 +++ .../simatic-ipc-batt-apollolake.c | 0 > .../simatic-ipc-batt-elkhartlake.c | 0 > .../{ => siemens}/simatic-ipc-batt-f7188x.c | 0 > .../x86/{ => siemens}/simatic-ipc-batt.c | 0 > .../x86/{ => siemens}/simatic-ipc-batt.h | 0 > .../platform/x86/{ => siemens}/simatic-ipc.c | 0 > 10 files changed, 90 insertions(+), 63 deletions(-) > create mode 100644 drivers/platform/x86/siemens/Kconfig > create mode 100644 drivers/platform/x86/siemens/Makefile > rename drivers/platform/x86/{ => > siemens}/simatic-ipc-batt-apollolake.c (100%) rename > drivers/platform/x86/{ => siemens}/simatic-ipc-batt-elkhartlake.c > (100%) rename drivers/platform/x86/{ => > siemens}/simatic-ipc-batt-f7188x.c (100%) rename > drivers/platform/x86/{ => siemens}/simatic-ipc-batt.c (100%) rename > drivers/platform/x86/{ => siemens}/simatic-ipc-batt.h (100%) rename > drivers/platform/x86/{ => siemens}/simatic-ipc.c (100%) > > diff --git a/drivers/platform/x86/Kconfig > b/drivers/platform/x86/Kconfig index 487d3d8f4da9..f5fcb1ca1b63 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -1074,64 +1074,7 @@ config INTEL_SCU_IPC_UTIL > low level access for debug work and updating the firmware. > Say N unless you will be doing this on an Intel MID platform. > > -config SIEMENS_SIMATIC_IPC > - tristate "Siemens Simatic IPC Class driver" > - help > - This Simatic IPC class driver is the central of several > drivers. It > - is mainly used for system identification, after which > drivers in other > - classes will take care of driving specifics of those > machines. > - i.e. LEDs and watchdog. > - > - To compile this driver as a module, choose M here: the > module > - will be called simatic-ipc. > - > -config SIEMENS_SIMATIC_IPC_BATT > - tristate "CMOS battery driver for Siemens Simatic IPCs" > - depends on HWMON > - depends on SIEMENS_SIMATIC_IPC > - default SIEMENS_SIMATIC_IPC > - help > - This option enables support for monitoring the voltage of > the CMOS > - batteries of several Industrial PCs from Siemens. > - > - To compile this driver as a module, choose M here: the > module > - will be called simatic-ipc-batt. > - > -config SIEMENS_SIMATIC_IPC_BATT_APOLLOLAKE > - tristate "CMOS Battery monitoring for Simatic IPCs based on > Apollo Lake GPIO" > - depends on PINCTRL_BROXTON > - depends on SIEMENS_SIMATIC_IPC_BATT > - default SIEMENS_SIMATIC_IPC_BATT > - help > - This option enables CMOS battery monitoring for Simatic > Industrial PCs > - from Siemens based on Apollo Lake GPIO. > - > - To compile this driver as a module, choose M here: the > module > - will be called simatic-ipc-batt-apollolake. > - > -config SIEMENS_SIMATIC_IPC_BATT_ELKHARTLAKE > - tristate "CMOS Battery monitoring for Simatic IPCs based on > Elkhart Lake GPIO" > - depends on PINCTRL_ELKHARTLAKE > - depends on SIEMENS_SIMATIC_IPC_BATT > - default SIEMENS_SIMATIC_IPC_BATT > - help > - This option enables CMOS battery monitoring for Simatic > Industrial PCs > - from Siemens based on Elkhart Lake GPIO. > - > - To compile this driver as a module, choose M here: the > module > - will be called simatic-ipc-batt-elkhartlake. > - > -config SIEMENS_SIMATIC_IPC_BATT_F7188X > - tristate "CMOS Battery monitoring for Simatic IPCs based on > Nuvoton GPIO" > - depends on GPIO_F7188X > - depends on SIEMENS_SIMATIC_IPC_BATT > - default SIEMENS_SIMATIC_IPC_BATT > - help > - This option enables CMOS battery monitoring for Simatic > Industrial PCs > - from Siemens based on Nuvoton GPIO. > - > - To compile this driver as a module, choose M here: the > module > - will be called simatic-ipc-batt-elkhartlake. > +source "drivers/platform/x86/siemens/Kconfig" > > config WINMATE_FM07_KEYS > tristate "Winmate FM07/FM07P front-panel keys driver" > diff --git a/drivers/platform/x86/Makefile > b/drivers/platform/x86/Makefile index 522da0d1584d..f3bf4b90b878 > 100644 --- a/drivers/platform/x86/Makefile > +++ b/drivers/platform/x86/Makefile > @@ -131,11 +131,7 @@ obj-$(CONFIG_INTEL_SCU_IPC_UTIL) += > intel_scu_ipcutil.o obj-$(CONFIG_X86_INTEL_LPSS) += > pmc_atom.o > # Siemens Simatic Industrial PCs > -obj-$(CONFIG_SIEMENS_SIMATIC_IPC) += > simatic-ipc.o -obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT) > += simatic-ipc-batt.o > -obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_APOLLOLAKE) += > simatic-ipc-batt-apollolake.o > -obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_ELKHARTLAKE) += > simatic-ipc-batt-elkhartlake.o > -obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_F7188X) += > simatic-ipc-batt-f7188x.o > +obj-$(CONFIG_X86_PLATFORM_DRIVERS_SIEMENS) += > siemens/ # Winmate obj-$(CONFIG_WINMATE_FM07_KEYS) += > winmate-fm07-keys.o diff --git a/drivers/platform/x86/siemens/Kconfig > b/drivers/platform/x86/siemens/Kconfig new file mode 100644 index > 000000000000..64479f83698c --- /dev/null +++ > b/drivers/platform/x86/siemens/Kconfig @@ -0,0 +1,77 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +# > +# Siemens X86 Platform Specific Drivers > +# > + > +menuconfig X86_PLATFORM_DRIVERS_SIEMENS > + bool "Siemens X86 Platform Specific Device Drivers" > + help > + Say Y here to get to see options for device drivers for > various > + Siemens x86 platforms, mainly Simatic Industrial PCs. > + This option alone does not add any kernel code. > + > + If you say N, all options in this submenu will be skipped > and disabled. + > +if X86_PLATFORM_DRIVERS_SIEMENS > + > +config SIEMENS_SIMATIC_IPC > + tristate "Siemens Simatic IPC Class driver" > + default m > + help > + This Simatic IPC class driver is the central of several > drivers. It > + is mainly used for system identification, after which > drivers in other > + classes will take care of driving specifics of those > machines. > + i.e. LEDs and watchdog. > + > + To compile this driver as a module, choose M here: the > module > + will be called simatic-ipc. > + > +config SIEMENS_SIMATIC_IPC_BATT > + tristate "CMOS battery driver for Siemens Simatic IPCs" > + depends on HWMON > + depends on SIEMENS_SIMATIC_IPC > + default SIEMENS_SIMATIC_IPC > + help > + This option enables support for monitoring the voltage of > the CMOS > + batteries of several Industrial PCs from Siemens. > + > + To compile this driver as a module, choose M here: the > module > + will be called simatic-ipc-batt. > + > +config SIEMENS_SIMATIC_IPC_BATT_APOLLOLAKE > + tristate "CMOS Battery monitoring for Simatic IPCs based on > Apollo Lake GPIO" > + depends on PINCTRL_BROXTON > + depends on SIEMENS_SIMATIC_IPC_BATT > + default SIEMENS_SIMATIC_IPC_BATT > + help > + This option enables CMOS battery monitoring for Simatic > Industrial PCs > + from Siemens based on Apollo Lake GPIO. > + > + To compile this driver as a module, choose M here: the > module > + will be called simatic-ipc-batt-apollolake. > + > +config SIEMENS_SIMATIC_IPC_BATT_ELKHARTLAKE > + tristate "CMOS Battery monitoring for Simatic IPCs based on > Elkhart Lake GPIO" > + depends on PINCTRL_ELKHARTLAKE > + depends on SIEMENS_SIMATIC_IPC_BATT > + default SIEMENS_SIMATIC_IPC_BATT > + help > + This option enables CMOS battery monitoring for Simatic > Industrial PCs > + from Siemens based on Elkhart Lake GPIO. > + > + To compile this driver as a module, choose M here: the > module > + will be called simatic-ipc-batt-elkhartlake. > + > +config SIEMENS_SIMATIC_IPC_BATT_F7188X > + tristate "CMOS Battery monitoring for Simatic IPCs based on > Nuvoton GPIO" > + depends on GPIO_F7188X > + depends on SIEMENS_SIMATIC_IPC_BATT > + default SIEMENS_SIMATIC_IPC_BATT > + help > + This option enables CMOS battery monitoring for Simatic > Industrial PCs > + from Siemens based on Nuvoton GPIO. > + > + To compile this driver as a module, choose M here: the > module > + will be called simatic-ipc-batt-elkhartlake. > + > +endif # X86_PLATFORM_DRIVERS_SIEMENS > diff --git a/drivers/platform/x86/siemens/Makefile > b/drivers/platform/x86/siemens/Makefile new file mode 100644 > index 000000000000..2b384b4cb8ba > --- /dev/null > +++ b/drivers/platform/x86/siemens/Makefile > @@ -0,0 +1,11 @@ > +# SPDX-License-Identifier: GPL-2.0 > +# > +# Makefile for linux/drivers/platform/x86/siemens > +# Siemens x86 Platform-Specific Drivers > +# > + > +obj-$(CONFIG_SIEMENS_SIMATIC_IPC) += > simatic-ipc.o +obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT) > += simatic-ipc-batt.o > +obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_APOLLOLAKE) += > simatic-ipc-batt-apollolake.o > +obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_ELKHARTLAKE) += > simatic-ipc-batt-elkhartlake.o > +obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_F7188X) += > simatic-ipc-batt-f7188x.o diff --git > a/drivers/platform/x86/simatic-ipc-batt-apollolake.c > b/drivers/platform/x86/siemens/simatic-ipc-batt-apollolake.c > similarity index 100% rename from > drivers/platform/x86/simatic-ipc-batt-apollolake.c rename to > drivers/platform/x86/siemens/simatic-ipc-batt-apollolake.c diff --git > a/drivers/platform/x86/simatic-ipc-batt-elkhartlake.c > b/drivers/platform/x86/siemens/simatic-ipc-batt-elkhartlake.c > similarity index 100% rename from > drivers/platform/x86/simatic-ipc-batt-elkhartlake.c rename to > drivers/platform/x86/siemens/simatic-ipc-batt-elkhartlake.c diff > --git a/drivers/platform/x86/simatic-ipc-batt-f7188x.c > b/drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.c similarity > index 100% rename from drivers/platform/x86/simatic-ipc-batt-f7188x.c > rename to drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.c diff > --git a/drivers/platform/x86/simatic-ipc-batt.c > b/drivers/platform/x86/siemens/simatic-ipc-batt.c similarity index > 100% rename from drivers/platform/x86/simatic-ipc-batt.c rename to > drivers/platform/x86/siemens/simatic-ipc-batt.c diff --git > a/drivers/platform/x86/simatic-ipc-batt.h > b/drivers/platform/x86/siemens/simatic-ipc-batt.h similarity index > 100% rename from drivers/platform/x86/simatic-ipc-batt.h rename to > drivers/platform/x86/siemens/simatic-ipc-batt.h diff --git > a/drivers/platform/x86/simatic-ipc.c > b/drivers/platform/x86/siemens/simatic-ipc.c similarity index 100% > rename from drivers/platform/x86/simatic-ipc.c rename to > drivers/platform/x86/siemens/simatic-ipc.c