qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 16/17] hw/avr: Move AtmegaMcuClass to atmega.h


From: Richard Henderson
Subject: [PATCH 16/17] hw/avr: Move AtmegaMcuClass to atmega.h
Date: Sun, 23 Mar 2025 10:37:28 -0700

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/avr/atmega.h | 20 ++++++++++++++++++++
 hw/avr/atmega.c | 22 +---------------------
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/hw/avr/atmega.h b/hw/avr/atmega.h
index a99ee15c7e..f031e6c10a 100644
--- a/hw/avr/atmega.h
+++ b/hw/avr/atmega.h
@@ -23,6 +23,10 @@
 #define TYPE_ATMEGA1280_MCU "ATmega1280"
 #define TYPE_ATMEGA2560_MCU "ATmega2560"
 
+typedef struct AtmegaMcuClass AtmegaMcuClass;
+DECLARE_CLASS_CHECKERS(AtmegaMcuClass, ATMEGA_MCU,
+                       TYPE_ATMEGA_MCU)
+
 typedef struct AtmegaMcuState AtmegaMcuState;
 DECLARE_INSTANCE_CHECKER(AtmegaMcuState, ATMEGA_MCU,
                          TYPE_ATMEGA_MCU)
@@ -32,6 +36,22 @@ DECLARE_INSTANCE_CHECKER(AtmegaMcuState, ATMEGA_MCU,
 #define TIMER_MAX 6
 #define GPIO_MAX 12
 
+struct AtmegaMcuClass {
+    /*< private >*/
+    SysBusDeviceClass parent_class;
+    /*< public >*/
+    const char *uc_name;
+    const char *cpu_type;
+    size_t flash_size;
+    size_t eeprom_size;
+    size_t sram_size;
+    size_t io_size;
+    size_t gpio_count;
+    size_t adc_count;
+    const uint8_t *irq;
+    const struct peripheral_cfg *dev;
+};
+
 struct AtmegaMcuState {
     /*< private >*/
     SysBusDevice parent_obj;
diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c
index d4fc9c4aee..96e36743bc 100644
--- a/hw/avr/atmega.c
+++ b/hw/avr/atmega.c
@@ -36,7 +36,7 @@ enum AtmegaPeripheral {
 #define TIMER(n)    (n + TIMER0)
 #define POWER(n)    (n + POWER0)
 
-typedef struct {
+typedef struct peripheral_cfg {
     uint16_t addr;
     enum AtmegaPeripheral power_index;
     uint8_t power_bit;
@@ -46,26 +46,6 @@ typedef struct {
     bool is_timer16;
 } peripheral_cfg;
 
-struct AtmegaMcuClass {
-    /*< private >*/
-    SysBusDeviceClass parent_class;
-    /*< public >*/
-    const char *uc_name;
-    const char *cpu_type;
-    size_t flash_size;
-    size_t eeprom_size;
-    size_t sram_size;
-    size_t io_size;
-    size_t gpio_count;
-    size_t adc_count;
-    const uint8_t *irq;
-    const peripheral_cfg *dev;
-};
-typedef struct AtmegaMcuClass AtmegaMcuClass;
-
-DECLARE_CLASS_CHECKERS(AtmegaMcuClass, ATMEGA_MCU,
-                       TYPE_ATMEGA_MCU)
-
 static const peripheral_cfg dev168_328[PERIFMAX] = {
     [USART0]        = {  0xc0, POWER0, 1 },
     [TIMER2]        = {  0xb0, POWER0, 6, 0x70, 0x37, false },
-- 
2.43.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]