Hi, On 7/19/23 17:35, Henning Schild wrote: > With more files around move everything to a subdirectory. Users will > only see the several options once they enable the main one. > > Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Henning Schild <henning.schild@xxxxxxxxxxx> Thank you, I have merged this entire series into the platform-drivers-x86-simatic-ipc branch now: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=platform-drivers-x86-simatic-ipc I did make 2 small changes to patch 3/3 while merging: 1. Only decend into the siemens subdir if CONFIG_SIEMENS_SIMATIC_IPC is set: --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -131,7 +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-y += siemens/ +obj-$(CONFIG_SIEMENS_SIMATIC_IPC) += siemens/ # Winmate obj-$(CONFIG_WINMATE_FM07_KEYS) += winmate-fm07-keys.o 2. Move the "default SIEMENS_SIMATIC_IPC*" lines to directly under the "tristate ..." lines as suggested by Andy. Note it will show up there once I've pushed my local branch there, which might take a while. Once I've run some tests on this branch the patches there will be merged into the platform-drivers-x86/for-next branch and eventually will be included in the pdx86 pull-request to Linus for the next merge-window. Regards, Hans > --- > drivers/platform/x86/Kconfig | 59 +---------------- > drivers/platform/x86/Makefile | 6 +- > drivers/platform/x86/siemens/Kconfig | 63 +++++++++++++++++++ > 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, 76 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..d4a6c18d0dde 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-y += 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..8e78dc609a38 > --- /dev/null > +++ b/drivers/platform/x86/siemens/Kconfig > @@ -0,0 +1,63 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +# > +# Siemens X86 Platform Specific Drivers > +# > + > +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. > 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