[PATCH v1 00/24] hw/aspeed: Convert all Aspeed devices to DEFINE_TYPES() with inlined TypeInfo

Jamin Lin posted 24 patches 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260601024959.2347639-1-jamin._5Flin@aspeedtech.com
Maintainers: "Cédric Le Goater" <clg@kaod.org>, Peter Maydell <peter.maydell@linaro.org>, Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>, Jamin Lin <jamin_lin@aspeedtech.com>, Kane Chen <kane_chen@aspeedtech.com>, Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>, Alistair Francis <alistair@alistair23.me>, Ninad Palsule <ninad@linux.ibm.com>, Jason Wang <jasowang@redhat.com>
hw/adc/aspeed_adc.c       |  95 +++++++---------
hw/arm/aspeed_ast1700.c   |  21 ++--
hw/fsi/aspeed_apb2opb.c   |  42 +++----
hw/gpio/aspeed_gpio.c     | 107 ++++++++----------
hw/gpio/aspeed_sgpio.c    |  37 +++----
hw/i2c/aspeed_i2c.c       | 113 ++++++++-----------
hw/intc/aspeed_intc.c     | 121 +++++++++-----------
hw/intc/aspeed_vic.c      |  19 ++--
hw/misc/aspeed_hace.c     |  81 ++++++--------
hw/misc/aspeed_lpc.c      |  21 ++--
hw/misc/aspeed_ltpi.c     |  19 ++--
hw/misc/aspeed_pwm.c      |  19 ++--
hw/misc/aspeed_sbc.c      |  46 ++++----
hw/misc/aspeed_scu.c      | 107 ++++++++----------
hw/misc/aspeed_sdmc.c     |  73 ++++++------
hw/misc/aspeed_sli.c      |  44 ++++----
hw/misc/aspeed_xdma.c     |  58 +++++-----
hw/net/ftgmac100.c        |  32 +++---
hw/nvram/aspeed_otp.c     |  19 ++--
hw/pci-host/aspeed_pcie.c |  94 +++++++---------
hw/rtc/aspeed_rtc.c       |  19 ++--
hw/ssi/aspeed_smc.c       | 228 ++++++++++++++++----------------------
hw/timer/aspeed_timer.c   |  83 ++++++--------
hw/watchdog/wdt_aspeed.c  |  93 +++++++---------
24 files changed, 678 insertions(+), 913 deletions(-)
[PATCH v1 00/24] hw/aspeed: Convert all Aspeed devices to DEFINE_TYPES() with inlined TypeInfo
Posted by Jamin Lin 1 week ago
The QEMU community now prefers the DEFINE_TYPES() macro over the legacy
type_register_static()/type_init() pattern for device type registration.
DEFINE_TYPES() accepts an array of TypeInfo structs and registers them
all in a single call, making the registration code more concise and
consistent with modern QEMU coding style.

This series converts all Aspeed device models to use DEFINE_TYPES() and
further inlines the individual static TypeInfo variable declarations
directly into the types array, eliminating the need for standalone
TypeInfo variables scattered throughout each file.

v1:
  The changes are purely mechanical refactoring with no functional
  difference. The 24 patches cover all Aspeed-related device models
  across hw/adc, hw/arm, hw/fsi, hw/gpio, hw/i2c, hw/intc, hw/misc,
  hw/net, hw/nvram, hw/pci-host, hw/rtc, hw/ssi, hw/timer and
  hw/watchdog.

Jamin Lin (24):
  hw/misc/aspeed_hace: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc/aspeed_lpc: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc/aspeed_ltpi: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc/aspeed_pwm: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc/aspeed_sbc: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc/aspeed_scu: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc/aspeed_sdmc: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc:aspeed_sli: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/misc/aspeed_xdma: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/adc/aspeed_adc: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/arm/aspeed_ast1700: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/gpio/aspeed_gpio: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/gpio/aspeed_sgpio: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/intc/aspeed_intc: convert to DEFINE_TYPES() with inlined TypeInfo
  hw/intc/aspeed_vic: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/rtc/aspeed_rtc: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/watchdog/wdt_aspeed: Convert to DEFINE_TYPES() with inlined
    TypeInfo
  hw/nvram/aspeed_otp: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/timer/aspeed_timer: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/fsi/aspeed_apb2opb: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/pci-host/aspeed_pcie: Convert to DEFINE_TYPES() with inlined
    TypeInfo
  hw/i2c/aspeed_i2c: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/net/ftgmac100: Convert to DEFINE_TYPES() with inlined TypeInfo
  hw/ssi/aspeed_smc: Convert to DEFINE_TYPES() with inlined TypeInfo

 hw/adc/aspeed_adc.c       |  95 +++++++---------
 hw/arm/aspeed_ast1700.c   |  21 ++--
 hw/fsi/aspeed_apb2opb.c   |  42 +++----
 hw/gpio/aspeed_gpio.c     | 107 ++++++++----------
 hw/gpio/aspeed_sgpio.c    |  37 +++----
 hw/i2c/aspeed_i2c.c       | 113 ++++++++-----------
 hw/intc/aspeed_intc.c     | 121 +++++++++-----------
 hw/intc/aspeed_vic.c      |  19 ++--
 hw/misc/aspeed_hace.c     |  81 ++++++--------
 hw/misc/aspeed_lpc.c      |  21 ++--
 hw/misc/aspeed_ltpi.c     |  19 ++--
 hw/misc/aspeed_pwm.c      |  19 ++--
 hw/misc/aspeed_sbc.c      |  46 ++++----
 hw/misc/aspeed_scu.c      | 107 ++++++++----------
 hw/misc/aspeed_sdmc.c     |  73 ++++++------
 hw/misc/aspeed_sli.c      |  44 ++++----
 hw/misc/aspeed_xdma.c     |  58 +++++-----
 hw/net/ftgmac100.c        |  32 +++---
 hw/nvram/aspeed_otp.c     |  19 ++--
 hw/pci-host/aspeed_pcie.c |  94 +++++++---------
 hw/rtc/aspeed_rtc.c       |  19 ++--
 hw/ssi/aspeed_smc.c       | 228 ++++++++++++++++----------------------
 hw/timer/aspeed_timer.c   |  83 ++++++--------
 hw/watchdog/wdt_aspeed.c  |  93 +++++++---------
 24 files changed, 678 insertions(+), 913 deletions(-)

-- 
2.43.0
Re: [PATCH v1 00/24] hw/aspeed: Convert all Aspeed devices to DEFINE_TYPES() with inlined TypeInfo
Posted by Cédric Le Goater 6 days, 21 hours ago
On 6/1/26 04:50, Jamin Lin wrote:
> The QEMU community now prefers the DEFINE_TYPES() macro over the legacy
> type_register_static()/type_init() pattern for device type registration.
> DEFINE_TYPES() accepts an array of TypeInfo structs and registers them
> all in a single call, making the registration code more concise and
> consistent with modern QEMU coding style.
> 
> This series converts all Aspeed device models to use DEFINE_TYPES() and
> further inlines the individual static TypeInfo variable declarations
> directly into the types array, eliminating the need for standalone
> TypeInfo variables scattered throughout each file.
> 
> v1:
>    The changes are purely mechanical refactoring with no functional
>    difference. The 24 patches cover all Aspeed-related device models
>    across hw/adc, hw/arm, hw/fsi, hw/gpio, hw/i2c, hw/intc, hw/misc,
>    hw/net, hw/nvram, hw/pci-host, hw/rtc, hw/ssi, hw/timer and
>    hw/watchdog.
> 
> Jamin Lin (24):
>    hw/misc/aspeed_hace: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc/aspeed_lpc: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc/aspeed_ltpi: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc/aspeed_pwm: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc/aspeed_sbc: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc/aspeed_scu: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc/aspeed_sdmc: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc:aspeed_sli: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/misc/aspeed_xdma: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/adc/aspeed_adc: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/arm/aspeed_ast1700: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/gpio/aspeed_gpio: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/gpio/aspeed_sgpio: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/intc/aspeed_intc: convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/intc/aspeed_vic: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/rtc/aspeed_rtc: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/watchdog/wdt_aspeed: Convert to DEFINE_TYPES() with inlined
>      TypeInfo
>    hw/nvram/aspeed_otp: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/timer/aspeed_timer: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/fsi/aspeed_apb2opb: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/pci-host/aspeed_pcie: Convert to DEFINE_TYPES() with inlined
>      TypeInfo
>    hw/i2c/aspeed_i2c: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/net/ftgmac100: Convert to DEFINE_TYPES() with inlined TypeInfo
>    hw/ssi/aspeed_smc: Convert to DEFINE_TYPES() with inlined TypeInfo
> 
>   hw/adc/aspeed_adc.c       |  95 +++++++---------
>   hw/arm/aspeed_ast1700.c   |  21 ++--
>   hw/fsi/aspeed_apb2opb.c   |  42 +++----
>   hw/gpio/aspeed_gpio.c     | 107 ++++++++----------
>   hw/gpio/aspeed_sgpio.c    |  37 +++----
>   hw/i2c/aspeed_i2c.c       | 113 ++++++++-----------
>   hw/intc/aspeed_intc.c     | 121 +++++++++-----------
>   hw/intc/aspeed_vic.c      |  19 ++--
>   hw/misc/aspeed_hace.c     |  81 ++++++--------
>   hw/misc/aspeed_lpc.c      |  21 ++--
>   hw/misc/aspeed_ltpi.c     |  19 ++--
>   hw/misc/aspeed_pwm.c      |  19 ++--
>   hw/misc/aspeed_sbc.c      |  46 ++++----
>   hw/misc/aspeed_scu.c      | 107 ++++++++----------
>   hw/misc/aspeed_sdmc.c     |  73 ++++++------
>   hw/misc/aspeed_sli.c      |  44 ++++----
>   hw/misc/aspeed_xdma.c     |  58 +++++-----
>   hw/net/ftgmac100.c        |  32 +++---
>   hw/nvram/aspeed_otp.c     |  19 ++--
>   hw/pci-host/aspeed_pcie.c |  94 +++++++---------
>   hw/rtc/aspeed_rtc.c       |  19 ++--
>   hw/ssi/aspeed_smc.c       | 228 ++++++++++++++++----------------------
>   hw/timer/aspeed_timer.c   |  83 ++++++--------
>   hw/watchdog/wdt_aspeed.c  |  93 +++++++---------
>   24 files changed, 678 insertions(+), 913 deletions(-)
> 

Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.