Skip to content

Commit 9863d2c

Browse files
refactor(qom/object): optimise out object class cast using compile-time knowledge
1 parent ac416c0 commit 9863d2c

37 files changed

+228
-110
lines changed

hw/nvram/npcm7xx_otp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ struct NPCM7xxOTPClass {
7373
};
7474

7575
#define NPCM7XX_OTP_CLASS(klass) \
76-
OBJECT_CLASS_CHECK(NPCM7xxOTPClass, (klass), TYPE_NPCM7XX_OTP)
76+
OBJECT_CLASS_CHECK(NPCM7xxOTPClass, (klass), NPCM7XX_OTP, TYPE_NPCM7XX_OTP)
7777
#define NPCM7XX_OTP_GET_CLASS(obj) \
78-
OBJECT_GET_CLASS(NPCM7xxOTPClass, (obj), TYPE_NPCM7XX_OTP)
78+
OBJECT_GET_CLASS(NPCM7xxOTPClass, (obj), NPCM7XX_OTP, TYPE_NPCM7XX_OTP)
7979

8080
static uint8_t ecc_encode_nibble(uint8_t n)
8181
{

include/hw/acpi/acpi_aml_interface.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#define TYPE_ACPI_DEV_AML_IF "acpi-dev-aml-interface"
99
typedef struct AcpiDevAmlIfClass AcpiDevAmlIfClass;
10-
DECLARE_CLASS_CHECKERS(AcpiDevAmlIfClass, ACPI_DEV_AML_IF, TYPE_ACPI_DEV_AML_IF)
10+
DECLARE_CLASS_CHECKERS_IF(AcpiDevAmlIfClass, ACPI_DEV_AML_IF, TYPE_ACPI_DEV_AML_IF)
1111
#define ACPI_DEV_AML_IF(obj) \
1212
INTERFACE_CHECK(AcpiDevAmlIf, (obj), TYPE_ACPI_DEV_AML_IF)
1313

include/hw/acpi/acpi_dev_interface.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ typedef enum {
1818
#define TYPE_ACPI_DEVICE_IF "acpi-device-interface"
1919

2020
typedef struct AcpiDeviceIfClass AcpiDeviceIfClass;
21-
DECLARE_CLASS_CHECKERS(AcpiDeviceIfClass, ACPI_DEVICE_IF,
21+
DECLARE_CLASS_CHECKERS_IF(AcpiDeviceIfClass, ACPI_DEVICE_IF,
2222
TYPE_ACPI_DEVICE_IF)
2323
#define ACPI_DEVICE_IF(obj) \
2424
INTERFACE_CHECK(AcpiDeviceIf, (obj), \

include/hw/arm/linux-boot-if.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
#define TYPE_ARM_LINUX_BOOT_IF "arm-linux-boot-if"
1212
typedef struct ARMLinuxBootIfClass ARMLinuxBootIfClass;
13-
DECLARE_CLASS_CHECKERS(ARMLinuxBootIfClass, ARM_LINUX_BOOT_IF,
13+
DECLARE_CLASS_CHECKERS_IF(ARMLinuxBootIfClass, ARM_LINUX_BOOT_IF,
1414
TYPE_ARM_LINUX_BOOT_IF)
1515
#define ARM_LINUX_BOOT_IF(obj) \
1616
INTERFACE_CHECK(ARMLinuxBootIf, (obj), TYPE_ARM_LINUX_BOOT_IF)

include/hw/arm/npcm7xx.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ typedef struct NPCM7xxMachineClass {
7474
} NPCM7xxMachineClass;
7575

7676
#define NPCM7XX_MACHINE_CLASS(klass) \
77-
OBJECT_CLASS_CHECK(NPCM7xxMachineClass, (klass), TYPE_NPCM7XX_MACHINE)
77+
OBJECT_CLASS_CHECK(NPCM7xxMachineClass, (klass), NPCM7XX_MACHINE, TYPE_NPCM7XX_MACHINE)
7878
#define NPCM7XX_MACHINE_GET_CLASS(obj) \
79-
OBJECT_GET_CLASS(NPCM7xxMachineClass, (obj), TYPE_NPCM7XX_MACHINE)
79+
OBJECT_GET_CLASS(NPCM7xxMachineClass, (obj), NPCM7XX_MACHINE, TYPE_NPCM7XX_MACHINE)
8080

8181
struct NPCM7xxState {
8282
DeviceState parent;

include/hw/cxl/cxl.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,14 @@ OBJECT_DECLARE_SIMPLE_TYPE(CXLHost, PXB_CXL_HOST)
6363
#define TYPE_CXL_USP "cxl-upstream"
6464

6565
typedef struct CXLUpstreamPort CXLUpstreamPort;
66+
DO_OBJECT_INTERFACE_INFO(CXL_USP, false);
6667
DECLARE_INSTANCE_CHECKER(CXLUpstreamPort, CXL_USP, TYPE_CXL_USP)
6768
CXLComponentState *cxl_usp_to_cstate(CXLUpstreamPort *usp);
6869

6970
#define TYPE_CXL_DSP "cxl-downstream"
7071

7172
typedef struct CXLDownstreamPort CXLDownstreamPort;
73+
DO_OBJECT_INTERFACE_INFO(CXL_DSP, false);
7274
DECLARE_INSTANCE_CHECKER(CXLDownstreamPort, CXL_DSP, TYPE_CXL_DSP)
7375

7476
#endif

include/hw/fw-path-provider.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#define TYPE_FW_PATH_PROVIDER "fw-path-provider"
2424

2525
typedef struct FWPathProviderClass FWPathProviderClass;
26-
DECLARE_CLASS_CHECKERS(FWPathProviderClass, FW_PATH_PROVIDER,
26+
DECLARE_CLASS_CHECKERS_IF(FWPathProviderClass, FW_PATH_PROVIDER,
2727
TYPE_FW_PATH_PROVIDER)
2828
#define FW_PATH_PROVIDER(obj) \
2929
INTERFACE_CHECK(FWPathProvider, (obj), TYPE_FW_PATH_PROVIDER)

include/hw/hotplug.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#define TYPE_HOTPLUG_HANDLER "hotplug-handler"
1818

1919
typedef struct HotplugHandlerClass HotplugHandlerClass;
20-
DECLARE_CLASS_CHECKERS(HotplugHandlerClass, HOTPLUG_HANDLER,
20+
DECLARE_CLASS_CHECKERS_IF(HotplugHandlerClass, HOTPLUG_HANDLER,
2121
TYPE_HOTPLUG_HANDLER)
2222
#define HOTPLUG_HANDLER(obj) \
2323
INTERFACE_CHECK(HotplugHandler, (obj), TYPE_HOTPLUG_HANDLER)

include/hw/intc/intc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#define TYPE_INTERRUPT_STATS_PROVIDER "intctrl"
77

88
typedef struct InterruptStatsProviderClass InterruptStatsProviderClass;
9-
DECLARE_CLASS_CHECKERS(InterruptStatsProviderClass, INTERRUPT_STATS_PROVIDER,
9+
DECLARE_CLASS_CHECKERS_IF(InterruptStatsProviderClass, INTERRUPT_STATS_PROVIDER,
1010
TYPE_INTERRUPT_STATS_PROVIDER)
1111
#define INTERRUPT_STATS_PROVIDER(obj) \
1212
INTERFACE_CHECK(InterruptStatsProvider, (obj), \

include/hw/ipmi/ipmi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ uint32_t ipmi_next_uuid(void);
127127
#define IPMI_INTERFACE(obj) \
128128
INTERFACE_CHECK(IPMIInterface, (obj), TYPE_IPMI_INTERFACE)
129129
typedef struct IPMIInterfaceClass IPMIInterfaceClass;
130-
DECLARE_CLASS_CHECKERS(IPMIInterfaceClass, IPMI_INTERFACE,
130+
DECLARE_CLASS_CHECKERS_IF(IPMIInterfaceClass, IPMI_INTERFACE,
131131
TYPE_IPMI_INTERFACE)
132132

133133
typedef struct IPMIInterface IPMIInterface;

0 commit comments

Comments
 (0)