aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* kgdb,docs: Update the kgdb docs to include kdbJason Wessel2010-05-20
| | | | | | | | | | | Update the kgdb docs to reflect the new directory structure and API. Merge in the kdb shell information. [Randy Dunlap <rdunlap@xenotime.net>: grammatical corrections] CC: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
* kgdboc,keyboard: Keyboard driver for kdb with kgdbJason Wessel2010-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds in the kdb PS/2 keyboard driver. This was mostly a direct port from the original kdb where I cleaned up the code against checkpatch.pl and added the glue to stitch it into kgdb. This patch also enables early kdb debug via kgdbwait and the keyboard. All the access to configure kdb using either a serial console or the keyboard is done via kgdboc. If you want to use only the keyboard and want to break in early you would add to your kernel command arguments: kgdboc=kbd kgdbwait If you wanted serial and or the keyboard access you could use: kgdboc=kbd,ttyS0 You can also configure kgdboc as a kernel module or at run time with the sysfs where you can activate and deactivate kgdb. Turn it on: echo kbd,ttyS0 > /sys/module/kgdboc/parameters/kgdboc Turn it off: echo "" > /sys/module/kgdboc/parameters/kgdboc Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* kgdb: gdb "monitor" -> kdb passthroughJason Wessel2010-05-20
| | | | | | | | | | | | | | | | | | | | One of the driving forces behind integrating another front end (kdb) to the debug core is to allow front end commands to be accessible via gdb's monitor command. It is true that you could write gdb macros to get certain data, but you may want to just use gdb to access the commands that are available in the kdb front end. This patch implements the Rcmd gdb stub packet. In gdb you access this with the "monitor" command. For instance you could type "monitor help", "monitor lsmod" or "monitor ps A" etc... There is no error checking or command restrictions on what you can and cannot access at this point. Doing something like trying to set breakpoints with the monitor command is going to cause nothing but problems. Perhaps in the future only the commands that are actually known to work with the gdb monitor command will be available. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
* sparc,sunzilog: Add console polling support for sunzilog serial driverJason Wessel2010-05-20
| | | | | | | Allow kgdboc to work on sparc hardware with the Zilog serial chips. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: David S. Miller <davem@davemloft.net>
* sh,sh-sci: Use NO_POLL_CHAR in the SCIF polled console codeJason Wessel2010-05-20
| | | | | | | | | | | | The sci_poll_get_char() needs to return immediately if there is no input from the chip to process, and must return a value of NO_POLL_CHAR. This allows kgdboc to process multiple polled devices while kgdb is active. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Paul Mundt <lethal@linux-sh.org>
* kgdb,8250,pl011: Return immediately from console pollJason Wessel2010-05-20
| | | | | | | | | | | | | | | | | The design of the kdb shell requires that every device that can provide input to kdb have a polling routine that exits immediately if there is no character available. This is required in order to get the page scrolling mechanism working. Changing the kernel debugger I/O API to require all polling character routines to exit immediately if there is no data allows the kernel debugger to process multiple input channels. NO_POLL_CHAR will be the return code to the polling routine when ever there is no character available. CC: linux-serial@vger.kernel.org Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
* kgdb: core changes to support kdbJason Wessel2010-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | These are the minimum changes to the kgdb core in order to enable an API to connect a new front end (kdb) to the debug core. This patch introduces the dbg_kdb_mode variable controls where the user level I/O is routed. It will be routed to the gdbstub (kgdb) or to the kdb front end which is a simple shell available over the kgdboc connection. You can switch back and forth between kdb or the gdb stub mode of operation dynamically. From gdb stub mode you can blindly type "$3#33", or from the kdb mode you can enter "kgdb" to switch to the gdb stub. The logic in the debug core depends on kdb to look for the typical gdb connection sequences and return immediately with KGDB_PASS_EVENT if a gdb serial command sequence is detected. That should allow a reasonably seamless transition between kdb -> gdb without leaving the kernel exception state. The two gdb serial queries that kdb is responsible for detecting are the "?" and "qSupported" packets. CC: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Martin Hicks <mort@sgi.com>
* kdb: core for kgdb back end (2 of 2)Jason Wessel2010-05-20
| | | | | | | | | | This patch contains the hooks and instrumentation into kernel which live outside the kernel/debug directory, which the kdb core will call to run commands like lsmod, dmesg, bt etc... CC: linux-arch@vger.kernel.org Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Martin Hicks <mort@sgi.com>
* kdb: core for kgdb back end (1 of 2)Jason Wessel2010-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains only the kdb core. Because the change set was large, it was split. The next patch in the series includes the instrumentation into the core kernel which are mainly helper functions for kdb. This work is directly derived from kdb v4.4 found at: ftp://oss.sgi.com/projects/kdb/download/v4.4/ The kdb internals have been re-organized to make them mostly platform independent and to connect everything to the debug core which is used by gdbstub (which has long been known as kgdb). The original version of kdb was 58,000 lines worth of changes to support x86. From that implementation only the kdb shell, and basic commands for memory access, runcontrol, lsmod, and dmesg where carried forward. This is a generic implementation which aims to cover all the current architectures using the kgdb core: ppc, arm, x86, mips, sparc, sh and blackfin. More archictectures can be added by implementing the architecture specific kgdb functions. [mort@sgi.com: Compile fix with hugepages enabled] [mort@sgi.com: Clean breakpoint code renaming kdba_ -> kdb_] [mort@sgi.com: fix new line after printing registers] [mort@sgi.com: Remove the concept of global vs. local breakpoints] [mort@sgi.com: Rework kdb_si_swapinfo to use more generic name] [mort@sgi.com: fix the information dump macros, remove 'arch' from the names] [sfr@canb.auug.org.au: include fixup to include linux/slab.h] CC: linux-arch@vger.kernel.org Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Martin Hicks <mort@sgi.com>
* kgdb,blackfin: Add in kgdb_arch_set_pc for blackfinJason Wessel2010-05-20
| | | | | | | | | The new debug core api requires all architectures that use to debug core to implement a function to set the program counter. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* kgdb,sh: update superh kgdb exception handlingJason Wessel2010-05-20
| | | | | | | | | | | | | | | Implement kgdb_arch_pc() which adjusts the pc if it needs to be adjusted after a software breakpoint trap. Implement kgdb_arch_set_pc() which is a new required function in the kgdb debug core. When processing a single step return zero in the error exception field so that the debug core can distinguish between a single step trap and a breakpoint trap generically. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Paul Mundt <lethal@linux-sh.org>
* kgdb,sparc: Add in kgdb_arch_set_pc for sparcJason Wessel2010-05-20
| | | | | | | | The new debug core api requires all architectures that use to debug core to implement a function to set the program counter. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: David S. Miller <davem@davemloft.net>
* MAINTAINERS: update kgdb, and debug_core infoJason Wessel2010-05-20
| | | | | | Update the kgdb section. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
* Separate the gdbstub from the debug coreJason Wessel2010-05-20
| | | | | | | | | | | | | Split the former kernel/kgdb.c into debug_core.c which contains the kernel debugger exception logic and to the gdbstub.c which contains the logic for allowing gdb to talk to the debug core. This also created a private include file called debug_core.h which contains all the definitions to glue the debug_core to any other debugger connections. CC: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
* Move kernel/kgdb.c to kernel/debug/debug_core.cJason Wessel2010-05-20
| | | | | | | | Move kgdb.c in preparation to separate the gdbstub from the debug core and exception handling. CC: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
* Merge branch 'for-linus' of ↵Linus Torvalds2010-05-20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits) Input: psmouse - small formatting changes to better follow coding style Input: synaptics - set dimensions as reported by firmware Input: elantech - relax signature checks Input: elantech - enforce common prefix on messages Input: wistron_btns - switch to using kmemdup() Input: usbtouchscreen - switch to using kmemdup() Input: do not force selecting i8042 on Moorestown Input: Documentation/sysrq.txt - update KEY_SYSRQ info Input: 88pm860x_onkey - remove invalid irq number assignment Input: i8042 - add a PNP entry to the aux device list Input: i8042 - add some extra PNP keyboard types Input: wm9712 - fix wm97xx_set_gpio() logic Input: add keypad driver for keys interfaced to TCA6416 Input: remove obsolete {corgi,spitz,tosa}kbd.c Input: kbtab - do not advertise unsupported events Input: kbtab - simplify kbtab_disconnect() Input: kbtab - fix incorrect size parameter in usb_buffer_free Input: acecad - don't advertise mouse events Input: acecad - fix some formatting issues Input: acecad - simplify usb_acecad_disconnect() ... Trivial conflict in Documentation/feature-removal-schedule.txt
| * Input: psmouse - small formatting changes to better follow coding styleDmitry Torokhov2010-05-19
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: synaptics - set dimensions as reported by firmwareDmitry Torokhov2010-05-19
| | | | | | | | | | | | | | | | Newer Synaptics firmware allows to query maximim dimensions reported by device, let's use this data. Tested-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: elantech - relax signature checksDmitry Torokhov2010-05-19
| | | | | | | | | | | | | | | | | | | | Apparently there are Elantech touchpads that report non-zero in the 2nd byte of their signature. Adjust the detection routine so that if 2nd byte is zero and 3rd byte contains value that is not a valid report rate, we still assume that signature is valid. Tested-by: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: elantech - enforce common prefix on messagesDmitry Torokhov2010-05-19
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: wistron_btns - switch to using kmemdup()Julia Lawall2010-05-19
| | | | | | | | | | | | | | | | Use kmemdup when some other buffer is immediately copied into the allocated region. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: usbtouchscreen - switch to using kmemdup()Julia Lawall2010-05-19
| | | | | | | | | | | | | | | | Use kmemdup when some other buffer is immediately copied into the allocated region. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: do not force selecting i8042 on MoorestownJacob Pan2010-05-19
| | | | | | | | | | | | | | | | Moorestown does not have i8042 based keyboard controller, so give an option to deselect i8042 for non-pc mid. Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: Documentation/sysrq.txt - update KEY_SYSRQ infoPaul Fox2010-05-19
| | | | | | | | | | | | | | | | | | | | | | While setting up sysrq operation on the XO laptop (which lacks a SysRq key), i realized that the documentation was quite out of date. Change documentation of SysRq to reflect current KEY_SYSRQ value. Signed-off-by: Paul Fox <pgf@laptop.org> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: 88pm860x_onkey - remove invalid irq number assignmentHaojian Zhuang2010-05-19
| | | | | | | | | | | | | | Irq number of onkey is assigned twice. The second assignment is wrong. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - add a PNP entry to the aux device listMatthew Garrett2010-05-19
| | | | | | | | | | | | | | | | | | Windows checks for an ALPS PS/2 device in PNP. Add it on the off-chance that there's a machine that expresses this without also providing a compatibility ID. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - add some extra PNP keyboard typesMatthew Garrett2010-05-19
| | | | | | | | | | | | | | | | | | | | Some Japanese machines declare their keyboard with a different PNP ID. Add it to the list of probed device IDs. While we're at it, add all the other IDs that Windows binds to - we'll probably never see them in the real world, but it doesn't hurt. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: wm9712 - fix wm97xx_set_gpio() logicManuel Lauss2010-05-19
| | | | | | | | | | | | WM97XX_GPIO_HIGH is not a bitmap and should to be treated as such. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Merge commit 'v2.6.34' into nextDmitry Torokhov2010-05-19
| |\
| * | Input: add keypad driver for keys interfaced to TCA6416Sriramakrishnan Govindarajan2010-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements a simple Keypad driver that functions as an I2C client. It handles key press events for keys connected to TCA6416 I2C based IO expander. Signed-off-by: Sriramakrishnan <srk@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: remove obsolete {corgi,spitz,tosa}kbd.cEric Miao2010-05-04
| | | | | | | | | | | | | | | Signed-off-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: kbtab - do not advertise unsupported eventsDmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | The device does not emit EV_MSC/MSC_SERIAL nor EV_KEY/BTN_MIDDLE events so it should not mark them as supported in capabilities bitmaps. This still leaves BTN_TOOL_PEN and BTN_TOUCH events being processed in a funky manner. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: kbtab - simplify kbtab_disconnect()Dmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to check whether kbtab structure is attached to the interface; if it isn't and we are called we have much bigger problems. Also no need to call usb_kill_urb() in kbtab_disconnect() since it is being called in kbtab_close(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: kbtab - fix incorrect size parameter in usb_buffer_freeAxel Lin2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | The size allocated by usb_buffer_alloc() is 8, however the size passed to usb_buffer_free() is 10. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: acecad - don't advertise mouse eventsDmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | The device does not emit events for left/right/middle mouse buttons so it should not mark them as supported in capabilities bitmaps. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: acecad - fix some formatting issuesDmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | Also switch to using input_set_abd_params() helper. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: acecad - simplify usb_acecad_disconnect()Dmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to check whether acecad structure is attached to the interface; if it isn't and we are called we have much bigger problems. Also no need to call usb_kill_urb() in usb_acecad_disconnect() since it is being called in usb_acecad_close(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: acecad - fix incorrect size parameter in usb_buffer_freeAxel Lin2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | The size allocated by usb_buffer_alloc() is 8, however the size passed to usb_buffer_free() in usb_acecad_disconnect() is 10. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: add driver for hampshire serial touchscreensAdam Bennett2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | Adds support for Hampshire TSHARC serial touchscreens. Implements Hampshire's 4-byte communication protocol. Signed-off-by: Adam Bennett <abennett72@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: ad714x - add support for the AD7143/8/7A partsBarry Song2010-04-14
| | | | | | | | | | | | | | | | | | Signed-off-by: Barry Song <barry.song@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: add Analog Devices AD714x captouch input driverBryan Wu2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AD7142 and AD7147 are integrated capacitance-to-digital converters (CDCs) with on-chip environmental calibration for use in systems requiring a novel user input method. The AD7142 and AD7147 can interface to external capacitance sensors implementing functions such as buttons, scrollwheels, sliders, touchpads and so on. The chips don't restrict the specific usage. Depending on the hardware connection, one special target board can include one or several these components. The platform_data for the device's "struct device" holds these information. The data-struct defined in head file descript the hardware feature of button/scrollwheel/slider/touchpad components on target boards, which need be filled in the arch/mach-/. As the result, the driver is independent of boards. It gets the components layout from the platform_data, registers related devices, fullfills the algorithms and state machines for these components and report related input events to up level. Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: lm8323 - do not leave dangling client data pointerWolfram Sang2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | Do not leave dangling client data pointers when unbinding device from the driver or when binding fails for some reason. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: tsc2007 - do not leave dangling clientdata pointerWolfram Sang2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | Do not leave dangling client data pointers when unbinding device from the driver. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: keyboard - fix formatting issuesDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | Also convert few variables to 'bool'. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: keyboard - switch to using pr_err() and friendsDmitry Torokhov2010-04-14
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: implement SysRq as a separate input handlerDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of keeping SysRq support inside of legacy keyboard driver split it out into a separate input handler (filter). This stops most SysRq input events from leaking into evdev clients (some events, such as first SysRq scancode - not keycode - event, are still leaked into both legacy keyboard and evdev). [martinez.javier@gmail.com: fix compile error when CONFIG_MAGIC_SYSRQ is not defined] Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: add PCF8574 I2C keypad input device driverBryan Wu2010-04-14
| | | | | | | | | | | | | | | | | | Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: remove now deprecated corgi_ts.c touchscreen driverEric Miao2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The corgi touchscreen is now deprecated in favour of the generic ads7846.c driver. The noise reduction technique used in corgi_ts.c, which is to wait till vsync before ADC sampling, is also integrated into ads7846 driver now. Provided that the original driver is not generic and is difficult to maintain, it will be removed now. Signed-off-by: Eric Miao <eric.y.miao@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Pavel Machek <pavel@ucw.cz> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: wacom - streamline 2-finger touch supportPing Cheng2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | Clean up 2-finger touch support. This still needs to be converted to proper multi-touch protocol. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: wacom - use get_unaligned to access unaligned dataDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | | | | Also get rid of wacom_le16_to_cpu() and wacom_be16_to_cpu() helpers and ise le16_to_cpup() and be16_to_cpup() directly. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>