Message ID | 1447201710-10229-36-git-send-email-benh@kernel.crashing.org |
---|---|
State | New |
Headers | show |
On Wed, Nov 11, 2015 at 11:27:48AM +1100, Benjamin Herrenschmidt wrote: > It will not be used by the native implementation. This allows us to > also remove the include of spapr.h from the common code > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > --- > hw/intc/xics.c | 12 ------------ > hw/intc/xics_kvm.c | 13 ++++++++++++- > hw/intc/xics_spapr.c | 13 ++++++++++++- > include/hw/ppc/xics.h | 1 - > 4 files changed, 24 insertions(+), 15 deletions(-) > > diff --git a/hw/intc/xics.c b/hw/intc/xics.c > index c4ac057..0c355f4 100644 > --- a/hw/intc/xics.c > +++ b/hw/intc/xics.c > @@ -28,7 +28,6 @@ > #include "hw/hw.h" > #include "trace.h" > #include "qemu/timer.h" > -#include "hw/ppc/spapr.h" > #include "hw/ppc/xics.h" > #include "qemu/error-report.h" > #include "qapi/visitor.h" > @@ -694,17 +693,6 @@ void ics_set_irq_type(ICSState *ics, int srcno, bool lsi) > * XICS > */ > > -void xics_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) > -{ > - ICSState *ics = QLIST_FIRST(&xics->ics); > - > - /* This needs to be deprecated ... */ > - xics->nr_irqs = nr_irqs; > - if (ics) { > - ics->nr_irqs = nr_irqs; > - } > -} > - > void xics_set_nr_servers(XICSState *xics, uint32_t nr_servers, Error **errp) > { > int i; > diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c > index a478d25..6fbc715 100644 > --- a/hw/intc/xics_kvm.c > +++ b/hw/intc/xics_kvm.c > @@ -468,6 +468,17 @@ fail: > kvmppc_define_rtas_kernel_token(0, "ibm,int-off"); > } > > +static void xics_kvm_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) > +{ > + ICSState *ics = QLIST_FIRST(&xics->ics); > + > + /* This needs to be deprecated ... */ > + xics->nr_irqs = nr_irqs; > + if (ics) { > + ics->nr_irqs = nr_irqs; > + } > +} > + Looks like you have a bit of unnecessary churn here, since you unified xics_kvm_set_nr_irqs() with xics_set_nr_irqs() earlier in the series only to split them again here. > static void xics_kvm_initfn(Object *obj) > { > XICSState *xics = XICS_COMMON(obj); > @@ -488,7 +499,7 @@ static void xics_kvm_class_init(ObjectClass *oc, void *data) > > dc->realize = xics_kvm_realize; > xsc->cpu_setup = xics_kvm_cpu_setup; > - xsc->set_nr_irqs = xics_set_nr_irqs; > + xsc->set_nr_irqs = xics_kvm_set_nr_irqs; > xsc->set_nr_servers = xics_kvm_set_nr_servers; > } > > diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c > index d75fcf0..3092f8d 100644 > --- a/hw/intc/xics_spapr.c > +++ b/hw/intc/xics_spapr.c > @@ -267,13 +267,24 @@ static void xics_spapr_initfn(Object *obj) > QLIST_INSERT_HEAD(&xics->ics, ics, list); > } > > +static void xics_spapr_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) > +{ > + ICSState *ics = QLIST_FIRST(&xics->ics); > + > + /* This needs to be deprecated ... */ > + xics->nr_irqs = nr_irqs; > + if (ics) { > + ics->nr_irqs = nr_irqs; > + } > +} > + > static void xics_spapr_class_init(ObjectClass *oc, void *data) > { > DeviceClass *dc = DEVICE_CLASS(oc); > XICSStateClass *xsc = XICS_SPAPR_CLASS(oc); > > dc->realize = xics_spapr_realize; > - xsc->set_nr_irqs = xics_set_nr_irqs; > + xsc->set_nr_irqs = xics_spapr_set_nr_irqs; > xsc->set_nr_servers = xics_set_nr_servers; > } > > diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h > index 51a63cb..9e5b751 100644 > --- a/include/hw/ppc/xics.h > +++ b/include/hw/ppc/xics.h > @@ -189,7 +189,6 @@ void ics_write_xive(ICSState *ics, int nr, int server, > > void ics_set_irq_type(ICSState *ics, int srcno, bool lsi); > > -void xics_set_nr_irqs(XICSState *icp, uint32_t nr_irqs, Error **errp); > void xics_set_nr_servers(XICSState *icp, uint32_t nr_servers, Error **errp); > ICSState *xics_find_source(XICSState *icp, int irq); >
diff --git a/hw/intc/xics.c b/hw/intc/xics.c index c4ac057..0c355f4 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -28,7 +28,6 @@ #include "hw/hw.h" #include "trace.h" #include "qemu/timer.h" -#include "hw/ppc/spapr.h" #include "hw/ppc/xics.h" #include "qemu/error-report.h" #include "qapi/visitor.h" @@ -694,17 +693,6 @@ void ics_set_irq_type(ICSState *ics, int srcno, bool lsi) * XICS */ -void xics_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) -{ - ICSState *ics = QLIST_FIRST(&xics->ics); - - /* This needs to be deprecated ... */ - xics->nr_irqs = nr_irqs; - if (ics) { - ics->nr_irqs = nr_irqs; - } -} - void xics_set_nr_servers(XICSState *xics, uint32_t nr_servers, Error **errp) { int i; diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c index a478d25..6fbc715 100644 --- a/hw/intc/xics_kvm.c +++ b/hw/intc/xics_kvm.c @@ -468,6 +468,17 @@ fail: kvmppc_define_rtas_kernel_token(0, "ibm,int-off"); } +static void xics_kvm_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) +{ + ICSState *ics = QLIST_FIRST(&xics->ics); + + /* This needs to be deprecated ... */ + xics->nr_irqs = nr_irqs; + if (ics) { + ics->nr_irqs = nr_irqs; + } +} + static void xics_kvm_initfn(Object *obj) { XICSState *xics = XICS_COMMON(obj); @@ -488,7 +499,7 @@ static void xics_kvm_class_init(ObjectClass *oc, void *data) dc->realize = xics_kvm_realize; xsc->cpu_setup = xics_kvm_cpu_setup; - xsc->set_nr_irqs = xics_set_nr_irqs; + xsc->set_nr_irqs = xics_kvm_set_nr_irqs; xsc->set_nr_servers = xics_kvm_set_nr_servers; } diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c index d75fcf0..3092f8d 100644 --- a/hw/intc/xics_spapr.c +++ b/hw/intc/xics_spapr.c @@ -267,13 +267,24 @@ static void xics_spapr_initfn(Object *obj) QLIST_INSERT_HEAD(&xics->ics, ics, list); } +static void xics_spapr_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) +{ + ICSState *ics = QLIST_FIRST(&xics->ics); + + /* This needs to be deprecated ... */ + xics->nr_irqs = nr_irqs; + if (ics) { + ics->nr_irqs = nr_irqs; + } +} + static void xics_spapr_class_init(ObjectClass *oc, void *data) { DeviceClass *dc = DEVICE_CLASS(oc); XICSStateClass *xsc = XICS_SPAPR_CLASS(oc); dc->realize = xics_spapr_realize; - xsc->set_nr_irqs = xics_set_nr_irqs; + xsc->set_nr_irqs = xics_spapr_set_nr_irqs; xsc->set_nr_servers = xics_set_nr_servers; } diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h index 51a63cb..9e5b751 100644 --- a/include/hw/ppc/xics.h +++ b/include/hw/ppc/xics.h @@ -189,7 +189,6 @@ void ics_write_xive(ICSState *ics, int nr, int server, void ics_set_irq_type(ICSState *ics, int srcno, bool lsi); -void xics_set_nr_irqs(XICSState *icp, uint32_t nr_irqs, Error **errp); void xics_set_nr_servers(XICSState *icp, uint32_t nr_servers, Error **errp); ICSState *xics_find_source(XICSState *icp, int irq);
It will not be used by the native implementation. This allows us to also remove the include of spapr.h from the common code Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> --- hw/intc/xics.c | 12 ------------ hw/intc/xics_kvm.c | 13 ++++++++++++- hw/intc/xics_spapr.c | 13 ++++++++++++- include/hw/ppc/xics.h | 1 - 4 files changed, 24 insertions(+), 15 deletions(-)