qemu-arm
[Top][All Lists]
Advanced

[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 {
> 




reply via email to

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