Re: [PATCH 5/5] i8042: Add i8042_dt.h glue for DT support

From: Dmitry Torokhov
Date: Tue Feb 03 2015 - 14:27:12 EST


On Tue, Feb 03, 2015 at 10:14:32PM +0300, Roman Volkov wrote:
> Ð Tue, 3 Feb 2015 11:52:50 +0000
> Mark Rutland <mark.rutland@xxxxxxx> ÐÐÑÐÑ:
>
> > On Mon, Feb 02, 2015 at 09:48:50PM +0000, Roman Volkov wrote:
> > > This header file designed to be similar to other glue layers found
> > > for i8042. The difference is that interrupt numbers, device address,
> > > and other information should be retrieved from the device tree.
> > >
> > > Signed-off-by: Tony Prisk <linux@xxxxxxxxxxxxxxx>
> > > Signed-off-by: Roman Volkov <v1ron@xxxxxxxxx>
> > > ---
> > > drivers/input/serio/i8042-dt.h | 112
> > > +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112
> > > insertions(+) create mode 100644 drivers/input/serio/i8042-dt.h
> > >
> > > diff --git a/drivers/input/serio/i8042-dt.h
> > > b/drivers/input/serio/i8042-dt.h new file mode 100644
> > > index 0000000..0d1a344
> > > --- /dev/null
> > > +++ b/drivers/input/serio/i8042-dt.h
> > > @@ -0,0 +1,112 @@
> > > +#ifndef _I8042_DT_H
> > > +#define _I8042_DT_H
> > > +
> > > +#include <linux/of.h>
> > > +#include <linux/of_address.h>
> > > +#include <linux/of_irq.h>
> > > +
> > > +/*
> > > + * This program is free software; you can redistribute it and/or
> > > modify it
> > > + * under the terms of the GNU General Public License version 2 as
> > > published by
> > > + * the Free Software Foundation.
> > > + */
> > > +
> > > +static void __iomem *i8042_base;
> > > +static unsigned int i8042_command_reg;
> > > +static unsigned int i8042_status_reg;
> > > +static unsigned int i8042_data_reg;
> > > +#define I8042_COMMAND_REG i8042_command_reg
> > > +#define I8042_STATUS_REG i8042_status_reg
> > > +#define I8042_DATA_REG i8042_data_reg
> > > +
> > > +/*
> > > + * Names.
> > > + */
> > > +
> > > +static const char *i8042_kbd_phys_desc;
> > > +static const char *i8042_aux_phys_desc;
> > > +static const char *i8042_mux_phys_desc;
> > > +#define I8042_KBD_PHYS_DESC i8042_kbd_phys_desc
> > > +#define I8042_AUX_PHYS_DESC i8042_aux_phys_desc
> > > +#define I8042_MUX_PHYS_DESC i8042_mux_phys_desc
> > > +
> > > +/*
> > > + * IRQs.
> > > + */
> > > +static int i8042_kbd_irq;
> > > +static int i8042_aux_irq;
> > > +#define I8042_KBD_IRQ i8042_kbd_irq
> > > +#define I8042_AUX_IRQ i8042_aux_irq
> >
> > That's a lot of static values. Surely nothing physically prevents the
> > use of multiple i8042 chips?

i8042 is currently is a singleton and I do not really see it changing.
That said I would like at some point to decouple setting up of the
platform device from the driver itself and maybe getting rig of all
these statics.

Thanks.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/