From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify
Date: Fri, 26 Jul 2013 05:04:39 +0200 [thread overview]
Message-ID: <20130726030438.GE25811@smtp.vpn> (raw)
In-Reply-To: <1374702140-13771-4-git-send-email-afaerber@suse.de>
On Wed, Jul 24, 2013 at 11:42:08PM +0200, Andreas Färber wrote:
> Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM
> casts.
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
>
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> hw/char/etraxfs_ser.c | 37 +++++++++++++++++++++----------------
> 1 file changed, 21 insertions(+), 16 deletions(-)
>
> diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c
> index d19af00..460094e 100644
> --- a/hw/char/etraxfs_ser.c
> +++ b/hw/char/etraxfs_ser.c
> @@ -44,9 +44,13 @@
> #define STAT_TR_IDLE 22
> #define STAT_TR_RDY 24
>
> -struct etrax_serial
> -{
> - SysBusDevice busdev;
> +#define TYPE_ETRAX_FS_SERIAL "etraxfs,serial"
> +#define ETRAX_SERIAL(obj) \
> + OBJECT_CHECK(ETRAXSerial, (obj), TYPE_ETRAX_FS_SERIAL)
> +
> +typedef struct ETRAXSerial {
> + SysBusDevice parent_obj;
> +
> MemoryRegion mmio;
> CharDriverState *chr;
> qemu_irq irq;
> @@ -59,9 +63,9 @@ struct etrax_serial
>
> /* Control registers. */
> uint32_t regs[R_MAX];
> -};
> +} ETRAXSerial;
>
> -static void ser_update_irq(struct etrax_serial *s)
> +static void ser_update_irq(ETRAXSerial *s)
> {
>
> if (s->rx_fifo_len) {
> @@ -77,7 +81,7 @@ static void ser_update_irq(struct etrax_serial *s)
> static uint64_t
> ser_read(void *opaque, hwaddr addr, unsigned int size)
> {
> - struct etrax_serial *s = opaque;
> + ETRAXSerial *s = opaque;
> uint32_t r = 0;
>
> addr >>= 2;
> @@ -112,7 +116,7 @@ static void
> ser_write(void *opaque, hwaddr addr,
> uint64_t val64, unsigned int size)
> {
> - struct etrax_serial *s = opaque;
> + ETRAXSerial *s = opaque;
> uint32_t value = val64;
> unsigned char ch = val64;
>
> @@ -156,7 +160,7 @@ static const MemoryRegionOps ser_ops = {
>
> static void serial_receive(void *opaque, const uint8_t *buf, int size)
> {
> - struct etrax_serial *s = opaque;
> + ETRAXSerial *s = opaque;
> int i;
>
> /* Got a byte. */
> @@ -177,7 +181,7 @@ static void serial_receive(void *opaque, const uint8_t *buf, int size)
>
> static int serial_can_receive(void *opaque)
> {
> - struct etrax_serial *s = opaque;
> + ETRAXSerial *s = opaque;
> int r;
>
> /* Is the receiver enabled? */
> @@ -196,7 +200,7 @@ static void serial_event(void *opaque, int event)
>
> static void etraxfs_ser_reset(DeviceState *d)
> {
> - struct etrax_serial *s = container_of(d, typeof(*s), busdev.qdev);
> + ETRAXSerial *s = ETRAX_SERIAL(d);
>
> /* transmitter begins ready and idle. */
> s->regs[RS_STAT_DIN] |= (1 << STAT_TR_RDY);
> @@ -208,7 +212,7 @@ static void etraxfs_ser_reset(DeviceState *d)
>
> static int etraxfs_ser_init(SysBusDevice *dev)
> {
> - struct etrax_serial *s = FROM_SYSBUS(typeof (*s), dev);
> + ETRAXSerial *s = ETRAX_SERIAL(dev);
>
> sysbus_init_irq(dev, &s->irq);
> memory_region_init_io(&s->mmio, OBJECT(s), &ser_ops, s,
> @@ -216,10 +220,11 @@ static int etraxfs_ser_init(SysBusDevice *dev)
> sysbus_init_mmio(dev, &s->mmio);
>
> s->chr = qemu_char_get_next_serial();
> - if (s->chr)
> + if (s->chr) {
> qemu_chr_add_handlers(s->chr,
> - serial_can_receive, serial_receive,
> - serial_event, s);
> + serial_can_receive, serial_receive,
> + serial_event, s);
> + }
> return 0;
> }
>
> @@ -233,9 +238,9 @@ static void etraxfs_ser_class_init(ObjectClass *klass, void *data)
> }
>
> static const TypeInfo etraxfs_ser_info = {
> - .name = "etraxfs,serial",
> + .name = TYPE_ETRAX_FS_SERIAL,
> .parent = TYPE_SYS_BUS_DEVICE,
> - .instance_size = sizeof(struct etrax_serial),
> + .instance_size = sizeof(ETRAXSerial),
> .class_init = etraxfs_ser_class_init,
> };
>
> --
> 1.8.1.4
>
next prev parent reply other threads:[~2013-07-26 3:11 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 01/14] cadence_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 02/14] escc: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify Andreas Färber
2013-07-26 3:04 ` Edgar E. Iglesias [this message]
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 04/14] exynos4210_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 05/14] grlib_apbuart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 06/14] imx_serial: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 07/14] lm32_juart: Relocate and tidy header Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 08/14] lm32_juart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 09/14] lm32_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 10/14] milkymist-uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 11/14] pl011: Rename pl011_state Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 12/14] pl011: QOM'ify pl011 and pl011_luminary Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Andreas Färber
2013-07-26 3:05 ` Edgar E. Iglesias
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify Andreas Färber
2013-07-26 3:05 ` Edgar E. Iglesias
2013-07-26 22:28 ` [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130726030438.GE25811@smtp.vpn \
--to=edgar.iglesias@gmail.com \
--cc=afaerber@suse.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.