2008-02-06 06:08:45

by Dmitry Torokhov

[permalink] [raw]
Subject: [git pull] Input updates for 2.6.25-rc0

Hi Linus,

Please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git for-linus
or
master.kernel.org:/pub/scm/linux/kernel/git/dtor/input.git for-linus

to receive updates for the input subsystem. Most of the changes were in -mm for
some time with the exception of PXA keypad driver update. However, since there
are currently no users of said driver in mainline kernel, I consider the update
pretty safe.

Changelog:
---------

Andre Haupt (1):
Input: remove duplicate includes

Andrew Morton (1):
Input: i8042 - non-x86 build fix

Bruce Duncan (1):
Input: i8042 - enable DMI quirks on x86-64

Carlos Corbacho (2):
Input: i8042 - add Dritek keyboard extension quirk
Input: i8042 - add Dritek quirk for Acer Aspire 9110

David Brownell (1):
Input: ads7846 - stop updating dev->power.power_state

Dmitry Baryshkov (1):
Input: add Tosa keyboard driver

Dmitry Torokhov (10):
Input: Add proper locking when changing device's keymap
Input: keyspan_remote - add support for loadable keymaps
Input: atlas_btns - add support for loadable keymaps
Input: cobalt_btns - add support for loadable keymaps
Input: atkbd - remove unneeded synchronize_sched()
Input: i8042 - use synchronize_irq() instead of synchronize_sched()
Input: iforce - don't access input_dev->private directly
V4L/DVB: Don't access input_dev->private directly
Input: remove cdev from input_dev structure
Input: mousedev - use BIT_MASK instead of BIT

Eric Miao (8):
Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard)
Input: pxa27x_keypad - remove pin configuration from the driver
Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys
Input: pxa27x_keypad - introduce pxa27x_keypad_config()
Input: pxa27x_keypad - enable rotary encoders and direct keys
Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ
Input: pxa27x_keypad - add debounce_interval to the keypad platform data
Input: pxa27x_keypad - also enable on PXA3xx

Francisco Alecrim (1):
Input: remove duplicated headers in drivers/char/keyboard.c

Giel de Nijs (1):
Input: atkbd - properly handle special keys on Dell Latitudes

Jan Engelhardt (1):
Input: constify function pointer tables (seq_operations)

Jiri Kosina (1):
Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list

Julia Lawall (1):
Input: drop redundant includes of moduleparam.h

Richard Purdie (1):
Input: add input event to APM event bridge

Stephen Hemminger (2):
Input: implement proper timer rounding for polled devices
Input: add driver for Fujitsu application buttons

Steven Whitehouse (1):
Input: fix bug in example code

Diffstat:
--------

Documentation/input/input-programming.txt | 2 +-
arch/arm/mach-pxa/tosa.c | 43 ++
drivers/char/keyboard.c | 5 +-
drivers/input/Kconfig | 12 +
drivers/input/Makefile | 1 +
drivers/input/apm-power.c | 131 +++++
drivers/input/evdev.c | 6 +-
drivers/input/input-polldev.c | 18 +-
drivers/input/input.c | 85 +++-
drivers/input/joystick/amijoy.c | 1 -
drivers/input/joystick/analog.c | 1 -
drivers/input/joystick/db9.c | 1 -
drivers/input/joystick/gamecon.c | 1 -
drivers/input/joystick/iforce/iforce-main.c | 17 +-
drivers/input/joystick/turbografx.c | 1 -
drivers/input/joystick/xpad.c | 1 -
drivers/input/keyboard/Kconfig | 29 +-
drivers/input/keyboard/Makefile | 3 +-
drivers/input/keyboard/atkbd.c | 91 +++-
drivers/input/keyboard/lkkbd.c | 1 -
drivers/input/keyboard/pxa27x_keyboard.c | 274 ----------
drivers/input/keyboard/pxa27x_keypad.c | 572 +++++++++++++++++++++
drivers/input/keyboard/tosakbd.c | 415 +++++++++++++++
drivers/input/misc/Kconfig | 14 +
drivers/input/misc/Makefile | 1 +
drivers/input/misc/apanel.c | 378 ++++++++++++++
drivers/input/misc/ati_remote.c | 1 -
drivers/input/misc/atlas_btns.c | 39 +-
drivers/input/misc/cobalt_btns.c | 73 ++--
drivers/input/misc/keyspan_remote.c | 119 +++--
drivers/input/mouse/inport.c | 1 -
drivers/input/mouse/logibm.c | 1 -
drivers/input/mouse/psmouse-base.c | 1 -
drivers/input/mouse/trackpoint.c | 1 -
drivers/input/mousedev.c | 3 +-
drivers/input/serio/i8042-x86ia64io.h | 67 +++-
drivers/input/serio/i8042.c | 26 +-
drivers/input/serio/libps2.c | 1 -
drivers/input/touchscreen/ads7846.c | 8 +-
drivers/input/touchscreen/mk712.c | 1 -
drivers/input/touchscreen/ucb1400_ts.c | 1 -
drivers/media/video/usbvideo/konicawc.c | 2 -
drivers/media/video/usbvideo/quickcam_messenger.c | 2 -
include/asm-arm/arch-pxa/pxa27x_keyboard.h | 13 -
include/asm-arm/arch-pxa/pxa27x_keypad.h | 56 ++
include/asm-arm/arch-pxa/tosa.h | 30 ++
include/linux/input.h | 7 +-
47 files changed, 2073 insertions(+), 484 deletions(-)
create mode 100644 drivers/input/apm-power.c
delete mode 100644 drivers/input/keyboard/pxa27x_keyboard.c
create mode 100644 drivers/input/keyboard/pxa27x_keypad.c
create mode 100644 drivers/input/keyboard/tosakbd.c
create mode 100644 drivers/input/misc/apanel.c
delete mode 100644 include/asm-arm/arch-pxa/pxa27x_keyboard.h
create mode 100644 include/asm-arm/arch-pxa/pxa27x_keypad.h

--
Dmitry


2008-02-06 06:32:35

by Andrew Morton

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0


Looks OK. Minorish things from a quick scan:



tosakbd_scankeyboard() looks like it'll spend a perfectly wicked amount of
time under spin_lock_irqsave().



This code, in tosakbd_probe():

+fail2:
+ while (--i >= 0)
+ gpio_free(TOSA_GPIO_KEY_STROBE(i));
+
+ i = TOSA_KEY_SENSE_NUM;
+fail:
+ while (--i >= 0) {
+ free_irq(gpio_to_irq(TOSA_GPIO_KEY_SENSE(i)), pdev);
+ gpio_free(TOSA_GPIO_KEY_SENSE(i));
+ }

looks like it'll free irqs and gpios which were never allocated (if i <
TOSA_KEY_SENSE_NUM on entry).



+static int __devinit tosakbd_probe(struct platform_device *pdev) {

please integrate checkpatch into your merging process.




i8042_platform_init():

+#if defined(__i386__) || defined(__x86_64__)

use #ifdef CONFIG_X86?

2008-02-06 06:50:35

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0

On Wednesday 06 February 2008 01:32, Andrew Morton wrote:
>
> Looks OK. Minorish things from a quick scan:
>
>
>
> tosakbd_scankeyboard() looks like it'll spend a perfectly wicked amount of
> time under spin_lock_irqsave().
>

I think you are right. I will check with Dmitry if it can be relaxed a bit.

>
>
> This code, in tosakbd_probe():
>
> +fail2:
> + while (--i >= 0)
> + gpio_free(TOSA_GPIO_KEY_STROBE(i));
> +
> + i = TOSA_KEY_SENSE_NUM;
> +fail:
> + while (--i >= 0) {
> + free_irq(gpio_to_irq(TOSA_GPIO_KEY_SENSE(i)), pdev);
> + gpio_free(TOSA_GPIO_KEY_SENSE(i));
> + }
>
> looks like it'll free irqs and gpios which were never allocated (if i <
> TOSA_KEY_SENSE_NUM on entry).
>

Umm? There are 2 groups of gpios (sense and strobe) with sense group
registered first. Looks ok to me.

>
>
> +static int __devinit tosakbd_probe(struct platform_device *pdev) {
>
> please integrate checkpatch into your merging process.
>

Will do.

>
>
>
> i8042_platform_init():
>
> +#if defined(__i386__) || defined(__x86_64__)
>
> use #ifdef CONFIG_X86?
>

I considered it but above was tested and in line with the style of the
rest of the file...

--
Dmitry

2008-02-06 07:01:07

by Andrew Morton

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0

On Wed, 6 Feb 2008 01:08:30 -0500 Dmitry Torokhov <[email protected]> wrote:

> Andrew Morton (1):
> Input: i8042 - non-x86 build fix

Also, please prefer to fold patches like this into the patch which they
fix, to avoid breaking git-bisect, thanks.

(I add a little one-line mention in the changelog so the contributor gets
a nod, and as a record of what happened)

2008-02-06 07:56:40

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0

>
> >
> >
> >
> > i8042_platform_init():
> >
> > +#if defined(__i386__) || defined(__x86_64__)
> >
> > use #ifdef CONFIG_X86?
> >
>
> I considered it but above was tested and in line with the style of the
> rest of the file...
Then please change the rest of the file so it is consistent
with the usual style to use our CONFIG_ symbols for
conditionals like the above.

Sam

2008-02-06 14:19:53

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0

On Wed, Feb 06, 2008 at 08:56:35AM +0100, Sam Ravnborg wrote:
> >
> > >
> > >
> > >
> > > i8042_platform_init():
> > >
> > > +#if defined(__i386__) || defined(__x86_64__)
> > >
> > > use #ifdef CONFIG_X86?
> > >
> >
> > I considered it but above was tested and in line with the style of the
> > rest of the file...
> Then please change the rest of the file so it is consistent
> with the usual style to use our CONFIG_ symbols for
> conditionals like the above.
>

Will do in the next update. The #if defined(__i386__) code predates
CONFIG_X86_32 and was not updated when this symbol became available.

Overall, do you want me to redo the pull or is it still acceptable?

--
Dmitry

2008-02-07 20:24:25

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0

On Tue, Feb 05, 2008 at 10:32:42PM -0800, Andrew Morton wrote:
>
> Looks OK. Minorish things from a quick scan:
>

*ping*

Linus,

Do you want me to redo the pull or is it still acceptable as is?
I am hesitant touching the tree after sending a pull request...

Thanks,
Dmitry

--
Dmitry

2008-02-07 21:17:23

by Andrew Morton

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0

On Thu, 7 Feb 2008 15:05:57 -0500
Dmitry Torokhov <[email protected]> wrote:

> On Tue, Feb 05, 2008 at 10:32:42PM -0800, Andrew Morton wrote:
> >
> > Looks OK. Minorish things from a quick scan:
> >
>
> *ping*
>
> Linus,
>
> Do you want me to redo the pull or is it still acceptable as is?
> I am hesitant touching the tree after sending a pull request...
>

That's probably me being a pain in the ass and actually looking at the pull
requests. Sorry, I really should look at these things as they go into
people's trees, not as they attempt to come out of them. I'll do better.

Although that's not an option with some of the stealth merges we're seeing
lately..

I'd assume that by now you can apply whatever touchups are needed then
resend the pull request.



btw:

drivers/input/touchscreen/ads7846.c: fix uninitialized var warning

From: Andrew Morton <[email protected]>

drivers/input/touchscreen/ads7846.c: In function 'ads7846_read12_ser':
drivers/input/touchscreen/ads7846.c:216: warning: 'sample' may be used uninitialized in this function

Cc: Dmitry Torokhov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

drivers/input/touchscreen/ads7846.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/input/touchscreen/ads7846.c~drivers-input-touchscreen-ads7846c-fix-uninitialized-var-warning drivers/input/touchscreen/ads7846.c
--- a/drivers/input/touchscreen/ads7846.c~drivers-input-touchscreen-ads7846c-fix-uninitialized-var-warning
+++ a/drivers/input/touchscreen/ads7846.c
@@ -213,7 +213,7 @@ static int ads7846_read12_ser(struct dev
struct ads7846 *ts = dev_get_drvdata(dev);
struct ser_req *req = kzalloc(sizeof *req, GFP_KERNEL);
int status;
- int sample;
+ int uninitialized_var(sample);
int use_internal;

if (!req)
_

2008-02-08 23:26:25

by Ingo Molnar

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0


* Dmitry Torokhov <[email protected]> wrote:

> Stephen Hemminger (2):
> Input: add driver for Fujitsu application buttons

this change broke the build on x86 in randconfig testing:

drivers/built-in.o: In function `apanel_detach_client':
apanel.c:(.text+0x15c120): undefined reference to `__led_classdev_unregister'
drivers/built-in.o: In function `apanel_probe':
apanel.c:(.text+0x15c30f): undefined reference to `led_classdev_register'

.config attached.

the Kconfig dependencies seem incomplete:

> +config INPUT_APANEL
> + tristate "Fujitsu Lifebook Application Panel buttons"
> + depends on X86
> + select I2C_I801
> + select INPUT_POLLDEV
> + select CHECK_SIGNATURE
> + help

it doesnt list LEDS.

Ingo


Attachments:
(No filename) (754.00 B)
config (49.15 kB)
Download all attachments

2008-02-08 23:29:45

by Stephen Hemminger

[permalink] [raw]
Subject: Re: [git pull] Input updates for 2.6.25-rc0

On Sat, 9 Feb 2008 00:25:36 +0100
Ingo Molnar <[email protected]> wrote:

>
> * Dmitry Torokhov <[email protected]> wrote:
>
> > Stephen Hemminger (2):
> > Input: add driver for Fujitsu application buttons
>
> this change broke the build on x86 in randconfig testing:
>
> drivers/built-in.o: In function `apanel_detach_client':
> apanel.c:(.text+0x15c120): undefined reference to `__led_classdev_unregister'
> drivers/built-in.o: In function `apanel_probe':
> apanel.c:(.text+0x15c30f): undefined reference to `led_classdev_register'
>
> .config attached.
>
> the Kconfig dependencies seem incomplete:
>
> > +config INPUT_APANEL
> > + tristate "Fujitsu Lifebook Application Panel buttons"
> > + depends on X86
> > + select I2C_I801
> > + select INPUT_POLLDEV
> > + select CHECK_SIGNATURE
> > + help
>
> it doesnt list LEDS.
>
> Ingo

I think someone already sent a patch to select the LEDS

--
Stephen Hemminger <[email protected]>

2008-02-08 23:39:45

by Randy Dunlap

[permalink] [raw]
Subject: [patch] [git pull] Input updates for 2.6.25-rc0

On Fri, 8 Feb 2008 15:28:12 -0800 Stephen Hemminger wrote:

> On Sat, 9 Feb 2008 00:25:36 +0100
> Ingo Molnar <[email protected]> wrote:
>
> >
> > * Dmitry Torokhov <[email protected]> wrote:
> >
> > > Stephen Hemminger (2):
> > > Input: add driver for Fujitsu application buttons
> >
> > this change broke the build on x86 in randconfig testing:
> >
> > drivers/built-in.o: In function `apanel_detach_client':
> > apanel.c:(.text+0x15c120): undefined reference to `__led_classdev_unregister'
> > drivers/built-in.o: In function `apanel_probe':
> > apanel.c:(.text+0x15c30f): undefined reference to `led_classdev_register'
> >
> > .config attached.
> >
> > the Kconfig dependencies seem incomplete:
> >
> > > +config INPUT_APANEL
> > > + tristate "Fujitsu Lifebook Application Panel buttons"
> > > + depends on X86
> > > + select I2C_I801
> > > + select INPUT_POLLDEV
> > > + select CHECK_SIGNATURE
> > > + help
> >
> > it doesnt list LEDS.
> >
> > Ingo
>
> I think someone already sent a patch to select the LEDS

I did... and more. Who will merge it? (below)

---
From: Randy Dunlap <[email protected]>

Add I2C to config since the driver makes several i2c*() calls.

Add to help text that the Intel I2C ICH (i801) driver is also needed
for this kernel.

Add LEDS_CLASS to config since the driver makes les_classdev_*() calls:
ERROR: "led_classdev_register" [drivers/input/misc/apanel.ko] undefined!
ERROR: "__led_classdev_unregister" [drivers/input/misc/apanel.ko] undefined!

Signed-off-by: Randy Dunlap <[email protected]>
---
drivers/input/misc/Kconfig | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- linux-2.6.24-mm1.orig/drivers/input/misc/Kconfig
+++ linux-2.6.24-mm1/drivers/input/misc/Kconfig
@@ -42,14 +42,14 @@ config INPUT_M68K_BEEP

config INPUT_APANEL
tristate "Fujitsu Lifebook Application Panel buttons"
- depends on X86
- select I2C_I801
+ depends on X86 && I2C && LEDS_CLASS
select INPUT_POLLDEV
select CHECK_SIGNATURE
help
Say Y here for support of the Application Panel buttons, used on
Fujitsu Lifebook. These are attached to the mainboard through
- an SMBus interface managed by the I2C Intel ICH (i801) driver.
+ an SMBus interface managed by the I2C Intel ICH (i801) driver,
+ which you should also build for this kernel.

To compile this driver as a module, choose M here: the module will
be called apanel.

2008-02-08 23:49:19

by Jesper Juhl

[permalink] [raw]
Subject: Re: [patch] [git pull] Input updates for 2.6.25-rc0

On 09/02/2008, Randy Dunlap <[email protected]> wrote:
...
> > On Sat, 9 Feb 2008 00:25:36 +0100
> > Ingo Molnar <[email protected]> wrote:
> >
...
> > I think someone already sent a patch to select the LEDS
>
> I did... and more. Who will merge it? (below)
>
> ---
> From: Randy Dunlap <[email protected]>
>
> Add I2C to config since the driver makes several i2c*() calls.
>
> Add to help text that the Intel I2C ICH (i801) driver is also needed
> for this kernel.
>
> Add LEDS_CLASS to config since the driver makes les_classdev_*() calls:
> ERROR: "led_classdev_register" [drivers/input/misc/apanel.ko] undefined!
> ERROR: "__led_classdev_unregister" [drivers/input/misc/apanel.ko] undefined!
>
> Signed-off-by: Randy Dunlap <[email protected]>

I guess I could stick it in the Trivial tree and push it during the
2.6.26 merge window if it doesn't get merged elsewhere before that.
It looks reasonably trivial.

At least that way it doesn't get lost :)

--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2008-02-08 23:56:34

by Andrew Morton

[permalink] [raw]
Subject: Re: [patch] [git pull] Input updates for 2.6.25-rc0

On Fri, 8 Feb 2008 15:37:41 -0800 Randy Dunlap <[email protected]> wrote:

> > I think someone already sent a patch to select the LEDS
>
> I did... and more. Who will merge it? (below)
>
> ---
> From: Randy Dunlap <[email protected]>
>
> Add I2C to config since the driver makes several i2c*() calls.
>
> Add to help text that the Intel I2C ICH (i801) driver is also needed
> for this kernel.
>
> Add LEDS_CLASS to config since the driver makes les_classdev_*() calls:
> ERROR: "led_classdev_register" [drivers/input/misc/apanel.ko] undefined!
> ERROR: "__led_classdev_unregister" [drivers/input/misc/apanel.ko] undefined!

I have assumed that Dmitry will be handling this one.

2008-02-09 00:02:47

by Randy Dunlap

[permalink] [raw]
Subject: Re: [patch] [git pull] Input updates for 2.6.25-rc0

Andrew Morton wrote:
> On Fri, 8 Feb 2008 15:37:41 -0800 Randy Dunlap <[email protected]> wrote:
>
>>> I think someone already sent a patch to select the LEDS
>> I did... and more. Who will merge it? (below)
>>
>> ---
>> From: Randy Dunlap <[email protected]>
>>
>> Add I2C to config since the driver makes several i2c*() calls.
>>
>> Add to help text that the Intel I2C ICH (i801) driver is also needed
>> for this kernel.
>>
>> Add LEDS_CLASS to config since the driver makes les_classdev_*() calls:
>> ERROR: "led_classdev_register" [drivers/input/misc/apanel.ko] undefined!
>> ERROR: "__led_classdev_unregister" [drivers/input/misc/apanel.ko] undefined!
>
> I have assumed that Dmitry will be handling this one.

Yes, that would be it's normal route, but when builds are easily broken,
it would be nice to have a fast-track mechanism...

But then I (we?) still think that people should use Documentation/SubmitChecklist
etc. also. :(

--
~Randy