qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyb


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyboardState
Date: Sat, 27 Jul 2013 16:12:57 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber <address@hidden>
> ---
>  hw/arm/spitz.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
> index 0bf5c5c..70f23b3 100644
> --- a/hw/arm/spitz.c
> +++ b/hw/arm/spitz.c
> @@ -215,8 +215,13 @@ static const int spitz_gpiomap[5] = {
>      SPITZ_GPIO_SWA, SPITZ_GPIO_SWB,
>  };
>  
> +#define TYPE_SPITZ_KEYBOARD "spitz-keyboard"
> +#define SPITZ_KEYBOARD(obj) \
> +    OBJECT_CHECK(SpitzKeyboardState, (obj), TYPE_SPITZ_KEYBOARD)
> +
>  typedef struct {
> -    SysBusDevice busdev;
> +    SysBusDevice parent_obj;
> +
>      qemu_irq sense[SPITZ_KEY_SENSE_NUM];
>      qemu_irq gpiomap[5];
>      int keymap[0x80];
> @@ -461,8 +466,8 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
>      DeviceState *dev;
>      SpitzKeyboardState *s;
>  
> -    dev = sysbus_create_simple("spitz-keyboard", -1, NULL);
> -    s = FROM_SYSBUS(SpitzKeyboardState, SYS_BUS_DEVICE(dev));
> +    dev = sysbus_create_simple(TYPE_SPITZ_KEYBOARD, -1, NULL);
> +    s = SPITZ_KEYBOARD(dev);
>  
>      for (i = 0; i < SPITZ_KEY_SENSE_NUM; i ++)
>          qdev_connect_gpio_out(dev, i, qdev_get_gpio_in(cpu->gpio, 
> spitz_gpio_key_sense[i]));
> @@ -487,11 +492,9 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
>  
>  static int spitz_keyboard_init(SysBusDevice *dev)
>  {
> -    SpitzKeyboardState *s;
> +    SpitzKeyboardState *s = SPITZ_KEYBOARD(dev);
>      int i, j;
>  
> -    s = FROM_SYSBUS(SpitzKeyboardState, dev);
> -
>      for (i = 0; i < 0x80; i ++)
>          s->keymap[i] = -1;
>      for (i = 0; i < SPITZ_KEY_SENSE_NUM + 1; i ++)
[snip]

Needs the following addition.

Andreas

diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index 70f23b3..34f9582 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -490,8 +490,9 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
     qemu_add_kbd_event_handler(spitz_keyboard_handler, s);
 }

-static int spitz_keyboard_init(SysBusDevice *dev)
+static int spitz_keyboard_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     SpitzKeyboardState *s = SPITZ_KEYBOARD(dev);
     int i, j;

@@ -505,8 +506,8 @@ static int spitz_keyboard_init(SysBusDevice *dev)
     spitz_keyboard_pre_map(s);

     s->kbdtimer = qemu_new_timer_ns(vm_clock, spitz_keyboard_tick, s);
-    qdev_init_gpio_in(&dev->qdev, spitz_keyboard_strobe,
SPITZ_KEY_STROBE_NUM);
-    qdev_init_gpio_out(&dev->qdev, s->sense, SPITZ_KEY_SENSE_NUM);
+    qdev_init_gpio_in(dev, spitz_keyboard_strobe, SPITZ_KEY_STROBE_NUM);
+    qdev_init_gpio_out(dev, s->sense, SPITZ_KEY_SENSE_NUM);

     return 0;
 }



-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]