Skip to content

Commit c047862

Browse files
mcaylandvivier
authored andcommitted
macfb: update macfb.c to use the Error API best practices
As per the current Error API best practices, change macfb_commom_realize() to return a boolean indicating success to reduce errp boiler-plate handling code. Note that memory_region_init_ram_nomigrate() is also updated to use &error_abort to indicate a non-recoverable error, matching the behaviour recommended after similar discussions on memory API failures for the recent nubus changes. Signed-off-by: Mark Cave-Ayland <[email protected]> Reviewed-by: Laurent Vivier <[email protected]> Message-Id: <[email protected]> Signed-off-by: Laurent Vivier <[email protected]>
1 parent 7437b13 commit c047862

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

hw/display/macfb.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -343,14 +343,14 @@ static const GraphicHwOps macfb_ops = {
343343
.gfx_update = macfb_update_display,
344344
};
345345

346-
static void macfb_common_realize(DeviceState *dev, MacfbState *s, Error **errp)
346+
static bool macfb_common_realize(DeviceState *dev, MacfbState *s, Error **errp)
347347
{
348348
DisplaySurface *surface;
349349

350350
if (s->depth != 1 && s->depth != 2 && s->depth != 4 && s->depth != 8 &&
351351
s->depth != 16 && s->depth != 24) {
352352
error_setg(errp, "unknown guest depth %d", s->depth);
353-
return;
353+
return false;
354354
}
355355

356356
s->con = graphic_console_init(dev, 0, &macfb_ops, s);
@@ -359,27 +359,28 @@ static void macfb_common_realize(DeviceState *dev, MacfbState *s, Error **errp)
359359
if (surface_bits_per_pixel(surface) != 32) {
360360
error_setg(errp, "unknown host depth %d",
361361
surface_bits_per_pixel(surface));
362-
return;
362+
return false;
363363
}
364364

365365
memory_region_init_io(&s->mem_ctrl, OBJECT(dev), &macfb_ctrl_ops, s,
366366
"macfb-ctrl", 0x1000);
367367

368368
memory_region_init_ram_nomigrate(&s->mem_vram, OBJECT(s), "macfb-vram",
369-
MACFB_VRAM_SIZE, errp);
369+
MACFB_VRAM_SIZE, &error_abort);
370370
s->vram = memory_region_get_ram_ptr(&s->mem_vram);
371371
s->vram_bit_mask = MACFB_VRAM_SIZE - 1;
372372
vmstate_register_ram(&s->mem_vram, dev);
373373
memory_region_set_coalescing(&s->mem_vram);
374+
375+
return true;
374376
}
375377

376378
static void macfb_sysbus_realize(DeviceState *dev, Error **errp)
377379
{
378380
MacfbSysBusState *s = MACFB(dev);
379381
MacfbState *ms = &s->macfb;
380382

381-
macfb_common_realize(dev, ms, errp);
382-
if (*errp) {
383+
if (!macfb_common_realize(dev, ms, errp)) {
383384
return;
384385
}
385386

@@ -399,8 +400,7 @@ static void macfb_nubus_realize(DeviceState *dev, Error **errp)
399400
return;
400401
}
401402

402-
macfb_common_realize(dev, ms, errp);
403-
if (*errp) {
403+
if (!macfb_common_realize(dev, ms, errp)) {
404404
return;
405405
}
406406

0 commit comments

Comments
 (0)