mirror of
https://github.com/a52xq-dev/kernel.git
synced 2026-10-18 21:58:11 +07:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: - a new GPIO bit-banging driver implementing PS/2 protocol - a new power key driver for Rockchip RK805 PMIC - bunch of patches constifying various device ID structures - Elan I2C touchpad driver now supports devices with 2 buttons - other assorted fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (76 commits) Input: byd - make array seq static, reduces object code size Input: xilinx_ps2 - fix multiline comment style Input: pxa27x_keypad - handle return value of clk_prepare_enable Input: tegra-kbc - handle return value of clk_prepare_enable Input: PS/2 gpio bit banging driver for serio bus Input: xen-kbdfront - enable auto repeat for xen keyboard frontend driver Input: ambakmi - constify amba_id Input: atmel_mxt_ts - add support for reset line Input: atmel_mxt_ts - use more managed resources Input: wacom_w8001 - constify serio_device_id Input: tsc40 - constify serio_device_id Input: touchwin - constify serio_device_id Input: touchright - constify serio_device_id Input: touchit213 - constify serio_device_id Input: penmount - constify serio_device_id Input: mtouch - constify serio_device_id Input: inexio - constify serio_device_id Input: hampshire - constify serio_device_id Input: gunze - constify serio_device_id Input: fujitsu_ts - constify serio_device_id ...
This commit is contained in:
commit
9d71941d39
80 changed files with 947 additions and 190 deletions
|
|
@ -22,6 +22,8 @@ Optional properties for main touchpad device:
|
|||
experiment to determine which bit corresponds to which input. Use
|
||||
KEY_RESERVED for unused padding values.
|
||||
|
||||
- reset-gpios: GPIO specifier for the touchscreen's reset pin (active low)
|
||||
|
||||
Example:
|
||||
|
||||
touch@4b {
|
||||
|
|
|
|||
23
Documentation/devicetree/bindings/serio/ps2-gpio.txt
Normal file
23
Documentation/devicetree/bindings/serio/ps2-gpio.txt
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
Device-Tree binding for ps/2 gpio device
|
||||
|
||||
Required properties:
|
||||
- compatible = "ps2-gpio"
|
||||
- data-gpios: the data pin
|
||||
- clk-gpios: the clock pin
|
||||
- interrupts: Should trigger on the falling edge of the clock line.
|
||||
|
||||
Optional properties:
|
||||
- write-enable: Indicates whether write function is provided
|
||||
to serio device. Possibly providing the write fn will not work, because
|
||||
of the tough timing requirements.
|
||||
|
||||
Example nodes:
|
||||
|
||||
ps2@0 {
|
||||
compatible = "ps2-gpio";
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
|
||||
data-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
|
||||
clk-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
|
||||
write-enable;
|
||||
};
|
||||
|
|
@ -84,6 +84,11 @@ hardware descriptions such as device tree or ACPI:
|
|||
NAND flash MTD subsystem and provides chip access and partition parsing like
|
||||
any other NAND driving hardware.
|
||||
|
||||
- ps2-gpio: drivers/input/serio/ps2-gpio.c is used to drive a PS/2 (IBM) serio
|
||||
bus, data and clock line, by bit banging two GPIO lines. It will appear as
|
||||
any other serio bus to the system and makes it possible to connect drivers
|
||||
for e.g. keyboards and other PS/2 protocol based devices.
|
||||
|
||||
Apart from this there are special GPIO drivers in subsystems like MMC/SD to
|
||||
read card detect and write protect GPIO lines, and in the TTY serial subsystem
|
||||
to emulate MCTRL (modem control) signals CTS/RTS by using two GPIO lines. The
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@ static struct gpiod_lookup_table raumfeld_rotary_gpios_table = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct property_entry raumfeld_rotary_properties[] = {
|
||||
static const struct property_entry raumfeld_rotary_properties[] __initconst = {
|
||||
PROPERTY_ENTRY_INTEGER("rotary-encoder,steps-per-period", u32, 24),
|
||||
PROPERTY_ENTRY_INTEGER("linux,axis", u32, REL_X),
|
||||
PROPERTY_ENTRY_INTEGER("rotary-encoder,relative_axis", u32, 1),
|
||||
|
|
|
|||
|
|
@ -1398,7 +1398,7 @@ static struct attribute *input_dev_attrs[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static struct attribute_group input_dev_attr_group = {
|
||||
static const struct attribute_group input_dev_attr_group = {
|
||||
.attrs = input_dev_attrs,
|
||||
};
|
||||
|
||||
|
|
@ -1425,7 +1425,7 @@ static struct attribute *input_dev_id_attrs[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static struct attribute_group input_dev_id_attr_group = {
|
||||
static const struct attribute_group input_dev_id_attr_group = {
|
||||
.name = "id",
|
||||
.attrs = input_dev_id_attrs,
|
||||
};
|
||||
|
|
@ -1495,7 +1495,7 @@ static struct attribute *input_dev_caps_attrs[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static struct attribute_group input_dev_caps_attr_group = {
|
||||
static const struct attribute_group input_dev_caps_attr_group = {
|
||||
.name = "capabilities",
|
||||
.attrs = input_dev_caps_attrs,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ static void iforce_serio_disconnect(struct serio *serio)
|
|||
kfree(iforce);
|
||||
}
|
||||
|
||||
static struct serio_device_id iforce_serio_ids[] = {
|
||||
static const struct serio_device_id iforce_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_IFORCE,
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ static void iforce_usb_disconnect(struct usb_interface *intf)
|
|||
kfree(iforce);
|
||||
}
|
||||
|
||||
static struct usb_device_id iforce_usb_ids [] = {
|
||||
static const struct usb_device_id iforce_usb_ids[] = {
|
||||
{ USB_DEVICE(0x044f, 0xa01c) }, /* Thrustmaster Motor Sport GT */
|
||||
{ USB_DEVICE(0x046d, 0xc281) }, /* Logitech WingMan Force */
|
||||
{ USB_DEVICE(0x046d, 0xc291) }, /* Logitech WingMan Formula Force */
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ static int magellan_connect(struct serio *serio, struct serio_driver *drv)
|
|||
* The serio driver structure.
|
||||
*/
|
||||
|
||||
static struct serio_device_id magellan_serio_ids[] = {
|
||||
static const struct serio_device_id magellan_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_MAGELLAN,
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ static int spaceball_connect(struct serio *serio, struct serio_driver *drv)
|
|||
* The serio driver structure.
|
||||
*/
|
||||
|
||||
static struct serio_device_id spaceball_serio_ids[] = {
|
||||
static const struct serio_device_id spaceball_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_SPACEBALL,
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ static int spaceorb_connect(struct serio *serio, struct serio_driver *drv)
|
|||
* The serio driver structure.
|
||||
*/
|
||||
|
||||
static struct serio_device_id spaceorb_serio_ids[] = {
|
||||
static const struct serio_device_id spaceorb_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_SPACEORB,
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ static int stinger_connect(struct serio *serio, struct serio_driver *drv)
|
|||
* The serio driver structure.
|
||||
*/
|
||||
|
||||
static struct serio_device_id stinger_serio_ids[] = {
|
||||
static const struct serio_device_id stinger_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_STINGER,
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ static int twidjoy_connect(struct serio *serio, struct serio_driver *drv)
|
|||
* The serio driver structure.
|
||||
*/
|
||||
|
||||
static struct serio_device_id twidjoy_serio_ids[] = {
|
||||
static const struct serio_device_id twidjoy_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_TWIDJOY,
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ static int warrior_connect(struct serio *serio, struct serio_driver *drv)
|
|||
* The serio driver structure.
|
||||
*/
|
||||
|
||||
static struct serio_device_id warrior_serio_ids[] = {
|
||||
static const struct serio_device_id warrior_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_WARRIOR,
|
||||
|
|
|
|||
|
|
@ -408,7 +408,7 @@ static const signed short xpad_abs_triggers[] = {
|
|||
#define XPAD_XBOXONE_VENDOR(vend) \
|
||||
{ XPAD_XBOXONE_VENDOR_PROTOCOL(vend, 208) }
|
||||
|
||||
static struct usb_device_id xpad_table[] = {
|
||||
static const struct usb_device_id xpad_table[] = {
|
||||
{ USB_INTERFACE_INFO('X', 'B', 0) }, /* X-Box USB-IF not approved class */
|
||||
XPAD_XBOX360_VENDOR(0x044f), /* Thrustmaster X-Box 360 controllers */
|
||||
XPAD_XBOX360_VENDOR(0x045e), /* Microsoft X-Box 360 controllers */
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ static int zhenhua_connect(struct serio *serio, struct serio_driver *drv)
|
|||
* The serio driver structure.
|
||||
*/
|
||||
|
||||
static struct serio_device_id zhenhua_serio_ids[] = {
|
||||
static const struct serio_device_id zhenhua_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_ZHENHUA,
|
||||
|
|
|
|||
|
|
@ -1270,7 +1270,7 @@ static int atkbd_reconnect(struct serio *serio)
|
|||
return retval;
|
||||
}
|
||||
|
||||
static struct serio_device_id atkbd_serio_ids[] = {
|
||||
static const struct serio_device_id atkbd_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_8042,
|
||||
.proto = SERIO_ANY,
|
||||
|
|
|
|||
|
|
@ -353,7 +353,7 @@ static struct attribute *gpio_keys_attrs[] = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
static struct attribute_group gpio_keys_attr_group = {
|
||||
static const struct attribute_group gpio_keys_attr_group = {
|
||||
.attrs = gpio_keys_attrs,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -559,7 +559,7 @@ static int hil_dev_connect(struct serio *serio, struct serio_driver *drv)
|
|||
return error;
|
||||
}
|
||||
|
||||
static struct serio_device_id hil_dev_ids[] = {
|
||||
static const struct serio_device_id hil_dev_ids[] = {
|
||||
{
|
||||
.type = SERIO_HIL_MLC,
|
||||
.proto = SERIO_HIL,
|
||||
|
|
|
|||
|
|
@ -707,7 +707,7 @@ static void lkkbd_disconnect(struct serio *serio)
|
|||
kfree(lk);
|
||||
}
|
||||
|
||||
static struct serio_device_id lkkbd_serio_ids[] = {
|
||||
static const struct serio_device_id lkkbd_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_LKKBD,
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ static void nkbd_disconnect(struct serio *serio)
|
|||
kfree(nkbd);
|
||||
}
|
||||
|
||||
static struct serio_device_id nkbd_serio_ids[] = {
|
||||
static const struct serio_device_id nkbd_serio_ids[] = {
|
||||
{
|
||||
.type = SERIO_RS232,
|
||||
.proto = SERIO_NEWTON,
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue