All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hw/arm: Use TYPE_PL011 to create serial port
@ 2020-02-24  4:16 Gavin Shan
  2020-02-24  8:41 ` Philippe Mathieu-Daudé
  2020-02-24 16:59 ` Alistair Francis
  0 siblings, 2 replies; 4+ messages in thread
From: Gavin Shan @ 2020-02-24  4:16 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: peter.maydell, radoslaw.biernacki, alistair, shan.gavin,
	edgar.iglesias, leif, philmd

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

Signed-off-by: Gavin Shan <gshan@redhat.com>
---
 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);
-- 
2.23.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] hw/arm: Use TYPE_PL011 to create serial port
  2020-02-24  4:16 [PATCH] hw/arm: Use TYPE_PL011 to create serial port Gavin Shan
@ 2020-02-24  8:41 ` Philippe Mathieu-Daudé
  2020-02-24 22:28   ` Gavin Shan
  2020-02-24 16:59 ` Alistair Francis
  1 sibling, 1 reply; 4+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-24  8:41 UTC (permalink / raw)
  To: Gavin Shan, qemu-devel, qemu-arm
  Cc: peter.maydell, radoslaw.biernacki, alistair, shan.gavin,
	edgar.iglesias, leif

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é <philmd@redhat.com>

> 
> Signed-off-by: Gavin Shan <gshan@redhat.com>
> ---
>   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);
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] hw/arm: Use TYPE_PL011 to create serial port
  2020-02-24  4:16 [PATCH] hw/arm: Use TYPE_PL011 to create serial port Gavin Shan
  2020-02-24  8:41 ` Philippe Mathieu-Daudé
@ 2020-02-24 16:59 ` Alistair Francis
  1 sibling, 0 replies; 4+ messages in thread
From: Alistair Francis @ 2020-02-24 16:59 UTC (permalink / raw)
  To: Gavin Shan
  Cc: Peter Maydell, Radoslaw Biernacki, Alistair Francis,
	qemu-devel@nongnu.org Developers, qemu-arm, shan.gavin,
	Edgar Iglesias, leif, Philippe Mathieu-Daudé

On Sun, Feb 23, 2020 at 8:17 PM Gavin Shan <gshan@redhat.com> wrote:
>
> This uses TYPE_PL011 when creating the serial port, to make the code
> a bit more atomatic.
>
> Signed-off-by: Gavin Shan <gshan@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

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_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);
> --
> 2.23.0
>
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] hw/arm: Use TYPE_PL011 to create serial port
  2020-02-24  8:41 ` Philippe Mathieu-Daudé
@ 2020-02-24 22:28   ` Gavin Shan
  0 siblings, 0 replies; 4+ messages in thread
From: Gavin Shan @ 2020-02-24 22:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel, qemu-arm
  Cc: peter.maydell, radoslaw.biernacki, alistair, shan.gavin,
	edgar.iglesias, leif

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é <philmd@redhat.com>
> 

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

Thanks,
Gavin

>>
>> Signed-off-by: Gavin Shan <gshan@redhat.com>
>> ---
>>   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);
>>
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-02-24 22:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-24  4:16 [PATCH] hw/arm: Use TYPE_PL011 to create serial port Gavin Shan
2020-02-24  8:41 ` Philippe Mathieu-Daudé
2020-02-24 22:28   ` Gavin Shan
2020-02-24 16:59 ` Alistair Francis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.