[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH] hw/input/lm832x: move LM8323 declara
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH] hw/input/lm832x: move LM8323 declarations to input/keypad.h |
Date: |
Tue, 19 Sep 2017 16:52:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 19/09/2017 14:50, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> Based-on: address@hidden
>
> $ ./scripts/get_maintainer.pl -f hw/input/lm832x.c
> get_maintainer.pl: No maintainers found, printing recent contributors.
I think the keymap and handler should be moved entirely to
hw/input/lm832x.c, removing the corresponding code from nseries.c; same
for tsc210x.c.
Unfortunately this is not my area, so I'm not very sure about it. But
it should be relatively easy to write a qtest for lm832x, since it's an
i2c device just like e.g. tmp105.c (you can use QMP to send keys).
Thanks,
Paolo
> include/hw/i2c/i2c.h | 3 ---
> include/hw/input/keypad.h | 23 +++++++++++++++++++++++
> hw/arm/nseries.c | 3 ++-
> hw/input/lm832x.c | 3 +--
> 4 files changed, 26 insertions(+), 6 deletions(-)
> create mode 100644 include/hw/input/keypad.h
>
> diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h
> index 24e95d0155..8fdf3e47d6 100644
> --- a/include/hw/i2c/i2c.h
> +++ b/include/hw/i2c/i2c.h
> @@ -70,9 +70,6 @@ int i2c_recv(I2CBus *bus);
>
> DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
>
> -/* lm832x.c */
> -void lm832x_key_event(DeviceState *dev, int key, int state);
> -
> extern const VMStateDescription vmstate_i2c_slave;
>
> #define VMSTATE_I2C_SLAVE(_field, _state) { \
> diff --git a/include/hw/input/keypad.h b/include/hw/input/keypad.h
> new file mode 100644
> index 0000000000..efacef6458
> --- /dev/null
> +++ b/include/hw/input/keypad.h
> @@ -0,0 +1,23 @@
> +/*
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms and conditions of the GNU General Public License,
> + * version 2 or later, as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
> + * more details.
> + *
> + * You should have received a copy of the GNU General Public License along
> with
> + * this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +#ifndef HW_KEYPAD_H
> +#define HW_KEYPAD_H
> +
> +#include "hw/hw.h"
> +
> +#define TYPE_LM8323 "lm8323"
> +
> +void lm832x_key_event(DeviceState *dev, int key, int state);
> +
> +#endif
> diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c
> index a32ac82702..594b7e878c 100644
> --- a/hw/arm/nseries.c
> +++ b/hw/arm/nseries.c
> @@ -30,6 +30,7 @@
> #include "ui/console.h"
> #include "hw/boards.h"
> #include "hw/i2c/i2c.h"
> +#include "hw/input/keypad.h"
> #include "hw/devices.h"
> #include "hw/block/flash.h"
> #include "hw/hw.h"
> @@ -412,7 +413,7 @@ static void n810_kbd_setup(struct n800_s *s)
> /* Attach the LM8322 keyboard to the I2C bus,
> * should happen in n8x0_i2c_setup and s->kbd be initialised here. */
> s->kbd = i2c_create_slave(omap_i2c_bus(s->mpu->i2c[0]),
> - "lm8323", N810_LM8323_ADDR);
> + TYPE_LM8323, N810_LM8323_ADDR);
> qdev_connect_gpio_out(s->kbd, 0, kbd_irq);
> }
>
> diff --git a/hw/input/lm832x.c b/hw/input/lm832x.c
> index 2340523da0..868ddfe5ea 100644
> --- a/hw/input/lm832x.c
> +++ b/hw/input/lm832x.c
> @@ -19,12 +19,11 @@
> */
>
> #include "qemu/osdep.h"
> -#include "hw/hw.h"
> #include "hw/i2c/i2c.h"
> +#include "hw/input/keypad.h"
> #include "qemu/timer.h"
> #include "ui/console.h"
>
> -#define TYPE_LM8323 "lm8323"
> #define LM8323(obj) OBJECT_CHECK(LM823KbdState, (obj), TYPE_LM8323)
>
> typedef struct {
>