spapr/drc: Drop spapr_drc_attach() fdt argument
All DRC subtypes have been converted to generate the FDT fragment at configure connector time instead of attach time. The fdt and fdt_offset arguments of spapr_drc_attach() aren't needed anymore. Drop them and make the implementation of the dt_populate() method mandatory. Signed-off-by: Greg Kurz <groug@kaod.org> Message-Id: <155059667853.1466090.16527852453054217565.stgit@bahia.lab.toulouse-stg.fr.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
46fd02990d
commit
09d876ce2c
@ -3362,7 +3362,7 @@ static void spapr_add_lmbs(DeviceState *dev, uint64_t addr_start, uint64_t size,
|
||||
addr / SPAPR_MEMORY_BLOCK_SIZE);
|
||||
g_assert(drc);
|
||||
|
||||
spapr_drc_attach(drc, dev, NULL, 0, &local_err);
|
||||
spapr_drc_attach(drc, dev, &local_err);
|
||||
if (local_err) {
|
||||
while (addr > addr_start) {
|
||||
addr -= SPAPR_MEMORY_BLOCK_SIZE;
|
||||
@ -3744,7 +3744,7 @@ static void spapr_core_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
|
||||
g_assert(drc || !mc->has_hotpluggable_cpus);
|
||||
|
||||
if (drc) {
|
||||
spapr_drc_attach(drc, dev, NULL, 0, &local_err);
|
||||
spapr_drc_attach(drc, dev, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
|
@ -374,11 +374,8 @@ static void prop_get_fdt(Object *obj, Visitor *v, const char *name,
|
||||
} while (fdt_depth != 0);
|
||||
}
|
||||
|
||||
void spapr_drc_attach(sPAPRDRConnector *drc, DeviceState *d, void *fdt,
|
||||
int fdt_start_offset, Error **errp)
|
||||
void spapr_drc_attach(sPAPRDRConnector *drc, DeviceState *d, Error **errp)
|
||||
{
|
||||
sPAPRDRConnectorClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
|
||||
|
||||
trace_spapr_drc_attach(spapr_drc_index(drc));
|
||||
|
||||
if (drc->dev) {
|
||||
@ -387,15 +384,9 @@ void spapr_drc_attach(sPAPRDRConnector *drc, DeviceState *d, void *fdt,
|
||||
}
|
||||
g_assert((drc->state == SPAPR_DRC_STATE_LOGICAL_UNUSABLE)
|
||||
|| (drc->state == SPAPR_DRC_STATE_PHYSICAL_POWERON));
|
||||
g_assert(fdt || drck->dt_populate);
|
||||
|
||||
drc->dev = d;
|
||||
|
||||
if (fdt) {
|
||||
drc->fdt = fdt;
|
||||
drc->fdt_start_offset = fdt_start_offset;
|
||||
}
|
||||
|
||||
object_property_add_link(OBJECT(drc), "device",
|
||||
object_get_typename(OBJECT(drc->dev)),
|
||||
(Object **)(&drc->dev),
|
||||
@ -1113,8 +1104,6 @@ static void rtas_ibm_configure_connector(PowerPCCPU *cpu,
|
||||
|
||||
drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
|
||||
|
||||
g_assert(drc->fdt || drck->dt_populate);
|
||||
|
||||
if (!drc->fdt) {
|
||||
Error *local_err = NULL;
|
||||
void *fdt;
|
||||
|
@ -1457,7 +1457,7 @@ static void spapr_pci_plug(HotplugHandler *plug_handler,
|
||||
goto out;
|
||||
}
|
||||
|
||||
spapr_drc_attach(drc, DEVICE(pdev), NULL, 0, &local_err);
|
||||
spapr_drc_attach(drc, DEVICE(pdev), &local_err);
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
|
@ -261,8 +261,7 @@ sPAPRDRConnector *spapr_drc_by_id(const char *type, uint32_t id);
|
||||
int spapr_drc_populate_dt(void *fdt, int fdt_offset, Object *owner,
|
||||
uint32_t drc_type_mask);
|
||||
|
||||
void spapr_drc_attach(sPAPRDRConnector *drc, DeviceState *d, void *fdt,
|
||||
int fdt_start_offset, Error **errp);
|
||||
void spapr_drc_attach(sPAPRDRConnector *drc, DeviceState *d, Error **errp);
|
||||
void spapr_drc_detach(sPAPRDRConnector *drc);
|
||||
bool spapr_drc_needed(void *opaque);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user