drivers/i3c/master/ast2600-i3c-master.c | 1 + 1 file changed, 1 insertion(+)
The ASPEED AST2600 I3C master driver creates a virtual I2C adapter to
provide backward compatibility with I2C devices. However, the current
implementation does not associate this virtual adapter with any
Device Tree node.
This patch propagates the of_node from the I3C master platform device
to the virtual I2C adapter's device structure. This ensures that
standard I2C aliases are correctly resolved and bus numbering remains
consistent across reboots.
Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com>
---
drivers/i3c/master/ast2600-i3c-master.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/i3c/master/ast2600-i3c-master.c b/drivers/i3c/master/ast2600-i3c-master.c
index e05e83812c71..a1c6c9d97d11 100644
--- a/drivers/i3c/master/ast2600-i3c-master.c
+++ b/drivers/i3c/master/ast2600-i3c-master.c
@@ -156,6 +156,7 @@ static int ast2600_i3c_probe(struct platform_device *pdev)
i3c->sda_pullup);
i3c->dw.platform_ops = &ast2600_i3c_ops;
+ i3c->dw.base.i2c.dev.of_node = np;
return dw_i3c_common_probe(&i3c->dw, pdev);
}
--
2.43.0
Hi Peter, > The ASPEED AST2600 I3C master driver creates a virtual I2C adapter to > provide backward compatibility with I2C devices. However, the current > implementation does not associate this virtual adapter with any > Device Tree node. > > This patch propagates the of_node from the I3C master platform device > to the virtual I2C adapter's device structure. This ensures that > standard I2C aliases are correctly resolved and bus numbering remains > consistent across reboots. Sounds sensible - but: > --- a/drivers/i3c/master/ast2600-i3c-master.c > +++ b/drivers/i3c/master/ast2600-i3c-master.c > @@ -156,6 +156,7 @@ static int ast2600_i3c_probe(struct platform_device *pdev) > i3c->sda_pullup); > > i3c->dw.platform_ops = &ast2600_i3c_ops; > + i3c->dw.base.i2c.dev.of_node = np; > return dw_i3c_common_probe(&i3c->dw, pdev); > } Why not do this in the common (dw) driver? Nothing about the of_node association is aspeed-specific. Cheers, Jeremy
Jeremy Kerr <jk@codeconstruct.com.au> 於 2026年2月25日週三 下午2:43寫道: > > Hi Peter, > > > The ASPEED AST2600 I3C master driver creates a virtual I2C adapter to > > provide backward compatibility with I2C devices. However, the current > > implementation does not associate this virtual adapter with any > > Device Tree node. > > > > This patch propagates the of_node from the I3C master platform device > > to the virtual I2C adapter's device structure. This ensures that > > standard I2C aliases are correctly resolved and bus numbering remains > > consistent across reboots. > > Sounds sensible - but: > > > --- a/drivers/i3c/master/ast2600-i3c-master.c > > +++ b/drivers/i3c/master/ast2600-i3c-master.c > > @@ -156,6 +156,7 @@ static int ast2600_i3c_probe(struct platform_device *pdev) > > i3c->sda_pullup); > > > > i3c->dw.platform_ops = &ast2600_i3c_ops; > > + i3c->dw.base.i2c.dev.of_node = np; > > return dw_i3c_common_probe(&i3c->dw, pdev); > > } > > Why not do this in the common (dw) driver? Nothing about the of_node > association is aspeed-specific. > > Cheers, > > > Jeremy Hi Jeremy, I will move the fix to dw_i3c_common_probe in drivers/i3c/master/dw-i3c-master.c and send out a V2 patch shortly.
© 2016 - 2026 Red Hat, Inc.