Hi Kane,

Thanks for your suggestions. I have refactored the bus naming logic to align 
with
your comments. The decision making for the bus name has been moved up to the
SoC level, and the redundant "aspeed" prefix has been removed.

Here is a summary of the changes:
1. Added a bus-label property to AspeedAST1700SoCState. This allows the 
top-level
   SoC (e.g., AST2700) to define the label during its initialization or realize 
phase.
2. The bus-label is passed from aspeed_ast1700_realize to the I2C controller
   (AspeedI2CState).
3. In aspeed_i2c_realize, the controller generates unique names using the 
bus-label.
   These names are passed to the AspeedI2CBus through a new bus-name property
   during the initialization of the buses.

With these changes, the new object hierarchies and bus names are as follows:
BMC: /i2c/bus[0]/aspeed.i2c.bus.0
IOEXP0 (LTPI0): /ioexp[0]/ioexp-i2c[0]/bus[0]/ioexp0.0
IOEXP1 (LTPI1): /ioexp[1]/ioexp-i2c[0]/bus[0]/ioexp1.0

The names in the object hierarchy should not have changed, only
the bus names exposed to the user are impacted.

I have also verified that this naming convention does not require changes to 
existing
test scripts, and all functional tests passed successfully.

If you have no further concerns regarding this approach, I will submit the 
updated patch
series.

Please separate the bus-label change from the rest. I am expecting
a functional test case too, maybe we should update the sdk version
to v10.00 first ?

Thanks,

C.



Reply via email to