Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Jun 2014 01:46:02 +0000 (18:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Jun 2014 01:46:02 +0000 (18:46 -0700)
Pull input updates from Dmitry Torokhov:
 "A big update to the Atmel touchscreen driver, devm support for polled
  input devices, several drivers have been converted to using managed
  resources, and assorted driver fixes"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (87 commits)
  Input: synaptics - fix resolution for manually provided min/max
  Input: atmel_mxt_ts - fix invalid return from mxt_get_bootloader_version
  Input: max8997_haptic - add error handling for regulator and pwm
  Input: elantech - don't set bit 1 of reg_10 when the no_hw_res quirk is set
  Input: elantech - deal with clickpads reporting right button events
  Input: edt-ft5x06 - fix an i2c write for M09 support
  Input: omap-keypad - remove platform data support
  ARM: OMAP2+: remove unused omap4-keypad file and code
  Input: ab8500-ponkey - switch to using managed resources
  Input: max8925_onkey - switch to using managed resources
  Input: 88pm860x-ts - switch to using managed resources
  Input: 88pm860x_onkey - switch to using managed resources
  Input: intel-mid-touch - switch to using managed resources
  Input: wacom - process outbound for newer Cintiqs
  Input: wacom - set stylus_in_proximity when pen is in range
  DTS: ARM: OMAP3-N900: Add tsc2005 support
  Input: tsc2005 - add DT support
  Input: add common DT binding for touchscreens
  Input: jornada680_kbd - switch top using managed resources
  Input: adp5520-keys - switch to using managed resources
  ...

1  2 
arch/arm/boot/dts/omap3-n900.dts
arch/arm/mach-s5pv210/mach-goni.c
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/Makefile

index 059a8ff1e6ac93374bb9a4e014a661c3809d36ce,cb8ed2d51d2404283713ed126bf67d9f4fa246ca..ae8ae3f4f9bfd25870735289c175325d0f9bd440
@@@ -10,7 -10,6 +10,7 @@@
  /dts-v1/;
  
  #include "omap34xx-hs.dtsi"
 +#include <dt-bindings/input/input.h>
  
  / {
        model = "Nokia N900";
                };
        };
  
 +      leds {
 +              compatible = "gpio-leds";
 +              heartbeat {
 +                      label = "debug::sleep";
 +                      gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;  /* gpio162 */
 +                      linux,default-trigger = "default-on";
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&debug_leds>;
 +              };
 +      };
 +
        memory {
                device_type = "memory";
                reg = <0x80000000 0x10000000>; /* 256 MB */
                        };
                };
        };
 +
 +      sound: n900-audio {
 +              compatible = "nokia,n900-audio";
 +
 +              nokia,cpu-dai = <&mcbsp2>;
 +              nokia,audio-codec = <&tlv320aic3x>, <&tlv320aic3x_aux>;
 +              nokia,headphone-amplifier = <&tpa6130a2>;
 +
 +              tvout-selection-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; /* 40 */
 +              jack-detection-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* 177 */
 +              eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */
 +              speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
 +      };
  };
  
  &omap3_pmx_core {
                >;
        };
  
 +      debug_leds: pinmux_debug_led_pins {
 +              pinctrl-single,pins = <
 +                      OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4)       /* mcbsp1_clkx.gpio_162 */
 +              >;
 +      };
 +
 +      mcspi4_pins: pinmux_mcspi4_pins {
 +              pinctrl-single,pins = <
 +                      0x15c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
 +                      0x162 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
 +                      0x160 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
 +                      0x166 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
 +              >;
 +      };
 +
        mmc1_pins: pinmux_mmc1_pins {
                pinctrl-single,pins = <
                        0x114 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_clk */
                        0x0da (PIN_OUTPUT | MUX_MODE1)   /* dss_data23.sdi_clkn */
                >;
        };
 +
 +      wl1251_pins: pinmux_wl1251 {
 +              pinctrl-single,pins = <
 +                      0x0ce (PIN_OUTPUT | MUX_MODE4)          /* gpio 87 => wl1251 enable */
 +                      0x05a (PIN_INPUT | MUX_MODE4)           /* gpio 42 => wl1251 irq */
 +              >;
 +      };
 +
 +      ssi_pins: pinmux_ssi {
 +              pinctrl-single,pins = <
 +                      0x150 (PIN_INPUT_PULLUP | MUX_MODE1)    /* ssi1_rdy_tx */
 +                      0x14e (PIN_OUTPUT | MUX_MODE1)          /* ssi1_flag_tx */
 +                      0x152 (PIN_INPUT | WAKEUP_EN | MUX_MODE4) /* ssi1_wake_tx (cawake) */
 +                      0x14c (PIN_OUTPUT | MUX_MODE1)          /* ssi1_dat_tx */
 +                      0x154 (PIN_INPUT | MUX_MODE1)           /* ssi1_dat_rx */
 +                      0x156 (PIN_INPUT | MUX_MODE1)           /* ssi1_flag_rx */
 +                      0x158 (PIN_OUTPUT | MUX_MODE1)          /* ssi1_rdy_rx */
 +                      0x15a (PIN_OUTPUT | MUX_MODE1)          /* ssi1_wake */
 +              >;
 +      };
 +
 +      modem_pins: pinmux_modem {
 +              pinctrl-single,pins = <
 +                      0x0ac (PIN_OUTPUT | MUX_MODE4)          /* gpio 70 => cmt_apeslpx */
 +                      0x0b0 (PIN_INPUT | WAKEUP_EN | MUX_MODE4) /* gpio 72 => ape_rst_rq */
 +                      0x0b2 (PIN_OUTPUT | MUX_MODE4)          /* gpio 73 => cmt_rst_rq */
 +                      0x0b4 (PIN_OUTPUT | MUX_MODE4)          /* gpio 74 => cmt_en */
 +                      0x0b6 (PIN_OUTPUT | MUX_MODE4)          /* gpio 75 => cmt_rst */
 +                      0x15e (PIN_OUTPUT | MUX_MODE4)          /* gpio 157 => cmt_bsi */
 +              >;
 +      };
  };
  
  &i2c1 {
  };
  
  &twl_keypad {
 -      linux,keymap = < 0x00000010 /* KEY_Q */
 -                       0x00010018 /* KEY_O */
 -                       0x00020019 /* KEY_P */
 -                       0x00030033 /* KEY_COMMA */
 -                       0x0004000e /* KEY_BACKSPACE */
 -                       0x0006001e /* KEY_A */
 -                       0x0007001f /* KEY_S */
 -
 -                       0x01000011 /* KEY_W */
 -                       0x01010020 /* KEY_D */
 -                       0x01020021 /* KEY_F */
 -                       0x01030022 /* KEY_G */
 -                       0x01040023 /* KEY_H */
 -                       0x01050024 /* KEY_J */
 -                       0x01060025 /* KEY_K */
 -                       0x01070026 /* KEY_L */
 -
 -                       0x02000012 /* KEY_E */
 -                       0x02010034 /* KEY_DOT */
 -                       0x02020067 /* KEY_UP */
 -                       0x0203001c /* KEY_ENTER */
 -                       0x0205002c /* KEY_Z */
 -                       0x0206002d /* KEY_X */
 -                       0x0207002e /* KEY_C */
 -                       0x02080043 /* KEY_F9 */
 -
 -                       0x03000013 /* KEY_R */
 -                       0x0301002f /* KEY_V */
 -                       0x03020030 /* KEY_B */
 -                       0x03030031 /* KEY_N */
 -                       0x03040032 /* KEY_M */
 -                       0x03050039 /* KEY_SPACE */
 -                       0x03060039 /* KEY_SPACE */
 -                       0x03070069 /* KEY_LEFT */
 -
 -                       0x04000014 /* KEY_T */
 -                       0x0401006c /* KEY_DOWN */
 -                       0x0402006a /* KEY_RIGHT */
 -                       0x0404001d /* KEY_LEFTCTRL */
 -                       0x04050064 /* KEY_RIGHTALT */
 -                       0x0406002a /* KEY_LEFTSHIFT */
 -                       0x04080044 /* KEY_F10 */
 -
 -                       0x05000015 /* KEY_Y */
 -                       0x05080057 /* KEY_F11 */
 -
 -                       0x06000016 /* KEY_U */
 -
 -                       0x07000017 /* KEY_I */
 -                       0x07010041 /* KEY_F7 */
 -                       0x07020042 /* KEY_F8 */
 +      linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_Q)
 +                       MATRIX_KEY(0x00, 0x01, KEY_O)
 +                       MATRIX_KEY(0x00, 0x02, KEY_P)
 +                       MATRIX_KEY(0x00, 0x03, KEY_COMMA)
 +                       MATRIX_KEY(0x00, 0x04, KEY_BACKSPACE)
 +                       MATRIX_KEY(0x00, 0x06, KEY_A)
 +                       MATRIX_KEY(0x00, 0x07, KEY_S)
 +
 +                       MATRIX_KEY(0x01, 0x00, KEY_W)
 +                       MATRIX_KEY(0x01, 0x01, KEY_D)
 +                       MATRIX_KEY(0x01, 0x02, KEY_F)
 +                       MATRIX_KEY(0x01, 0x03, KEY_G)
 +                       MATRIX_KEY(0x01, 0x04, KEY_H)
 +                       MATRIX_KEY(0x01, 0x05, KEY_J)
 +                       MATRIX_KEY(0x01, 0x06, KEY_K)
 +                       MATRIX_KEY(0x01, 0x07, KEY_L)
 +
 +                       MATRIX_KEY(0x02, 0x00, KEY_E)
 +                       MATRIX_KEY(0x02, 0x01, KEY_DOT)
 +                       MATRIX_KEY(0x02, 0x02, KEY_UP)
 +                       MATRIX_KEY(0x02, 0x03, KEY_ENTER)
 +                       MATRIX_KEY(0x02, 0x05, KEY_Z)
 +                       MATRIX_KEY(0x02, 0x06, KEY_X)
 +                       MATRIX_KEY(0x02, 0x07, KEY_C)
 +                       MATRIX_KEY(0x02, 0x08, KEY_F9)
 +
 +                       MATRIX_KEY(0x03, 0x00, KEY_R)
 +                       MATRIX_KEY(0x03, 0x01, KEY_V)
 +                       MATRIX_KEY(0x03, 0x02, KEY_B)
 +                       MATRIX_KEY(0x03, 0x03, KEY_N)
 +                       MATRIX_KEY(0x03, 0x04, KEY_M)
 +                       MATRIX_KEY(0x03, 0x05, KEY_SPACE)
 +                       MATRIX_KEY(0x03, 0x06, KEY_SPACE)
 +                       MATRIX_KEY(0x03, 0x07, KEY_LEFT)
 +
 +                       MATRIX_KEY(0x04, 0x00, KEY_T)
 +                       MATRIX_KEY(0x04, 0x01, KEY_DOWN)
 +                       MATRIX_KEY(0x04, 0x02, KEY_RIGHT)
 +                       MATRIX_KEY(0x04, 0x04, KEY_LEFTCTRL)
 +                       MATRIX_KEY(0x04, 0x05, KEY_RIGHTALT)
 +                       MATRIX_KEY(0x04, 0x06, KEY_LEFTSHIFT)
 +                       MATRIX_KEY(0x04, 0x08, KEY_F10)
 +
 +                       MATRIX_KEY(0x05, 0x00, KEY_Y)
 +                       MATRIX_KEY(0x05, 0x08, KEY_F11)
 +
 +                       MATRIX_KEY(0x06, 0x00, KEY_U)
 +
 +                       MATRIX_KEY(0x07, 0x00, KEY_I)
 +                       MATRIX_KEY(0x07, 0x01, KEY_F7)
 +                       MATRIX_KEY(0x07, 0x02, KEY_F8)
                         >;
  };
  
         * Also... order in the device tree actually matters here.
         */
        tsc2005@0 {
-               compatible = "tsc2005";
+               compatible = "ti,tsc2005";
                spi-max-frequency = <6000000>;
                reg = <0>;
+               vio-supply = <&vio>;
+               reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
+               interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */
+               touchscreen-fuzz-x = <4>;
+               touchscreen-fuzz-y = <7>;
+               touchscreen-fuzz-pressure = <2>;
+               touchscreen-max-x = <4096>;
+               touchscreen-max-y = <4096>;
+               touchscreen-max-pressure = <2048>;
+               ti,x-plate-ohms = <280>;
+               ti,esd-recovery-timeout-ms = <8000>;
        };
  
        acx565akm@2 {
        };
  };
  
 +&mcspi4 {
 +      pinctrl-names = "default";
 +      pinctrl-0 = <&mcspi4_pins>;
 +
 +      wl1251@0 {
 +              pinctrl-names = "default";
 +              pinctrl-0 = <&wl1251_pins>;
 +
 +              vio-supply = <&vio>;
 +
 +              compatible = "ti,wl1251";
 +              reg = <0>;
 +              spi-max-frequency = <48000000>;
 +
 +              spi-cpol;
 +              spi-cpha;
 +
 +              ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
 +
 +              interrupt-parent = <&gpio2>;
 +              interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
 +      };
 +};
 +
  &usb_otg_hs {
        interface-type = <0>;
        usb-phy = <&usb2_phy>;
  };
  
  &uart2 {
 +      interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
        pinctrl-names = "default";
        pinctrl-0 = <&uart2_pins>;
  };
  
  &uart3 {
 +      interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
        pinctrl-names = "default";
        pinctrl-0 = <&uart3_pins>;
  };
                };
        };
  };
 +
 +&mcbsp2 {
 +      status = "ok";
 +};
 +
 +&ssi_port1 {
 +      pinctrl-names = "default";
 +      pinctrl-0 = <&ssi_pins>;
 +
 +      ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
 +
 +      modem: hsi-client {
 +              compatible = "nokia,n900-modem";
 +
 +              pinctrl-names = "default";
 +              pinctrl-0 = <&modem_pins>;
 +
 +              hsi-channel-ids = <0>, <1>, <2>, <3>;
 +              hsi-channel-names = "mcsaab-control",
 +                                  "speech-control",
 +                                  "speech-data",
 +                                  "mcsaab-data";
 +              hsi-speed-kbps = <55000>;
 +              hsi-mode = "frame";
 +              hsi-flow = "synchronized";
 +              hsi-arb-mode = "round-robin";
 +
 +              interrupts-extended = <&gpio3 8 IRQ_TYPE_EDGE_FALLING>; /* 72 */
 +
 +              gpios = <&gpio3  6 GPIO_ACTIVE_HIGH>, /* 70 */
 +                      <&gpio3  9 GPIO_ACTIVE_HIGH>, /* 73 */
 +                      <&gpio3 10 GPIO_ACTIVE_HIGH>, /* 74 */
 +                      <&gpio3 11 GPIO_ACTIVE_HIGH>, /* 75 */
 +                      <&gpio5 29 GPIO_ACTIVE_HIGH>; /* 157 */
 +              gpio-names = "cmt_apeslpx",
 +                           "cmt_rst_rq",
 +                           "cmt_en",
 +                           "cmt_rst",
 +                           "cmt_bsi";
 +      };
 +};
 +
 +&ssi_port2 {
 +      status = "disabled";
 +};
index 6c719eccb94ecbb9449f6ee721727e290efef0e7,bb9354f45e27f2d64bf3e46d2cd63b04d0f4865d..c1ce921c4088dfab9b682f0c2a524fe8059f1451
  #include <plat/clock.h>
  #include <plat/samsung-time.h>
  #include <plat/mfc.h>
 -#include <plat/camport.h>
 -
 -#include <media/v4l2-mediabus.h>
 -#include <media/s5p_fimc.h>
 -#include <media/noon010pc30.h>
  
  #include "common.h"
  
@@@ -234,14 -239,6 +234,6 @@@ static void __init goni_radio_init(void
  
  /* TSP */
  static struct mxt_platform_data qt602240_platform_data = {
-       .x_line         = 17,
-       .y_line         = 11,
-       .x_size         = 800,
-       .y_size         = 480,
-       .blen           = 0x21,
-       .threshold      = 0x28,
-       .voltage        = 2800000,              /* 2.8V */
-       .orient         = MXT_DIAGONAL,
        .irqflags       = IRQF_TRIGGER_FALLING,
  };
  
@@@ -280,6 -277,14 +272,6 @@@ static void __init goni_tsp_init(void
  /* USB OTG */
  static struct s3c_hsotg_plat goni_hsotg_pdata;
  
 -static void goni_camera_init(void)
 -{
 -      s5pv210_fimc_setup_gpio(S5P_CAMPORT_A);
 -
 -      /* Set max driver strength on CAM_A_CLKOUT pin. */
 -      s5p_gpio_set_drvstr(S5PV210_GPE1(3), S5P_GPIO_DRVSTR_LV4);
 -}
 -
  /* MAX8998 regulators */
  #if defined(CONFIG_REGULATOR_MAX8998) || defined(CONFIG_REGULATOR_MAX8998_MODULE)
  
@@@ -812,6 -817,34 +804,6 @@@ static void goni_setup_sdhci(void
        s3c_sdhci2_set_platdata(&goni_hsmmc2_data);
  };
  
 -static struct noon010pc30_platform_data noon010pc30_pldata = {
 -      .clk_rate       = 16000000UL,
 -      .gpio_nreset    = S5PV210_GPB(2), /* CAM_CIF_NRST */
 -      .gpio_nstby     = S5PV210_GPB(0), /* CAM_CIF_NSTBY */
 -};
 -
 -static struct i2c_board_info noon010pc30_board_info = {
 -      I2C_BOARD_INFO("NOON010PC30", 0x60 >> 1),
 -      .platform_data = &noon010pc30_pldata,
 -};
 -
 -static struct fimc_source_info goni_camera_sensors[] = {
 -      {
 -              .mux_id         = 0,
 -              .flags          = V4L2_MBUS_PCLK_SAMPLE_FALLING |
 -                                V4L2_MBUS_VSYNC_ACTIVE_LOW,
 -              .fimc_bus_type  = FIMC_BUS_TYPE_ITU_601,
 -              .board_info     = &noon010pc30_board_info,
 -              .i2c_bus_num    = 0,
 -              .clk_frequency  = 16000000UL,
 -      },
 -};
 -
 -static struct s5p_platform_fimc goni_fimc_md_platdata __initdata = {
 -      .source_info    = goni_camera_sensors,
 -      .num_clients    = ARRAY_SIZE(goni_camera_sensors),
 -};
 -
  /* Audio device */
  static struct platform_device goni_device_audio = {
        .name = "smdk-audio",
@@@ -833,6 -866,10 +825,6 @@@ static struct platform_device *goni_dev
        &s5p_device_mixer,
        &s5p_device_sdo,
        &s3c_device_i2c0,
 -      &s5p_device_fimc0,
 -      &s5p_device_fimc1,
 -      &s5p_device_fimc2,
 -      &s5p_device_fimc_md,
        &s3c_device_hsmmc0,
        &s3c_device_hsmmc1,
        &s3c_device_hsmmc2,
@@@ -901,8 -938,14 +893,8 @@@ static void __init goni_machine_init(vo
        /* FB */
        s3c_fb_set_platdata(&goni_lcd_pdata);
  
 -      /* FIMC */
 -      s3c_set_platdata(&goni_fimc_md_platdata, sizeof(goni_fimc_md_platdata),
 -                       &s5p_device_fimc_md);
 -
        s3c_hsotg_set_platdata(&goni_hsotg_pdata);
  
 -      goni_camera_init();
 -
        /* SPI */
        spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
  
index d4e5ab57909fd132dc7e61291ed007901d23b8aa,e5987d393b441eb254de62d734c024b0f925f879..a23a94bb4bcbce1cb2e6319b95b1a6638be3c0e6
@@@ -11,6 -11,10 +11,10 @@@ menuconfig INPUT_TOUCHSCREE
  
  if INPUT_TOUCHSCREEN
  
+ config OF_TOUCHSCREEN
+       def_tristate INPUT
+       depends on INPUT && OF
  config TOUCHSCREEN_88PM860X
        tristate "Marvell 88PM860x touchscreen"
        depends on MFD_88PM860X
@@@ -89,6 -93,7 +93,7 @@@ config TOUCHSCREEN_AD7879_SP
  config TOUCHSCREEN_ATMEL_MXT
        tristate "Atmel mXT I2C Touchscreen"
        depends on I2C
+       select FW_LOADER
        help
          Say Y here if you have Atmel mXT series I2C touchscreen,
          such as AT42QT602240/ATMXT224, connected to your system.
@@@ -550,6 -555,18 +555,6 @@@ config TOUCHSCREEN_TI_AM335X_TS
          To compile this driver as a module, choose M here: the
          module will be called ti_am335x_tsc.
  
 -config TOUCHSCREEN_ATMEL_TSADCC
 -      tristate "Atmel Touchscreen Interface"
 -      depends on ARCH_AT91
 -      help
 -        Say Y here if you have a 4-wire touchscreen connected to the
 -          ADC Controller on your Atmel SoC.
 -
 -        If unsure, say N.
 -
 -        To compile this driver as a module, choose M here: the
 -        module will be called atmel_tsadcc.
 -
  config TOUCHSCREEN_UCB1400
        tristate "Philips UCB1400 touchscreen"
        depends on AC97_BUS
@@@ -846,7 -863,7 +851,7 @@@ config TOUCHSCREEN_TSC200
  
  config TOUCHSCREEN_W90X900
        tristate "W90P910 touchscreen driver"
-       depends on HAVE_CLK
+       depends on ARCH_W90X900
        help
          Say Y here if you have a W90P910 based touchscreen.
  
@@@ -885,6 -902,17 +890,17 @@@ config TOUCHSCREEN_STMP
          To compile this driver as a module, choose M here: the
          module will be called stmpe-ts.
  
+ config TOUCHSCREEN_SUN4I
+       tristate "Allwinner sun4i resistive touchscreen controller support"
+       depends on ARCH_SUNXI || COMPILE_TEST
+       depends on HWMON
+       help
+         This selects support for the resistive touchscreen controller
+         found on Allwinner sunxi SoCs.
+         To compile this driver as a module, choose M here: the
+         module will be called sun4i-ts.
  config TOUCHSCREEN_SUR40
        tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
        depends on USB
index 03f12a1f221819494139af161352f58689a4702a,4d479fb0a7686ee1e402cf539a3494dd2762cbf9..126479d8c29a55b10ae27dc7bb7de06b2bde96ee
@@@ -6,6 -6,7 +6,7 @@@
  
  wm97xx-ts-y := wm97xx-core.o
  
+ obj-$(CONFIG_OF_TOUCHSCREEN)          += of_touchscreen.o
  obj-$(CONFIG_TOUCHSCREEN_88PM860X)    += 88pm860x-ts.o
  obj-$(CONFIG_TOUCHSCREEN_AD7877)      += ad7877.o
  obj-$(CONFIG_TOUCHSCREEN_AD7879)      += ad7879.o
@@@ -13,6 -14,7 +14,6 @@@ obj-$(CONFIG_TOUCHSCREEN_AD7879_I2C)  +
  obj-$(CONFIG_TOUCHSCREEN_AD7879_SPI)  += ad7879-spi.o
  obj-$(CONFIG_TOUCHSCREEN_ADS7846)     += ads7846.o
  obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT)   += atmel_mxt_ts.o
 -obj-$(CONFIG_TOUCHSCREEN_ATMEL_TSADCC)        += atmel_tsadcc.o
  obj-$(CONFIG_TOUCHSCREEN_AUO_PIXCIR)  += auo-pixcir-ts.o
  obj-$(CONFIG_TOUCHSCREEN_BU21013)     += bu21013_ts.o
  obj-$(CONFIG_TOUCHSCREEN_CY8CTMG110)  += cy8ctmg110_ts.o
@@@ -53,6 -55,7 +54,7 @@@ obj-$(CONFIG_TOUCHSCREEN_PIXCIR)      += pix
  obj-$(CONFIG_TOUCHSCREEN_S3C2410)     += s3c2410_ts.o
  obj-$(CONFIG_TOUCHSCREEN_ST1232)      += st1232.o
  obj-$(CONFIG_TOUCHSCREEN_STMPE)               += stmpe-ts.o
+ obj-$(CONFIG_TOUCHSCREEN_SUN4I)               += sun4i-ts.o
  obj-$(CONFIG_TOUCHSCREEN_SUR40)               += sur40.o
  obj-$(CONFIG_TOUCHSCREEN_TI_AM335X_TSC)       += ti_am335x_tsc.o
  obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213)  += touchit213.o