On 4 July 2018 at 16:39, Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > Patch created mechanically by rerunning: > > $ spatch --sp-file scripts/coccinelle/typecast.cocci \ > --macro-file scripts/cocci-macro-file.h \ > --dir . --in-place > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/xen/xen_pt_config_init.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c > index aee31c62bb..55a83333f2 100644 > --- a/hw/xen/xen_pt_config_init.c > +++ b/hw/xen/xen_pt_config_init.c > @@ -543,7 +543,7 @@ static int > xen_pt_exp_rom_bar_reg_write(XenPCIPassthroughState *s, > { > XenPTRegInfo *reg = cfg_entry->reg; > XenPTRegion *base = NULL; > - PCIDevice *d = (PCIDevice *)&s->dev; > + PCIDevice *d = &s->dev;
This line of code is odd even without the cast. XenPCIPassthroughState* is a QOM object (TYPE_XEN_PT_DEVICE) which is a subclass of TYPE_PCI_DEVICE, so the standard way to get the PCIDevice pointer for s would be PCIDevice *d = PCI_DEVICE(s); thanks -- PMM