mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
aspeed/i2c: Introduce an object class per SoC
It prepares ground for register differences between SoCs. Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Joel Stanley <joel@jms.id.au> Message-id: 20190925143248.10000-16-clg@kaod.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
36d737ee82
commit
f7da1aa8fe
3 changed files with 69 additions and 9 deletions
|
@ -25,6 +25,8 @@
|
|||
#include "hw/sysbus.h"
|
||||
|
||||
#define TYPE_ASPEED_I2C "aspeed.i2c"
|
||||
#define TYPE_ASPEED_2400_I2C TYPE_ASPEED_I2C "-ast2400"
|
||||
#define TYPE_ASPEED_2500_I2C TYPE_ASPEED_I2C "-ast2500"
|
||||
#define ASPEED_I2C(obj) \
|
||||
OBJECT_CHECK(AspeedI2CState, (obj), TYPE_ASPEED_I2C)
|
||||
|
||||
|
@ -59,6 +61,19 @@ typedef struct AspeedI2CState {
|
|||
AspeedI2CBus busses[ASPEED_I2C_NR_BUSSES];
|
||||
} AspeedI2CState;
|
||||
|
||||
#define ASPEED_I2C_CLASS(klass) \
|
||||
OBJECT_CLASS_CHECK(AspeedI2CClass, (klass), TYPE_ASPEED_I2C)
|
||||
#define ASPEED_I2C_GET_CLASS(obj) \
|
||||
OBJECT_GET_CLASS(AspeedI2CClass, (obj), TYPE_ASPEED_I2C)
|
||||
|
||||
typedef struct AspeedI2CClass {
|
||||
SysBusDeviceClass parent_class;
|
||||
|
||||
uint8_t num_busses;
|
||||
uint8_t reg_size;
|
||||
uint8_t gap;
|
||||
} AspeedI2CClass;
|
||||
|
||||
I2CBus *aspeed_i2c_get_bus(DeviceState *dev, int busnr);
|
||||
|
||||
#endif /* ASPEED_I2C_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue