* [PATCH v3 1/4] i3c: dw: Remove core reset "_rst" suffix
2026-05-19 5:51 [PATCH v3 0/4] i3c: dw: Add apb reset support Jisheng Zhang
@ 2026-05-19 5:51 ` Jisheng Zhang
2026-05-20 7:13 ` Krzysztof Kozlowski
2026-05-19 5:51 ` [PATCH v3 2/4] dt-bindings: i3c: dw: Describe core reset Jisheng Zhang
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Jisheng Zhang @ 2026-05-19 5:51 UTC (permalink / raw)
To: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel
Cc: linux-i3c, devicetree, linux-kernel
It's redundant. This suffix has been in the code from day1, fortunately
there's no such dt property usage in all dw i3c users after grepping all
dts files, so we can remove it.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
drivers/i3c/master/dw-i3c-master.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
index 655693a2187e..c4a848cc978a 100644
--- a/drivers/i3c/master/dw-i3c-master.c
+++ b/drivers/i3c/master/dw-i3c-master.c
@@ -1587,7 +1587,7 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
return PTR_ERR(master->pclk);
master->core_rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
- "core_rst");
+ "core");
if (IS_ERR(master->core_rst))
return PTR_ERR(master->core_rst);
--
2.53.0
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v3 1/4] i3c: dw: Remove core reset "_rst" suffix
2026-05-19 5:51 ` [PATCH v3 1/4] i3c: dw: Remove core reset "_rst" suffix Jisheng Zhang
@ 2026-05-20 7:13 ` Krzysztof Kozlowski
2026-05-20 11:43 ` Jisheng Zhang
0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-20 7:13 UTC (permalink / raw)
To: Jisheng Zhang
Cc: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel, linux-i3c, devicetree, linux-kernel
On Tue, May 19, 2026 at 01:51:02PM +0800, Jisheng Zhang wrote:
> It's redundant. This suffix has been in the code from day1, fortunately
> there's no such dt property usage in all dw i3c users after grepping all
> dts files, so we can remove it.
Hm, how could you grep all 3rd party / out of tree users of this?
>
> Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> ---
> drivers/i3c/master/dw-i3c-master.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
> index 655693a2187e..c4a848cc978a 100644
> --- a/drivers/i3c/master/dw-i3c-master.c
> +++ b/drivers/i3c/master/dw-i3c-master.c
> @@ -1587,7 +1587,7 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
> return PTR_ERR(master->pclk);
>
> master->core_rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
> - "core_rst");
> + "core");
ABI impact for something released since 2018. Cleanup of name is not
really worth affecting users. core_rst is not the best name but it is
not incorrect, either.
Best regards,
Krzysztof
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/4] i3c: dw: Remove core reset "_rst" suffix
2026-05-20 7:13 ` Krzysztof Kozlowski
@ 2026-05-20 11:43 ` Jisheng Zhang
2026-05-24 18:41 ` Krzysztof Kozlowski
0 siblings, 1 reply; 10+ messages in thread
From: Jisheng Zhang @ 2026-05-20 11:43 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel, linux-i3c, devicetree, linux-kernel
On Wed, May 20, 2026 at 09:13:58AM +0200, Krzysztof Kozlowski wrote:
> On Tue, May 19, 2026 at 01:51:02PM +0800, Jisheng Zhang wrote:
> > It's redundant. This suffix has been in the code from day1, fortunately
> > there's no such dt property usage in all dw i3c users after grepping all
> > dts files, so we can remove it.
>
> Hm, how could you grep all 3rd party / out of tree users of this?
>
> >
> > Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> > ---
> > drivers/i3c/master/dw-i3c-master.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
> > index 655693a2187e..c4a848cc978a 100644
> > --- a/drivers/i3c/master/dw-i3c-master.c
> > +++ b/drivers/i3c/master/dw-i3c-master.c
> > @@ -1587,7 +1587,7 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
> > return PTR_ERR(master->pclk);
> >
> > master->core_rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
> > - "core_rst");
> > + "core");
>
> ABI impact for something released since 2018. Cleanup of name is not
> really worth affecting users. core_rst is not the best name but it is
> not incorrect, either.
>
Hmm make sense.
Two questions: if the ABI is introduced but never used by any intree
users, is modifying the ABI taken as "ABI breakage"?
if the ABI is only used by outtree users, can we modify the ABI?
Thanks
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/4] i3c: dw: Remove core reset "_rst" suffix
2026-05-20 11:43 ` Jisheng Zhang
@ 2026-05-24 18:41 ` Krzysztof Kozlowski
0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-24 18:41 UTC (permalink / raw)
To: Jisheng Zhang
Cc: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel, linux-i3c, devicetree, linux-kernel
On 20/05/2026 13:43, Jisheng Zhang wrote:
> On Wed, May 20, 2026 at 09:13:58AM +0200, Krzysztof Kozlowski wrote:
>> On Tue, May 19, 2026 at 01:51:02PM +0800, Jisheng Zhang wrote:
>>> It's redundant. This suffix has been in the code from day1, fortunately
>>> there's no such dt property usage in all dw i3c users after grepping all
>>> dts files, so we can remove it.
>>
>> Hm, how could you grep all 3rd party / out of tree users of this?
>>
>>>
>>> Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
>>> ---
>>> drivers/i3c/master/dw-i3c-master.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
>>> index 655693a2187e..c4a848cc978a 100644
>>> --- a/drivers/i3c/master/dw-i3c-master.c
>>> +++ b/drivers/i3c/master/dw-i3c-master.c
>>> @@ -1587,7 +1587,7 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
>>> return PTR_ERR(master->pclk);
>>>
>>> master->core_rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
>>> - "core_rst");
>>> + "core");
>>
>> ABI impact for something released since 2018. Cleanup of name is not
>> really worth affecting users. core_rst is not the best name but it is
>> not incorrect, either.
>>
> Hmm make sense.
> Two questions: if the ABI is introduced but never used by any intree
> users, is modifying the ABI taken as "ABI breakage"?
Yes. The out of tree user was working before. Now it is not working. How
is it not a "breakage"?
>
> if the ABI is only used by outtree users, can we modify the ABI?
Yes and no. Depends. It's up to platform maintainer and you need
reasons. The reasons MUST be documented. See writing-bindings. I do not
see here a good reason.
Best regards,
Krzysztof
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 2/4] dt-bindings: i3c: dw: Describe core reset
2026-05-19 5:51 [PATCH v3 0/4] i3c: dw: Add apb reset support Jisheng Zhang
2026-05-19 5:51 ` [PATCH v3 1/4] i3c: dw: Remove core reset "_rst" suffix Jisheng Zhang
@ 2026-05-19 5:51 ` Jisheng Zhang
2026-05-20 7:14 ` Krzysztof Kozlowski
2026-05-19 5:51 ` [PATCH v3 3/4] dt-bindings: i3c: dw: Add apb reset Jisheng Zhang
2026-05-19 5:51 ` [PATCH v3 4/4] i3c: dw: Add apb reset support Jisheng Zhang
3 siblings, 1 reply; 10+ messages in thread
From: Jisheng Zhang @ 2026-05-19 5:51 UTC (permalink / raw)
To: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel
Cc: linux-i3c, devicetree, linux-kernel
The core reset support has been in the code from day1, but the
dt-binding doesn't exist. Add dt-binding to describe reset property.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
.../devicetree/bindings/i3c/snps,dw-i3c-master.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
index e803457d3f55..519797c6b4fe 100644
--- a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
+++ b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
@@ -35,6 +35,14 @@ properties:
- const: core
- const: apb
+ resets:
+ items:
+ - description: Reset signal
+
+ reset-names:
+ items:
+ - const: core
+
interrupts:
maxItems: 1
--
2.53.0
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v3 2/4] dt-bindings: i3c: dw: Describe core reset
2026-05-19 5:51 ` [PATCH v3 2/4] dt-bindings: i3c: dw: Describe core reset Jisheng Zhang
@ 2026-05-20 7:14 ` Krzysztof Kozlowski
2026-05-20 11:50 ` Jisheng Zhang
0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-20 7:14 UTC (permalink / raw)
To: Jisheng Zhang
Cc: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel, linux-i3c, devicetree, linux-kernel
On Tue, May 19, 2026 at 01:51:03PM +0800, Jisheng Zhang wrote:
> The core reset support has been in the code from day1, but the
Well, no. There was no "core" reset from day1, so your entire
explanation makes no sense now. Previous version was correct.
Best regards,
Krzysztof
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/4] dt-bindings: i3c: dw: Describe core reset
2026-05-20 7:14 ` Krzysztof Kozlowski
@ 2026-05-20 11:50 ` Jisheng Zhang
0 siblings, 0 replies; 10+ messages in thread
From: Jisheng Zhang @ 2026-05-20 11:50 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel, linux-i3c, devicetree, linux-kernel
On Wed, May 20, 2026 at 09:14:44AM +0200, Krzysztof Kozlowski wrote:
> On Tue, May 19, 2026 at 01:51:03PM +0800, Jisheng Zhang wrote:
> > The core reset support has been in the code from day1, but the
>
> Well, no. There was no "core" reset from day1, so your entire
aha, by "core reset" I mean the reset signal for i3c core. Not the
reset name. But I will update the commit msg.
> explanation makes no sense now. Previous version was correct.
>
OK, so I will send v4.
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 3/4] dt-bindings: i3c: dw: Add apb reset
2026-05-19 5:51 [PATCH v3 0/4] i3c: dw: Add apb reset support Jisheng Zhang
2026-05-19 5:51 ` [PATCH v3 1/4] i3c: dw: Remove core reset "_rst" suffix Jisheng Zhang
2026-05-19 5:51 ` [PATCH v3 2/4] dt-bindings: i3c: dw: Describe core reset Jisheng Zhang
@ 2026-05-19 5:51 ` Jisheng Zhang
2026-05-19 5:51 ` [PATCH v3 4/4] i3c: dw: Add apb reset support Jisheng Zhang
3 siblings, 0 replies; 10+ messages in thread
From: Jisheng Zhang @ 2026-05-19 5:51 UTC (permalink / raw)
To: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel
Cc: linux-i3c, devicetree, linux-kernel
Add dt-binding for support of apb reset which is to reset the APB
interface.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
index 519797c6b4fe..12845206772f 100644
--- a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
+++ b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
@@ -38,10 +38,12 @@ properties:
resets:
items:
- description: Reset signal
+ - description: APB interface reset signal
reset-names:
items:
- const: core
+ - const: apb
interrupts:
maxItems: 1
--
2.53.0
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v3 4/4] i3c: dw: Add apb reset support
2026-05-19 5:51 [PATCH v3 0/4] i3c: dw: Add apb reset support Jisheng Zhang
` (2 preceding siblings ...)
2026-05-19 5:51 ` [PATCH v3 3/4] dt-bindings: i3c: dw: Add apb reset Jisheng Zhang
@ 2026-05-19 5:51 ` Jisheng Zhang
3 siblings, 0 replies; 10+ messages in thread
From: Jisheng Zhang @ 2026-05-19 5:51 UTC (permalink / raw)
To: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Philipp Zabel
Cc: linux-i3c, devicetree, linux-kernel
Add support of apb reset which is to reset the APB interface.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
drivers/i3c/master/dw-i3c-master.c | 7 +++++++
drivers/i3c/master/dw-i3c-master.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
index c4a848cc978a..ae7aa6880e8f 100644
--- a/drivers/i3c/master/dw-i3c-master.c
+++ b/drivers/i3c/master/dw-i3c-master.c
@@ -1591,6 +1591,11 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
if (IS_ERR(master->core_rst))
return PTR_ERR(master->core_rst);
+ master->apb_rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
+ "apb");
+ if (IS_ERR(master->apb_rst))
+ return PTR_ERR(master->apb_rst);
+
spin_lock_init(&master->xferqueue.lock);
INIT_LIST_HEAD(&master->xferqueue.list);
@@ -1765,6 +1770,7 @@ static int __maybe_unused dw_i3c_master_runtime_suspend(struct device *dev)
dw_i3c_master_disable(master);
reset_control_assert(master->core_rst);
+ reset_control_assert(master->apb_rst);
dw_i3c_master_disable_clks(master);
pinctrl_pm_select_sleep_state(dev);
return 0;
@@ -1777,6 +1783,7 @@ static int __maybe_unused dw_i3c_master_runtime_resume(struct device *dev)
pinctrl_pm_select_default_state(dev);
dw_i3c_master_enable_clks(master);
reset_control_deassert(master->core_rst);
+ reset_control_deassert(master->apb_rst);
dw_i3c_master_set_intr_regs(master);
dw_i3c_master_restore_timing_regs(master);
diff --git a/drivers/i3c/master/dw-i3c-master.h b/drivers/i3c/master/dw-i3c-master.h
index c5cb695c16ab..a4ba60043288 100644
--- a/drivers/i3c/master/dw-i3c-master.h
+++ b/drivers/i3c/master/dw-i3c-master.h
@@ -37,6 +37,7 @@ struct dw_i3c_master {
struct dw_i3c_master_caps caps;
void __iomem *regs;
struct reset_control *core_rst;
+ struct reset_control *apb_rst;
struct clk *core_clk;
struct clk *pclk;
char version[5];
--
2.53.0
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
^ permalink raw reply related [flat|nested] 10+ messages in thread