[PATCH] hw/arm: Use TYPE_PL011 to create serial port

2020-02-23 Thread Gavin Shan
This uses TYPE_PL011 when creating the serial port, to make the code
a bit more atomatic.

Signed-off-by: Gavin Shan 
---
 hw/arm/sbsa-ref.c| 3 ++-
 hw/arm/virt.c| 3 ++-
 hw/arm/xlnx-versal.c | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
index 9b5bcb5634..df0a165047 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -39,6 +39,7 @@
 #include "hw/pci-host/gpex.h"
 #include "hw/qdev-properties.h"
 #include "hw/usb.h"
+#include "hw/char/pl011.h"
 #include "net/net.h"
 
 #define RAMLIMIT_GB 8192
@@ -409,7 +410,7 @@ static void create_uart(const SBSAMachineState *sms, int 
uart,
 {
 hwaddr base = sbsa_ref_memmap[uart].base;
 int irq = sbsa_ref_irqmap[uart];
-DeviceState *dev = qdev_create(NULL, "pl011");
+DeviceState *dev = qdev_create(NULL, TYPE_PL011);
 SysBusDevice *s = SYS_BUS_DEVICE(dev);
 
 qdev_prop_set_chr(dev, "chardev", chr);
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f788fe27d6..d0da513737 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -71,6 +71,7 @@
 #include "hw/mem/pc-dimm.h"
 #include "hw/mem/nvdimm.h"
 #include "hw/acpi/generic_event_device.h"
+#include "hw/char/pl011.h"
 
 #define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
 static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
@@ -724,7 +725,7 @@ static void create_uart(const VirtMachineState *vms, int 
uart,
 int irq = vms->irqmap[uart];
 const char compat[] = "arm,pl011\0arm,primecell";
 const char clocknames[] = "uartclk\0apb_pclk";
-DeviceState *dev = qdev_create(NULL, "pl011");
+DeviceState *dev = qdev_create(NULL, TYPE_PL011);
 SysBusDevice *s = SYS_BUS_DEVICE(dev);
 
 qdev_prop_set_chr(dev, "chardev", chr);
diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
index 1cf3daaf4f..403fc7b881 100644
--- a/hw/arm/xlnx-versal.c
+++ b/hw/arm/xlnx-versal.c
@@ -22,6 +22,7 @@
 #include "hw/misc/unimp.h"
 #include "hw/intc/arm_gicv3_common.h"
 #include "hw/arm/xlnx-versal.h"
+#include "hw/char/pl011.h"
 
 #define XLNX_VERSAL_ACPU_TYPE ARM_CPU_TYPE_NAME("cortex-a72")
 #define GEM_REVISION0x40070106
@@ -144,7 +145,7 @@ static void versal_create_uarts(Versal *s, qemu_irq *pic)
 DeviceState *dev;
 MemoryRegion *mr;
 
-dev = qdev_create(NULL, "pl011");
+dev = qdev_create(NULL, TYPE_PL011);
 s->lpd.iou.uart[i] = SYS_BUS_DEVICE(dev);
 qdev_prop_set_chr(dev, "chardev", serial_hd(i));
 object_property_add_child(OBJECT(s), name, OBJECT(dev), &error_fatal);
-- 
2.23.0




Re: [PATCH] hw/arm: Use TYPE_PL011 to create serial port

2020-02-24 Thread Alistair Francis
On Sun, Feb 23, 2020 at 8:17 PM Gavin Shan  wrote:
>
> This uses TYPE_PL011 when creating the serial port, to make the code
> a bit more atomatic.
>
> Signed-off-by: Gavin Shan 

Reviewed-by: Alistair Francis 

Alistair

> ---
>  hw/arm/sbsa-ref.c| 3 ++-
>  hw/arm/virt.c| 3 ++-
>  hw/arm/xlnx-versal.c | 3 ++-
>  3 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
> index 9b5bcb5634..df0a165047 100644
> --- a/hw/arm/sbsa-ref.c
> +++ b/hw/arm/sbsa-ref.c
> @@ -39,6 +39,7 @@
>  #include "hw/pci-host/gpex.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/usb.h"
> +#include "hw/char/pl011.h"
>  #include "net/net.h"
>
>  #define RAMLIMIT_GB 8192
> @@ -409,7 +410,7 @@ static void create_uart(const SBSAMachineState *sms, int 
> uart,
>  {
>  hwaddr base = sbsa_ref_memmap[uart].base;
>  int irq = sbsa_ref_irqmap[uart];
> -DeviceState *dev = qdev_create(NULL, "pl011");
> +DeviceState *dev = qdev_create(NULL, TYPE_PL011);
>  SysBusDevice *s = SYS_BUS_DEVICE(dev);
>
>  qdev_prop_set_chr(dev, "chardev", chr);
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index f788fe27d6..d0da513737 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -71,6 +71,7 @@
>  #include "hw/mem/pc-dimm.h"
>  #include "hw/mem/nvdimm.h"
>  #include "hw/acpi/generic_event_device.h"
> +#include "hw/char/pl011.h"
>
>  #define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
>  static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
> @@ -724,7 +725,7 @@ static void create_uart(const VirtMachineState *vms, int 
> uart,
>  int irq = vms->irqmap[uart];
>  const char compat[] = "arm,pl011\0arm,primecell";
>  const char clocknames[] = "uartclk\0apb_pclk";
> -DeviceState *dev = qdev_create(NULL, "pl011");
> +DeviceState *dev = qdev_create(NULL, TYPE_PL011);
>  SysBusDevice *s = SYS_BUS_DEVICE(dev);
>
>  qdev_prop_set_chr(dev, "chardev", chr);
> diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
> index 1cf3daaf4f..403fc7b881 100644
> --- a/hw/arm/xlnx-versal.c
> +++ b/hw/arm/xlnx-versal.c
> @@ -22,6 +22,7 @@
>  #include "hw/misc/unimp.h"
>  #include "hw/intc/arm_gicv3_common.h"
>  #include "hw/arm/xlnx-versal.h"
> +#include "hw/char/pl011.h"
>
>  #define XLNX_VERSAL_ACPU_TYPE ARM_CPU_TYPE_NAME("cortex-a72")
>  #define GEM_REVISION0x40070106
> @@ -144,7 +145,7 @@ static void versal_create_uarts(Versal *s, qemu_irq *pic)
>  DeviceState *dev;
>  MemoryRegion *mr;
>
> -dev = qdev_create(NULL, "pl011");
> +dev = qdev_create(NULL, TYPE_PL011);
>  s->lpd.iou.uart[i] = SYS_BUS_DEVICE(dev);
>  qdev_prop_set_chr(dev, "chardev", serial_hd(i));
>  object_property_add_child(OBJECT(s), name, OBJECT(dev), 
> &error_fatal);
> --
> 2.23.0
>
>



Re: [PATCH] hw/arm: Use TYPE_PL011 to create serial port

2020-02-24 Thread Gavin Shan

On 2/24/20 7:41 PM, Philippe Mathieu-Daudé wrote:

On 2/24/20 5:16 AM, Gavin Shan wrote:

This uses TYPE_PL011 when creating the serial port, to make the code
a bit more atomatic.


Do you mean aUtomatic? I'm not sure this automate the code, but using the TYPE 
definition is definitively cleaner.

With description fixed:
Reviewed-by: Philippe Mathieu-Daudé 



Sure, v2 was just posted with the commit log improved according to
your comments.

Thanks,
Gavin



Signed-off-by: Gavin Shan 
---
  hw/arm/sbsa-ref.c    | 3 ++-
  hw/arm/virt.c    | 3 ++-
  hw/arm/xlnx-versal.c | 3 ++-
  3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
index 9b5bcb5634..df0a165047 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -39,6 +39,7 @@
  #include "hw/pci-host/gpex.h"
  #include "hw/qdev-properties.h"
  #include "hw/usb.h"
+#include "hw/char/pl011.h"
  #include "net/net.h"
  #define RAMLIMIT_GB 8192
@@ -409,7 +410,7 @@ static void create_uart(const SBSAMachineState *sms, int 
uart,
  {
  hwaddr base = sbsa_ref_memmap[uart].base;
  int irq = sbsa_ref_irqmap[uart];
-    DeviceState *dev = qdev_create(NULL, "pl011");
+    DeviceState *dev = qdev_create(NULL, TYPE_PL011);
  SysBusDevice *s = SYS_BUS_DEVICE(dev);
  qdev_prop_set_chr(dev, "chardev", chr);
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f788fe27d6..d0da513737 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -71,6 +71,7 @@
  #include "hw/mem/pc-dimm.h"
  #include "hw/mem/nvdimm.h"
  #include "hw/acpi/generic_event_device.h"
+#include "hw/char/pl011.h"
  #define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
  static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
@@ -724,7 +725,7 @@ static void create_uart(const VirtMachineState *vms, int 
uart,
  int irq = vms->irqmap[uart];
  const char compat[] = "arm,pl011\0arm,primecell";
  const char clocknames[] = "uartclk\0apb_pclk";
-    DeviceState *dev = qdev_create(NULL, "pl011");
+    DeviceState *dev = qdev_create(NULL, TYPE_PL011);
  SysBusDevice *s = SYS_BUS_DEVICE(dev);
  qdev_prop_set_chr(dev, "chardev", chr);
diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
index 1cf3daaf4f..403fc7b881 100644
--- a/hw/arm/xlnx-versal.c
+++ b/hw/arm/xlnx-versal.c
@@ -22,6 +22,7 @@
  #include "hw/misc/unimp.h"
  #include "hw/intc/arm_gicv3_common.h"
  #include "hw/arm/xlnx-versal.h"
+#include "hw/char/pl011.h"
  #define XLNX_VERSAL_ACPU_TYPE ARM_CPU_TYPE_NAME("cortex-a72")
  #define GEM_REVISION    0x40070106
@@ -144,7 +145,7 @@ static void versal_create_uarts(Versal *s, qemu_irq *pic)
  DeviceState *dev;
  MemoryRegion *mr;
-    dev = qdev_create(NULL, "pl011");
+    dev = qdev_create(NULL, TYPE_PL011);
  s->lpd.iou.uart[i] = SYS_BUS_DEVICE(dev);
  qdev_prop_set_chr(dev, "chardev", serial_hd(i));
  object_property_add_child(OBJECT(s), name, OBJECT(dev), &error_fatal);








Re: [PATCH] hw/arm: Use TYPE_PL011 to create serial port

2020-02-24 Thread Philippe Mathieu-Daudé

On 2/24/20 5:16 AM, Gavin Shan wrote:

This uses TYPE_PL011 when creating the serial port, to make the code
a bit more atomatic.


Do you mean aUtomatic? I'm not sure this automate the code, but using 
the TYPE definition is definitively cleaner.


With description fixed:
Reviewed-by: Philippe Mathieu-Daudé 



Signed-off-by: Gavin Shan 
---
  hw/arm/sbsa-ref.c| 3 ++-
  hw/arm/virt.c| 3 ++-
  hw/arm/xlnx-versal.c | 3 ++-
  3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
index 9b5bcb5634..df0a165047 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -39,6 +39,7 @@
  #include "hw/pci-host/gpex.h"
  #include "hw/qdev-properties.h"
  #include "hw/usb.h"
+#include "hw/char/pl011.h"
  #include "net/net.h"
  
  #define RAMLIMIT_GB 8192

@@ -409,7 +410,7 @@ static void create_uart(const SBSAMachineState *sms, int 
uart,
  {
  hwaddr base = sbsa_ref_memmap[uart].base;
  int irq = sbsa_ref_irqmap[uart];
-DeviceState *dev = qdev_create(NULL, "pl011");
+DeviceState *dev = qdev_create(NULL, TYPE_PL011);
  SysBusDevice *s = SYS_BUS_DEVICE(dev);
  
  qdev_prop_set_chr(dev, "chardev", chr);

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f788fe27d6..d0da513737 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -71,6 +71,7 @@
  #include "hw/mem/pc-dimm.h"
  #include "hw/mem/nvdimm.h"
  #include "hw/acpi/generic_event_device.h"
+#include "hw/char/pl011.h"
  
  #define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \

  static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
@@ -724,7 +725,7 @@ static void create_uart(const VirtMachineState *vms, int 
uart,
  int irq = vms->irqmap[uart];
  const char compat[] = "arm,pl011\0arm,primecell";
  const char clocknames[] = "uartclk\0apb_pclk";
-DeviceState *dev = qdev_create(NULL, "pl011");
+DeviceState *dev = qdev_create(NULL, TYPE_PL011);
  SysBusDevice *s = SYS_BUS_DEVICE(dev);
  
  qdev_prop_set_chr(dev, "chardev", chr);

diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
index 1cf3daaf4f..403fc7b881 100644
--- a/hw/arm/xlnx-versal.c
+++ b/hw/arm/xlnx-versal.c
@@ -22,6 +22,7 @@
  #include "hw/misc/unimp.h"
  #include "hw/intc/arm_gicv3_common.h"
  #include "hw/arm/xlnx-versal.h"
+#include "hw/char/pl011.h"
  
  #define XLNX_VERSAL_ACPU_TYPE ARM_CPU_TYPE_NAME("cortex-a72")

  #define GEM_REVISION0x40070106
@@ -144,7 +145,7 @@ static void versal_create_uarts(Versal *s, qemu_irq *pic)
  DeviceState *dev;
  MemoryRegion *mr;
  
-dev = qdev_create(NULL, "pl011");

+dev = qdev_create(NULL, TYPE_PL011);
  s->lpd.iou.uart[i] = SYS_BUS_DEVICE(dev);
  qdev_prop_set_chr(dev, "chardev", serial_hd(i));
  object_property_add_child(OBJECT(s), name, OBJECT(dev), &error_fatal);