The helper function create_pca9554() has been renamed to aspeed_create_pca9554() and made globally available.
Previously, the function was declared static inside aspeed.c, restricting its visibility to that file. As more Aspeed machine implementations require PCA9554 I²C expander setup, it makes sense to rename it with the aspeed_ prefix and export its declaration in aspeed.h for shared use. No functional changes. Signed-off-by: Jamin Lin <[email protected]> --- include/hw/arm/aspeed.h | 14 ++++++++++++++ hw/arm/aspeed.c | 8 ++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/include/hw/arm/aspeed.h b/include/hw/arm/aspeed.h index 3afb964088..d2d9e49a39 100644 --- a/include/hw/arm/aspeed.h +++ b/include/hw/arm/aspeed.h @@ -80,4 +80,18 @@ void aspeed_machine_class_init_cpus_defaults(MachineClass *mc); */ void aspeed_create_pca9552(AspeedSoCState *soc, int bus_id, int addr); +/* + * aspeed_create_pca9554: + * @soc: pointer to the #AspeedSoCState. + * @bus_id: the I²C bus index to attach the device. + * @addr: the I²C address of the PCA9554 device. + * + * Create and attach a PCA9554 I/O expander to the specified I²C bus + * of the given Aspeed SoC. The device is created via + * i2c_slave_create_simple() and returned as an #I2CSlave pointer. + * + * Returns: a pointer to the newly created #I2CSlave instance. + */ +I2CSlave *aspeed_create_pca9554(AspeedSoCState *soc, int bus_id, int addr); + #endif diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index c6f272d986..59416eb5ae 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -543,7 +543,7 @@ void aspeed_create_pca9552(AspeedSoCState *soc, int bus_id, int addr) TYPE_PCA9552, addr); } -static I2CSlave *create_pca9554(AspeedSoCState *soc, int bus_id, int addr) +I2CSlave *aspeed_create_pca9554(AspeedSoCState *soc, int bus_id, int addr) { return i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, bus_id), TYPE_PCA9554, addr); @@ -1142,7 +1142,7 @@ static void gb200nvl_bmc_i2c_init(AspeedMachineState *bmc) } /* Bus 5 Expander */ - create_pca9554(soc, 4, 0x21); + aspeed_create_pca9554(soc, 4, 0x21); /* Mux I2c Expanders */ i2c_slave_create_simple(i2c[5], "pca9546", 0x71); @@ -1153,12 +1153,12 @@ static void gb200nvl_bmc_i2c_init(AspeedMachineState *bmc) i2c_slave_create_simple(i2c[5], "pca9546", 0x77); /* Bus 10 */ - dev = DEVICE(create_pca9554(soc, 9, 0x20)); + dev = DEVICE(aspeed_create_pca9554(soc, 9, 0x20)); /* Set FPGA_READY */ object_property_set_str(OBJECT(dev), "pin1", "high", &error_fatal); - create_pca9554(soc, 9, 0x21); + aspeed_create_pca9554(soc, 9, 0x21); at24c_eeprom_init(i2c[9], 0x50, 64 * KiB); at24c_eeprom_init(i2c[9], 0x51, 64 * KiB); -- 2.43.0
