[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 7/8] hw/input/lm832x: Convert reset handler to DeviceReset
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v3 7/8] hw/input/lm832x: Convert reset handler to DeviceReset |
Date: |
Thu, 10 Oct 2019 15:15:26 +0200 |
The LM8323 key-scan controller is a I2C device, it will be reset
when the I2C bus it stands on is reset.
Convert its reset handler into a proper Device reset method.
Reviewed-by: Li Qiang <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/input/lm832x.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/hw/input/lm832x.c b/hw/input/lm832x.c
index a37eb854b9..aa629ddbf1 100644
--- a/hw/input/lm832x.c
+++ b/hw/input/lm832x.c
@@ -24,7 +24,6 @@
#include "migration/vmstate.h"
#include "qemu/module.h"
#include "qemu/timer.h"
-#include "sysemu/reset.h"
#include "ui/console.h"
#define TYPE_LM8323 "lm8323"
@@ -94,8 +93,10 @@ static void lm_kbd_gpio_update(LM823KbdState *s)
{
}
-static void lm_kbd_reset(LM823KbdState *s)
+static void lm_kbd_reset(DeviceState *dev)
{
+ LM823KbdState *s = LM8323(dev);
+
s->config = 0x80;
s->status = INT_NOINIT;
s->acttime = 125;
@@ -273,7 +274,7 @@ static void lm_kbd_write(LM823KbdState *s, int reg, int
byte, uint8_t value)
case LM832x_CMD_RESET:
if (value == 0xaa)
- lm_kbd_reset(s);
+ lm_kbd_reset(DEVICE(s));
else
lm_kbd_error(s, ERR_BADPAR);
s->reg = LM832x_GENERAL_ERROR;
@@ -476,10 +477,6 @@ static void lm8323_realize(DeviceState *dev, Error **errp)
s->pwm.tm[1] = timer_new_ns(QEMU_CLOCK_VIRTUAL, lm_kbd_pwm1_tick, s);
s->pwm.tm[2] = timer_new_ns(QEMU_CLOCK_VIRTUAL, lm_kbd_pwm2_tick, s);
qdev_init_gpio_out(dev, &s->nirq, 1);
-
- lm_kbd_reset(s);
-
- qemu_register_reset((void *) lm_kbd_reset, s);
}
void lm832x_key_event(DeviceState *dev, int key, int state)
@@ -507,6 +504,7 @@ static void lm8323_class_init(ObjectClass *klass, void
*data)
DeviceClass *dc = DEVICE_CLASS(klass);
I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
+ dc->reset = lm_kbd_reset;
dc->realize = lm8323_realize;
k->event = lm_i2c_event;
k->recv = lm_i2c_rx;
--
2.21.0
- [PATCH v3 0/8] hw: Convert various reset() handler to DeviceReset, Philippe Mathieu-Daudé, 2019/10/10
- [PATCH v3 1/8] hw/acpi/piix4: Convert reset handler to DeviceReset, Philippe Mathieu-Daudé, 2019/10/10
- [PATCH v3 2/8] hw/isa/piix4: Convert reset handler to DeviceReset, Philippe Mathieu-Daudé, 2019/10/10
- [PATCH v3 3/8] hw/ide/piix: Convert reset handler to DeviceReset, Philippe Mathieu-Daudé, 2019/10/10
- [PATCH v3 4/8] hw/ide/sii3112: Convert reset handler to DeviceReset, Philippe Mathieu-Daudé, 2019/10/10
- [PATCH v3 5/8] hw/ide/via82c: Convert reset handler to DeviceReset, Philippe Mathieu-Daudé, 2019/10/10
- [PATCH v3 6/8] hw/isa/vt82c686: Convert reset handler to DeviceReset, Philippe Mathieu-Daudé, 2019/10/10
- [PATCH v3 7/8] hw/input/lm832x: Convert reset handler to DeviceReset,
Philippe Mathieu-Daudé <=
- [PATCH v3 8/8] hw/misc/vmcoreinfo: Add comment about reset handler, Philippe Mathieu-Daudé, 2019/10/10
- Re: [PATCH v3 0/8] hw: Convert various reset() handler to DeviceReset, Eduardo Habkost, 2019/10/11