All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -next v2 0/6] Add LCLK control into Aspeed LPC sub drivers
@ 2021-11-02 20:37 ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Hello all,

This series is for appliying below fix to all Aspped LPC sub drivers.
https://lore.kernel.org/all/20201208091748.1920-1-wangzhiqiang.bj@bytedance.com/

An LPC sub driver can be enabled without using the lpc-ctrl driver or it
can be registered ahead of lpc-ctrl depends on each system configuration and
this difference introduces that LPC can be enabled without heart beating of
LCLK so it causes improper handling on host interrupts when the host sends
interrupts in that time frame. Then kernel eventually forcibly disables the
interrupt with dumping stack and printing a 'nobody cared this irq' message
out.

To prevent this issue, all LPC sub drivers should enable LCLK individually
so this patch adds clock control logic into the remaining Aspeed LPC sub
drivers.

Please review this series.

Thanks,
Jae

Changes sinve v1:
 - Added 'clocks' property into ibt and kcs-bmc bindings using
   'aspeed,ast2400-ibt-bmc.txt' and 'aspeed,ast2400-kcs-bmc.yaml'
   respectively because these are not merged into 'aspeed-lpc.yaml' yet.
   The bindings merging could be done using a separate patch later.

Jae Hyun Yoo (6):
  ARM: dts: aspeed: add LCLK setting into LPC IBT node
  dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
  ipmi: bt: add clock control logic
  ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
  dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  ipmi: kcs_bmc_aspeed: add clock control logic

 .../bindings/ipmi/aspeed,ast2400-ibt-bmc.txt  |  2 ++
 .../bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml |  7 +++++
 arch/arm/boot/dts/aspeed-g4.dtsi              |  1 +
 arch/arm/boot/dts/aspeed-g5.dtsi              |  5 +++
 arch/arm/boot/dts/aspeed-g6.dtsi              |  5 +++
 drivers/char/ipmi/bt-bmc.c                    | 24 +++++++++++++-
 drivers/char/ipmi/kcs_bmc_aspeed.c            | 31 ++++++++++++++++---
 7 files changed, 70 insertions(+), 5 deletions(-)

-- 
2.25.1


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

* [PATCH -next v2 0/6] Add LCLK control into Aspeed LPC sub drivers
@ 2021-11-02 20:37 ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Hello all,

This series is for appliying below fix to all Aspped LPC sub drivers.
https://lore.kernel.org/all/20201208091748.1920-1-wangzhiqiang.bj@bytedance.com/

An LPC sub driver can be enabled without using the lpc-ctrl driver or it
can be registered ahead of lpc-ctrl depends on each system configuration and
this difference introduces that LPC can be enabled without heart beating of
LCLK so it causes improper handling on host interrupts when the host sends
interrupts in that time frame. Then kernel eventually forcibly disables the
interrupt with dumping stack and printing a 'nobody cared this irq' message
out.

To prevent this issue, all LPC sub drivers should enable LCLK individually
so this patch adds clock control logic into the remaining Aspeed LPC sub
drivers.

Please review this series.

Thanks,
Jae

Changes sinve v1:
 - Added 'clocks' property into ibt and kcs-bmc bindings using
   'aspeed,ast2400-ibt-bmc.txt' and 'aspeed,ast2400-kcs-bmc.yaml'
   respectively because these are not merged into 'aspeed-lpc.yaml' yet.
   The bindings merging could be done using a separate patch later.

Jae Hyun Yoo (6):
  ARM: dts: aspeed: add LCLK setting into LPC IBT node
  dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
  ipmi: bt: add clock control logic
  ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
  dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  ipmi: kcs_bmc_aspeed: add clock control logic

 .../bindings/ipmi/aspeed,ast2400-ibt-bmc.txt  |  2 ++
 .../bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml |  7 +++++
 arch/arm/boot/dts/aspeed-g4.dtsi              |  1 +
 arch/arm/boot/dts/aspeed-g5.dtsi              |  5 +++
 arch/arm/boot/dts/aspeed-g6.dtsi              |  5 +++
 drivers/char/ipmi/bt-bmc.c                    | 24 +++++++++++++-
 drivers/char/ipmi/kcs_bmc_aspeed.c            | 31 ++++++++++++++++---
 7 files changed, 70 insertions(+), 5 deletions(-)

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH -next v2 1/6] ARM: dts: aspeed: add LCLK setting into LPC IBT node
  2021-11-02 20:37 ` jae.hyun.yoo
@ 2021-11-02 20:37   ` jae.hyun.yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add LCLK clock setting into LPC IBT node to enable the LCLK by
individual LPC sub drivers.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
v1 -> v2:
 - No change.

 arch/arm/boot/dts/aspeed-g4.dtsi | 1 +
 arch/arm/boot/dts/aspeed-g5.dtsi | 1 +
 arch/arm/boot/dts/aspeed-g6.dtsi | 1 +
 3 files changed, 3 insertions(+)

diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
index b313a1cf5f73..f14dace34c5a 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
@@ -381,6 +381,7 @@ ibt: ibt@140 {
 					compatible = "aspeed,ast2400-ibt-bmc";
 					reg = <0x140 0x18>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
index c7049454c7cb..d0cc4be2de59 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
@@ -507,6 +507,7 @@ ibt: ibt@140 {
 					compatible = "aspeed,ast2500-ibt-bmc";
 					reg = <0x140 0x18>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 			};
diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi
index 5106a424f1ce..465c3549fdc3 100644
--- a/arch/arm/boot/dts/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed-g6.dtsi
@@ -581,6 +581,7 @@ ibt: ibt@140 {
 					compatible = "aspeed,ast2600-ibt-bmc";
 					reg = <0x140 0x18>;
 					interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 			};
-- 
2.25.1


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

* [PATCH -next v2 1/6] ARM: dts: aspeed: add LCLK setting into LPC IBT node
@ 2021-11-02 20:37   ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add LCLK clock setting into LPC IBT node to enable the LCLK by
individual LPC sub drivers.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
v1 -> v2:
 - No change.

 arch/arm/boot/dts/aspeed-g4.dtsi | 1 +
 arch/arm/boot/dts/aspeed-g5.dtsi | 1 +
 arch/arm/boot/dts/aspeed-g6.dtsi | 1 +
 3 files changed, 3 insertions(+)

diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
index b313a1cf5f73..f14dace34c5a 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
@@ -381,6 +381,7 @@ ibt: ibt@140 {
 					compatible = "aspeed,ast2400-ibt-bmc";
 					reg = <0x140 0x18>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
index c7049454c7cb..d0cc4be2de59 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
@@ -507,6 +507,7 @@ ibt: ibt@140 {
 					compatible = "aspeed,ast2500-ibt-bmc";
 					reg = <0x140 0x18>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 			};
diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi
index 5106a424f1ce..465c3549fdc3 100644
--- a/arch/arm/boot/dts/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed-g6.dtsi
@@ -581,6 +581,7 @@ ibt: ibt@140 {
 					compatible = "aspeed,ast2600-ibt-bmc";
 					reg = <0x140 0x18>;
 					interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 			};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH -next v2 2/6] dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
  2021-11-02 20:37 ` jae.hyun.yoo
@ 2021-11-02 20:37   ` jae.hyun.yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add 'clocks' as a required property.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
---
v1 - v2:
 - Added 'clocks' property into ibt bindings using
   'aspeed,ast2400-ibt-bmc.txt' because it's not merged into
   'aspeed-lpc.yaml' yet. The bindings merging could be done using a
   separate patch later.

 .../devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt         | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt
index c9902fd4b38b..25f86da804b7 100644
--- a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt
+++ b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt
@@ -11,6 +11,7 @@ Required properties:
 	"aspeed,ast2500-ibt-bmc"
 	"aspeed,ast2600-ibt-bmc"
 - reg: physical address and size of the registers
+- clocks: clock for the device
 
 Optional properties:
 
@@ -23,4 +24,5 @@ Example:
 		compatible = "aspeed,ast2400-ibt-bmc";
 		reg = <0x1e789140 0x18>;
 		interrupts = <8>;
+		clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 	};
-- 
2.25.1


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

* [PATCH -next v2 2/6] dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
@ 2021-11-02 20:37   ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add 'clocks' as a required property.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
---
v1 - v2:
 - Added 'clocks' property into ibt bindings using
   'aspeed,ast2400-ibt-bmc.txt' because it's not merged into
   'aspeed-lpc.yaml' yet. The bindings merging could be done using a
   separate patch later.

 .../devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt         | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt
index c9902fd4b38b..25f86da804b7 100644
--- a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt
+++ b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt
@@ -11,6 +11,7 @@ Required properties:
 	"aspeed,ast2500-ibt-bmc"
 	"aspeed,ast2600-ibt-bmc"
 - reg: physical address and size of the registers
+- clocks: clock for the device
 
 Optional properties:
 
@@ -23,4 +24,5 @@ Example:
 		compatible = "aspeed,ast2400-ibt-bmc";
 		reg = <0x1e789140 0x18>;
 		interrupts = <8>;
+		clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 	};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH -next v2 3/6] ipmi: bt: add clock control logic
  2021-11-02 20:37 ` jae.hyun.yoo
@ 2021-11-02 20:37   ` jae.hyun.yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 2705 bytes --]

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

If LPC BT driver is registered ahead of lpc-ctrl module, LPC BT
hardware block will be enabled without heart beating of LCLK until
lpc-ctrl enables the LCLK. This issue causes improper handling on
host interrupts when the host sends interrupts in that time frame.
Then kernel eventually forcibly disables the interrupt with
dumping stack and printing a 'nobody cared this irq' message out.

To prevent this issue, all LPC sub drivers should enable LCLK
individually so this patch adds clock control logic into the LPC
BT driver.

Fixes: 54f9c4d0778b ("ipmi: add an Aspeed BT IPMI BMC driver")
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
---
v1 -> v2:
 - No change.

 drivers/char/ipmi/bt-bmc.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/char/ipmi/bt-bmc.c b/drivers/char/ipmi/bt-bmc.c
index 7450904e330a..a20f92cc7b18 100644
--- a/drivers/char/ipmi/bt-bmc.c
+++ b/drivers/char/ipmi/bt-bmc.c
@@ -5,6 +5,7 @@
 
 #include <linux/atomic.h>
 #include <linux/bt-bmc.h>
+#include <linux/clk.h>
 #include <linux/errno.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
@@ -62,6 +63,7 @@ struct bt_bmc {
 	wait_queue_head_t	queue;
 	struct timer_list	poll_timer;
 	struct mutex		mutex;
+	struct clk		*clk;
 };
 
 static atomic_t open_count = ATOMIC_INIT(0);
@@ -423,6 +425,19 @@ static int bt_bmc_probe(struct platform_device *pdev)
 	if (IS_ERR(bt_bmc->base))
 		return PTR_ERR(bt_bmc->base);
 
+	bt_bmc->clk = devm_clk_get(dev, NULL);
+	if (IS_ERR(bt_bmc->clk)) {
+		rc = PTR_ERR(bt_bmc->clk);
+		if (rc != -EPROBE_DEFER)
+			dev_err(dev, "Unable to get clock\n");
+		return rc;
+	}
+	rc = clk_prepare_enable(bt_bmc->clk);
+	if (rc) {
+		dev_err(dev, "Unable to enable clock\n");
+		return rc;
+	}
+
 	mutex_init(&bt_bmc->mutex);
 	init_waitqueue_head(&bt_bmc->queue);
 
@@ -433,7 +448,7 @@ static int bt_bmc_probe(struct platform_device *pdev)
 	rc = misc_register(&bt_bmc->miscdev);
 	if (rc) {
 		dev_err(dev, "Unable to register misc device\n");
-		return rc;
+		goto err;
 	}
 
 	bt_bmc_config_irq(bt_bmc, pdev);
@@ -457,6 +472,11 @@ static int bt_bmc_probe(struct platform_device *pdev)
 	clr_b_busy(bt_bmc);
 
 	return 0;
+
+err:
+	clk_disable_unprepare(bt_bmc->clk);
+
+	return rc;
 }
 
 static int bt_bmc_remove(struct platform_device *pdev)
@@ -466,6 +486,8 @@ static int bt_bmc_remove(struct platform_device *pdev)
 	misc_deregister(&bt_bmc->miscdev);
 	if (bt_bmc->irq < 0)
 		del_timer_sync(&bt_bmc->poll_timer);
+	clk_disable_unprepare(bt_bmc->clk);
+
 	return 0;
 }
 
-- 
2.25.1


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

* [PATCH -next v2 3/6] ipmi: bt: add clock control logic
@ 2021-11-02 20:37   ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 2706 bytes --]

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

If LPC BT driver is registered ahead of lpc-ctrl module, LPC BT
hardware block will be enabled without heart beating of LCLK until
lpc-ctrl enables the LCLK. This issue causes improper handling on
host interrupts when the host sends interrupts in that time frame.
Then kernel eventually forcibly disables the interrupt with
dumping stack and printing a 'nobody cared this irq' message out.

To prevent this issue, all LPC sub drivers should enable LCLK
individually so this patch adds clock control logic into the LPC
BT driver.

Fixes: 54f9c4d0778b ("ipmi: add an Aspeed BT IPMI BMC driver")
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
---
v1 -> v2:
 - No change.

 drivers/char/ipmi/bt-bmc.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/char/ipmi/bt-bmc.c b/drivers/char/ipmi/bt-bmc.c
index 7450904e330a..a20f92cc7b18 100644
--- a/drivers/char/ipmi/bt-bmc.c
+++ b/drivers/char/ipmi/bt-bmc.c
@@ -5,6 +5,7 @@
 
 #include <linux/atomic.h>
 #include <linux/bt-bmc.h>
+#include <linux/clk.h>
 #include <linux/errno.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
@@ -62,6 +63,7 @@ struct bt_bmc {
 	wait_queue_head_t	queue;
 	struct timer_list	poll_timer;
 	struct mutex		mutex;
+	struct clk		*clk;
 };
 
 static atomic_t open_count = ATOMIC_INIT(0);
@@ -423,6 +425,19 @@ static int bt_bmc_probe(struct platform_device *pdev)
 	if (IS_ERR(bt_bmc->base))
 		return PTR_ERR(bt_bmc->base);
 
+	bt_bmc->clk = devm_clk_get(dev, NULL);
+	if (IS_ERR(bt_bmc->clk)) {
+		rc = PTR_ERR(bt_bmc->clk);
+		if (rc != -EPROBE_DEFER)
+			dev_err(dev, "Unable to get clock\n");
+		return rc;
+	}
+	rc = clk_prepare_enable(bt_bmc->clk);
+	if (rc) {
+		dev_err(dev, "Unable to enable clock\n");
+		return rc;
+	}
+
 	mutex_init(&bt_bmc->mutex);
 	init_waitqueue_head(&bt_bmc->queue);
 
@@ -433,7 +448,7 @@ static int bt_bmc_probe(struct platform_device *pdev)
 	rc = misc_register(&bt_bmc->miscdev);
 	if (rc) {
 		dev_err(dev, "Unable to register misc device\n");
-		return rc;
+		goto err;
 	}
 
 	bt_bmc_config_irq(bt_bmc, pdev);
@@ -457,6 +472,11 @@ static int bt_bmc_probe(struct platform_device *pdev)
 	clr_b_busy(bt_bmc);
 
 	return 0;
+
+err:
+	clk_disable_unprepare(bt_bmc->clk);
+
+	return rc;
 }
 
 static int bt_bmc_remove(struct platform_device *pdev)
@@ -466,6 +486,8 @@ static int bt_bmc_remove(struct platform_device *pdev)
 	misc_deregister(&bt_bmc->miscdev);
 	if (bt_bmc->irq < 0)
 		del_timer_sync(&bt_bmc->poll_timer);
+	clk_disable_unprepare(bt_bmc->clk);
+
 	return 0;
 }
 
-- 
2.25.1



[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH -next v2 4/6] ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
  2021-11-02 20:37 ` jae.hyun.yoo
@ 2021-11-02 20:37   ` jae.hyun.yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add LCLK clock setting into LPC KCS nodes to enable the LCLK by
individual LPC sub drivers.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
v1 -> v2:
 - No change.

 arch/arm/boot/dts/aspeed-g5.dtsi | 4 ++++
 arch/arm/boot/dts/aspeed-g6.dtsi | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
index d0cc4be2de59..7495f93c5069 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
@@ -446,6 +446,7 @@ kcs1: kcs@24 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -453,6 +454,7 @@ kcs2: kcs@28 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -460,6 +462,7 @@ kcs3: kcs@2c {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -467,6 +470,7 @@ kcs4: kcs@114 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x114 0x1>, <0x118 0x1>, <0x11c 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi
index 465c3549fdc3..891b862363a7 100644
--- a/arch/arm/boot/dts/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed-g6.dtsi
@@ -520,6 +520,7 @@ kcs1: kcs@24 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
 					interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					kcs_chan = <1>;
 					status = "disabled";
 				};
@@ -528,6 +529,7 @@ kcs2: kcs@28 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
 					interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -535,6 +537,7 @@ kcs3: kcs@2c {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
 					interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -542,6 +545,7 @@ kcs4: kcs@114 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x114 0x1>, <0x118 0x1>, <0x11c 0x1>;
 					interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
-- 
2.25.1


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

* [PATCH -next v2 4/6] ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
@ 2021-11-02 20:37   ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add LCLK clock setting into LPC KCS nodes to enable the LCLK by
individual LPC sub drivers.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
v1 -> v2:
 - No change.

 arch/arm/boot/dts/aspeed-g5.dtsi | 4 ++++
 arch/arm/boot/dts/aspeed-g6.dtsi | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
index d0cc4be2de59..7495f93c5069 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
@@ -446,6 +446,7 @@ kcs1: kcs@24 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -453,6 +454,7 @@ kcs2: kcs@28 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -460,6 +462,7 @@ kcs3: kcs@2c {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -467,6 +470,7 @@ kcs4: kcs@114 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x114 0x1>, <0x118 0x1>, <0x11c 0x1>;
 					interrupts = <8>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi
index 465c3549fdc3..891b862363a7 100644
--- a/arch/arm/boot/dts/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed-g6.dtsi
@@ -520,6 +520,7 @@ kcs1: kcs@24 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
 					interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					kcs_chan = <1>;
 					status = "disabled";
 				};
@@ -528,6 +529,7 @@ kcs2: kcs@28 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
 					interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -535,6 +537,7 @@ kcs3: kcs@2c {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
 					interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
@@ -542,6 +545,7 @@ kcs4: kcs@114 {
 					compatible = "aspeed,ast2500-kcs-bmc-v2";
 					reg = <0x114 0x1>, <0x118 0x1>, <0x11c 0x1>;
 					interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
 					status = "disabled";
 				};
 
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-02 20:37 ` jae.hyun.yoo
@ 2021-11-02 20:37   ` jae.hyun.yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add 'clocks' as a required property.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
---
v1 -> v2:
Changes sinve v1:
 - Added 'clocks' property into kcs-bmc bindings using
   'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
   'aspeed-lpc.yaml' yet. The bindings merging could be done using a
   separate patch later.

 .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
index 4ff6fabfcb30..92ec0da047f4 100644
--- a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
+++ b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
@@ -71,9 +71,14 @@ properties:
     $ref: '/schemas/types.yaml#/definitions/uint32'
     description: The host CPU IO map address
 
+  clocks:
+    maxItems: 1
+    description: Reference clock for the LPC controller
+
 required:
   - compatible
   - interrupts
+  - clocks
 
 additionalProperties: false
 
@@ -96,6 +101,7 @@ allOf:
 
 examples:
   - |
+    #include <dt-bindings/clock/aspeed-clock.h>
     #include <dt-bindings/interrupt-controller/irq.h>
     kcs3: kcs@24 {
         compatible = "aspeed,ast2600-kcs-bmc";
@@ -103,4 +109,5 @@ examples:
         aspeed,lpc-io-reg = <0xca2>;
         aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
         interrupts = <8>;
+        clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
     };
-- 
2.25.1


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

* [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed, kcs-bmc: add 'clocks' as a required property
@ 2021-11-02 20:37   ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add 'clocks' as a required property.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
---
v1 -> v2:
Changes sinve v1:
 - Added 'clocks' property into kcs-bmc bindings using
   'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
   'aspeed-lpc.yaml' yet. The bindings merging could be done using a
   separate patch later.

 .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
index 4ff6fabfcb30..92ec0da047f4 100644
--- a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
+++ b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
@@ -71,9 +71,14 @@ properties:
     $ref: '/schemas/types.yaml#/definitions/uint32'
     description: The host CPU IO map address
 
+  clocks:
+    maxItems: 1
+    description: Reference clock for the LPC controller
+
 required:
   - compatible
   - interrupts
+  - clocks
 
 additionalProperties: false
 
@@ -96,6 +101,7 @@ allOf:
 
 examples:
   - |
+    #include <dt-bindings/clock/aspeed-clock.h>
     #include <dt-bindings/interrupt-controller/irq.h>
     kcs3: kcs@24 {
         compatible = "aspeed,ast2600-kcs-bmc";
@@ -103,4 +109,5 @@ examples:
         aspeed,lpc-io-reg = <0xca2>;
         aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
         interrupts = <8>;
+        clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
     };
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH -next v2 6/6] ipmi: kcs_bmc_aspeed: add clock control logic
  2021-11-02 20:37 ` jae.hyun.yoo
@ 2021-11-02 20:37   ` jae.hyun.yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

If LPC KCS driver is registered ahead of lpc-ctrl module, LPC
KCS block will be enabled without heart beating of LCLK until
lpc-ctrl enables the LCLK. This issue causes improper handling on
host interrupts when the host sends interrupts in that time frame.
Then kernel eventually forcibly disables the interrupt with
dumping stack and printing a 'nobody cared this irq' message out.

To prevent this issue, all LPC sub drivers should enable LCLK
individually so this patch adds clock control logic into the LPC
KCS driver.

Fixes: be2ed207e374 ("ipmi: add an Aspeed KCS IPMI BMC driver")
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
v1 -> v2:
 - No change.

 drivers/char/ipmi/kcs_bmc_aspeed.c | 31 ++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/drivers/char/ipmi/kcs_bmc_aspeed.c b/drivers/char/ipmi/kcs_bmc_aspeed.c
index 92a37b33494c..00706472cc4d 100644
--- a/drivers/char/ipmi/kcs_bmc_aspeed.c
+++ b/drivers/char/ipmi/kcs_bmc_aspeed.c
@@ -6,6 +6,7 @@
 #define pr_fmt(fmt) "aspeed-kcs-bmc: " fmt
 
 #include <linux/atomic.h>
+#include <linux/clk.h>
 #include <linux/errno.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
@@ -126,6 +127,8 @@ struct aspeed_kcs_bmc {
 		bool remove;
 		struct timer_list timer;
 	} obe;
+
+	struct clk *clk;
 };
 
 struct aspeed_kcs_of_ops {
@@ -620,24 +623,37 @@ static int aspeed_kcs_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
+	priv->clk = devm_clk_get(&pdev->dev, NULL);
+	if (IS_ERR(priv->clk)) {
+		rc = PTR_ERR(priv->clk);
+		if (rc != -EPROBE_DEFER)
+			dev_err(&pdev->dev, "Couldn't get clock\n");
+		return rc;
+	}
+	rc = clk_prepare_enable(priv->clk);
+	if (rc) {
+		dev_err(&pdev->dev, "Couldn't enable clock\n");
+		return rc;
+	}
+
 	spin_lock_init(&priv->obe.lock);
 	priv->obe.remove = false;
 	timer_setup(&priv->obe.timer, aspeed_kcs_check_obe, 0);
 
 	rc = aspeed_kcs_set_address(kcs_bmc, addrs, nr_addrs);
 	if (rc)
-		return rc;
+		goto err;
 
 	/* Host to BMC IRQ */
 	rc = aspeed_kcs_config_downstream_irq(kcs_bmc, pdev);
 	if (rc)
-		return rc;
+		goto err;
 
 	/* BMC to Host IRQ */
 	if (have_upstream_irq) {
 		rc = aspeed_kcs_config_upstream_irq(priv, upstream_irq[0], upstream_irq[1]);
 		if (rc < 0)
-			return rc;
+			goto err;
 	} else {
 		priv->upstream_irq.mode = aspeed_kcs_irq_none;
 	}
@@ -650,13 +666,19 @@ static int aspeed_kcs_probe(struct platform_device *pdev)
 	rc = kcs_bmc_add_device(&priv->kcs_bmc);
 	if (rc) {
 		dev_warn(&pdev->dev, "Failed to register channel %d: %d\n", kcs_bmc->channel, rc);
-		return rc;
+		goto err;
 	}
 
 	dev_info(&pdev->dev, "Initialised channel %d at 0x%x\n",
 			kcs_bmc->channel, addrs[0]);
 
 	return 0;
+
+err:
+	aspeed_kcs_enable_channel(kcs_bmc, false);
+	clk_disable_unprepare(priv->clk);
+
+	return rc;
 }
 
 static int aspeed_kcs_remove(struct platform_device *pdev)
@@ -664,6 +686,7 @@ static int aspeed_kcs_remove(struct platform_device *pdev)
 	struct aspeed_kcs_bmc *priv = platform_get_drvdata(pdev);
 	struct kcs_bmc_device *kcs_bmc = &priv->kcs_bmc;
 
+	clk_disable_unprepare(priv->clk);
 	kcs_bmc_remove_device(kcs_bmc);
 
 	aspeed_kcs_enable_channel(kcs_bmc, false);
-- 
2.25.1


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

* [PATCH -next v2 6/6] ipmi: kcs_bmc_aspeed: add clock control logic
@ 2021-11-02 20:37   ` jae.hyun.yoo
  0 siblings, 0 replies; 32+ messages in thread
From: jae.hyun.yoo @ 2021-11-02 20:37 UTC (permalink / raw)
  To: Rob Herring, Corey Minyard, Joel Stanley, Andrew Jeffery,
	Cedric Le Goater, Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo
  Cc: devicetree, linux-arm-kernel, linux-aspeed, openipmi-developer

From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

If LPC KCS driver is registered ahead of lpc-ctrl module, LPC
KCS block will be enabled without heart beating of LCLK until
lpc-ctrl enables the LCLK. This issue causes improper handling on
host interrupts when the host sends interrupts in that time frame.
Then kernel eventually forcibly disables the interrupt with
dumping stack and printing a 'nobody cared this irq' message out.

To prevent this issue, all LPC sub drivers should enable LCLK
individually so this patch adds clock control logic into the LPC
KCS driver.

Fixes: be2ed207e374 ("ipmi: add an Aspeed KCS IPMI BMC driver")
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
v1 -> v2:
 - No change.

 drivers/char/ipmi/kcs_bmc_aspeed.c | 31 ++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/drivers/char/ipmi/kcs_bmc_aspeed.c b/drivers/char/ipmi/kcs_bmc_aspeed.c
index 92a37b33494c..00706472cc4d 100644
--- a/drivers/char/ipmi/kcs_bmc_aspeed.c
+++ b/drivers/char/ipmi/kcs_bmc_aspeed.c
@@ -6,6 +6,7 @@
 #define pr_fmt(fmt) "aspeed-kcs-bmc: " fmt
 
 #include <linux/atomic.h>
+#include <linux/clk.h>
 #include <linux/errno.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
@@ -126,6 +127,8 @@ struct aspeed_kcs_bmc {
 		bool remove;
 		struct timer_list timer;
 	} obe;
+
+	struct clk *clk;
 };
 
 struct aspeed_kcs_of_ops {
@@ -620,24 +623,37 @@ static int aspeed_kcs_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
+	priv->clk = devm_clk_get(&pdev->dev, NULL);
+	if (IS_ERR(priv->clk)) {
+		rc = PTR_ERR(priv->clk);
+		if (rc != -EPROBE_DEFER)
+			dev_err(&pdev->dev, "Couldn't get clock\n");
+		return rc;
+	}
+	rc = clk_prepare_enable(priv->clk);
+	if (rc) {
+		dev_err(&pdev->dev, "Couldn't enable clock\n");
+		return rc;
+	}
+
 	spin_lock_init(&priv->obe.lock);
 	priv->obe.remove = false;
 	timer_setup(&priv->obe.timer, aspeed_kcs_check_obe, 0);
 
 	rc = aspeed_kcs_set_address(kcs_bmc, addrs, nr_addrs);
 	if (rc)
-		return rc;
+		goto err;
 
 	/* Host to BMC IRQ */
 	rc = aspeed_kcs_config_downstream_irq(kcs_bmc, pdev);
 	if (rc)
-		return rc;
+		goto err;
 
 	/* BMC to Host IRQ */
 	if (have_upstream_irq) {
 		rc = aspeed_kcs_config_upstream_irq(priv, upstream_irq[0], upstream_irq[1]);
 		if (rc < 0)
-			return rc;
+			goto err;
 	} else {
 		priv->upstream_irq.mode = aspeed_kcs_irq_none;
 	}
@@ -650,13 +666,19 @@ static int aspeed_kcs_probe(struct platform_device *pdev)
 	rc = kcs_bmc_add_device(&priv->kcs_bmc);
 	if (rc) {
 		dev_warn(&pdev->dev, "Failed to register channel %d: %d\n", kcs_bmc->channel, rc);
-		return rc;
+		goto err;
 	}
 
 	dev_info(&pdev->dev, "Initialised channel %d at 0x%x\n",
 			kcs_bmc->channel, addrs[0]);
 
 	return 0;
+
+err:
+	aspeed_kcs_enable_channel(kcs_bmc, false);
+	clk_disable_unprepare(priv->clk);
+
+	return rc;
 }
 
 static int aspeed_kcs_remove(struct platform_device *pdev)
@@ -664,6 +686,7 @@ static int aspeed_kcs_remove(struct platform_device *pdev)
 	struct aspeed_kcs_bmc *priv = platform_get_drvdata(pdev);
 	struct kcs_bmc_device *kcs_bmc = &priv->kcs_bmc;
 
+	clk_disable_unprepare(priv->clk);
 	kcs_bmc_remove_device(kcs_bmc);
 
 	aspeed_kcs_enable_channel(kcs_bmc, false);
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 0/6] Add LCLK control into Aspeed LPC sub drivers
  2021-11-02 20:37 ` jae.hyun.yoo
@ 2021-11-03  0:59   ` Corey Minyard
  -1 siblings, 0 replies; 32+ messages in thread
From: Corey Minyard @ 2021-11-03  0:59 UTC (permalink / raw)
  To: jae.hyun.yoo
  Cc: Rob Herring, Joel Stanley, Andrew Jeffery, Cedric Le Goater,
	Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo, devicetree,
	linux-arm-kernel, linux-aspeed, openipmi-developer

On Tue, Nov 02, 2021 at 01:37:11PM -0700, jae.hyun.yoo@intel.com wrote:
> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> 
> Hello all,
> 
> This series is for appliying below fix to all Aspped LPC sub drivers.
> https://lore.kernel.org/all/20201208091748.1920-1-wangzhiqiang.bj@bytedance.com/

Ok, I've added this to my next tree.

There was some duplicated code between the aspeed and bt files, but I'm
not sure it's enough to matter.

-corey

> 
> An LPC sub driver can be enabled without using the lpc-ctrl driver or it
> can be registered ahead of lpc-ctrl depends on each system configuration and
> this difference introduces that LPC can be enabled without heart beating of
> LCLK so it causes improper handling on host interrupts when the host sends
> interrupts in that time frame. Then kernel eventually forcibly disables the
> interrupt with dumping stack and printing a 'nobody cared this irq' message
> out.
> 
> To prevent this issue, all LPC sub drivers should enable LCLK individually
> so this patch adds clock control logic into the remaining Aspeed LPC sub
> drivers.
> 
> Please review this series.
> 
> Thanks,
> Jae
> 
> Changes sinve v1:
>  - Added 'clocks' property into ibt and kcs-bmc bindings using
>    'aspeed,ast2400-ibt-bmc.txt' and 'aspeed,ast2400-kcs-bmc.yaml'
>    respectively because these are not merged into 'aspeed-lpc.yaml' yet.
>    The bindings merging could be done using a separate patch later.
> 
> Jae Hyun Yoo (6):
>   ARM: dts: aspeed: add LCLK setting into LPC IBT node
>   dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
>   ipmi: bt: add clock control logic
>   ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
>   dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
>   ipmi: kcs_bmc_aspeed: add clock control logic
> 
>  .../bindings/ipmi/aspeed,ast2400-ibt-bmc.txt  |  2 ++
>  .../bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml |  7 +++++
>  arch/arm/boot/dts/aspeed-g4.dtsi              |  1 +
>  arch/arm/boot/dts/aspeed-g5.dtsi              |  5 +++
>  arch/arm/boot/dts/aspeed-g6.dtsi              |  5 +++
>  drivers/char/ipmi/bt-bmc.c                    | 24 +++++++++++++-
>  drivers/char/ipmi/kcs_bmc_aspeed.c            | 31 ++++++++++++++++---
>  7 files changed, 70 insertions(+), 5 deletions(-)
> 
> -- 
> 2.25.1
> 

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

* Re: [PATCH -next v2 0/6] Add LCLK control into Aspeed LPC sub drivers
@ 2021-11-03  0:59   ` Corey Minyard
  0 siblings, 0 replies; 32+ messages in thread
From: Corey Minyard @ 2021-11-03  0:59 UTC (permalink / raw)
  To: jae.hyun.yoo
  Cc: Rob Herring, Joel Stanley, Andrew Jeffery, Cedric Le Goater,
	Haiyue Wang, ChiaWei Wang, Jae Hyun Yoo, devicetree,
	linux-arm-kernel, linux-aspeed, openipmi-developer

On Tue, Nov 02, 2021 at 01:37:11PM -0700, jae.hyun.yoo@intel.com wrote:
> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> 
> Hello all,
> 
> This series is for appliying below fix to all Aspped LPC sub drivers.
> https://lore.kernel.org/all/20201208091748.1920-1-wangzhiqiang.bj@bytedance.com/

Ok, I've added this to my next tree.

There was some duplicated code between the aspeed and bt files, but I'm
not sure it's enough to matter.

-corey

> 
> An LPC sub driver can be enabled without using the lpc-ctrl driver or it
> can be registered ahead of lpc-ctrl depends on each system configuration and
> this difference introduces that LPC can be enabled without heart beating of
> LCLK so it causes improper handling on host interrupts when the host sends
> interrupts in that time frame. Then kernel eventually forcibly disables the
> interrupt with dumping stack and printing a 'nobody cared this irq' message
> out.
> 
> To prevent this issue, all LPC sub drivers should enable LCLK individually
> so this patch adds clock control logic into the remaining Aspeed LPC sub
> drivers.
> 
> Please review this series.
> 
> Thanks,
> Jae
> 
> Changes sinve v1:
>  - Added 'clocks' property into ibt and kcs-bmc bindings using
>    'aspeed,ast2400-ibt-bmc.txt' and 'aspeed,ast2400-kcs-bmc.yaml'
>    respectively because these are not merged into 'aspeed-lpc.yaml' yet.
>    The bindings merging could be done using a separate patch later.
> 
> Jae Hyun Yoo (6):
>   ARM: dts: aspeed: add LCLK setting into LPC IBT node
>   dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
>   ipmi: bt: add clock control logic
>   ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
>   dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
>   ipmi: kcs_bmc_aspeed: add clock control logic
> 
>  .../bindings/ipmi/aspeed,ast2400-ibt-bmc.txt  |  2 ++
>  .../bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml |  7 +++++
>  arch/arm/boot/dts/aspeed-g4.dtsi              |  1 +
>  arch/arm/boot/dts/aspeed-g5.dtsi              |  5 +++
>  arch/arm/boot/dts/aspeed-g6.dtsi              |  5 +++
>  drivers/char/ipmi/bt-bmc.c                    | 24 +++++++++++++-
>  drivers/char/ipmi/kcs_bmc_aspeed.c            | 31 ++++++++++++++++---
>  7 files changed, 70 insertions(+), 5 deletions(-)
> 
> -- 
> 2.25.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-02 20:37   ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed, kcs-bmc: " jae.hyun.yoo
@ 2021-11-03  1:20     ` Rob Herring
  -1 siblings, 0 replies; 32+ messages in thread
From: Rob Herring @ 2021-11-03  1:20 UTC (permalink / raw)
  To: jae.hyun.yoo
  Cc: Joel Stanley, Andrew Jeffery, openipmi-developer, linux-aspeed,
	Haiyue Wang, Jae Hyun Yoo, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang, Rob Herring

On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> 
> Add 'clocks' as a required property.
> 
> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> ---
> v1 -> v2:
> Changes sinve v1:
>  - Added 'clocks' property into kcs-bmc bindings using
>    'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>    'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>    separate patch later.
> 
>  .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>  1 file changed, 7 insertions(+)
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1549943


kcs@114: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml

kcs@24: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml

kcs@28: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml

kcs@2c: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml


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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed, kcs-bmc: add 'clocks' as a required property
@ 2021-11-03  1:20     ` Rob Herring
  0 siblings, 0 replies; 32+ messages in thread
From: Rob Herring @ 2021-11-03  1:20 UTC (permalink / raw)
  To: jae.hyun.yoo
  Cc: Joel Stanley, Andrew Jeffery, openipmi-developer, linux-aspeed,
	Haiyue Wang, Jae Hyun Yoo, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang, Rob Herring

On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> 
> Add 'clocks' as a required property.
> 
> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> ---
> v1 -> v2:
> Changes sinve v1:
>  - Added 'clocks' property into kcs-bmc bindings using
>    'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>    'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>    separate patch later.
> 
>  .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>  1 file changed, 7 insertions(+)
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1549943


kcs@114: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml

kcs@24: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml

kcs@28: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml

kcs@2c: 'clocks' is a required property
	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-03  1:20     ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed, kcs-bmc: " Rob Herring
@ 2021-11-03  1:52       ` Corey Minyard
  -1 siblings, 0 replies; 32+ messages in thread
From: Corey Minyard @ 2021-11-03  1:52 UTC (permalink / raw)
  To: Rob Herring
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, Jae Hyun Yoo, linux-arm-kernel,
	devicetree, Cedric Le Goater, ChiaWei Wang, Rob Herring

On Tue, Nov 02, 2021 at 08:20:37PM -0500, Rob Herring wrote:
> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
> > From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> > 
> > Add 'clocks' as a required property.
> > 
> > Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> > ---
> > v1 -> v2:
> > Changes sinve v1:
> >  - Added 'clocks' property into kcs-bmc bindings using
> >    'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
> >    'aspeed-lpc.yaml' yet. The bindings merging could be done using a
> >    separate patch later.
> > 
> >  .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> 
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
> 
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
> 
> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
> 

From the code, I think this change will break all these platforms, as
the initialization of kcs will fail without the clock property.  I'm
going to pull this out until it gets sorted out.

Also, could you rebase on the latest kernel when submitting next time?
There was a minor thing I had to fix up.

-corey

> 
> kcs@114: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 
> kcs@24: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 
> kcs@28: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 
> kcs@2c: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
@ 2021-11-03  1:52       ` Corey Minyard
  0 siblings, 0 replies; 32+ messages in thread
From: Corey Minyard @ 2021-11-03  1:52 UTC (permalink / raw)
  To: Rob Herring
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, Jae Hyun Yoo, linux-arm-kernel,
	devicetree, Cedric Le Goater, ChiaWei Wang, Rob Herring

On Tue, Nov 02, 2021 at 08:20:37PM -0500, Rob Herring wrote:
> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
> > From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> > 
> > Add 'clocks' as a required property.
> > 
> > Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> > ---
> > v1 -> v2:
> > Changes sinve v1:
> >  - Added 'clocks' property into kcs-bmc bindings using
> >    'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
> >    'aspeed-lpc.yaml' yet. The bindings merging could be done using a
> >    separate patch later.
> > 
> >  .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> 
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
> 
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
> 
> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
> 

From the code, I think this change will break all these platforms, as
the initialization of kcs will fail without the clock property.  I'm
going to pull this out until it gets sorted out.

Also, could you rebase on the latest kernel when submitting next time?
There was a minor thing I had to fix up.

-corey

> 
> kcs@114: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 
> kcs@24: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 
> kcs@28: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 
> kcs@2c: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-03  1:20     ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed, kcs-bmc: " Rob Herring
@ 2021-11-03 16:08       ` Jae Hyun Yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-03 16:08 UTC (permalink / raw)
  To: Rob Herring, jae.hyun.yoo
  Cc: Joel Stanley, Andrew Jeffery, openipmi-developer, linux-aspeed,
	Haiyue Wang, linux-arm-kernel, devicetree, Cedric Le Goater,
	Corey Minyard, ChiaWei Wang, Rob Herring

Hi Rob,

On 11/2/2021 6:20 PM, Rob Herring wrote:
> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
>> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>
>> Add 'clocks' as a required property.
>>
>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>> ---
>> v1 -> v2:
>> Changes sinve v1:
>>   - Added 'clocks' property into kcs-bmc bindings using
>>     'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>>     'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>>     separate patch later.
>>
>>   .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
> 
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
> 
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
> 
> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
> 
> 
> kcs@114: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 
> kcs@24: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 
> kcs@28: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 
> kcs@2c: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 

#4/6 in this patch adds 'clocks' into aspeed-g5.dtsi and aspeed-g6.dtsi
as a default property and all above dts files include the dtsi file so
these warning shouldn't be seen. Is it a result after applying all
changes in this series or just after cherry picking #5/6 patch only?

I tested 'dtbs_check' before submitting this series I tested it again
and got the same good result like below.

Aren't the above warnings false positive? Or did I miss something?

Thanks,
Jae

$ ARCH=arm make dtbs_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
   HOSTCC  scripts/basic/fixdep
   HOSTCC  scripts/dtc/dtc.o
   HOSTCC  scripts/dtc/flattree.o
   HOSTCC  scripts/dtc/fstree.o
   HOSTCC  scripts/dtc/data.o
   HOSTCC  scripts/dtc/livetree.o
   HOSTCC  scripts/dtc/treesource.o
   HOSTCC  scripts/dtc/srcpos.o
   HOSTCC  scripts/dtc/checks.o
   HOSTCC  scripts/dtc/util.o
   LEX     scripts/dtc/dtc-lexer.lex.c
   YACC    scripts/dtc/dtc-parser.tab.[ch]
   HOSTCC  scripts/dtc/dtc-lexer.lex.o
   HOSTCC  scripts/dtc/dtc-parser.tab.o
   HOSTCC  scripts/dtc/yamltree.o
   HOSTLD  scripts/dtc/dtc
   HOSTCC  scripts/dtc/libfdt/fdt.o
   HOSTCC  scripts/dtc/libfdt/fdt_ro.o
   HOSTCC  scripts/dtc/libfdt/fdt_wip.o
   HOSTCC  scripts/dtc/libfdt/fdt_sw.o
   HOSTCC  scripts/dtc/libfdt/fdt_rw.o
   HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
   HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
   HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
   HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
   HOSTCC  scripts/dtc/fdtoverlay.o
   HOSTLD  scripts/dtc/fdtoverlay
   SCHEMA  Documentation/devicetree/bindings/processed-schema.json
   DTC     arch/arm/boot/dts/aspeed-ast2500-evb.dtb
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb-a1.dtb
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ampere-mtjade.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-stardragon4800-rep2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cloudripper.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-fuji.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-galaxy100.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge40.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge100.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge400.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yamp.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-everest.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-1s4u.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-4u.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-fp5280g2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr630.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr855xg2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-microsoft-olympus.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mihawk.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mowgli.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-nicole.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-romulus.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-swift.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-zaius.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-supermicro-x11spi.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-inventec-transformers.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-tyan-s7106.dtb
   DTC     arch/arm/boot/dts/aspeed-ast2500-evb.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-ast2500-evb.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb-a1.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-ast2600-evb-a1.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-ast2600-evb.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ampere-mtjade.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ampere-mtjade.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-stardragon4800-rep2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-arm-stardragon4800-rep2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cloudripper.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-cloudripper.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-fuji.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-fuji.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-galaxy100.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-galaxy100.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge40.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-wedge40.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge100.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-wedge100.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge400.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-wedge400.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yamp.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-yamp.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-everest.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-everest.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-1s4u.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-rainier-1s4u.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-4u.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-rainier-4u.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-fp5280g2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-inspur-fp5280g2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr630.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-lenovo-hr630.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr855xg2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-lenovo-hr855xg2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-microsoft-olympus.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-microsoft-olympus.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mihawk.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-mihawk.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mowgli.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-mowgli.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-nicole.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-nicole.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-romulus.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-romulus.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-swift.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-swift.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-zaius.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-zaius.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-supermicro-x11spi.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-supermicro-x11spi.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-inventec-transformers.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-inventec-transformers.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-tyan-s7106.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-tyan-s7106.dt.yaml

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
@ 2021-11-03 16:08       ` Jae Hyun Yoo
  0 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-03 16:08 UTC (permalink / raw)
  To: Rob Herring, jae.hyun.yoo
  Cc: Joel Stanley, Andrew Jeffery, openipmi-developer, linux-aspeed,
	Haiyue Wang, linux-arm-kernel, devicetree, Cedric Le Goater,
	Corey Minyard, ChiaWei Wang, Rob Herring

Hi Rob,

On 11/2/2021 6:20 PM, Rob Herring wrote:
> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
>> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>
>> Add 'clocks' as a required property.
>>
>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>> ---
>> v1 -> v2:
>> Changes sinve v1:
>>   - Added 'clocks' property into kcs-bmc bindings using
>>     'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>>     'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>>     separate patch later.
>>
>>   .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
> 
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
> 
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
> 
> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
> 
> 
> kcs@114: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 
> kcs@24: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 
> kcs@28: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 
> kcs@2c: 'clocks' is a required property
> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> 

#4/6 in this patch adds 'clocks' into aspeed-g5.dtsi and aspeed-g6.dtsi
as a default property and all above dts files include the dtsi file so
these warning shouldn't be seen. Is it a result after applying all
changes in this series or just after cherry picking #5/6 patch only?

I tested 'dtbs_check' before submitting this series I tested it again
and got the same good result like below.

Aren't the above warnings false positive? Or did I miss something?

Thanks,
Jae

$ ARCH=arm make dtbs_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
   HOSTCC  scripts/basic/fixdep
   HOSTCC  scripts/dtc/dtc.o
   HOSTCC  scripts/dtc/flattree.o
   HOSTCC  scripts/dtc/fstree.o
   HOSTCC  scripts/dtc/data.o
   HOSTCC  scripts/dtc/livetree.o
   HOSTCC  scripts/dtc/treesource.o
   HOSTCC  scripts/dtc/srcpos.o
   HOSTCC  scripts/dtc/checks.o
   HOSTCC  scripts/dtc/util.o
   LEX     scripts/dtc/dtc-lexer.lex.c
   YACC    scripts/dtc/dtc-parser.tab.[ch]
   HOSTCC  scripts/dtc/dtc-lexer.lex.o
   HOSTCC  scripts/dtc/dtc-parser.tab.o
   HOSTCC  scripts/dtc/yamltree.o
   HOSTLD  scripts/dtc/dtc
   HOSTCC  scripts/dtc/libfdt/fdt.o
   HOSTCC  scripts/dtc/libfdt/fdt_ro.o
   HOSTCC  scripts/dtc/libfdt/fdt_wip.o
   HOSTCC  scripts/dtc/libfdt/fdt_sw.o
   HOSTCC  scripts/dtc/libfdt/fdt_rw.o
   HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
   HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
   HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
   HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
   HOSTCC  scripts/dtc/fdtoverlay.o
   HOSTLD  scripts/dtc/fdtoverlay
   SCHEMA  Documentation/devicetree/bindings/processed-schema.json
   DTC     arch/arm/boot/dts/aspeed-ast2500-evb.dtb
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb-a1.dtb
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ampere-mtjade.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-stardragon4800-rep2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cloudripper.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-fuji.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-galaxy100.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge40.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge100.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge400.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yamp.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-everest.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-1s4u.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-4u.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-fp5280g2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr630.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr855xg2.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-microsoft-olympus.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mihawk.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mowgli.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-nicole.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-romulus.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-swift.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-zaius.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-supermicro-x11spi.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-inventec-transformers.dtb
   DTC     arch/arm/boot/dts/aspeed-bmc-tyan-s7106.dtb
   DTC     arch/arm/boot/dts/aspeed-ast2500-evb.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-ast2500-evb.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb-a1.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-ast2600-evb-a1.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-ast2600-evb.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-ast2600-evb.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ampere-mtjade.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ampere-mtjade.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-arm-stardragon4800-rep2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-arm-stardragon4800-rep2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cloudripper.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-cloudripper.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-fuji.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-fuji.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-galaxy100.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-galaxy100.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge40.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-wedge40.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge100.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-wedge100.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-wedge400.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-wedge400.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yamp.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-yamp.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-everest.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-everest.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-1s4u.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-rainier-1s4u.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-ibm-rainier-4u.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-ibm-rainier-4u.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-fp5280g2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-inspur-fp5280g2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr630.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-lenovo-hr630.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-lenovo-hr855xg2.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-lenovo-hr855xg2.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-microsoft-olympus.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-microsoft-olympus.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mihawk.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-mihawk.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-mowgli.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-mowgli.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-nicole.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-nicole.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-romulus.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-romulus.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-swift.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-swift.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-opp-zaius.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-opp-zaius.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-portwell-neptune.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-supermicro-x11spi.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-supermicro-x11spi.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-inventec-transformers.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-inventec-transformers.dt.yaml
   DTC     arch/arm/boot/dts/aspeed-bmc-tyan-s7106.dt.yaml
   CHECK   arch/arm/boot/dts/aspeed-bmc-tyan-s7106.dt.yaml

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-03  1:52       ` Corey Minyard
@ 2021-11-03 16:13         ` Jae Hyun Yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-03 16:13 UTC (permalink / raw)
  To: minyard, Rob Herring
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, ChiaWei Wang, Rob Herring

On 11/2/2021 6:52 PM, Corey Minyard wrote:
> On Tue, Nov 02, 2021 at 08:20:37PM -0500, Rob Herring wrote:
>> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
>>> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>
>>> Add 'clocks' as a required property.
>>>
>>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>> ---
>>> v1 -> v2:
>>> Changes sinve v1:
>>>   - Added 'clocks' property into kcs-bmc bindings using
>>>     'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>>>     'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>>>     separate patch later.
>>>
>>>   .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>
>> Running 'make dtbs_check' with the schema in this patch gives the
>> following warnings. Consider if they are expected or the schema is
>> incorrect. These may not be new warnings.
>>
>> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
>> This will change in the future.
>>
>> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
>>
> 
>  From the code, I think this change will break all these platforms, as
> the initialization of kcs will fail without the clock property.  I'm
> going to pull this out until it gets sorted out.
> 
> Also, could you rebase on the latest kernel when submitting next time?
> There was a minor thing I had to fix up.
> 
> -corey

Hi Corey,

I believe that this series will not break these platforms if this series
applied correctly but I agree with that we don't need to rush this.

I'll submit v3 after rebasing it on the latest master when all queued
changes in '-next' are merged. It would be also good for reducing
confusions if any.

Thanks,
Jae

>>
>> kcs@114: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>
>> kcs@24: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>
>> kcs@28: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>>
>> kcs@2c: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
@ 2021-11-03 16:13         ` Jae Hyun Yoo
  0 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-03 16:13 UTC (permalink / raw)
  To: minyard, Rob Herring
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, ChiaWei Wang, Rob Herring

On 11/2/2021 6:52 PM, Corey Minyard wrote:
> On Tue, Nov 02, 2021 at 08:20:37PM -0500, Rob Herring wrote:
>> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
>>> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>
>>> Add 'clocks' as a required property.
>>>
>>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>> ---
>>> v1 -> v2:
>>> Changes sinve v1:
>>>   - Added 'clocks' property into kcs-bmc bindings using
>>>     'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>>>     'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>>>     separate patch later.
>>>
>>>   .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>
>> Running 'make dtbs_check' with the schema in this patch gives the
>> following warnings. Consider if they are expected or the schema is
>> incorrect. These may not be new warnings.
>>
>> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
>> This will change in the future.
>>
>> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
>>
> 
>  From the code, I think this change will break all these platforms, as
> the initialization of kcs will fail without the clock property.  I'm
> going to pull this out until it gets sorted out.
> 
> Also, could you rebase on the latest kernel when submitting next time?
> There was a minor thing I had to fix up.
> 
> -corey

Hi Corey,

I believe that this series will not break these platforms if this series
applied correctly but I agree with that we don't need to rush this.

I'll submit v3 after rebasing it on the latest master when all queued
changes in '-next' are merged. It would be also good for reducing
confusions if any.

Thanks,
Jae

>>
>> kcs@114: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>
>> kcs@24: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>
>> kcs@28: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>>
>> kcs@2c: 'clocks' is a required property
>> 	arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>> 	arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-03 16:08       ` Jae Hyun Yoo
@ 2021-11-03 16:29         ` Rob Herring
  -1 siblings, 0 replies; 32+ messages in thread
From: Rob Herring @ 2021-11-03 16:29 UTC (permalink / raw)
  To: Jae Hyun Yoo
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On Wed, Nov 3, 2021 at 11:08 AM Jae Hyun Yoo
<jae.hyun.yoo@linux.intel.com> wrote:
>
> Hi Rob,
>
> On 11/2/2021 6:20 PM, Rob Herring wrote:
> > On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
> >> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> >>
> >> Add 'clocks' as a required property.
> >>
> >> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> >> ---
> >> v1 -> v2:
> >> Changes sinve v1:
> >>   - Added 'clocks' property into kcs-bmc bindings using
> >>     'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
> >>     'aspeed-lpc.yaml' yet. The bindings merging could be done using a
> >>     separate patch later.
> >>
> >>   .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
> >>   1 file changed, 7 insertions(+)
> >>
> >
> > Running 'make dtbs_check' with the schema in this patch gives the
> > following warnings. Consider if they are expected or the schema is
> > incorrect. These may not be new warnings.
> >
> > Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> > This will change in the future.
> >
> > Full log is available here: https://patchwork.ozlabs.org/patch/1549943
> >
> >
> > kcs@114: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> >
> > kcs@24: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >
> > kcs@28: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> >
> > kcs@2c: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> >
>
> #4/6 in this patch adds 'clocks' into aspeed-g5.dtsi and aspeed-g6.dtsi
> as a default property and all above dts files include the dtsi file so
> these warning shouldn't be seen. Is it a result after applying all
> changes in this series or just after cherry picking #5/6 patch only?

Only patch 5 is applied.

> I tested 'dtbs_check' before submitting this series I tested it again
> and got the same good result like below.
>
> Aren't the above warnings false positive? Or did I miss something?

What you missed is this is an ABI. You cannot make something required
that was not required before. If the driver follows the schema and
makes 'clocks' required, then old DTBs with a new kernel will break.

It's possible that 'clocks' was always required or that it never
worked without clocks, then this change is okay. Looking at this
patch, I have no way to know that. The commit message has to explain
that. A commit message needs to answer WHY are you making the change.
You don't really need WHAT the change is as anyone can read the diff.

Rob

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
@ 2021-11-03 16:29         ` Rob Herring
  0 siblings, 0 replies; 32+ messages in thread
From: Rob Herring @ 2021-11-03 16:29 UTC (permalink / raw)
  To: Jae Hyun Yoo
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On Wed, Nov 3, 2021 at 11:08 AM Jae Hyun Yoo
<jae.hyun.yoo@linux.intel.com> wrote:
>
> Hi Rob,
>
> On 11/2/2021 6:20 PM, Rob Herring wrote:
> > On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
> >> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> >>
> >> Add 'clocks' as a required property.
> >>
> >> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> >> ---
> >> v1 -> v2:
> >> Changes sinve v1:
> >>   - Added 'clocks' property into kcs-bmc bindings using
> >>     'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
> >>     'aspeed-lpc.yaml' yet. The bindings merging could be done using a
> >>     separate patch later.
> >>
> >>   .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
> >>   1 file changed, 7 insertions(+)
> >>
> >
> > Running 'make dtbs_check' with the schema in this patch gives the
> > following warnings. Consider if they are expected or the schema is
> > incorrect. These may not be new warnings.
> >
> > Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> > This will change in the future.
> >
> > Full log is available here: https://patchwork.ozlabs.org/patch/1549943
> >
> >
> > kcs@114: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> >
> > kcs@24: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >
> > kcs@28: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> >
> > kcs@2c: 'clocks' is a required property
> >       arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
> >       arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
> >
>
> #4/6 in this patch adds 'clocks' into aspeed-g5.dtsi and aspeed-g6.dtsi
> as a default property and all above dts files include the dtsi file so
> these warning shouldn't be seen. Is it a result after applying all
> changes in this series or just after cherry picking #5/6 patch only?

Only patch 5 is applied.

> I tested 'dtbs_check' before submitting this series I tested it again
> and got the same good result like below.
>
> Aren't the above warnings false positive? Or did I miss something?

What you missed is this is an ABI. You cannot make something required
that was not required before. If the driver follows the schema and
makes 'clocks' required, then old DTBs with a new kernel will break.

It's possible that 'clocks' was always required or that it never
worked without clocks, then this change is okay. Looking at this
patch, I have no way to know that. The commit message has to explain
that. A commit message needs to answer WHY are you making the change.
You don't really need WHAT the change is as anyone can read the diff.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-03 16:29         ` Rob Herring
@ 2021-11-03 17:26           ` Jae Hyun Yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-03 17:26 UTC (permalink / raw)
  To: Rob Herring
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On 11/3/2021 9:29 AM, Rob Herring wrote:
> On Wed, Nov 3, 2021 at 11:08 AM Jae Hyun Yoo
> <jae.hyun.yoo@linux.intel.com> wrote:
>>
>> Hi Rob,
>>
>> On 11/2/2021 6:20 PM, Rob Herring wrote:
>>> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
>>>> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>>
>>>> Add 'clocks' as a required property.
>>>>
>>>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>> ---
>>>> v1 -> v2:
>>>> Changes sinve v1:
>>>>    - Added 'clocks' property into kcs-bmc bindings using
>>>>      'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>>>>      'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>>>>      separate patch later.
>>>>
>>>>    .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>>>>    1 file changed, 7 insertions(+)
>>>>
>>>
>>> Running 'make dtbs_check' with the schema in this patch gives the
>>> following warnings. Consider if they are expected or the schema is
>>> incorrect. These may not be new warnings.
>>>
>>> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
>>> This will change in the future.
>>>
>>> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
>>>
>>>
>>> kcs@114: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>>
>>> kcs@24: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>
>>> kcs@28: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>>>
>>> kcs@2c: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>>
>>
>> #4/6 in this patch adds 'clocks' into aspeed-g5.dtsi and aspeed-g6.dtsi
>> as a default property and all above dts files include the dtsi file so
>> these warning shouldn't be seen. Is it a result after applying all
>> changes in this series or just after cherry picking #5/6 patch only?
> 
> Only patch 5 is applied.
> 
>> I tested 'dtbs_check' before submitting this series I tested it again
>> and got the same good result like below.
>>
>> Aren't the above warnings false positive? Or did I miss something?
> 
> What you missed is this is an ABI. You cannot make something required
> that was not required before. If the driver follows the schema and
> makes 'clocks' required, then old DTBs with a new kernel will break.

Okay. I got it clearly and understand that it could introduce a problem
in that case. Thanks for your clarification.

> It's possible that 'clocks' was always required or that it never
> worked without clocks, then this change is okay. Looking at this
> patch, I have no way to know that. The commit message has to explain
> that. A commit message needs to answer WHY are you making the change.
> You don't really need WHAT the change is as anyone can read the diff.

Then what would be better? Would it be good enough if I add more detail
commit message including a note that dtb recompiling is required? Or,
should I change this series to treat the 'clocks' as an optional
property? Can you please share your thought?

Thanks,
Jae

> Rob
> 

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
@ 2021-11-03 17:26           ` Jae Hyun Yoo
  0 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-03 17:26 UTC (permalink / raw)
  To: Rob Herring
  Cc: jae.hyun.yoo, Joel Stanley, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On 11/3/2021 9:29 AM, Rob Herring wrote:
> On Wed, Nov 3, 2021 at 11:08 AM Jae Hyun Yoo
> <jae.hyun.yoo@linux.intel.com> wrote:
>>
>> Hi Rob,
>>
>> On 11/2/2021 6:20 PM, Rob Herring wrote:
>>> On Tue, 02 Nov 2021 13:37:16 -0700, jae.hyun.yoo@intel.com wrote:
>>>> From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>>
>>>> Add 'clocks' as a required property.
>>>>
>>>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>> ---
>>>> v1 -> v2:
>>>> Changes sinve v1:
>>>>    - Added 'clocks' property into kcs-bmc bindings using
>>>>      'aspeed,ast2400-kcs-bmc.yaml' because it's not merged into
>>>>      'aspeed-lpc.yaml' yet. The bindings merging could be done using a
>>>>      separate patch later.
>>>>
>>>>    .../devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml   | 7 +++++++
>>>>    1 file changed, 7 insertions(+)
>>>>
>>>
>>> Running 'make dtbs_check' with the schema in this patch gives the
>>> following warnings. Consider if they are expected or the schema is
>>> incorrect. These may not be new warnings.
>>>
>>> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
>>> This will change in the future.
>>>
>>> Full log is available here: https://patchwork.ozlabs.org/patch/1549943
>>>
>>>
>>> kcs@114: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>>
>>> kcs@24: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>
>>> kcs@28: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>>>
>>> kcs@2c: 'clocks' is a required property
>>>        arch/arm/boot/dts/aspeed-bmc-amd-ethanolx.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-asrock-e3c246d4i.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dt.yaml
>>>        arch/arm/boot/dts/aspeed-bmc-inspur-nf5280m6.dt.yaml
>>>
>>
>> #4/6 in this patch adds 'clocks' into aspeed-g5.dtsi and aspeed-g6.dtsi
>> as a default property and all above dts files include the dtsi file so
>> these warning shouldn't be seen. Is it a result after applying all
>> changes in this series or just after cherry picking #5/6 patch only?
> 
> Only patch 5 is applied.
> 
>> I tested 'dtbs_check' before submitting this series I tested it again
>> and got the same good result like below.
>>
>> Aren't the above warnings false positive? Or did I miss something?
> 
> What you missed is this is an ABI. You cannot make something required
> that was not required before. If the driver follows the schema and
> makes 'clocks' required, then old DTBs with a new kernel will break.

Okay. I got it clearly and understand that it could introduce a problem
in that case. Thanks for your clarification.

> It's possible that 'clocks' was always required or that it never
> worked without clocks, then this change is okay. Looking at this
> patch, I have no way to know that. The commit message has to explain
> that. A commit message needs to answer WHY are you making the change.
> You don't really need WHAT the change is as anyone can read the diff.

Then what would be better? Would it be good enough if I add more detail
commit message including a note that dtb recompiling is required? Or,
should I change this series to treat the 'clocks' as an optional
property? Can you please share your thought?

Thanks,
Jae

> Rob
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-03 17:26           ` Jae Hyun Yoo
@ 2021-11-03 22:45             ` Joel Stanley
  -1 siblings, 0 replies; 32+ messages in thread
From: Joel Stanley @ 2021-11-03 22:45 UTC (permalink / raw)
  To: Jae Hyun Yoo
  Cc: Rob Herring, Jae Hyun Yoo, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On Wed, 3 Nov 2021 at 17:27, Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> wrote:
>
> On 11/3/2021 9:29 AM, Rob Herring wrote:

> > It's possible that 'clocks' was always required or that it never
> > worked without clocks, then this change is okay. Looking at this
> > patch, I have no way to know that. The commit message has to explain
> > that. A commit message needs to answer WHY are you making the change.
> > You don't really need WHAT the change is as anyone can read the diff.
>
> Then what would be better? Would it be good enough if I add more detail
> commit message including a note that dtb recompiling is required? Or,
> should I change this series to treat the 'clocks' as an optional
> property? Can you please share your thought?

Make it essential. It was only by accident that things have worked
without this change.

While keeping backwards compatibility with dtbs is a goal we strive
for, in practice we use the dtb from the corresponding kernel source
tree, so as long as the patch to the driver is applied in the same
place as the patch to the device tree no systems will break.

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
@ 2021-11-03 22:45             ` Joel Stanley
  0 siblings, 0 replies; 32+ messages in thread
From: Joel Stanley @ 2021-11-03 22:45 UTC (permalink / raw)
  To: Jae Hyun Yoo
  Cc: Rob Herring, Jae Hyun Yoo, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On Wed, 3 Nov 2021 at 17:27, Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> wrote:
>
> On 11/3/2021 9:29 AM, Rob Herring wrote:

> > It's possible that 'clocks' was always required or that it never
> > worked without clocks, then this change is okay. Looking at this
> > patch, I have no way to know that. The commit message has to explain
> > that. A commit message needs to answer WHY are you making the change.
> > You don't really need WHAT the change is as anyone can read the diff.
>
> Then what would be better? Would it be good enough if I add more detail
> commit message including a note that dtb recompiling is required? Or,
> should I change this series to treat the 'clocks' as an optional
> property? Can you please share your thought?

Make it essential. It was only by accident that things have worked
without this change.

While keeping backwards compatibility with dtbs is a goal we strive
for, in practice we use the dtb from the corresponding kernel source
tree, so as long as the patch to the driver is applied in the same
place as the patch to the device tree no systems will break.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
  2021-11-03 22:45             ` Joel Stanley
@ 2021-11-04 16:16               ` Jae Hyun Yoo
  -1 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-04 16:16 UTC (permalink / raw)
  To: Joel Stanley
  Cc: Rob Herring, Jae Hyun Yoo, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On 11/3/2021 3:45 PM, Joel Stanley wrote:
> On Wed, 3 Nov 2021 at 17:27, Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> wrote:
>>
>> On 11/3/2021 9:29 AM, Rob Herring wrote:
> 
>>> It's possible that 'clocks' was always required or that it never
>>> worked without clocks, then this change is okay. Looking at this
>>> patch, I have no way to know that. The commit message has to explain
>>> that. A commit message needs to answer WHY are you making the change.
>>> You don't really need WHAT the change is as anyone can read the diff.
>>
>> Then what would be better? Would it be good enough if I add more detail
>> commit message including a note that dtb recompiling is required? Or,
>> should I change this series to treat the 'clocks' as an optional
>> property? Can you please share your thought?
> 
> Make it essential. It was only by accident that things have worked
> without this change.
> 
> While keeping backwards compatibility with dtbs is a goal we strive
> for, in practice we use the dtb from the corresponding kernel source
> tree, so as long as the patch to the driver is applied in the same
> place as the patch to the device tree no systems will break.

Okay. I'll keep 'clocks' property as a required property and will make
the commit message of this patch more descriptive. Thanks a lot for your
feedback.

Cheers,
Jae


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

* Re: [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property
@ 2021-11-04 16:16               ` Jae Hyun Yoo
  0 siblings, 0 replies; 32+ messages in thread
From: Jae Hyun Yoo @ 2021-11-04 16:16 UTC (permalink / raw)
  To: Joel Stanley
  Cc: Rob Herring, Jae Hyun Yoo, Andrew Jeffery, openipmi-developer,
	linux-aspeed, Haiyue Wang, linux-arm-kernel, devicetree,
	Cedric Le Goater, Corey Minyard, ChiaWei Wang

On 11/3/2021 3:45 PM, Joel Stanley wrote:
> On Wed, 3 Nov 2021 at 17:27, Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> wrote:
>>
>> On 11/3/2021 9:29 AM, Rob Herring wrote:
> 
>>> It's possible that 'clocks' was always required or that it never
>>> worked without clocks, then this change is okay. Looking at this
>>> patch, I have no way to know that. The commit message has to explain
>>> that. A commit message needs to answer WHY are you making the change.
>>> You don't really need WHAT the change is as anyone can read the diff.
>>
>> Then what would be better? Would it be good enough if I add more detail
>> commit message including a note that dtb recompiling is required? Or,
>> should I change this series to treat the 'clocks' as an optional
>> property? Can you please share your thought?
> 
> Make it essential. It was only by accident that things have worked
> without this change.
> 
> While keeping backwards compatibility with dtbs is a goal we strive
> for, in practice we use the dtb from the corresponding kernel source
> tree, so as long as the patch to the driver is applied in the same
> place as the patch to the device tree no systems will break.

Okay. I'll keep 'clocks' property as a required property and will make
the commit message of this patch more descriptive. Thanks a lot for your
feedback.

Cheers,
Jae


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2021-11-04 16:18 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-02 20:37 [PATCH -next v2 0/6] Add LCLK control into Aspeed LPC sub drivers jae.hyun.yoo
2021-11-02 20:37 ` jae.hyun.yoo
2021-11-02 20:37 ` [PATCH -next v2 1/6] ARM: dts: aspeed: add LCLK setting into LPC IBT node jae.hyun.yoo
2021-11-02 20:37   ` jae.hyun.yoo
2021-11-02 20:37 ` [PATCH -next v2 2/6] dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property jae.hyun.yoo
2021-11-02 20:37   ` jae.hyun.yoo
2021-11-02 20:37 ` [PATCH -next v2 3/6] ipmi: bt: add clock control logic jae.hyun.yoo
2021-11-02 20:37   ` jae.hyun.yoo
2021-11-02 20:37 ` [PATCH -next v2 4/6] ARM: dts: aspeed: add LCLK setting into LPC KCS nodes jae.hyun.yoo
2021-11-02 20:37   ` jae.hyun.yoo
2021-11-02 20:37 ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property jae.hyun.yoo
2021-11-02 20:37   ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed, kcs-bmc: " jae.hyun.yoo
2021-11-03  1:20   ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: " Rob Herring
2021-11-03  1:20     ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed, kcs-bmc: " Rob Herring
2021-11-03  1:52     ` [PATCH -next v2 5/6] dt-bindings: ipmi: aspeed,kcs-bmc: " Corey Minyard
2021-11-03  1:52       ` Corey Minyard
2021-11-03 16:13       ` Jae Hyun Yoo
2021-11-03 16:13         ` Jae Hyun Yoo
2021-11-03 16:08     ` Jae Hyun Yoo
2021-11-03 16:08       ` Jae Hyun Yoo
2021-11-03 16:29       ` Rob Herring
2021-11-03 16:29         ` Rob Herring
2021-11-03 17:26         ` Jae Hyun Yoo
2021-11-03 17:26           ` Jae Hyun Yoo
2021-11-03 22:45           ` Joel Stanley
2021-11-03 22:45             ` Joel Stanley
2021-11-04 16:16             ` Jae Hyun Yoo
2021-11-04 16:16               ` Jae Hyun Yoo
2021-11-02 20:37 ` [PATCH -next v2 6/6] ipmi: kcs_bmc_aspeed: add clock control logic jae.hyun.yoo
2021-11-02 20:37   ` jae.hyun.yoo
2021-11-03  0:59 ` [PATCH -next v2 0/6] Add LCLK control into Aspeed LPC sub drivers Corey Minyard
2021-11-03  0:59   ` Corey Minyard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.