linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A
@ 2023-07-31  7:14 xingtong_wu
  2023-07-31  7:14 ` [PATCH 1/3] platform/x86: simatic-ipc: add new models BX-56A/BX-59A xingtong_wu
                   ` (3 more replies)
  0 siblings, 4 replies; 23+ messages in thread
From: xingtong_wu @ 2023-07-31  7:14 UTC (permalink / raw)
  To: hdegoede, markgross, henning.schild, andriy.shevchenko, lee,
	xingtong.wu, platform-driver-x86, linux-kernel

From: "xingtong.wu" <xingtong.wu@siemens.com>

These are patches adding features for another Simatic IPC model
BX-56A/BX-59A, features for led and battery monitor are involved.

Based on:
 [PATCH v2 0/3] platform/x86: move simatic drivers into subdir
 [PATCH v2 0/2] leds: simatic-ipc-leds-gpio: add new model BX-21A
 [PATCH 0/2] platform/x86/siemens: fixes for CMOS battery hwmon

xingtong.wu (3):
  platform/x86: simatic-ipc: add new models BX-56A/BX-59A
  leds: simatic-ipc-leds-gpio: add support for module BX-59A
  batt: simatic-ipc-batt: add support for module BX-59A

 .../leds/simple/simatic-ipc-leds-gpio-core.c  |  1 +
 .../simple/simatic-ipc-leds-gpio-f7188x.c     | 42 ++++++++++++++++---
 drivers/platform/x86/siemens/Kconfig          |  1 +
 .../x86/siemens/simatic-ipc-batt-f7188x.c     | 37 +++++++++++-----
 .../platform/x86/siemens/simatic-ipc-batt.c   |  3 +-
 drivers/platform/x86/siemens/simatic-ipc.c    | 12 +++++-
 .../platform_data/x86/simatic-ipc-base.h      |  1 +
 include/linux/platform_data/x86/simatic-ipc.h |  2 +
 8 files changed, 80 insertions(+), 19 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH 1/3] platform/x86: simatic-ipc: add new models BX-56A/BX-59A
  2023-07-31  7:14 [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A xingtong_wu
@ 2023-07-31  7:14 ` xingtong_wu
  2023-08-01  9:04   ` [PATCH 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A xingtong_wu
  2023-07-31  7:18 ` [PATCH 2/3] leds: simatic-ipc-leds-gpio: add support for module BX-59A xingtong_wu
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 23+ messages in thread
From: xingtong_wu @ 2023-07-31  7:14 UTC (permalink / raw)
  To: hdegoede, markgross, henning.schild, andriy.shevchenko, lee,
	xingtong.wu, platform-driver-x86, linux-kernel

From: "xingtong.wu" <xingtong.wu@siemens.com>

This adds support for the Siemens Simatic IPC models BX-56A/BX-59A,
led/watchdog/battery on these models are same, actual drivers for
models will be sent in separate patches.

Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/simatic-ipc.c         | 12 ++++++++++--
 include/linux/platform_data/x86/simatic-ipc-base.h |  1 +
 include/linux/platform_data/x86/simatic-ipc.h      |  2 ++
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/siemens/simatic-ipc.c b/drivers/platform/x86/siemens/simatic-ipc.c
index 13c857316c7f..02c540cf4070 100644
--- a/drivers/platform/x86/siemens/simatic-ipc.c
+++ b/drivers/platform/x86/siemens/simatic-ipc.c
@@ -78,6 +78,12 @@ static struct {
 	{SIMATIC_IPC_IPCBX_21A,
 		SIMATIC_IPC_DEVICE_BX_21A, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_BX_21A,
 		{ "emc1403", NULL }},
+	{SIMATIC_IPC_IPCBX_56A,
+		SIMATIC_IPC_DEVICE_BX_59A, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_BX_59A,
+		{ "emc1403", "w83627hf_wdt" }},
+	{SIMATIC_IPC_IPCBX_59A,
+		SIMATIC_IPC_DEVICE_BX_59A, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_BX_59A,
+		{ "emc1403", "w83627hf_wdt" }},
 };
 
 static int register_platform_devices(u32 station_id)
@@ -103,7 +109,9 @@ static int register_platform_devices(u32 station_id)
 			pdevname = KBUILD_MODNAME "_batt_apollolake";
 		if (battmode == SIMATIC_IPC_DEVICE_BX_21A)
 			pdevname = KBUILD_MODNAME "_batt_elkhartlake";
-		if (battmode == SIMATIC_IPC_DEVICE_227G || battmode == SIMATIC_IPC_DEVICE_BX_39A)
+		if (battmode == SIMATIC_IPC_DEVICE_227G ||
+		    battmode == SIMATIC_IPC_DEVICE_BX_39A ||
+		    battmode == SIMATIC_IPC_DEVICE_BX_59A)
 			pdevname = KBUILD_MODNAME "_batt_f7188x";
 		platform_data.devmode = battmode;
 		ipc_batt_platform_device =
@@ -121,7 +129,7 @@ static int register_platform_devices(u32 station_id)
 		pdevname = KBUILD_MODNAME "_leds";
 		if (ledmode == SIMATIC_IPC_DEVICE_127E)
 			pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
-		if (ledmode == SIMATIC_IPC_DEVICE_227G)
+		if (ledmode == SIMATIC_IPC_DEVICE_227G || SIMATIC_IPC_DEVICE_BX_59A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
 		if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
diff --git a/include/linux/platform_data/x86/simatic-ipc-base.h b/include/linux/platform_data/x86/simatic-ipc-base.h
index 4ca21065c862..2d7f7120ba6b 100644
--- a/include/linux/platform_data/x86/simatic-ipc-base.h
+++ b/include/linux/platform_data/x86/simatic-ipc-base.h
@@ -22,6 +22,7 @@
 #define SIMATIC_IPC_DEVICE_227G 5
 #define SIMATIC_IPC_DEVICE_BX_21A 6
 #define SIMATIC_IPC_DEVICE_BX_39A 7
+#define SIMATIC_IPC_DEVICE_BX_59A 8
 
 struct simatic_ipc_platform {
 	u8	devmode;
diff --git a/include/linux/platform_data/x86/simatic-ipc.h b/include/linux/platform_data/x86/simatic-ipc.h
index f2eafa43a605..8d8b3b919674 100644
--- a/include/linux/platform_data/x86/simatic-ipc.h
+++ b/include/linux/platform_data/x86/simatic-ipc.h
@@ -36,6 +36,8 @@ enum simatic_ipc_station_ids {
 	SIMATIC_IPC_IPCBX_39A = 0x00001001,
 	SIMATIC_IPC_IPCPX_39A = 0x00001002,
 	SIMATIC_IPC_IPCBX_21A = 0x00001101,
+	SIMATIC_IPC_IPCBX_56A = 0x00001201,
+	SIMATIC_IPC_IPCBX_59A = 0x00001202,
 };
 
 static inline u32 simatic_ipc_get_station_id(u8 *data, int max_len)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 2/3] leds: simatic-ipc-leds-gpio: add support for module BX-59A
  2023-07-31  7:14 [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A xingtong_wu
  2023-07-31  7:14 ` [PATCH 1/3] platform/x86: simatic-ipc: add new models BX-56A/BX-59A xingtong_wu
@ 2023-07-31  7:18 ` xingtong_wu
  2024-02-02  3:35   ` xingtong.wu
  2023-07-31  7:21 ` [PATCH 3/3] batt: simatic-ipc-batt: " xingtong_wu
  2023-07-31 12:36 ` [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A Hans de Goede
  3 siblings, 1 reply; 23+ messages in thread
From: xingtong_wu @ 2023-07-31  7:18 UTC (permalink / raw)
  To: pavel, lee, henning.schild, hdegoede, xingtong.wu, linux-leds,
	linux-kernel

From: "xingtong.wu" <xingtong.wu@siemens.com>

This is used for the Siemens Simatic IPC BX-59A, which has its LEDs
connected to GPIOs provided by the Nuvoton NCT6126D

Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 .../leds/simple/simatic-ipc-leds-gpio-core.c  |  1 +
 .../simple/simatic-ipc-leds-gpio-f7188x.c     | 42 ++++++++++++++++---
 2 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
index c552ea73ed9d..10dca208d8cc 100644
--- a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
@@ -58,6 +58,7 @@ int simatic_ipc_leds_gpio_probe(struct platform_device *pdev,
 	case SIMATIC_IPC_DEVICE_127E:
 	case SIMATIC_IPC_DEVICE_227G:
 	case SIMATIC_IPC_DEVICE_BX_21A:
+	case SIMATIC_IPC_DEVICE_BX_59A:
 		break;
 	default:
 		return -ENODEV;
diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
index 583a6b6c7c22..a5b544b20857 100644
--- a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
@@ -17,7 +17,10 @@
 
 #include "simatic-ipc-leds-gpio.h"
 
-static struct gpiod_lookup_table simatic_ipc_led_gpio_table = {
+static struct gpiod_lookup_table *led_lookup_table;
+static struct gpiod_lookup_table *led_lookup_table_extra;
+
+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_227g = {
 	.dev_id = "leds-gpio",
 	.table = {
 		GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW),
@@ -30,7 +33,7 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table = {
 	},
 };
 
-static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = {
+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra_227g = {
 	.dev_id = NULL, /* Filled during initialization */
 	.table = {
 		GPIO_LOOKUP_IDX("gpio-f7188x-3", 6, NULL, 6, GPIO_ACTIVE_HIGH),
@@ -39,16 +42,43 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = {
 	},
 };
 
+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_bx_59a = {
+	.dev_id = "leds-gpio",
+	.table = {
+		GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW),
+		GPIO_LOOKUP_IDX("gpio-f7188x-2", 3, NULL, 1, GPIO_ACTIVE_LOW),
+		GPIO_LOOKUP_IDX("gpio-f7188x-5", 3, NULL, 2, GPIO_ACTIVE_LOW),
+		GPIO_LOOKUP_IDX("gpio-f7188x-5", 2, NULL, 3, GPIO_ACTIVE_LOW),
+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 7, NULL, 4, GPIO_ACTIVE_LOW),
+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 4, NULL, 5, GPIO_ACTIVE_LOW),
+		{} /* Terminating entry */
+	}
+};
+
 static int simatic_ipc_leds_gpio_f7188x_probe(struct platform_device *pdev)
 {
-	return simatic_ipc_leds_gpio_probe(pdev, &simatic_ipc_led_gpio_table,
-					   &simatic_ipc_led_gpio_table_extra);
+	const struct simatic_ipc_platform *plat = pdev->dev.platform_data;
+
+	switch (plat->devmode) {
+	case SIMATIC_IPC_DEVICE_227G:
+		led_lookup_table = &simatic_ipc_led_gpio_table_227g;
+		led_lookup_table_extra = &simatic_ipc_led_gpio_table_extra_227g;
+		break;
+	case SIMATIC_IPC_DEVICE_BX_59A:
+		led_lookup_table = &simatic_ipc_led_gpio_table_bx_59a;
+		break;
+	default:
+		return -ENODEV;
+	}
+
+	return simatic_ipc_leds_gpio_probe(pdev, led_lookup_table,
+					   led_lookup_table_extra);
 }
 
 static int simatic_ipc_leds_gpio_f7188x_remove(struct platform_device *pdev)
 {
-	return simatic_ipc_leds_gpio_remove(pdev, &simatic_ipc_led_gpio_table,
-					    &simatic_ipc_led_gpio_table_extra);
+	return simatic_ipc_leds_gpio_remove(pdev, led_lookup_table,
+					    led_lookup_table_extra);
 }
 
 static struct platform_driver simatic_ipc_led_gpio_driver = {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 3/3] batt: simatic-ipc-batt: add support for module BX-59A
  2023-07-31  7:14 [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A xingtong_wu
  2023-07-31  7:14 ` [PATCH 1/3] platform/x86: simatic-ipc: add new models BX-56A/BX-59A xingtong_wu
  2023-07-31  7:18 ` [PATCH 2/3] leds: simatic-ipc-leds-gpio: add support for module BX-59A xingtong_wu
@ 2023-07-31  7:21 ` xingtong_wu
  2023-08-01  9:07   ` [PATCH 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A xingtong_wu
  2023-07-31 12:36 ` [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A Hans de Goede
  3 siblings, 1 reply; 23+ messages in thread
From: xingtong_wu @ 2023-07-31  7:21 UTC (permalink / raw)
  To: hdegoede, markgross, henning.schild, xingtong.wu,
	platform-driver-x86, linux-kernel

From: "xingtong.wu" <xingtong.wu@siemens.com>

This is used for the Siemens Simatic IPC BX-59A, which
can monitor the voltage of the CMOS battery with two bits
that indicate low or empty state

Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/Kconfig          |  1 +
 .../x86/siemens/simatic-ipc-batt-f7188x.c     | 37 ++++++++++++++-----
 .../platform/x86/siemens/simatic-ipc-batt.c   |  3 +-
 3 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/drivers/platform/x86/siemens/Kconfig b/drivers/platform/x86/siemens/Kconfig
index 9c227a19432f..2ee36e33b03d 100644
--- a/drivers/platform/x86/siemens/Kconfig
+++ b/drivers/platform/x86/siemens/Kconfig
@@ -53,6 +53,7 @@ config SIEMENS_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 PINCTRL_ALDERLAKE
 	depends on SIEMENS_SIMATIC_IPC_BATT
 	default SIEMENS_SIMATIC_IPC_BATT
 	help
diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.c b/drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.c
index ed330f6a8ea8..a66107e0fe1e 100644
--- a/drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.c
+++ b/drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.c
@@ -17,6 +17,8 @@
 
 #include "simatic-ipc-batt.h"
 
+static struct gpiod_lookup_table *batt_lookup_table;
+
 static struct gpiod_lookup_table simatic_ipc_batt_gpio_table_227g = {
 	.table = {
 		GPIO_LOOKUP_IDX("gpio-f7188x-7", 6, NULL, 0, GPIO_ACTIVE_HIGH),
@@ -34,24 +36,39 @@ static struct gpiod_lookup_table simatic_ipc_batt_gpio_table_bx_39a = {
 	},
 };
 
+static struct gpiod_lookup_table simatic_ipc_batt_gpio_table_bx_59a = {
+	.table = {
+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 6, NULL, 0, GPIO_ACTIVE_HIGH),
+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 5, NULL, 1, GPIO_ACTIVE_HIGH),
+		GPIO_LOOKUP_IDX("INTC1056:00", 438, NULL, 2, GPIO_ACTIVE_HIGH),
+		{} /* Terminating entry */
+	}
+};
+
 static int simatic_ipc_batt_f7188x_remove(struct platform_device *pdev)
 {
-	const struct simatic_ipc_platform *plat = pdev->dev.platform_data;
-
-	if (plat->devmode == SIMATIC_IPC_DEVICE_227G)
-		return simatic_ipc_batt_remove(pdev, &simatic_ipc_batt_gpio_table_227g);
-
-	return simatic_ipc_batt_remove(pdev, &simatic_ipc_batt_gpio_table_bx_39a);
+	return simatic_ipc_batt_remove(pdev, batt_lookup_table);
 }
 
 static int simatic_ipc_batt_f7188x_probe(struct platform_device *pdev)
 {
 	const struct simatic_ipc_platform *plat = pdev->dev.platform_data;
 
-	if (plat->devmode == SIMATIC_IPC_DEVICE_227G)
-		return simatic_ipc_batt_probe(pdev, &simatic_ipc_batt_gpio_table_227g);
+	switch (plat->devmode) {
+	case SIMATIC_IPC_DEVICE_227G:
+		batt_lookup_table = &simatic_ipc_batt_gpio_table_227g;
+		break;
+	case SIMATIC_IPC_DEVICE_BX_39A:
+		batt_lookup_table = &simatic_ipc_batt_gpio_table_bx_39a;
+		break;
+	case SIMATIC_IPC_DEVICE_BX_59A:
+		batt_lookup_table = &simatic_ipc_batt_gpio_table_bx_59a;
+		break;
+	default:
+		return -ENODEV;
+	}
 
-	return simatic_ipc_batt_probe(pdev, &simatic_ipc_batt_gpio_table_bx_39a);
+	return simatic_ipc_batt_probe(pdev, batt_lookup_table);
 }
 
 static struct platform_driver simatic_ipc_batt_driver = {
@@ -66,5 +83,5 @@ module_platform_driver(simatic_ipc_batt_driver);
 
 MODULE_LICENSE("GPL");
 MODULE_ALIAS("platform:" KBUILD_MODNAME);
-MODULE_SOFTDEP("pre: simatic-ipc-batt gpio_f7188x platform:elkhartlake-pinctrl");
+MODULE_SOFTDEP("pre: simatic-ipc-batt gpio_f7188x platform:elkhartlake-pinctrl platform:alderlake-pinctrl");
 MODULE_AUTHOR("Henning Schild <henning.schild@siemens.com>");
diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
index e34417ca9e13..d66b9969234b 100644
--- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
+++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
@@ -169,6 +169,7 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
 	case SIMATIC_IPC_DEVICE_227G:
 	case SIMATIC_IPC_DEVICE_BX_39A:
 	case SIMATIC_IPC_DEVICE_BX_21A:
+	case SIMATIC_IPC_DEVICE_BX_59A:
 		table->dev_id = dev_name(dev);
 		gpiod_add_lookup_table(table);
 		break;
@@ -193,7 +194,7 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
 
 	if (table->table[2].key) {
 		flags = GPIOD_OUT_HIGH;
-		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A)
+		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
 			flags = GPIOD_OUT_LOW;
 		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
 		if (IS_ERR(priv.gpios[2])) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A
  2023-07-31  7:14 [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A xingtong_wu
                   ` (2 preceding siblings ...)
  2023-07-31  7:21 ` [PATCH 3/3] batt: simatic-ipc-batt: " xingtong_wu
@ 2023-07-31 12:36 ` Hans de Goede
  3 siblings, 0 replies; 23+ messages in thread
From: Hans de Goede @ 2023-07-31 12:36 UTC (permalink / raw)
  To: xingtong_wu, markgross, andriy.shevchenko, lee, xingtong.wu,
	platform-driver-x86, linux-kernel, Gerd Haeussler

Hi,

On 7/31/23 09:14, xingtong_wu@163.com wrote:
> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> These are patches adding features for another Simatic IPC model
> BX-56A/BX-59A, features for led and battery monitor are involved.
> 
> Based on:
>  [PATCH v2 0/3] platform/x86: move simatic drivers into subdir
>  [PATCH v2 0/2] leds: simatic-ipc-leds-gpio: add new model BX-21A
>  [PATCH 0/2] platform/x86/siemens: fixes for CMOS battery hwmon
> 
> xingtong.wu (3):
>   platform/x86: simatic-ipc: add new models BX-56A/BX-59A
>   leds: simatic-ipc-leds-gpio: add support for module BX-59A
>   batt: simatic-ipc-batt: add support for module BX-59A

Thank you. I have merged patches 1/3 and 3/3 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

Lee, I'll send you a pull-req for an immutable tag so that you
can merge 2/3 into lee/leds.git .

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






> 
>  .../leds/simple/simatic-ipc-leds-gpio-core.c  |  1 +
>  .../simple/simatic-ipc-leds-gpio-f7188x.c     | 42 ++++++++++++++++---
>  drivers/platform/x86/siemens/Kconfig          |  1 +
>  .../x86/siemens/simatic-ipc-batt-f7188x.c     | 37 +++++++++++-----
>  .../platform/x86/siemens/simatic-ipc-batt.c   |  3 +-
>  drivers/platform/x86/siemens/simatic-ipc.c    | 12 +++++-
>  .../platform_data/x86/simatic-ipc-base.h      |  1 +
>  include/linux/platform_data/x86/simatic-ipc.h |  2 +
>  8 files changed, 80 insertions(+), 19 deletions(-)
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A
  2023-07-31  7:14 ` [PATCH 1/3] platform/x86: simatic-ipc: add new models BX-56A/BX-59A xingtong_wu
@ 2023-08-01  9:04   ` xingtong_wu
  2023-08-01  9:10     ` Hans de Goede
  2023-08-04 13:41     ` Ilpo Järvinen
  0 siblings, 2 replies; 23+ messages in thread
From: xingtong_wu @ 2023-08-01  9:04 UTC (permalink / raw)
  To: hdegoede, markgross, andriy.shevchenko, xingtong.wu, lee,
	platform-driver-x86, linux-kernel
  Cc: gerd.haeussler.ext, tobias.schaffner, kernel test robot

From: "xingtong.wu" <xingtong.wu@siemens.com>

There is a bug in if statement that lead to logical error
and have influence to other IPC, it get correct now.

Fixes: b8af77951941 ("platform/x86/siemens: simatic-ipc: add new models BX-56A/BX-59A")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202307312322.Aa8upHWK-lkp@intel.com/
Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/simatic-ipc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/siemens/simatic-ipc.c b/drivers/platform/x86/siemens/simatic-ipc.c
index 02c540cf4070..8ca6e277fa03 100644
--- a/drivers/platform/x86/siemens/simatic-ipc.c
+++ b/drivers/platform/x86/siemens/simatic-ipc.c
@@ -129,7 +129,7 @@ static int register_platform_devices(u32 station_id)
 		pdevname = KBUILD_MODNAME "_leds";
 		if (ledmode == SIMATIC_IPC_DEVICE_127E)
 			pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
-		if (ledmode == SIMATIC_IPC_DEVICE_227G || SIMATIC_IPC_DEVICE_BX_59A)
+		if (ledmode == SIMATIC_IPC_DEVICE_227G || ledmode == SIMATIC_IPC_DEVICE_BX_59A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
 		if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A
  2023-07-31  7:21 ` [PATCH 3/3] batt: simatic-ipc-batt: " xingtong_wu
@ 2023-08-01  9:07   ` xingtong_wu
  2023-08-04 13:43     ` Ilpo Järvinen
  0 siblings, 1 reply; 23+ messages in thread
From: xingtong_wu @ 2023-08-01  9:07 UTC (permalink / raw)
  To: hdegoede, markgross, xingtong.wu, platform-driver-x86, linux-kernel
  Cc: gerd.haeussler.ext, tobias.schaffner, kernel test robot

From: "xingtong.wu" <xingtong.wu@siemens.com>

There is a bug in if statement that lead to logical error
and have influence to other IPC, it get correct now.

Fixes: c56beff20375 ("platform/x86/siemens: simatic-ipc-batt: add support for module BX-59A")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308010001.BGYCSQrl-lkp@intel.com/
Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
index d66b9969234b..e6c12c52843c 100644
--- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
+++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
@@ -194,7 +194,8 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
 
 	if (table->table[2].key) {
 		flags = GPIOD_OUT_HIGH;
-		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
+		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A ||
+		    priv.devmode == SIMATIC_IPC_DEVICE_BX_59A)
 			flags = GPIOD_OUT_LOW;
 		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
 		if (IS_ERR(priv.gpios[2])) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A
  2023-08-01  9:04   ` [PATCH 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A xingtong_wu
@ 2023-08-01  9:10     ` Hans de Goede
  2023-08-04 13:41     ` Ilpo Järvinen
  1 sibling, 0 replies; 23+ messages in thread
From: Hans de Goede @ 2023-08-01  9:10 UTC (permalink / raw)
  To: xingtong_wu, markgross, andriy.shevchenko, xingtong.wu, lee,
	platform-driver-x86, linux-kernel
  Cc: gerd.haeussler.ext, tobias.schaffner, kernel test robot

Hi xingtong,

Thank you for the quick fixes for the issues lkp spotted.

I'll merge these into the pdx86-simatic-ipc branch next time
I do a round of merges (within about a week).

Regards,

Hans





On 8/1/23 11:04, xingtong_wu@163.com wrote:
> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> There is a bug in if statement that lead to logical error
> and have influence to other IPC, it get correct now.
> 
> Fixes: b8af77951941 ("platform/x86/siemens: simatic-ipc: add new models BX-56A/BX-59A")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202307312322.Aa8upHWK-lkp@intel.com/
> Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
> ---
>  drivers/platform/x86/siemens/simatic-ipc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/x86/siemens/simatic-ipc.c b/drivers/platform/x86/siemens/simatic-ipc.c
> index 02c540cf4070..8ca6e277fa03 100644
> --- a/drivers/platform/x86/siemens/simatic-ipc.c
> +++ b/drivers/platform/x86/siemens/simatic-ipc.c
> @@ -129,7 +129,7 @@ static int register_platform_devices(u32 station_id)
>  		pdevname = KBUILD_MODNAME "_leds";
>  		if (ledmode == SIMATIC_IPC_DEVICE_127E)
>  			pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
> -		if (ledmode == SIMATIC_IPC_DEVICE_227G || SIMATIC_IPC_DEVICE_BX_59A)
> +		if (ledmode == SIMATIC_IPC_DEVICE_227G || ledmode == SIMATIC_IPC_DEVICE_BX_59A)
>  			pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
>  		if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
>  			pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A
  2023-08-01  9:04   ` [PATCH 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A xingtong_wu
  2023-08-01  9:10     ` Hans de Goede
@ 2023-08-04 13:41     ` Ilpo Järvinen
  2043-07-31 17:30       ` [PATCH v2 0/2] fix logic errors " xingtong_wu
  1 sibling, 1 reply; 23+ messages in thread
From: Ilpo Järvinen @ 2023-08-04 13:41 UTC (permalink / raw)
  To: xingtong_wu
  Cc: hdegoede, markgross, Andy Shevchenko, xingtong.wu, lee,
	platform-driver-x86, LKML, gerd.haeussler.ext, tobias.schaffner,
	kernel test robot

[-- Attachment #1: Type: text/plain, Size: 1719 bytes --]

On Tue, 1 Aug 2023, xingtong_wu@163.com wrote:

> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> There is a bug in if statement that lead to logical error

Variable is missing from the ledmode if statement that leads to a logic 
error.

> and have influence to other IPC

I don't understand what you're trying to say with this. Not that it feels 
very necessary anyway.

>, it get correct now.

I'd say (in own sentence):

"Add the missing variable to the if condition."

> Fixes: b8af77951941 ("platform/x86/siemens: simatic-ipc: add new models BX-56A/BX-59A")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202307312322.Aa8upHWK-lkp@intel.com/
> Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
> ---
>  drivers/platform/x86/siemens/simatic-ipc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/x86/siemens/simatic-ipc.c b/drivers/platform/x86/siemens/simatic-ipc.c
> index 02c540cf4070..8ca6e277fa03 100644
> --- a/drivers/platform/x86/siemens/simatic-ipc.c
> +++ b/drivers/platform/x86/siemens/simatic-ipc.c
> @@ -129,7 +129,7 @@ static int register_platform_devices(u32 station_id)
>  		pdevname = KBUILD_MODNAME "_leds";
>  		if (ledmode == SIMATIC_IPC_DEVICE_127E)
>  			pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
> -		if (ledmode == SIMATIC_IPC_DEVICE_227G || SIMATIC_IPC_DEVICE_BX_59A)
> +		if (ledmode == SIMATIC_IPC_DEVICE_227G || ledmode == SIMATIC_IPC_DEVICE_BX_59A)
>  			pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
>  		if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
>  			pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
> 

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

-- 
 i.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A
  2023-08-01  9:07   ` [PATCH 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A xingtong_wu
@ 2023-08-04 13:43     ` Ilpo Järvinen
  2043-07-31 17:34       ` [PATCH v2 " xingtong_wu
  0 siblings, 1 reply; 23+ messages in thread
From: Ilpo Järvinen @ 2023-08-04 13:43 UTC (permalink / raw)
  To: xingtong_wu
  Cc: hdegoede, markgross, xingtong.wu, platform-driver-x86,
	linux-kernel, gerd.haeussler.ext, tobias.schaffner,
	kernel test robot

[-- Attachment #1: Type: text/plain, Size: 1562 bytes --]

On Tue, 1 Aug 2023, xingtong_wu@163.com wrote:

> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> There is a bug in if statement that lead to logical error
> and have influence to other IPC, it get correct now.
> 
> Fixes: c56beff20375 ("platform/x86/siemens: simatic-ipc-batt: add support for module BX-59A")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308010001.BGYCSQrl-lkp@intel.com/
> Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
> ---
>  drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
> index d66b9969234b..e6c12c52843c 100644
> --- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
> +++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
> @@ -194,7 +194,8 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
>  
>  	if (table->table[2].key) {
>  		flags = GPIOD_OUT_HIGH;
> -		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
> +		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A ||
> +		    priv.devmode == SIMATIC_IPC_DEVICE_BX_59A)
>  			flags = GPIOD_OUT_LOW;
>  		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
>  		if (IS_ERR(priv.gpios[2])) {
> 

The code change is fine but please try to improve the changelog (has 
similar problems as the other one).

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

-- 
 i.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A
  2043-07-31 17:34       ` [PATCH v2 " xingtong_wu
@ 2023-08-07  9:00         ` Ilpo Järvinen
  2043-08-02 17:38           ` [PATCH v3 2/2] platform/x86/siemens: simatic-ipc-batt: fix logical " xingtong_wu
  2023-08-16 15:45         ` [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic " Ashok Raj
  1 sibling, 1 reply; 23+ messages in thread
From: Ilpo Järvinen @ 2023-08-07  9:00 UTC (permalink / raw)
  To: xingtong_wu
  Cc: hdegoede, markgross, xingtong.wu, platform-driver-x86, LKML,
	gerd.haeussler.ext, tobias.schaffner, lkp

[-- Attachment #1: Type: text/plain, Size: 1770 bytes --]

On Sat, 1 Aug 2043, xingtong_wu@163.com wrote:

> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> The variable "priv.devmode" is missing from if statement that leads
> to a logical error. Add the missing variable to the if condition.
>
> Fixes: c56beff20375 ("platform/x86/siemens: simatic-ipc-batt: add support for module BX-59A")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308010001.BGYCSQrl-lkp@intel.com/
> 
> Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>

The tags block should not have extra newlines like there's now one in 
between Closes and Signed-off-by.

For patches 1-2:

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

(In case you end up submitting a new version, you should collect the tags 
other people have given you, except e.g., if you did major modifications 
to the patch.)

-- 
 i.

> ---
>  drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
> index d66b9969234b..e6c12c52843c 100644
> --- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
> +++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
> @@ -194,7 +194,8 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
>  
>  	if (table->table[2].key) {
>  		flags = GPIOD_OUT_HIGH;
> -		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
> +		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A ||
> +		    priv.devmode == SIMATIC_IPC_DEVICE_BX_59A)
>  			flags = GPIOD_OUT_LOW;
>  		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
>  		if (IS_ERR(priv.gpios[2])) {
> 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A
  2043-07-31 17:30         ` [PATCH v2 1/2] platform/x86/siemens: simatic-ipc: fix logic error " xingtong_wu
@ 2023-08-07 15:56           ` Andy Shevchenko
  2043-08-02 17:35             ` [PATCH v3 0/2] fix logical errors for BX-59A xingtong_wu
  0 siblings, 1 reply; 23+ messages in thread
From: Andy Shevchenko @ 2023-08-07 15:56 UTC (permalink / raw)
  To: xingtong_wu
  Cc: ilpo.jarvinen, hdegoede, markgross, xingtong.wu, lee,
	platform-driver-x86, linux-kernel, gerd.haeussler.ext,
	tobias.schaffner, lkp

On Sat, Aug 01, 2043 at 01:30:26AM +0800, xingtong_wu@163.com wrote:
> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> The variable "ledmode" is missing from if statement that leads to
> a logical error. Add the missing variable to the if condition.
> 
> Fixes: b8af77951941 ("platform/x86/siemens: simatic-ipc: add new models BX-56A/BX-59A")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202307312322.Aa8upHWK-lkp@intel.com/

> 

Blank lines are not allowed in the tag block.

> Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v3 0/2] fix logical errors for BX-59A
  2043-08-02 17:35             ` [PATCH v3 0/2] fix logical errors for BX-59A xingtong_wu
@ 2023-08-09 20:06               ` Hans de Goede
  2043-08-02 17:35               ` [PATCH v3 1/2] platform/x86/siemens: simatic-ipc: fix logical error " xingtong_wu
  1 sibling, 0 replies; 23+ messages in thread
From: Hans de Goede @ 2023-08-09 20:06 UTC (permalink / raw)
  To: xingtong_wu, andriy.shevchenko
  Cc: ilpo.jarvinen, markgross, xingtong.wu, lee, platform-driver-x86,
	linux-kernel, gerd.haeussler.ext, tobias.schaffner, lkp

Hi,

On 8/2/43 19:35, xingtong_wu@163.com wrote:
> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> changes since v2:
>  - Collect tag "Reviewed-by" in changelog
>  - Delete blank line between tags block "Closes" and "Signed-off-by"
> 
> changes since v1:
>  - Improve the changelog to make things clear
> 
> These are rather simple patches fixing logical errors in Siemens
> IPC drivers.
> 
> xingtong.wu (2):
>   platform/x86/siemens: simatic-ipc: fix logical error for BX-59A
>   platform/x86/siemens: simatic-ipc-batt: fix logical error for BX-59A
> 
>  drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
>  drivers/platform/x86/siemens/simatic-ipc.c      | 2 +-
>  2 files changed, 3 insertions(+), 2 deletions(-)


Thank you for your patch-series, I've applied the series to my
review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch 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
added to 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




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A
  2043-07-31 17:34       ` [PATCH v2 " xingtong_wu
  2023-08-07  9:00         ` Ilpo Järvinen
@ 2023-08-16 15:45         ` Ashok Raj
  2023-08-17  1:21           ` xingtong.wu
  1 sibling, 1 reply; 23+ messages in thread
From: Ashok Raj @ 2023-08-16 15:45 UTC (permalink / raw)
  To: xingtong_wu
  Cc: ilpo.jarvinen, hdegoede, markgross, xingtong.wu,
	platform-driver-x86, linux-kernel, gerd.haeussler.ext,
	tobias.schaffner, lkp, Ashok Raj

On Sat, Aug 01, 2043 at 01:34:17AM +0800, xingtong_wu@163.com wrote:
^^^^^^^^^^^^^^^^^^^^

Nice way to keep your mail on top of the sort :-).. You need to fixup your
system date.

> From: "xingtong.wu" <xingtong.wu@siemens.com>
> 
> The variable "priv.devmode" is missing from if statement that leads
> to a logical error. Add the missing variable to the if condition.
> 
> Fixes: c56beff20375 ("platform/x86/siemens: simatic-ipc-batt: add support for module BX-59A")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308010001.BGYCSQrl-lkp@intel.com/
> 
> Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
> ---
>  drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
> index d66b9969234b..e6c12c52843c 100644
> --- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
> +++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
> @@ -194,7 +194,8 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
>  
>  	if (table->table[2].key) {
>  		flags = GPIOD_OUT_HIGH;
> -		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
> +		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A ||
> +		    priv.devmode == SIMATIC_IPC_DEVICE_BX_59A)
>  			flags = GPIOD_OUT_LOW;
>  		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
>  		if (IS_ERR(priv.gpios[2])) {
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A
  2023-08-16 15:45         ` [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic " Ashok Raj
@ 2023-08-17  1:21           ` xingtong.wu
  0 siblings, 0 replies; 23+ messages in thread
From: xingtong.wu @ 2023-08-17  1:21 UTC (permalink / raw)
  To: Ashok Raj
  Cc: ilpo.jarvinen, hdegoede, markgross, xingtong.wu,
	platform-driver-x86, linux-kernel, gerd.haeussler.ext,
	tobias.schaffner, lkp, Ashok Raj

On 2023/8/16 23:45, Ashok Raj wrote:
> On Sat, Aug 01, 2043 at 01:34:17AM +0800, xingtong_wu@163.com wrote:
> ^^^^^^^^^^^^^^^^^^^^
> 
> Nice way to keep your mail on top of the sort :-).. You need to fixup your
> system date.

I'm sorry that there are time problem on my local machine which lead to a
wrong time in email, but I just sent an email to remind hdegoede@redhat.com
individually, the time problem was solved by him on his branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/?h=review-hans&id=b01c1e022f7f0c327ecc7544dc44d5f80a2d2bd9
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/?h=review-hans&id=7abf253afa5c72c0c7eb21f67da1d443f036737a

> 
>> From: "xingtong.wu" <xingtong.wu@siemens.com>
>>
>> The variable "priv.devmode" is missing from if statement that leads
>> to a logical error. Add the missing variable to the if condition.
>>
>> Fixes: c56beff20375 ("platform/x86/siemens: simatic-ipc-batt: add support for module BX-59A")
>> Reported-by: kernel test robot <lkp@intel.com>
>> Closes: https://lore.kernel.org/oe-kbuild-all/202308010001.BGYCSQrl-lkp@intel.com/
>>
>> Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
>> ---
>>  drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
>> index d66b9969234b..e6c12c52843c 100644
>> --- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
>> +++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
>> @@ -194,7 +194,8 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
>>  
>>  	if (table->table[2].key) {
>>  		flags = GPIOD_OUT_HIGH;
>> -		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
>> +		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A ||
>> +		    priv.devmode == SIMATIC_IPC_DEVICE_BX_59A)
>>  			flags = GPIOD_OUT_LOW;
>>  		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
>>  		if (IS_ERR(priv.gpios[2])) {
>> -- 
>> 2.25.1
>>


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re:[PATCH 2/3] leds: simatic-ipc-leds-gpio: add support for module BX-59A
  2023-07-31  7:18 ` [PATCH 2/3] leds: simatic-ipc-leds-gpio: add support for module BX-59A xingtong_wu
@ 2024-02-02  3:35   ` xingtong.wu
  2024-02-02 12:42     ` [PATCH " Lee Jones
  0 siblings, 1 reply; 23+ messages in thread
From: xingtong.wu @ 2024-02-02  3:35 UTC (permalink / raw)
  To: hdegoede, linux-leds, linux-kernel, pavel, lee
  Cc: xingtong.wu, tobias.schaffner, gerd.haeussler.ext, henning

At 2023-07-31 15:18:33, xingtong_wu@163.com wrote:
>From: "xingtong.wu" <xingtong.wu@siemens.com>
>
>This is used for the Siemens Simatic IPC BX-59A, which has its LEDs
>connected to GPIOs provided by the Nuvoton NCT6126D
>
>Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
>---
> .../leds/simple/simatic-ipc-leds-gpio-core.c  |  1 +
> .../simple/simatic-ipc-leds-gpio-f7188x.c     | 42 ++++++++++++++++---
> 2 files changed, 37 insertions(+), 6 deletions(-)
>
>diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
>index c552ea73ed9d..10dca208d8cc 100644
>--- a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
>+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
>@@ -58,6 +58,7 @@ int simatic_ipc_leds_gpio_probe(struct platform_device *pdev,
> 	case SIMATIC_IPC_DEVICE_127E:
> 	case SIMATIC_IPC_DEVICE_227G:
> 	case SIMATIC_IPC_DEVICE_BX_21A:
>+	case SIMATIC_IPC_DEVICE_BX_59A:
> 		break;
> 	default:
> 		return -ENODEV;
>diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
>index 583a6b6c7c22..a5b544b20857 100644
>--- a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
>+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
>@@ -17,7 +17,10 @@
> 
> #include "simatic-ipc-leds-gpio.h"
> 
>-static struct gpiod_lookup_table simatic_ipc_led_gpio_table = {
>+static struct gpiod_lookup_table *led_lookup_table;
>+static struct gpiod_lookup_table *led_lookup_table_extra;
>+
>+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_227g = {
> 	.dev_id = "leds-gpio",
> 	.table = {
> 		GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW),
>@@ -30,7 +33,7 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table = {
> 	},
> };
> 
>-static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = {
>+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra_227g = {
> 	.dev_id = NULL, /* Filled during initialization */
> 	.table = {
> 		GPIO_LOOKUP_IDX("gpio-f7188x-3", 6, NULL, 6, GPIO_ACTIVE_HIGH),
>@@ -39,16 +42,43 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = {
> 	},
> };
> 
>+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_bx_59a = {
>+	.dev_id = "leds-gpio",
>+	.table = {
>+		GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW),
>+		GPIO_LOOKUP_IDX("gpio-f7188x-2", 3, NULL, 1, GPIO_ACTIVE_LOW),
>+		GPIO_LOOKUP_IDX("gpio-f7188x-5", 3, NULL, 2, GPIO_ACTIVE_LOW),
>+		GPIO_LOOKUP_IDX("gpio-f7188x-5", 2, NULL, 3, GPIO_ACTIVE_LOW),
>+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 7, NULL, 4, GPIO_ACTIVE_LOW),
>+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 4, NULL, 5, GPIO_ACTIVE_LOW),
>+		{} /* Terminating entry */
>+	}
>+};
>+
> static int simatic_ipc_leds_gpio_f7188x_probe(struct platform_device *pdev)
> {
>-	return simatic_ipc_leds_gpio_probe(pdev, &simatic_ipc_led_gpio_table,
>-					   &simatic_ipc_led_gpio_table_extra);
>+	const struct simatic_ipc_platform *plat = pdev->dev.platform_data;
>+
>+	switch (plat->devmode) {
>+	case SIMATIC_IPC_DEVICE_227G:
>+		led_lookup_table = &simatic_ipc_led_gpio_table_227g;
>+		led_lookup_table_extra = &simatic_ipc_led_gpio_table_extra_227g;
>+		break;
>+	case SIMATIC_IPC_DEVICE_BX_59A:
>+		led_lookup_table = &simatic_ipc_led_gpio_table_bx_59a;
>+		break;
>+	default:
>+		return -ENODEV;
>+	}
>+
>+	return simatic_ipc_leds_gpio_probe(pdev, led_lookup_table,
>+					   led_lookup_table_extra);
> }
> 
> static int simatic_ipc_leds_gpio_f7188x_remove(struct platform_device *pdev)
> {
>-	return simatic_ipc_leds_gpio_remove(pdev, &simatic_ipc_led_gpio_table,
>-					    &simatic_ipc_led_gpio_table_extra);
>+	return simatic_ipc_leds_gpio_remove(pdev, led_lookup_table,
>+					    led_lookup_table_extra);
> }
> 
> static struct platform_driver simatic_ipc_led_gpio_driver = {
>-- 
>2.25.1

Hi

After engaging in a thorough discussion, it appears that we have
reached a consensus to merge this patch. Considering the considerable
duration that has passed, I am sending this email as a gentle reminder,
in case there is a possibility that it may have slipped your mind.

XingTong

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/3] leds: simatic-ipc-leds-gpio: add support for module BX-59A
  2024-02-02  3:35   ` xingtong.wu
@ 2024-02-02 12:42     ` Lee Jones
  0 siblings, 0 replies; 23+ messages in thread
From: Lee Jones @ 2024-02-02 12:42 UTC (permalink / raw)
  To: xingtong.wu
  Cc: hdegoede, linux-leds, linux-kernel, pavel, xingtong.wu,
	tobias.schaffner, gerd.haeussler.ext, henning

On Fri, 02 Feb 2024, xingtong.wu wrote:

> At 2023-07-31 15:18:33, xingtong_wu@163.com wrote:
> >From: "xingtong.wu" <xingtong.wu@siemens.com>
> >
> >This is used for the Siemens Simatic IPC BX-59A, which has its LEDs
> >connected to GPIOs provided by the Nuvoton NCT6126D
> >
> >Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
> >---
> > .../leds/simple/simatic-ipc-leds-gpio-core.c  |  1 +
> > .../simple/simatic-ipc-leds-gpio-f7188x.c     | 42 ++++++++++++++++---
> > 2 files changed, 37 insertions(+), 6 deletions(-)
> >
> >diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
> >index c552ea73ed9d..10dca208d8cc 100644
> >--- a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
> >+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c
> >@@ -58,6 +58,7 @@ int simatic_ipc_leds_gpio_probe(struct platform_device *pdev,
> > 	case SIMATIC_IPC_DEVICE_127E:
> > 	case SIMATIC_IPC_DEVICE_227G:
> > 	case SIMATIC_IPC_DEVICE_BX_21A:
> >+	case SIMATIC_IPC_DEVICE_BX_59A:
> > 		break;
> > 	default:
> > 		return -ENODEV;
> >diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
> >index 583a6b6c7c22..a5b544b20857 100644
> >--- a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
> >+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c
> >@@ -17,7 +17,10 @@
> > 
> > #include "simatic-ipc-leds-gpio.h"
> > 
> >-static struct gpiod_lookup_table simatic_ipc_led_gpio_table = {
> >+static struct gpiod_lookup_table *led_lookup_table;
> >+static struct gpiod_lookup_table *led_lookup_table_extra;
> >+
> >+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_227g = {
> > 	.dev_id = "leds-gpio",
> > 	.table = {
> > 		GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW),
> >@@ -30,7 +33,7 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table = {
> > 	},
> > };
> > 
> >-static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = {
> >+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra_227g = {
> > 	.dev_id = NULL, /* Filled during initialization */
> > 	.table = {
> > 		GPIO_LOOKUP_IDX("gpio-f7188x-3", 6, NULL, 6, GPIO_ACTIVE_HIGH),
> >@@ -39,16 +42,43 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = {
> > 	},
> > };
> > 
> >+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_bx_59a = {
> >+	.dev_id = "leds-gpio",
> >+	.table = {
> >+		GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW),
> >+		GPIO_LOOKUP_IDX("gpio-f7188x-2", 3, NULL, 1, GPIO_ACTIVE_LOW),
> >+		GPIO_LOOKUP_IDX("gpio-f7188x-5", 3, NULL, 2, GPIO_ACTIVE_LOW),
> >+		GPIO_LOOKUP_IDX("gpio-f7188x-5", 2, NULL, 3, GPIO_ACTIVE_LOW),
> >+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 7, NULL, 4, GPIO_ACTIVE_LOW),
> >+		GPIO_LOOKUP_IDX("gpio-f7188x-7", 4, NULL, 5, GPIO_ACTIVE_LOW),
> >+		{} /* Terminating entry */
> >+	}
> >+};
> >+
> > static int simatic_ipc_leds_gpio_f7188x_probe(struct platform_device *pdev)
> > {
> >-	return simatic_ipc_leds_gpio_probe(pdev, &simatic_ipc_led_gpio_table,
> >-					   &simatic_ipc_led_gpio_table_extra);
> >+	const struct simatic_ipc_platform *plat = pdev->dev.platform_data;
> >+
> >+	switch (plat->devmode) {
> >+	case SIMATIC_IPC_DEVICE_227G:
> >+		led_lookup_table = &simatic_ipc_led_gpio_table_227g;
> >+		led_lookup_table_extra = &simatic_ipc_led_gpio_table_extra_227g;
> >+		break;
> >+	case SIMATIC_IPC_DEVICE_BX_59A:
> >+		led_lookup_table = &simatic_ipc_led_gpio_table_bx_59a;
> >+		break;
> >+	default:
> >+		return -ENODEV;
> >+	}
> >+
> >+	return simatic_ipc_leds_gpio_probe(pdev, led_lookup_table,
> >+					   led_lookup_table_extra);
> > }
> > 
> > static int simatic_ipc_leds_gpio_f7188x_remove(struct platform_device *pdev)
> > {
> >-	return simatic_ipc_leds_gpio_remove(pdev, &simatic_ipc_led_gpio_table,
> >-					    &simatic_ipc_led_gpio_table_extra);
> >+	return simatic_ipc_leds_gpio_remove(pdev, led_lookup_table,
> >+					    led_lookup_table_extra);
> > }
> > 
> > static struct platform_driver simatic_ipc_led_gpio_driver = {
> >-- 
> >2.25.1
> 
> Hi
> 
> After engaging in a thorough discussion, it appears that we have
> reached a consensus to merge this patch.

I have no idea what you're referring to here.

> Considering the considerable
> duration that has passed, I am sending this email as a gentle reminder,
> in case there is a possibility that it may have slipped your mind.

Please resubmit all unmerged patches as a [RESEND].

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v2 0/2] fix logic errors in BX-59A
  2023-08-04 13:41     ` Ilpo Järvinen
@ 2043-07-31 17:30       ` xingtong_wu
  2043-07-31 17:30         ` [PATCH v2 1/2] platform/x86/siemens: simatic-ipc: fix logic error " xingtong_wu
  0 siblings, 1 reply; 23+ messages in thread
From: xingtong_wu @ 2043-07-31 17:30 UTC (permalink / raw)
  To: ilpo.jarvinen
  Cc: hdegoede, markgross, andriy.shevchenko, xingtong.wu, lee,
	platform-driver-x86, linux-kernel, gerd.haeussler.ext,
	tobias.schaffner, lkp

From: "xingtong.wu" <xingtong.wu@siemens.com>

change since v1:
 - Improve the changelog to make things clear

These are rather simple patches fixing logic errors in Siemens
IPC drivers.

xingtong.wu (2):
  platform/x86/siemens: simatic-ipc: fix logic error in BX-59A
  platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A

 drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
 drivers/platform/x86/siemens/simatic-ipc.c      | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v2 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A
  2043-07-31 17:30       ` [PATCH v2 0/2] fix logic errors " xingtong_wu
@ 2043-07-31 17:30         ` xingtong_wu
  2023-08-07 15:56           ` Andy Shevchenko
  0 siblings, 1 reply; 23+ messages in thread
From: xingtong_wu @ 2043-07-31 17:30 UTC (permalink / raw)
  To: ilpo.jarvinen
  Cc: hdegoede, markgross, andriy.shevchenko, xingtong.wu, lee,
	platform-driver-x86, linux-kernel, gerd.haeussler.ext,
	tobias.schaffner, lkp

From: "xingtong.wu" <xingtong.wu@siemens.com>

The variable "ledmode" is missing from if statement that leads to
a logical error. Add the missing variable to the if condition.

Fixes: b8af77951941 ("platform/x86/siemens: simatic-ipc: add new models BX-56A/BX-59A")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202307312322.Aa8upHWK-lkp@intel.com/

Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/simatic-ipc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/siemens/simatic-ipc.c b/drivers/platform/x86/siemens/simatic-ipc.c
index 02c540cf4070..8ca6e277fa03 100644
--- a/drivers/platform/x86/siemens/simatic-ipc.c
+++ b/drivers/platform/x86/siemens/simatic-ipc.c
@@ -129,7 +129,7 @@ static int register_platform_devices(u32 station_id)
 		pdevname = KBUILD_MODNAME "_leds";
 		if (ledmode == SIMATIC_IPC_DEVICE_127E)
 			pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
-		if (ledmode == SIMATIC_IPC_DEVICE_227G || SIMATIC_IPC_DEVICE_BX_59A)
+		if (ledmode == SIMATIC_IPC_DEVICE_227G || ledmode == SIMATIC_IPC_DEVICE_BX_59A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
 		if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A
  2023-08-04 13:43     ` Ilpo Järvinen
@ 2043-07-31 17:34       ` xingtong_wu
  2023-08-07  9:00         ` Ilpo Järvinen
  2023-08-16 15:45         ` [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic " Ashok Raj
  0 siblings, 2 replies; 23+ messages in thread
From: xingtong_wu @ 2043-07-31 17:34 UTC (permalink / raw)
  To: ilpo.jarvinen
  Cc: hdegoede, markgross, xingtong.wu, platform-driver-x86,
	linux-kernel, gerd.haeussler.ext, tobias.schaffner, lkp

From: "xingtong.wu" <xingtong.wu@siemens.com>

The variable "priv.devmode" is missing from if statement that leads
to a logical error. Add the missing variable to the if condition.

Fixes: c56beff20375 ("platform/x86/siemens: simatic-ipc-batt: add support for module BX-59A")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308010001.BGYCSQrl-lkp@intel.com/

Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
index d66b9969234b..e6c12c52843c 100644
--- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
+++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
@@ -194,7 +194,8 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
 
 	if (table->table[2].key) {
 		flags = GPIOD_OUT_HIGH;
-		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
+		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A ||
+		    priv.devmode == SIMATIC_IPC_DEVICE_BX_59A)
 			flags = GPIOD_OUT_LOW;
 		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
 		if (IS_ERR(priv.gpios[2])) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v3 0/2] fix logical errors for BX-59A
  2023-08-07 15:56           ` Andy Shevchenko
@ 2043-08-02 17:35             ` xingtong_wu
  2023-08-09 20:06               ` Hans de Goede
  2043-08-02 17:35               ` [PATCH v3 1/2] platform/x86/siemens: simatic-ipc: fix logical error " xingtong_wu
  0 siblings, 2 replies; 23+ messages in thread
From: xingtong_wu @ 2043-08-02 17:35 UTC (permalink / raw)
  To: andriy.shevchenko
  Cc: ilpo.jarvinen, hdegoede, markgross, xingtong.wu, lee,
	platform-driver-x86, linux-kernel, gerd.haeussler.ext,
	tobias.schaffner, lkp

From: "xingtong.wu" <xingtong.wu@siemens.com>

changes since v2:
 - Collect tag "Reviewed-by" in changelog
 - Delete blank line between tags block "Closes" and "Signed-off-by"

changes since v1:
 - Improve the changelog to make things clear

These are rather simple patches fixing logical errors in Siemens
IPC drivers.

xingtong.wu (2):
  platform/x86/siemens: simatic-ipc: fix logical error for BX-59A
  platform/x86/siemens: simatic-ipc-batt: fix logical error for BX-59A

 drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
 drivers/platform/x86/siemens/simatic-ipc.c      | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v3 1/2] platform/x86/siemens: simatic-ipc: fix logical error for BX-59A
  2043-08-02 17:35             ` [PATCH v3 0/2] fix logical errors for BX-59A xingtong_wu
  2023-08-09 20:06               ` Hans de Goede
@ 2043-08-02 17:35               ` xingtong_wu
  1 sibling, 0 replies; 23+ messages in thread
From: xingtong_wu @ 2043-08-02 17:35 UTC (permalink / raw)
  To: andriy.shevchenko
  Cc: ilpo.jarvinen, hdegoede, markgross, xingtong.wu, lee,
	platform-driver-x86, linux-kernel, gerd.haeussler.ext,
	tobias.schaffner, lkp

From: "xingtong.wu" <xingtong.wu@siemens.com>

The variable "ledmode" is missing from if statement that leads to
a logical error. Add the missing variable to the if condition.

Fixes: b8af77951941 ("platform/x86/siemens: simatic-ipc: add new models BX-56A/BX-59A")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202307312322.Aa8upHWK-lkp@intel.com/
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/simatic-ipc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/siemens/simatic-ipc.c b/drivers/platform/x86/siemens/simatic-ipc.c
index 02c540cf4070..8ca6e277fa03 100644
--- a/drivers/platform/x86/siemens/simatic-ipc.c
+++ b/drivers/platform/x86/siemens/simatic-ipc.c
@@ -129,7 +129,7 @@ static int register_platform_devices(u32 station_id)
 		pdevname = KBUILD_MODNAME "_leds";
 		if (ledmode == SIMATIC_IPC_DEVICE_127E)
 			pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
-		if (ledmode == SIMATIC_IPC_DEVICE_227G || SIMATIC_IPC_DEVICE_BX_59A)
+		if (ledmode == SIMATIC_IPC_DEVICE_227G || ledmode == SIMATIC_IPC_DEVICE_BX_59A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
 		if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
 			pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v3 2/2] platform/x86/siemens: simatic-ipc-batt: fix logical error for BX-59A
  2023-08-07  9:00         ` Ilpo Järvinen
@ 2043-08-02 17:38           ` xingtong_wu
  0 siblings, 0 replies; 23+ messages in thread
From: xingtong_wu @ 2043-08-02 17:38 UTC (permalink / raw)
  To: ilpo.jarvinen
  Cc: hdegoede, markgross, xingtong.wu, platform-driver-x86,
	linux-kernel, gerd.haeussler.ext, tobias.schaffner, lkp

From: "xingtong.wu" <xingtong.wu@siemens.com>

The variable "priv.devmode" is missing from if statement that leads
to a logical error. Add the missing variable to the if condition.

Fixes: c56beff20375 ("platform/x86/siemens: simatic-ipc-batt: add support for module BX-59A")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308010001.BGYCSQrl-lkp@intel.com/
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: xingtong.wu <xingtong.wu@siemens.com>
---
 drivers/platform/x86/siemens/simatic-ipc-batt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/siemens/simatic-ipc-batt.c b/drivers/platform/x86/siemens/simatic-ipc-batt.c
index d66b9969234b..e6c12c52843c 100644
--- a/drivers/platform/x86/siemens/simatic-ipc-batt.c
+++ b/drivers/platform/x86/siemens/simatic-ipc-batt.c
@@ -194,7 +194,8 @@ int simatic_ipc_batt_probe(struct platform_device *pdev, struct gpiod_lookup_tab
 
 	if (table->table[2].key) {
 		flags = GPIOD_OUT_HIGH;
-		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A || SIMATIC_IPC_DEVICE_BX_59A)
+		if (priv.devmode == SIMATIC_IPC_DEVICE_BX_21A ||
+		    priv.devmode == SIMATIC_IPC_DEVICE_BX_59A)
 			flags = GPIOD_OUT_LOW;
 		priv.gpios[2] = devm_gpiod_get_index(dev, "CMOSBattery meter", 2, flags);
 		if (IS_ERR(priv.gpios[2])) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-02-02 12:42 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-31  7:14 [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A xingtong_wu
2023-07-31  7:14 ` [PATCH 1/3] platform/x86: simatic-ipc: add new models BX-56A/BX-59A xingtong_wu
2023-08-01  9:04   ` [PATCH 1/2] platform/x86/siemens: simatic-ipc: fix logic error in BX-59A xingtong_wu
2023-08-01  9:10     ` Hans de Goede
2023-08-04 13:41     ` Ilpo Järvinen
2043-07-31 17:30       ` [PATCH v2 0/2] fix logic errors " xingtong_wu
2043-07-31 17:30         ` [PATCH v2 1/2] platform/x86/siemens: simatic-ipc: fix logic error " xingtong_wu
2023-08-07 15:56           ` Andy Shevchenko
2043-08-02 17:35             ` [PATCH v3 0/2] fix logical errors for BX-59A xingtong_wu
2023-08-09 20:06               ` Hans de Goede
2043-08-02 17:35               ` [PATCH v3 1/2] platform/x86/siemens: simatic-ipc: fix logical error " xingtong_wu
2023-07-31  7:18 ` [PATCH 2/3] leds: simatic-ipc-leds-gpio: add support for module BX-59A xingtong_wu
2024-02-02  3:35   ` xingtong.wu
2024-02-02 12:42     ` [PATCH " Lee Jones
2023-07-31  7:21 ` [PATCH 3/3] batt: simatic-ipc-batt: " xingtong_wu
2023-08-01  9:07   ` [PATCH 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic error for BX-59A xingtong_wu
2023-08-04 13:43     ` Ilpo Järvinen
2043-07-31 17:34       ` [PATCH v2 " xingtong_wu
2023-08-07  9:00         ` Ilpo Järvinen
2043-08-02 17:38           ` [PATCH v3 2/2] platform/x86/siemens: simatic-ipc-batt: fix logical " xingtong_wu
2023-08-16 15:45         ` [PATCH v2 2/2] platform/x86/siemens: simatic-ipc-batt: fix logic " Ashok Raj
2023-08-17  1:21           ` xingtong.wu
2023-07-31 12:36 ` [PATCH 0/3] platform/x86: simatic-ipc: add another model BX-56A/BX-59A Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).