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

2013-07-27 Thread Andreas Färber
Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber 
> ---
>  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



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

2013-07-24 Thread Andreas Färber
Signed-off-by: Andreas Färber 
---
 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 ++)
@@ -1065,7 +1068,7 @@ static void spitz_keyboard_class_init(ObjectClass *klass, 
void *data)
 }
 
 static const TypeInfo spitz_keyboard_info = {
-.name  = "spitz-keyboard",
+.name  = TYPE_SPITZ_KEYBOARD,
 .parent= TYPE_SYS_BUS_DEVICE,
 .instance_size = sizeof(SpitzKeyboardState),
 .class_init= spitz_keyboard_class_init,
-- 
1.8.1.4