diff --git a/libfwupdplugin/fu-i2c-device.c b/libfwupdplugin/fu-i2c-device.c index 14c03caef..be0f7f83d 100644 --- a/libfwupdplugin/fu-i2c-device.c +++ b/libfwupdplugin/fu-i2c-device.c @@ -169,10 +169,27 @@ guint fu_i2c_device_get_bus_number (FuI2cDevice *self) { FuI2cDevicePrivate *priv = GET_PRIVATE (self); - g_return_val_if_fail (FU_I2C_DEVICE (self), G_MAXUINT); + g_return_val_if_fail (FU_IS_I2C_DEVICE (self), G_MAXUINT); return priv->bus_number; } +/** + * fu_i2c_device_set_bus_number: + * @self: a #FuI2cDevice + * @bus_number: integer, typically the output of g_udev_device_get_number() + * + * Sets the I²C bus number. + * + * Since: 1.6.2 + **/ +void +fu_i2c_device_set_bus_number (FuI2cDevice *self, guint bus_number) +{ + FuI2cDevicePrivate *priv = GET_PRIVATE (self); + g_return_if_fail (FU_IS_I2C_DEVICE (self)); + priv->bus_number = bus_number; +} + /** * fu_i2c_device_write: * @self: a #FuI2cDevice diff --git a/libfwupdplugin/fu-i2c-device.h b/libfwupdplugin/fu-i2c-device.h index d7c4b6915..97a2b2bd4 100644 --- a/libfwupdplugin/fu-i2c-device.h +++ b/libfwupdplugin/fu-i2c-device.h @@ -20,6 +20,8 @@ struct _FuI2cDeviceClass }; guint fu_i2c_device_get_bus_number (FuI2cDevice *self); +void fu_i2c_device_set_bus_number (FuI2cDevice *self, + guint bus_number); gboolean fu_i2c_device_read (FuI2cDevice *self, guint8 *data, GError **error) diff --git a/libfwupdplugin/fwupdplugin.map b/libfwupdplugin/fwupdplugin.map index ee8289d8c..9bd4bf0e1 100644 --- a/libfwupdplugin/fwupdplugin.map +++ b/libfwupdplugin/fwupdplugin.map @@ -828,5 +828,6 @@ LIBFWUPDPLUGIN_1.6.2 { fu_device_register_private_flag; fu_device_remove_private_flag; fu_device_set_private_flags; + fu_i2c_device_set_bus_number; local: *; } LIBFWUPDPLUGIN_1.6.1;