Loading Documentation/devicetree/bindings/input/touchscreen/colibri-vf50-ts.txt 0 → 100644 +36 −0 Original line number Diff line number Diff line * Toradex Colibri VF50 Touchscreen driver Required Properties: - compatible must be toradex,vf50-touchscreen - io-channels: adc channels being used by the Colibri VF50 module - xp-gpios: FET gate driver for input of X+ - xm-gpios: FET gate driver for input of X- - yp-gpios: FET gate driver for input of Y+ - ym-gpios: FET gate driver for input of Y- - interrupt-parent: phandle for the interrupt controller - interrupts: pen irq interrupt for touch detection - pinctrl-names: "idle", "default", "gpios" - pinctrl-0: pinctrl node for pen/touch detection state pinmux - pinctrl-1: pinctrl node for X/Y and pressure measurement (ADC) state pinmux - pinctrl-2: pinctrl node for gpios functioning as FET gate drivers - vf50-ts-min-pressure: pressure level at which to stop measuring X/Y values Example: touchctrl: vf50_touchctrl { compatible = "toradex,vf50-touchscreen"; io-channels = <&adc1 0>,<&adc0 0>, <&adc0 1>,<&adc1 2>; xp-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; xm-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; yp-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; ym-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; interrupt-parent = <&gpio0>; interrupts = <8 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "idle","default","gpios"; pinctrl-0 = <&pinctrl_touchctrl_idle>; pinctrl-1 = <&pinctrl_touchctrl_default>; pinctrl-2 = <&pinctrl_touchctrl_gpios>; vf50-ts-min-pressure = <200>; status = "disabled"; }; Documentation/devicetree/bindings/input/touchscreen/imx6ul_tsc.txt 0 → 100644 +36 −0 Original line number Diff line number Diff line * Freescale i.MX6UL Touch Controller Required properties: - compatible: must be "fsl,imx6ul-tsc". - reg: this touch controller address and the ADC2 address. - interrupts: the interrupt of this touch controller and ADC2. - clocks: the root clock of touch controller and ADC2. - clock-names; must be "tsc" and "adc". - xnur-gpio: the X- gpio this controller connect to. This xnur-gpio returns to low once the finger leave the touch screen (The last touch event the touch controller capture). Optional properties: - measure-delay-time: the value of measure delay time. Before X-axis or Y-axis measurement, the screen need some time before even potential distribution ready. This value depends on the touch screen. - pre-charge-time: the touch screen need some time to precharge. This value depends on the touch screen. Example: tsc: tsc@02040000 { compatible = "fsl,imx6ul-tsc"; reg = <0x02040000 0x4000>, <0x0219c000 0x4000>; interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6UL_CLK_IPG>, <&clks IMX6UL_CLK_ADC2>; clock-names = "tsc", "adc"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_tsc>; xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>; measure-delay-time = <0xfff>; pre-charge-time = <0xffff>; status = "okay"; }; drivers/input/evdev.c +4 −9 Original line number Diff line number Diff line Loading @@ -290,19 +290,14 @@ static int evdev_flush(struct file *file, fl_owner_t id) { struct evdev_client *client = file->private_data; struct evdev *evdev = client->evdev; int retval; retval = mutex_lock_interruptible(&evdev->mutex); if (retval) return retval; mutex_lock(&evdev->mutex); if (!evdev->exist || client->revoked) retval = -ENODEV; else retval = input_flush_device(&evdev->handle, file); if (evdev->exist && !client->revoked) input_flush_device(&evdev->handle, file); mutex_unlock(&evdev->mutex); return retval; return 0; } static void evdev_free(struct device *dev) Loading drivers/input/keyboard/imx_keypad.c +0 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,6 @@ * 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. * * <<Power management needs to be implemented>>. */ #include <linux/clk.h> Loading drivers/input/misc/ab8500-ponkey.c +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ static const struct of_device_id ab8500_ponkey_match[] = { { .compatible = "stericsson,ab8500-ponkey", }, {} }; MODULE_DEVICE_TABLE(of, ab8500_ponkey_match); #endif static struct platform_driver ab8500_ponkey_driver = { Loading Loading
Documentation/devicetree/bindings/input/touchscreen/colibri-vf50-ts.txt 0 → 100644 +36 −0 Original line number Diff line number Diff line * Toradex Colibri VF50 Touchscreen driver Required Properties: - compatible must be toradex,vf50-touchscreen - io-channels: adc channels being used by the Colibri VF50 module - xp-gpios: FET gate driver for input of X+ - xm-gpios: FET gate driver for input of X- - yp-gpios: FET gate driver for input of Y+ - ym-gpios: FET gate driver for input of Y- - interrupt-parent: phandle for the interrupt controller - interrupts: pen irq interrupt for touch detection - pinctrl-names: "idle", "default", "gpios" - pinctrl-0: pinctrl node for pen/touch detection state pinmux - pinctrl-1: pinctrl node for X/Y and pressure measurement (ADC) state pinmux - pinctrl-2: pinctrl node for gpios functioning as FET gate drivers - vf50-ts-min-pressure: pressure level at which to stop measuring X/Y values Example: touchctrl: vf50_touchctrl { compatible = "toradex,vf50-touchscreen"; io-channels = <&adc1 0>,<&adc0 0>, <&adc0 1>,<&adc1 2>; xp-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; xm-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; yp-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; ym-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; interrupt-parent = <&gpio0>; interrupts = <8 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "idle","default","gpios"; pinctrl-0 = <&pinctrl_touchctrl_idle>; pinctrl-1 = <&pinctrl_touchctrl_default>; pinctrl-2 = <&pinctrl_touchctrl_gpios>; vf50-ts-min-pressure = <200>; status = "disabled"; };
Documentation/devicetree/bindings/input/touchscreen/imx6ul_tsc.txt 0 → 100644 +36 −0 Original line number Diff line number Diff line * Freescale i.MX6UL Touch Controller Required properties: - compatible: must be "fsl,imx6ul-tsc". - reg: this touch controller address and the ADC2 address. - interrupts: the interrupt of this touch controller and ADC2. - clocks: the root clock of touch controller and ADC2. - clock-names; must be "tsc" and "adc". - xnur-gpio: the X- gpio this controller connect to. This xnur-gpio returns to low once the finger leave the touch screen (The last touch event the touch controller capture). Optional properties: - measure-delay-time: the value of measure delay time. Before X-axis or Y-axis measurement, the screen need some time before even potential distribution ready. This value depends on the touch screen. - pre-charge-time: the touch screen need some time to precharge. This value depends on the touch screen. Example: tsc: tsc@02040000 { compatible = "fsl,imx6ul-tsc"; reg = <0x02040000 0x4000>, <0x0219c000 0x4000>; interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6UL_CLK_IPG>, <&clks IMX6UL_CLK_ADC2>; clock-names = "tsc", "adc"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_tsc>; xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>; measure-delay-time = <0xfff>; pre-charge-time = <0xffff>; status = "okay"; };
drivers/input/evdev.c +4 −9 Original line number Diff line number Diff line Loading @@ -290,19 +290,14 @@ static int evdev_flush(struct file *file, fl_owner_t id) { struct evdev_client *client = file->private_data; struct evdev *evdev = client->evdev; int retval; retval = mutex_lock_interruptible(&evdev->mutex); if (retval) return retval; mutex_lock(&evdev->mutex); if (!evdev->exist || client->revoked) retval = -ENODEV; else retval = input_flush_device(&evdev->handle, file); if (evdev->exist && !client->revoked) input_flush_device(&evdev->handle, file); mutex_unlock(&evdev->mutex); return retval; return 0; } static void evdev_free(struct device *dev) Loading
drivers/input/keyboard/imx_keypad.c +0 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,6 @@ * 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. * * <<Power management needs to be implemented>>. */ #include <linux/clk.h> Loading
drivers/input/misc/ab8500-ponkey.c +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ static const struct of_device_id ab8500_ponkey_match[] = { { .compatible = "stericsson,ab8500-ponkey", }, {} }; MODULE_DEVICE_TABLE(of, ab8500_ponkey_match); #endif static struct platform_driver ab8500_ponkey_driver = { Loading