[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/5] m48t59: remove legacy m48t59_init() function
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 5/5] m48t59: remove legacy m48t59_init() function |
Date: |
Sat, 17 Oct 2020 11:53:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 |
On 10/16/20 8:27 PM, Mark Cave-Ayland wrote:
Now that all of the callers of this function have been switched to use qdev
properties, this legacy init function can now be removed.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
hw/rtc/m48t59.c | 35 -----------------------------------
include/hw/rtc/m48t59.h | 4 ----
2 files changed, 39 deletions(-)
In the PoC I started after your suggestion, I see:
#define TYPE_M48T02_SRAM "sysbus-m48t02"
#define TYPE_M48T08_SRAM "sysbus-m48t08"
#define TYPE_M48T59_SRAM "sysbus-m48t59"
static void m48t02_class_init(ObjectClass *oc, void *data)
{
M48txxSysBusDeviceClass *amc = M48TXX_SYS_BUS_CLASS(oc);
amc->model = 2;
amc->size = 2 * KiB;
};
static void m48t08_class_init(ObjectClass *oc, void *data)
{
M48txxSysBusDeviceClass *amc = M48TXX_SYS_BUS_CLASS(oc);
amc->model = 8;
amc->size = 8 * KiB;
};
static void m48t59_class_init(ObjectClass *oc, void *data)
{
M48txxSysBusDeviceClass *amc = M48TXX_SYS_BUS_CLASS(oc);
amc->model = 59;
amc->size = 8 * KiB;
};
static const TypeInfo m48t59_register_types[] = {
{
.name = TYPE_M48T02_SRAM,
.parent = TYPE_M48TXX_SYSBUS,
.class_init = m48t02_class_init,
}, {
.name = TYPE_M48T08_SRAM,
.parent = TYPE_M48TXX_SYSBUS,
.class_init = m48t08_class_init,
}, {
.name = TYPE_M48T59_SRAM,
.parent = TYPE_M48TXX_SYSBUS,
.class_init = m48t59_class_init,
}, {
.name = TYPE_M48TXX_SYSBUS,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(M48txxSysBusState),
.instance_init = m48t59_init1,
.class_size = sizeof(M48txxSysBusDeviceClass),
.class_init = m48txx_sysbus_class_init,
.abstract = true,
.interfaces = (InterfaceInfo[]) {
{ TYPE_NVRAM },
{ }
}
}
};
and:
#define TYPE_M48T59_SRAM "isa-m48t59"
static void m48t59_class_init(ObjectClass *oc, void *data)
{
M48txxISADeviceClass *midc = M48TXX_ISA_CLASS(oc);
midc->model = 59;
midc->size = 8 * KiB;
};
static const TypeInfo m48t59_isa_register_types[] = {
{
.name = TYPE_M48T59_SRAM,
.parent = TYPE_M48TXX_ISA,
.class_init = m48t59_class_init,
}, {
.name = TYPE_M48TXX_ISA,
.parent = TYPE_ISA_DEVICE,
.instance_size = sizeof(M48txxISAState),
.class_size = sizeof(M48txxISADeviceClass),
.class_init = m48txx_isa_class_init,
.abstract = true,
.interfaces = (InterfaceInfo[]) {
{ TYPE_NVRAM },
{ }
}
}
};
I guess I didn't pursue because I wondered what was the
best way to have the same model usable by sysbus/isa.
IIRC I wanted to proceed as having TYPE_M48T59_SRAM being
an abstract qdev parent, and then TYPE_M48TXX_SYSBUS /
TYPE_M48TXX_ISA implementing the SYSBUS/ISA interfaces.
As it need some thinking I postponed that for after 5.2.
Anyhow back to this patch:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
- [PATCH 3/5] sun4u: use qdev properties instead of legacy m48t59_init() function, (continued)
[PATCH 5/5] m48t59: remove legacy m48t59_init() function, Mark Cave-Ayland, 2020/10/16
- Re: [PATCH 5/5] m48t59: remove legacy m48t59_init() function,
Philippe Mathieu-Daudé <=
Re: [PATCH 0/5] m48t59: remove legacy init functions, Hervé Poussineau, 2020/10/16