Re: [PATCH v2 3/3] platform/x86: Move all simatic ipc drivers to the subdirectory siemens

From: Hans de Goede
Date: Mon Jul 31 2023 - 06:48:06 EST


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