2023-07-19 15:51:24

by Henning Schild

[permalink] [raw]
Subject: [PATCH v2 0/3] platform/x86: move simatic drivers into subdir

change since v1:
- switch LED/wdt Kconfig to "default y"
- remove guard which could hide whole siemens submenu, and default m

This series does two things. It builds up a Kconfig inheritance chain
for all platform device drivers, namely Watchdog and LED. And then it
puts all Siemens Simatic IPC drivers in the platform/x86/ directory in
a subdirectory called "siemens".

That is so that users have to flip less config switches, and to ease
maintenance.

Henning Schild (3):
watchdog: make Siemens Simatic watchdog driver default on platform
leds: simatic-ipc-leds: default config switch to platform switch
platform/x86: Move all simatic ipc drivers to the subdirectory siemens

drivers/leds/simple/Kconfig | 1 +
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
drivers/watchdog/Kconfig | 1 +
12 files changed, 78 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%)

--
2.41.0



2023-07-19 15:57:57

by Henning Schild

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

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 <[email protected]>
Signed-off-by: Henning Schild <[email protected]>
---
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
--
2.41.0


2023-07-19 16:05:43

by Henning Schild

[permalink] [raw]
Subject: [PATCH v2 1/3] watchdog: make Siemens Simatic watchdog driver default on platform

If a user did choose to enable Siemens Simatic platform support they
likely want that driver to be enabled without having to flip more config
switches. So we make the watchdog driver config switch default to the
platform driver switches value.

Signed-off-by: Henning Schild <[email protected]>
---
drivers/watchdog/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index ee97d89dfc11..04e9b40cf7d5 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -1681,6 +1681,7 @@ config NIC7018_WDT
config SIEMENS_SIMATIC_IPC_WDT
tristate "Siemens Simatic IPC Watchdog"
depends on SIEMENS_SIMATIC_IPC
+ default y
select WATCHDOG_CORE
select P2SB
help
--
2.41.0


2023-07-19 16:29:24

by Henning Schild

[permalink] [raw]
Subject: [PATCH v2 2/3] leds: simatic-ipc-leds: default config switch to platform switch

If a user did choose to enable Siemens Simatic platform support they
likely want the LED drivers to be enabled without having to flip more
config switches. So we make the LED drivers config switch default to
the platform driver switches value.

Signed-off-by: Henning Schild <[email protected]>
---
drivers/leds/simple/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/leds/simple/Kconfig b/drivers/leds/simple/Kconfig
index 44fa0f93cb3b..609e438af9f6 100644
--- a/drivers/leds/simple/Kconfig
+++ b/drivers/leds/simple/Kconfig
@@ -2,6 +2,7 @@
config LEDS_SIEMENS_SIMATIC_IPC
tristate "LED driver for Siemens Simatic IPCs"
depends on SIEMENS_SIMATIC_IPC
+ default y
help
This option enables support for the LEDs of several Industrial PCs
from Siemens.
--
2.41.0


2023-07-19 16:31:19

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] platform/x86: move simatic drivers into subdir

On Wed, Jul 19, 2023 at 05:35:15PM +0200, Henning Schild wrote:
> change since v1:
> - switch LED/wdt Kconfig to "default y"
> - remove guard which could hide whole siemens submenu, and default m
>
> This series does two things. It builds up a Kconfig inheritance chain
> for all platform device drivers, namely Watchdog and LED. And then it
> puts all Siemens Simatic IPC drivers in the platform/x86/ directory in
> a subdirectory called "siemens".
>
> That is so that users have to flip less config switches, and to ease
> maintenance.

All three good enough, although I prefer the ordering that 'tristate'
followed by 'default' without interleaved 'depends on'. I leave it
to Hans. Other that that,
Reviewed-by: Andy Shevchenko <[email protected]>

--
With Best Regards,
Andy Shevchenko



2023-07-19 16:55:31

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] watchdog: make Siemens Simatic watchdog driver default on platform

On 7/19/23 08:35, Henning Schild wrote:
> If a user did choose to enable Siemens Simatic platform support they
> likely want that driver to be enabled without having to flip more config
> switches. So we make the watchdog driver config switch default to the
> platform driver switches value.
>
> Signed-off-by: Henning Schild <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> drivers/watchdog/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index ee97d89dfc11..04e9b40cf7d5 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -1681,6 +1681,7 @@ config NIC7018_WDT
> config SIEMENS_SIMATIC_IPC_WDT
> tristate "Siemens Simatic IPC Watchdog"
> depends on SIEMENS_SIMATIC_IPC
> + default y
> select WATCHDOG_CORE
> select P2SB
> help


2023-07-24 10:12:05

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] leds: simatic-ipc-leds: default config switch to platform switch

On Wed, 19 Jul 2023, Henning Schild wrote:

> If a user did choose to enable Siemens Simatic platform support they
> likely want the LED drivers to be enabled without having to flip more
> config switches. So we make the LED drivers config switch default to
> the platform driver switches value.
>
> Signed-off-by: Henning Schild <[email protected]>
> ---
> drivers/leds/simple/Kconfig | 1 +
> 1 file changed, 1 insertion(+)

Acked-by: Lee Jones <[email protected]>

--
Lee Jones [李琼斯]

2023-07-25 14:53:30

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] platform/x86: move simatic drivers into subdir

Hi,

On 7/19/23 18:06, Andy Shevchenko wrote:
> On Wed, Jul 19, 2023 at 05:35:15PM +0200, Henning Schild wrote:
>> change since v1:
>> - switch LED/wdt Kconfig to "default y"
>> - remove guard which could hide whole siemens submenu, and default m
>>
>> This series does two things. It builds up a Kconfig inheritance chain
>> for all platform device drivers, namely Watchdog and LED. And then it
>> puts all Siemens Simatic IPC drivers in the platform/x86/ directory in
>> a subdirectory called "siemens".
>>
>> That is so that users have to flip less config switches, and to ease
>> maintenance.
>
> All three good enough, although I prefer the ordering that 'tristate'
> followed by 'default' without interleaved 'depends on'. I leave it
> to Hans. Other that that,
> Reviewed-by: Andy Shevchenko <[email protected]>

Thank you.

Lee, Guenter do you want me to take the entire series on top of:

https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=platform-drivers-x86-simatic-ipc (aka ib-pdx86-simatic-v6.6)

And send an updated pull-req ?

Or shall I take just 3/3 and will you take the Kconfig
changes from 1/3 resp 2/3 directly ?

Regards,

Hans




2023-07-27 10:01:33

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] platform/x86: move simatic drivers into subdir

On Tue, 25 Jul 2023, Hans de Goede wrote:

> Hi,
>
> On 7/19/23 18:06, Andy Shevchenko wrote:
> > On Wed, Jul 19, 2023 at 05:35:15PM +0200, Henning Schild wrote:
> >> change since v1:
> >> - switch LED/wdt Kconfig to "default y"
> >> - remove guard which could hide whole siemens submenu, and default m
> >>
> >> This series does two things. It builds up a Kconfig inheritance chain
> >> for all platform device drivers, namely Watchdog and LED. And then it
> >> puts all Siemens Simatic IPC drivers in the platform/x86/ directory in
> >> a subdirectory called "siemens".
> >>
> >> That is so that users have to flip less config switches, and to ease
> >> maintenance.
> >
> > All three good enough, although I prefer the ordering that 'tristate'
> > followed by 'default' without interleaved 'depends on'. I leave it
> > to Hans. Other that that,
> > Reviewed-by: Andy Shevchenko <[email protected]>
>
> Thank you.
>
> Lee, Guenter do you want me to take the entire series on top of:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=platform-drivers-x86-simatic-ipc (aka ib-pdx86-simatic-v6.6)
>
> And send an updated pull-req ?

Please apply - no PR required for me.

> Or shall I take just 3/3 and will you take the Kconfig
> changes from 1/3 resp 2/3 directly ?

--
Lee Jones [李琼斯]

2023-07-31 11:19:43

by Hans de Goede

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

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 <[email protected]>
> Signed-off-by: Henning Schild <[email protected]>

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