diff mbox series

[v2,3/6] ppc: e500: Allow only supported dynamic sysbus devices

Message ID 20171125151610.20547-4-ehabkost@redhat.com
State New
Headers show
Series Replace has_dynamic_sysbus with list of allowed device types | expand

Commit Message

Eduardo Habkost Nov. 25, 2017, 3:16 p.m. UTC
platform_bus_create_devtree() already rejects all dynamic sysbus
devices except TYPE_ETSEC_COMMON, so register it as the only
allowed dynamic sysbus device for the ppce500 machine-type.

Cc: Alexander Graf <agraf@suse.de>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: qemu-ppc@nongnu.org
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
Changes series v1 -> v2:
* New patch added to series
---
 hw/ppc/e500plat.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Greg Kurz Nov. 25, 2017, 6:31 p.m. UTC | #1
On Sat, 25 Nov 2017 13:16:07 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:

> platform_bus_create_devtree() already rejects all dynamic sysbus
> devices except TYPE_ETSEC_COMMON, so register it as the only
> allowed dynamic sysbus device for the ppce500 machine-type.
> 

Maybe drop the code that rejects unsupported sysbus devices, but this
can be done in a followup patch.

Anyway,

Reviewed-by: Greg Kurz <groug@kaod.org>

> Cc: Alexander Graf <agraf@suse.de>
> Cc: David Gibson <david@gibson.dropbear.id.au>
> Cc: qemu-ppc@nongnu.org
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> Changes series v1 -> v2:
> * New patch added to series
> ---
>  hw/ppc/e500plat.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> index 438118c29b..81d03e1038 100644
> --- a/hw/ppc/e500plat.c
> +++ b/hw/ppc/e500plat.c
> @@ -12,6 +12,7 @@
>  #include "qemu/osdep.h"
>  #include "qemu-common.h"
>  #include "e500.h"
> +#include "hw/net/fsl_etsec/etsec.h"
>  #include "hw/boards.h"
>  #include "sysemu/device_tree.h"
>  #include "sysemu/kvm.h"
> @@ -64,8 +65,7 @@ static void e500plat_machine_init(MachineClass *mc)
>      mc->desc = "generic paravirt e500 platform";
>      mc->init = e500plat_init;
>      mc->max_cpus = 32;
> -    /*TODO: allow only sysbus devices that really work with this machine */
> -    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_SYS_BUS_DEVICE);
> +    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
>      mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
>  }
>
David Gibson Nov. 27, 2017, 1:52 a.m. UTC | #2
On Sat, Nov 25, 2017 at 01:16:07PM -0200, Eduardo Habkost wrote:
> platform_bus_create_devtree() already rejects all dynamic sysbus
> devices except TYPE_ETSEC_COMMON, so register it as the only
> allowed dynamic sysbus device for the ppce500 machine-type.
> 
> Cc: Alexander Graf <agraf@suse.de>
> Cc: David Gibson <david@gibson.dropbear.id.au>
> Cc: qemu-ppc@nongnu.org
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Acked-by: David Gibson <david@gibson.dropbear.id.au>

Do you need me to take this through my tree (for 2.12), or do you have
another merge patch in mind?

> ---
> Changes series v1 -> v2:
> * New patch added to series
> ---
>  hw/ppc/e500plat.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> index 438118c29b..81d03e1038 100644
> --- a/hw/ppc/e500plat.c
> +++ b/hw/ppc/e500plat.c
> @@ -12,6 +12,7 @@
>  #include "qemu/osdep.h"
>  #include "qemu-common.h"
>  #include "e500.h"
> +#include "hw/net/fsl_etsec/etsec.h"
>  #include "hw/boards.h"
>  #include "sysemu/device_tree.h"
>  #include "sysemu/kvm.h"
> @@ -64,8 +65,7 @@ static void e500plat_machine_init(MachineClass *mc)
>      mc->desc = "generic paravirt e500 platform";
>      mc->init = e500plat_init;
>      mc->max_cpus = 32;
> -    /*TODO: allow only sysbus devices that really work with this machine */
> -    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_SYS_BUS_DEVICE);
> +    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
>      mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
>  }
>
Eduardo Habkost Nov. 28, 2017, 1:11 a.m. UTC | #3
On Sat, Nov 25, 2017 at 07:31:19PM +0100, Greg Kurz wrote:
> On Sat, 25 Nov 2017 13:16:07 -0200
> Eduardo Habkost <ehabkost@redhat.com> wrote:
> 
> > platform_bus_create_devtree() already rejects all dynamic sysbus
> > devices except TYPE_ETSEC_COMMON, so register it as the only
> > allowed dynamic sysbus device for the ppce500 machine-type.
> > 
> 
> Maybe drop the code that rejects unsupported sysbus devices, but this
> can be done in a followup patch.

Yes, that's a good idea.  Probably an opportunity to provide a
better API to handle dynamic sysbus devices.

> 
> Anyway,
> 
> Reviewed-by: Greg Kurz <groug@kaod.org>

Thanks!


> 
> > Cc: Alexander Graf <agraf@suse.de>
> > Cc: David Gibson <david@gibson.dropbear.id.au>
> > Cc: qemu-ppc@nongnu.org
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> > Changes series v1 -> v2:
> > * New patch added to series
> > ---
> >  hw/ppc/e500plat.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> > index 438118c29b..81d03e1038 100644
> > --- a/hw/ppc/e500plat.c
> > +++ b/hw/ppc/e500plat.c
> > @@ -12,6 +12,7 @@
> >  #include "qemu/osdep.h"
> >  #include "qemu-common.h"
> >  #include "e500.h"
> > +#include "hw/net/fsl_etsec/etsec.h"
> >  #include "hw/boards.h"
> >  #include "sysemu/device_tree.h"
> >  #include "sysemu/kvm.h"
> > @@ -64,8 +65,7 @@ static void e500plat_machine_init(MachineClass *mc)
> >      mc->desc = "generic paravirt e500 platform";
> >      mc->init = e500plat_init;
> >      mc->max_cpus = 32;
> > -    /*TODO: allow only sysbus devices that really work with this machine */
> > -    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_SYS_BUS_DEVICE);
> > +    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
> >      mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
> >  }
> >  
>
Eduardo Habkost Nov. 28, 2017, 1:12 a.m. UTC | #4
On Mon, Nov 27, 2017 at 12:52:09PM +1100, David Gibson wrote:
> On Sat, Nov 25, 2017 at 01:16:07PM -0200, Eduardo Habkost wrote:
> > platform_bus_create_devtree() already rejects all dynamic sysbus
> > devices except TYPE_ETSEC_COMMON, so register it as the only
> > allowed dynamic sysbus device for the ppce500 machine-type.
> > 
> > Cc: Alexander Graf <agraf@suse.de>
> > Cc: David Gibson <david@gibson.dropbear.id.au>
> > Cc: qemu-ppc@nongnu.org
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> 
> Acked-by: David Gibson <david@gibson.dropbear.id.au>

Thanks!

> 
> Do you need me to take this through my tree (for 2.12), or do you have
> another merge patch in mind?

As this patch requires patch 1/6 to be applied first and there
are patches touching other machines in this series, I can merge
this through my machine core tree if you don't mind.

> 
> > ---
> > Changes series v1 -> v2:
> > * New patch added to series
> > ---
> >  hw/ppc/e500plat.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> > index 438118c29b..81d03e1038 100644
> > --- a/hw/ppc/e500plat.c
> > +++ b/hw/ppc/e500plat.c
> > @@ -12,6 +12,7 @@
> >  #include "qemu/osdep.h"
> >  #include "qemu-common.h"
> >  #include "e500.h"
> > +#include "hw/net/fsl_etsec/etsec.h"
> >  #include "hw/boards.h"
> >  #include "sysemu/device_tree.h"
> >  #include "sysemu/kvm.h"
> > @@ -64,8 +65,7 @@ static void e500plat_machine_init(MachineClass *mc)
> >      mc->desc = "generic paravirt e500 platform";
> >      mc->init = e500plat_init;
> >      mc->max_cpus = 32;
> > -    /*TODO: allow only sysbus devices that really work with this machine */
> > -    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_SYS_BUS_DEVICE);
> > +    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
> >      mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
> >  }
> >  
> 
> -- 
> David Gibson			| I'll have my music baroque, and my code
> david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
> 				| _way_ _around_!
> http://www.ozlabs.org/~dgibson
David Gibson Nov. 28, 2017, 4:54 a.m. UTC | #5
On Mon, Nov 27, 2017 at 11:12:43PM -0200, Eduardo Habkost wrote:
> On Mon, Nov 27, 2017 at 12:52:09PM +1100, David Gibson wrote:
> > On Sat, Nov 25, 2017 at 01:16:07PM -0200, Eduardo Habkost wrote:
> > > platform_bus_create_devtree() already rejects all dynamic sysbus
> > > devices except TYPE_ETSEC_COMMON, so register it as the only
> > > allowed dynamic sysbus device for the ppce500 machine-type.
> > > 
> > > Cc: Alexander Graf <agraf@suse.de>
> > > Cc: David Gibson <david@gibson.dropbear.id.au>
> > > Cc: qemu-ppc@nongnu.org
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > 
> > Acked-by: David Gibson <david@gibson.dropbear.id.au>
> 
> Thanks!
> 
> > 
> > Do you need me to take this through my tree (for 2.12), or do you have
> > another merge patch in mind?
> 
> As this patch requires patch 1/6 to be applied first and there
> are patches touching other machines in this series, I can merge
> this through my machine core tree if you don't mind.

Sounds good, thanks.

> 
> > 
> > > ---
> > > Changes series v1 -> v2:
> > > * New patch added to series
> > > ---
> > >  hw/ppc/e500plat.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> > > index 438118c29b..81d03e1038 100644
> > > --- a/hw/ppc/e500plat.c
> > > +++ b/hw/ppc/e500plat.c
> > > @@ -12,6 +12,7 @@
> > >  #include "qemu/osdep.h"
> > >  #include "qemu-common.h"
> > >  #include "e500.h"
> > > +#include "hw/net/fsl_etsec/etsec.h"
> > >  #include "hw/boards.h"
> > >  #include "sysemu/device_tree.h"
> > >  #include "sysemu/kvm.h"
> > > @@ -64,8 +65,7 @@ static void e500plat_machine_init(MachineClass *mc)
> > >      mc->desc = "generic paravirt e500 platform";
> > >      mc->init = e500plat_init;
> > >      mc->max_cpus = 32;
> > > -    /*TODO: allow only sysbus devices that really work with this machine */
> > > -    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_SYS_BUS_DEVICE);
> > > +    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
> > >      mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
> > >  }
> > >  
> > 
> 
> 
>
diff mbox series

Patch

diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 438118c29b..81d03e1038 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -12,6 +12,7 @@ 
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "e500.h"
+#include "hw/net/fsl_etsec/etsec.h"
 #include "hw/boards.h"
 #include "sysemu/device_tree.h"
 #include "sysemu/kvm.h"
@@ -64,8 +65,7 @@  static void e500plat_machine_init(MachineClass *mc)
     mc->desc = "generic paravirt e500 platform";
     mc->init = e500plat_init;
     mc->max_cpus = 32;
-    /*TODO: allow only sysbus devices that really work with this machine */
-    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_SYS_BUS_DEVICE);
+    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
 }