[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/7] serial: add serial_chr_nonnull() to use the
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH 1/7] serial: add serial_chr_nonnull() to use the null backend when none provided |
Date: |
Thu, 31 Aug 2017 09:36:39 +0000 |
Hi
On Thu, Aug 31, 2017 at 7:20 AM Thomas Huth <address@hidden> wrote:
> On 31.08.2017 05:53, Philippe Mathieu-Daudé wrote:
> > Suggested-by: Peter Maydell <address@hidden>
> > Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> > ---
> > include/hw/char/serial.h | 1 +
> > hw/char/serial.c | 13 +++++++++++++
> > 2 files changed, 14 insertions(+)
> >
> > diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h
> > index c4daf11a14..96bccb39e1 100644
> > --- a/include/hw/char/serial.h
> > +++ b/include/hw/char/serial.h
> > @@ -93,6 +93,7 @@ SerialState *serial_mm_init(MemoryRegion
> *address_space,
> > hwaddr base, int it_shift,
> > qemu_irq irq, int baudbase,
> > Chardev *chr, enum device_endian end);
> > +Chardev *serial_chr_nonnull(Chardev *chr);
>
> Why do you need the prototype? Please make the function static if
> possible (otherwise please add some rationale in the patch description).
>
It's being used from other units in following patches
> > /* serial-isa.c */
> > #define TYPE_ISA_SERIAL "isa-serial"
> > diff --git a/hw/char/serial.c b/hw/char/serial.c
> > index 9aec6c60d8..7a100db107 100644
> > --- a/hw/char/serial.c
> > +++ b/hw/char/serial.c
> > @@ -1025,6 +1025,19 @@ static const MemoryRegionOps serial_mm_ops[3] = {
> > },
> > };
> >
> > +Chardev *serial_chr_nonnull(Chardev *chr)
> > +{
> > + static int serial_id;
> > + char *label;
> > +
> > + label = g_strdup_printf("discarding-serial%d", serial_id++);
> > + chr = qemu_chr_new(label, "null");
>
> That looks wrong - you're ignoring the input parameter and always open
> the "null" device? Shouldn't there be a "if (chr) return chr;" in front
> of this?
>
I think its missing too.
The function name and usage isn't obvious. I would rather see the caller
use "chr ?: serial_chr_null()" rather than "serial_chr_nonnull(chr)".
--
Marc-André Lureau
Re: [Qemu-devel] [PATCH 1/7] serial: add serial_chr_nonnull() to use the null backend when none provided, Peter Maydell, 2017/08/31
[Qemu-devel] [PATCH 2/7] serial: use serial_chr_nonnull() in serial_mm_init(), Philippe Mathieu-Daudé, 2017/08/30
[Qemu-devel] [PATCH 3/7] hw/arm/fsl_imx*: use serial_chr_nonnull(), Philippe Mathieu-Daudé, 2017/08/30
[Qemu-devel] [PATCH 4/7] hw/mips/malta: use serial_chr_nonnull(), Philippe Mathieu-Daudé, 2017/08/30
[Qemu-devel] [PATCH 6/7] hw/char/omap_uart: serial_mm_init() already check for null chr, Philippe Mathieu-Daudé, 2017/08/30