Am 14.01.2013 13:34, schrieb Markus Armbruster: > Andreas Färber <afaer...@suse.de> writes: > >> It was not qdev'ified before, turn it into a SysBusDevice and >> initialize it via static properties. >> >> Prepare Old World specific MacIO state and embed the NVRAM state there. >> >> Drop macio_nvram_setup_bar() in favor of sysbus_mmio_map() or >> direct use of Memory API. > [...] >> diff --git a/hw/macio.c b/hw/macio.c >> index 0e6fc8d..32f359c 100644 >> --- a/hw/macio.c >> +++ b/hw/macio.c > [...] >> @@ -85,11 +93,22 @@ static int macio_common_initfn(PCIDevice *d) >> static int macio_oldworld_initfn(PCIDevice *d) >> { >> MacIOState *s = MACIO(d); >> + OldWorldMacIOState *os = OLDWORLD_MACIO(d); > > I find aliasing pointers like these mildly confusing, and prefer to > avoid aliases. Matter of taste, I guess.
What would you propose instead? When accessing fields we are not supposed to use FOO(x)->bar so I don't see any alternative. (This notation was chosen I think because it is compatible with C++/ObjC/... when exchanging the cast macro.) Andreas > >> + SysBusDevice *sysbus_dev; >> int ret = macio_common_initfn(d); >> if (ret < 0) { >> return ret; > [...] -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg