Commit Graph

4324 Commits

Author SHA1 Message Date
Linux Build Service Account 7626bbe474 Merge "input: sensors: optimize AP3426 ALPS sensor power consumption" 2014-12-02 17:40:23 -08:00
Mohan Pallaka 5314679329 input: synaptics_dsx: reconfigure resolution in suspend
If the panel is programmed with incorrect resolution then
during the probe it gets corrected. During suspend this
might be lost because of reset. Reconfigure the resolution
parameters in such cases.

CRs-fixed: 751477
Change-Id: I7ba3acd2d0bad7e2359563cd7344a1ab95aa6319
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-12-01 15:35:04 -08:00
Linux Build Service Account e22a9bf63e Merge "input: sensors: add MPU6050 batching support" 2014-12-01 06:53:43 -08:00
Oliver Wang 1118ca7be3 input: sensors: optimize AP3426 ALPS sensor power consumption
Optimize AP3426 power consumption by changing interrupt trigger
conditions and setting correct output data rate.

Change-Id: I21fc78423d0913667d117ec8bb7a1e23cf09bbad
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-12-01 16:37:48 +08:00
Bingzhe Cai c38f60996a input: sensors: add MPU6050 batching support
Update MPU6050 driver to add "set latency" and "flush"
interface, with these new interface sensor can run in
batching mode, a sensor in batching mode will buffer
sensor events into its internal FIFO and process them
in batch.

Change-Id: I71906f966e73c8134e22b425fcb613e015ee0712
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-12-01 15:28:28 +08:00
Linux Build Service Account 9b9126b9ea Merge "touchscreen: synaptics_dsx: set absolute axes for touchscreen" 2014-11-29 04:53:12 -08:00
Linux Build Service Account aaea28f23a Merge "input: sensor: Add mpu6880 support for mpu6050 driver" 2014-11-29 04:53:03 -08:00
Linux Build Service Account 0519f1dcd8 Merge "ARM: dts: msm: correct Focaltech CTP irq flag configuration" 2014-11-28 06:56:31 -08:00
Shantanu Jain 6e0f241e6d touchscreen: synaptics_dsx: set absolute axes for touchscreen
Android considers that minimum and maximum values of the
ABS_MT_POSITION_X and ABS_MT_POSITION_Y axes define the bounds
of the active area of the device in device-specific surface
units. These axes are stored inside the input_absinfo array of
the registered input devices. For touchscreen devices, these
axes are normally configured during driver's probe time.
However, some usecases would want to shrink or expand this
active area of the touch device on runtime. This patch adds
flexibility to configure these axes for touch screen's
corresponding input device.

Change-Id: I45e02bb93f02365ae44cffb04e8674244e4e372b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-11-28 14:44:05 +05:30
Linux Build Service Account 4c498ce92d Merge "input: sensors: Clean up Intersil isl29044a ALPS driver" 2014-11-26 22:27:57 -08:00
Linux Build Service Account d35a2497e8 Merge "input: misc: Add isl29044a driver" 2014-11-26 22:27:57 -08:00
Mao Li 2bf3f6c3cf ARM: dts: msm: correct Focaltech CTP irq flag configuration
Fixed below irq flag issues of Focaltech CTP:
Focaltech CTP firmware generates edge interrupt to MSM, but the
interrupt type in DTSI is level, which will cause CTP interrupt
cannot wake up MSM when system is in deep sleep. Fix this by
setting edge irq flag in DTSI.

For GPIO irq, the irq flag should be specified in "interrupts"
node. Msm_gpio module will only use the lower 8-bit of
"interrupts" node and discards the upper bits. If we specify
0x2002 in "interrupts" node, the upper bits(0x2000) is not used
by msm_gpio, only lower bits(0x2) is used, that means only
lower bits(0x2) should be set in "interrupts" node.

"focaltech,irq-gpio" node is used to specify gpio property,
rather than irq flag. Remove the irq flag setting in this node.

In driver code, specify only "IRQF_ONESHOT". The irq trigger type
is specified by DTSI "interrupts" node. See above.

Change-Id: I4cd8596fb4538b701317f01a6cafaa771041ffdd
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-11-27 01:02:04 -05:00
Gustavo Solaira a1b10addf4 input: sensors: Clean up Intersil isl29044a ALPS driver
Do cleanup to fix all checkpatch errors, fix obvious problems
and add device tree documentation.

Change-Id: Ia3ef0a711b2cccc9058d5ebd307ec0ca1318fe73
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-11-26 18:04:13 -03:00
Danier Chen 67e8cc1b3e input: misc: Add isl29044a driver
Add Intersil ISL29044A ALPS sensor driver.

Change-Id: Ia55f760a15bddf84e4a90458222603dd9b17c406
Git-commit: b533b38c7a1a77720a448ea1d24245fc5d8ba7e4
Git-repo: https://github.com/Foxda-Tech/argo8-kernel.git
[gustavos@codeaurora.org: Add config and makefile changes
 from upstream change 265f06cf655084ae9bd7e4ae37cf84a41747d2c9]
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-11-26 18:02:52 -03:00
Gustavo Solaira 5f199e5ee1 input: sensor: Add mpu6880 support for mpu6050 driver
MPU6880 chip is compatible with mpu6050 driver,
add the compatible string for correct matching.

Change-Id: I9fef5df6769bf426a45246a97d2ba2fedd9e5909
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-11-26 17:37:15 -03:00
Mao Li 971ecc03ca input: ft5x06_ts: add proximity feature support
Focaltech's CTP FT6436 is able to behave like a proximity sensor.
Enable the driver support this new feature.

Change-Id: I7a6ec3a387536c512637b0bd8dab95e7cceca212
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-11-25 23:59:09 -05:00
Linux Build Service Account c37b818106 Merge "input: sensors: add AP3426 ALPS sensor Makefile and Kconfig" 2014-11-24 20:55:21 -08:00
Linux Build Service Account c8b0dc3d88 Merge "input: sensors: Add vdd-min-uv property to mpu6050 driver" 2014-11-24 08:42:31 -08:00
Oliver Wang d461d6af87 input: sensors: add AP3426 ALPS sensor Makefile and Kconfig
AP3426 is an ambient light and proximity sensor from dyna image.
It can measure light intensity and object distance. Add Makefile
and Kconfig to enable AP3426 driver.

Change-Id: Ia9ba2ed604de6b2768f5256e13ab84e95c915f7b
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-11-24 16:06:00 +08:00
Linux Build Service Account 6e817e25f1 Merge "input: sensors: add Dyna Image AP3426 ALPS sensor driver" 2014-11-23 01:10:03 -08:00
Pali Rohár abf9765d3b Input: alps - allow up to 2 invalid packets without resetting device
commit 9d720b34c0a432639252f63012e18b0507f5b432 upstream.

On some Dell Latitude laptops ALPS device or Dell EC send one invalid byte
in 6 bytes ALPS packet. In this case psmouse driver enter out of sync
state. It looks like that all other bytes in packets are valid and also
device working properly. So there is no need to do full device reset, just
need to wait for byte which match condition for first byte (start of
packet). Because ALPS packets are bigger (6 or 8 bytes) default limit is
small.

This patch increase number of invalid bytes to size of 2 ALPS packets which
psmouse driver can drop before do full reset.

Resetting ALPS devices take some time and when doing reset on some Dell
laptops touchpad, trackstick and also keyboard do not respond. So it is
better to do it only if really necessary.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-21 09:22:54 -08:00
Pali Rohár bff25f7d40 Input: alps - ignore potential bare packets when device is out of sync
commit 4ab8f7f320f91f279c3f06a9795cfea5c972888a upstream.

5th and 6th byte of ALPS trackstick V3 protocol match condition for first
byte of PS/2 3 bytes packet. When driver enters out of sync state and ALPS
trackstick is sending data then driver match 5th, 6th and next 1st bytes as
PS/2.

It basically means if user is using trackstick when driver is in out of
sync state driver will never resync. Processing these bytes as 3 bytes PS/2
data cause total mess (random cursor movements, random clicks) and make
trackstick unusable until psmouse driver decide to do full device reset.

Lot of users reported problems with ALPS devices on Dell Latitude E6440,
E6540 and E7440 laptops. ALPS device or Dell EC for unknown reason send
some invalid ALPS PS/2 bytes which cause driver out of sync. It looks like
that i8042 and psmouse/alps driver always receive group of 6 bytes packets
so there are no missing bytes and no bytes were inserted between valid
ones.

This patch does not fix root of problem with ALPS devices found in Dell
Latitude laptops but it does not allow to process some (invalid)
subsequence of 6 bytes ALPS packets as 3 bytes PS/2 when driver is out of
sync.

So with this patch trackstick input device does not report bogus data when
also driver is out of sync, so trackstick should be usable on those
machines.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-21 09:22:53 -08:00
Oliver Wang 5948b602f6 input: sensors: add Dyna Image AP3426 ALPS sensor driver
msm8909 SKUC uses AP3426 as ambient light and proximity sensor.
Add AP3426 sensor driver to enable it.

Change-Id: Ic18674066314d997f9d4a2cfb34e2a922dbf2849
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-11-21 12:46:33 +08:00
Oliver Wang ec2e92b846 input: sensors: fix batching can't be disabled issue
Batching should be disabled after writing 0 to max_latency sysfs
node. Fix it by correct the batching activation logic.

Change-Id: Idbdc883fcbb9d4ad4042512068becf69725f4650
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-11-20 18:37:52 +08:00
Gustavo Solaira 65166f4256 input: sensors: Add vdd-min-uv property to mpu6050 driver
Add the vdd-min-uv property so the VDD voltage can
be configured through the device tree. This is
required by some parts that use 1.8V as the nominal
VDD voltage.

Change-Id: I66ef0432bfc804a0980d41892855f3e229840035
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-11-18 13:55:09 -03:00
Hans de Goede 55a72275d9 Input: i8042 - quirks for Fujitsu Lifebook A544 and Lifebook AH544
commit 993b3a3f80a7842a48cd46c2b41e1b3ef6302468 upstream.

These models need i8042.notimeout, otherwise the touchpad will not work.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=69731
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1111138
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-14 08:47:56 -08:00
Hans de Goede 3b8bb8fbc6 Input: i8042 - add noloop quirk for Asus X750LN
commit 9ff84a17302aeb8913ff244ecc0d8f9d219fecb5 upstream.

Without this the aux port does not get detected, and consequently the
touchpad will not work.

https://bugzilla.redhat.com/show_bug.cgi?id=1110011

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-14 08:47:56 -08:00
Linux Build Service Account 3da640be81 Merge "input: sensors: Fix mc3xxx compilation for arm64" 2014-11-14 01:16:26 -08:00
Shantanu Jain 36ff7af2ed input: atmel_mxt_ts: add support for configuring soft keys
The touchscreen controllers are field-swappable on both customer
devices and internal reference devices. It is possible to have
multiple Atmel touch controllers where each controller would
support softkeys in a different way. While some Atmel touch
controllers support sending a series of keys (using T15 object),
some others report native X-Y touch coordinates of the touch
sensor in the soft key region. While in the earlier case, the
touch sensor directly reports the key codes and hence there is
no need for software to do any translation, In the latter case
software needs to translate these coordinates to keycodes.

The current architecture of Atmel touchscreen driver does not
have support to disambiguate between more than two Atmel touch
controllers that send coordinates in lieu of key codes. To
support this functionality in driver, a device-tree property
is defined that describes the key codes for the soft-key area.
The driver calculates the total soft key area based on the
display resolution and touch sensor dimensions. Based on the
total soft-key area and number of keys to be supported, it
calculates the area for each of the soft-keys. It exports this
information to userspace by populating a sysfs file. User-space
programs can then translate the touch coordinates received to
key codes.

Change-Id: I69c411f65f439dddf39f00b31fb409bb3e5c54bf
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-11-11 01:05:03 -08:00
Gustavo Solaira 9c65f4e779 input: sensors: Fix mc3xxx compilation for arm64
Compilation for mc3xxx fails in arm64 because it does
not have mach/hardware.h header file.

Change-Id: Iedd0063a19d09f2dbbb81a9efdacf99fb04e8839
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-11-07 18:03:09 -03:00
Mohan Pallaka 495f25d0a7 input: synaptics_dsx: handle all controller interrupts
Service all types of interrupts generated by the controller
such as  the spontaneous reset. Not handling these interrupts
can cause an interrupt storm as controller wouldn't deactivate
the interrupt line.

Change-Id: Ib6f3b1b8003b8b927951fa2f0cc2bf3de872e6d5
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-11-06 17:53:30 -08:00
Linux Build Service Account e565ee19dc Merge "input: sensors: make MPU6050 "i2c-supply" property optional" 2014-11-06 09:29:21 -08:00
Mohan Pallaka de784da7e1 input: atmel_maxtouch_ts: recover from bootloader
If the firmware is not properly updated, the controller
would stuck in bootloader mode.  Make sure this scenario
does not cause any crash and inform the user to do
manual firmware update.

Change-Id: I1ac96628b282afbfdbe53e1e34369b9e72c1614c
CRs-fixed: 748032
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-11-03 16:50:50 -08:00
Bingzhe Cai 2e4324edd8 input: sensors: make MPU6050 "i2c-supply" property optional
Some devices do not have separate regulator for I2C bus pull-up,
the property "vi2c-supply" should be optional property. This change
updates MPU6050 driver to continue without this property, binding
document is also updated accordingly.

Change-Id: I77210eadb858392efdc13911ae1a0a03b346523c
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-11-01 23:06:45 +08:00
Linux Build Service Account f35a93d1ef Merge "input: sensors: Clean up mCube mc3xxx accelerometer driver" 2014-10-31 15:12:45 -07:00
Linux Build Service Account dd6ad139e4 Merge "input: misc: mc3xxx driver" 2014-10-31 15:12:45 -07:00
Linux Build Service Account 8dbe343624 Merge "input: hbtp_input: bypass alphabetical and numeric key config" 2014-10-29 09:20:53 -07:00
Gustavo Solaira fb3b0c2b45 input: sensors: Clean up mCube mc3xxx accelerometer driver
Do cleanup to fix all checkpatch errors and fix obvious problems.

Change-Id: Ib37ec7be6827142f71a41b44d2a987b7e4439cbb
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-10-27 11:08:20 -03:00
Linux Build Service Account 72d1077be0 Merge "input: bu21150: fix unbalanced irq calls" 2014-10-26 08:14:02 -07:00
Linux Build Service Account beceaa3b18 Merge "input: atmel_mxt_ts: add support for pinctrl framework" 2014-10-26 08:13:53 -07:00
Linux Build Service Account f99eabb0bf Merge "input: synaptics_dsx: remove query operation from reinit" 2014-10-26 04:37:56 -07:00
Chun Zhang 20bf9c5f71 input: hbtp_input: bypass alphabetical and numeric key config
Android thinks hbtp_input is an alphabetical keyboard if these
keys are configured. This brings a mismatch between physical
hardware and Android configuration, and malfunction.

Change-Id: Iedce93d6313b544c85071baa88ba2cc253932e6b
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
2014-10-25 13:09:28 -07:00
Linux Build Service Account d4cd04e827 Merge "input: sensors: change sensor batching interface" 2014-10-24 22:51:08 -07:00
Linux Build Service Account 2bb24d78cc Merge "input: synaptics_dsx: remove vkey kobject in remove" 2014-10-24 19:22:21 -07:00
Jing Lin c861976b81 input: bu21150: fix unbalanced irq calls
In device open function, the client's irq is requested. In device release
function, the same irq is disabled. The calls are not balanced and cause
error when the device is re-opened. Fix it by changing disable_irq to
free_irq.

Change-Id: I9134837561e6fde369358c7b36e8b23a189ec8f2
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2014-10-24 15:44:52 -07:00
Mohan Pallaka 81021828a7 input: synaptics_dsx: remove query operation from reinit
Querying the device is not needed in re-initialization.
The data is already saved as part of probe sequence.
Remove query operation to improve latency.

Change-Id: I416a16701765f8329b1eb735627c8fbfc6fff6e1
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-10-24 15:43:19 -07:00
Keith Fallows 443f4e3158 input: synaptics: Fix to secure touch clock unbalance
A wrongly interpreted return code from pm_runtime_get_sync caused
clocks to be unprepared without being previously prepared
Also fix a merge typo for the on the suspend operation.

Change-Id: I03cd465976d8b5d7b5519c2122692d0bdba8ada8
Acked-by: Christian Bolis <cbolis@qti.qualcomm.com>
Signed-off-by: Keith Fallows <keithf@codeaurora.org>
2014-10-23 12:59:35 +01:00
Mohan Pallaka ee358c04f0 input: synaptics_dsx: remove vkey kobject in remove
Remove virtual key kobject in module remove only if vkeys
are supported.

CRs-fixed: 741470
Change-Id: I11460172a4c2dce99e4fd37f2aaf5b0d643f837c
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-10-22 18:57:49 -07:00
Sarada Prasanna Garnayak bc39350b37 input: atmel_mxt_ts: add support for pinctrl framework
Add support for pinctrl framework for GPIO configuration so
that the Atmel touch controller driver is compatible with
targets that use and targets that don't use pinctrl framework.
Also configured the gpio and pinctrl in driver suspend/resume
method for the run time power consumption.

Change-Id: Icacc96367081953ae08f4fbee954f15c216f1d98
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-10-22 18:35:09 +05:30
Oliver Wang ac87aa0de3 input: sensors: change sensor batching interface
The new Android sensor HAL requires more interfaces to communicate with
sensors driver. Change batching interface to meet the requirements. Sensor
drivers can use the interfaces to provide more features.

Change-Id: I7f3cbdcaa6f5473b038d1cdc07eb34685c1fca23
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-10-22 16:05:26 +08:00
Danier Chen 274aed056b input: misc: mc3xxx driver
Add Mcube mc3xxx 3-axis accelerometer driver.

Change-Id: I14052b210494b1476d5f70c1ee0a2ddbb648de93
Git-commit: ac88637edf30c20ba619911db334de1000ae6fa5
Git-repo: https://github.com/Foxda-Tech/argo8-kernel.git
[gustavos@codeaurora.org: fixed compilation error]
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-10-21 16:22:15 -03:00
Mohan Pallaka 99de486f52 input: synaptics_dsx: support for pm ops
Add support for pm ops only if early suspend
or fb notifications are not available.

CRs-fixed: 728814
Change-Id: If266faf9ef429b1efd368601b319624e32f1be2c
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-10-15 12:25:39 -07:00
Mohan Pallaka b3ec3adb54 input: atmel_maxtouch_ts: add support for force cfg update
Add sysfs interface for configuration update. As part
of configuration update resolution can be changed. So,
add interfaces to update the resolution to the display.
Refactor the code to be efficient with this usecase.

Change-Id: I529108eec21dd4505cbf3dd87e879217eb718b55
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-10-14 17:51:36 -07:00
Mohan Pallaka 828ec0cea7 input: atmel_maxtouch_ts: fix firmware update routines
Fix firmware and configuration update routines to follow
device specification. Parse the firmware and configuration
file names from DT and provide interfaces to read them
from user space.

Change-Id: I9fa2a13a17702cd26d36987a6584adf398e962a8
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-10-14 17:51:35 -07:00
Linux Build Service Account 8b4496d797 Merge "input: sensors: fix akm8963 sensor check status" 2014-10-12 11:50:34 -07:00
Linux Build Service Account 916363e150 Merge "input: sensors: modify akm8963 delay_mesc" 2014-10-12 11:50:33 -07:00
Linux Build Service Account cfceba198d Merge "input: atmel: Secure Touch support" 2014-10-11 18:13:06 -07:00
Linux Build Service Account 4993ef06f7 Merge "input: sensors: fix MPU6050 sample rate issue" 2014-10-11 14:54:06 -07:00
Linux Build Service Account fe9be50151 Merge "input: sensors: report accurate timestamp for mpu6050" 2014-10-11 14:54:03 -07:00
Linux Build Service Account 4b9033c7e3 Merge "input: synaptics: add support for unprogrammed panels" 2014-10-11 11:12:00 -07:00
Linux Build Service Account 35207115e5 Merge "input: sensors: register wake-up interface for MPU6050" 2014-10-09 08:10:51 -07:00
Bingzhe Cai 59b3e4bfde input: sensors: fix MPU6050 sample rate issue
MPU6050 hardware sample rate is fixed at 50Hz in polling mode, driver
cannot get enough number of new samples and fail on sensor frequency
check.

CRs-fixed: 736320
Change-Id: I5b2dfceda19639a97176232d0aba8f7c0c4e88e4
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-10-09 20:22:20 +08:00
Ananda Kishore 20a45fa506 input: sensors: report accurate timestamp for mpu6050
Associate accurate sensor event generation time to Accel
and Gyro data samples.Algorithms using Accel and Gyro data
need very accurate event generation timestamps.

Change-Id: Ie07c66bb986ab52ed812d3b6ddc93674db1b414e
Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
2014-10-09 16:24:09 +05:30
Keith Fallows efb81f4474 input: atmel: Secure Touch support
Add secure touch support to the new version of the Atmel MaxTouch
driver.

Change-Id: I3abb62ac27e01c0f448cab3d923d5d6dc11ff533
Signed-off-by: Keith Fallows <keithf@codeaurora.org>
2014-10-09 09:32:29 +01:00
Himanshu Aggarwal f8141f6656 input: synaptics: add support for unprogrammed panels
Some unprogrammed touch panels from touch vendor and
wrongly programmed touch panels from factory may
return incorrect touch sensor coordinate range when
their query registers are read via I2C transaction,
but these panels work fine in the field otherwise
and their data registers give correct coordinates.
These panels give incorrect coordinates range because
either they are not programmed with a firmware file
or there was an error in programming the firmware.
In such a scenario, touch driver should not compare
the coordinate ranges retreived from touch sensor
and DT node and allow the driver operation to continue
normally.

Change-Id: Id2a5d8e7c3298adc4a583a87d577adbe951003c5
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
2014-10-09 12:40:20 +05:30
Daqing Chen 72dc9238a7 input: sensors: fix akm8963 sensor check status
When akm8963 report data is read, fix the checking of the hardware
status. Now it is just checking the hardware status is overflow or not.

Change-Id: I41f4d400379c85e21b28529fb3469a6a9a9d19e3
CRs-Fixed: 725779
Signed-off-by: Daqing Chen <chendaqing@codeaurora.org>
2014-10-08 15:36:30 +08:00
Linux Build Service Account 72bc088b58 Merge "input: sensors: refine MPU6050 resume logic" 2014-10-07 21:19:11 -07:00
Linux Build Service Account 951e641576 Merge "input: synaptics: remove outdated header" 2014-10-06 22:52:13 -07:00
Hans de Goede 0663d904e1 Input: i8042 - add nomux quirk for Avatar AVIU-145A6
commit d2682118f4bb3ceb835f91c1a694407a31bb7378 upstream.

The sys_vendor / product_name are somewhat generic unfortunately, so this
may lead to some false positives. But nomux usually does no harm, where as
not having it clearly is causing problems on the Avatar AVIU-145A6.

https://bugzilla.kernel.org/show_bug.cgi?id=77391

Reported-by: Hugo P <saurosii@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:13 -07:00
Hans de Goede 6a45d25a83 Input: i8042 - add Fujitsu U574 to no_timeout dmi table
commit cc18a69c92d0972bc2fc5a047ee3be1e8398171b upstream.

https://bugzilla.kernel.org/show_bug.cgi?id=69731

Reported-by: Jason Robinson <mail@jasonrobinson.me>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:12 -07:00
Dmitry Torokhov 2b4e74c40c Input: atkbd - do not try 'deactivate' keyboard on any LG laptops
commit c01206796139e2b1feb7539bc72174fef1c6dc6e upstream.

We are getting more and more reports about LG laptops not having
functioning keyboard if we try to deactivate keyboard during probe.
Given that having keyboard deactivated is merely "nice to have"
instead of a hard requirement for probing, let's disable it on all
LG boxes instead of trying to hunt down particular models.

This change is prompted by patches trying to add "LG Electronics"/"ROCKY"
and "LG Electronics"/"LW60-F27B" to the DMI list.

https://bugzilla.kernel.org/show_bug.cgi?id=77051

Reported-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Reported-by: Georgios Tsalikis <georgios@tsalikis.net>
Tested-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:12 -07:00
Hans de Goede 9ec354827e Input: elantech - fix detection of touchpad on ASUS s301l
commit 271329b3c798b2102120f5df829071c211ef00ed upstream.

Adjust Elantech signature validation to account fo rnewer models of
touchpads.

Reported-and-tested-by: Màrius Monton <marius.monton@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:12 -07:00
Dmitry Torokhov 13ea4bd23a Input: synaptics - add support for ForcePads
commit 5715fc764f7753d464dbe094b5ef9cffa6e479a4 upstream.

ForcePads are found on HP EliteBook 1040 laptops. They lack any kind of
physical buttons, instead they generate primary button click when user
presses somewhat hard on the surface of the touchpad. Unfortunately they
also report primary button click whenever there are 2 or more contacts
on the pad, messing up all multi-finger gestures (2-finger scrolling,
multi-finger tapping, etc). To cope with this behavior we introduce a
delay (currently 50 msecs) in reporting primary press in case more
contacts appear.

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:12 -07:00
John Sung 08fb11395c Input: serport - add compat handling for SPIOCSTYPE ioctl
commit a80d8b02751060a178bb1f7a6b7a93645a7a308b upstream.

When running a 32-bit inputattach utility in a 64-bit system, there will be
error code "inputattach: can't set device type". This is caused by the
serport device driver not supporting compat_ioctl, so that SPIOCSTYPE ioctl
fails.

Signed-off-by: John Sung <penmount.touch@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:12 -07:00
Bingzhe Cai e9a9ff835a input: sensors: register wake-up interface for MPU6050
Sensor class enable_wakeup interface is to provide user space
interface to configure sensor to work on wake-up mode. This change
add MPU6050 wake-up callback function and register it to sensor
class.

Change-Id: If84ec2cd008c8cd1161b94de227aa1a3b45621a6
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-10-04 23:37:50 +08:00
Keith Fallows 720dd9b85a input: synaptics: remove outdated header
Remove the inclusion of the outdated (and now unused) asm/system.h.

Change-Id: Ic2081c61f4596d74560e00ffb4d486f7519ef473
Acked-by: Christian Bolis <cbolis@qti.qualcomm.com>
Signed-off-by: Keith Fallows <keithf@codeaurora.org>
2014-10-03 11:23:42 +01:00
Bingzhe Cai bb7b84c236 input: sensors: refine MPU6050 resume logic
MPU6050 axis standby bits are not set by default after
sensor power cycle, this results gyroscope and accelerometer
stay active and consume more power.

CRs-fixed: 731419
Change-Id: I606de419ca46695e9c1d451fa3860d10627683d0
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-10-02 12:24:46 +08:00
Daqing Chen 6ef179b178 input: sensors: modify akm8963 delay_mesc
As the initial delay time is 10000ms, 10s is a too long time to
report the first data. Modify the initial delay_mesc form 10000ms
to 10ms. So the report data can be reported in time.

Change-Id: I82968c93cc8d5b97536e38861ccbdc5b40db67cf
CRs-Fixed: 725779
Signed-off-by: Daqing Chen <chendaqing@codeaurora.org>
2014-09-29 12:52:31 +08:00
Linux Build Service Account a0bba46a75 Merge "input: sensors: change akm09911 measure mode to continuous" 2014-09-28 21:50:13 -07:00
Oliver Wang 1039904b8d input: sensors: change akm09911 measure mode to continuous
Continuous mode doesn't need to send SNG_MEASUREMENT command. It
can save some cpu cycles and reach higher polling rate.

CRs-fixed: 719393
Change-Id: I5abaae4050e58dc1ddf9265adfe84a7a34aed3d9
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-09-26 10:02:49 +08:00
Bingzhe Cai 2e08511529 input: sensor: enable MPU6050 motion detection
When MPU6050 is run in interrupt mode, its build in accelerometer will
stay powered on and the device is woken up when significant motion is
detected. This is part of sensor low power implementation.

Change-Id: I979d586413fd364d5fc787888fbd2369dcab83c9
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-09-25 23:56:28 +08:00
Linux Build Service Account 05a4cc0504 Merge "input: sensors: fix MPU6050 output scaling issue." 2014-09-23 19:49:05 -07:00
Linux Build Service Account fc574a2da7 Merge "input: sensors: add interrupt mode support for MPU6050" 2014-09-21 18:45:45 -07:00
Linux Build Service Account d61d426498 Merge "input: msg21xx_ts: Mstar touch driver optimization" 2014-09-21 15:49:01 -07:00
Linux Build Service Account de4e75db38 Merge "input: sensor: add support high resolution polling delay for akm09911" 2014-09-21 15:48:58 -07:00
Linux Build Service Account 73ca17e0a8 Merge "input: bu21149: add pinctrl and regulator support" 2014-09-20 17:16:36 -07:00
Linux Build Service Account 628780483f Merge "input: touchscreen: enable bu21150 driver" 2014-09-20 17:16:34 -07:00
Linux Build Service Account 66caeb669a Merge "input: touchscreen: bu21150-driver" 2014-09-20 17:16:33 -07:00
Bingzhe Cai a05ea8cd73 input: sensors: fix MPU6050 output scaling issue.
Convert accelerometer and gyroscope output according sensor full
measurement range. This allow gyroscope output to be convert
correctly and fix gyroscope output value issue.

Change-Id: I47790615c3549142878da6ee55c9d87e4b77fb1c
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-09-20 12:14:44 -07:00
Bingzhe Cai eb6fee87be input: sensors: add interrupt mode support for MPU6050
Add new function to configure interrupt register that allow sensor
to work on interrupt mode. When interrupt mode is enabled, sensor
can work at background and allow AP processor to sleep, it will
issue interrupt to wakeup AP processor until any preset condition is
meet.

Change-Id: I3e535af12ca200b744c9ee7a3f90a79f23640bd1
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-09-21 03:11:22 +08:00
Linux Build Service Account d4b902d758 Merge "input: add new input event code to pass timestamp to userspace" 2014-09-20 07:33:59 -07:00
Linux Build Service Account 509b40c911 Merge "input: sensors: add pinctrl support for MPU6050 driver" 2014-09-20 07:33:49 -07:00
Linux Build Service Account 00b994b5ee Merge "input: synaptics: add ability to distinguish touch part" 2014-09-19 08:02:39 -07:00
Chun Zhang c15e38ce38 input: bu21149: add pinctrl and regulator support
The bu21150 touch AFE driver does not have pinctrl and regulator to
access GPIOs and do power management. Therefore, add such change to
keep the feasibility.

Change-Id: Iab145096162e83d51aef75f61f3364a0298a3b47
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
2014-09-18 16:55:05 -07:00
Mao Li adbc104e3c input: msg21xx_ts: Mstar touch driver optimization
Mstar driver uses the ic-type DT property for dynamic detection
support. Driver reads a register from the controller and compares
both the values to check if connected touch controller is of
Mstar or not.
Remove all DBG messages and convert them to dev_dbg/info.
Add a debugfs entry for suspend/resume.
Remove ts_data/pdata global declaration and use dev_get_drvdata()
and input_set_drvdata()/dev_set_drvdata() instead.

Change-Id: Ia053745d48faf68b946fbb0cf16d392cbfdd2a3c
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-09-18 03:08:57 -07:00
Jing Lin 4c0e3fabee input: touchscreen: enable bu21150 driver
Enable the touch AFE driver for Rohm bu21150.

Change-Id: I313e427d347f95d1d46f735078cef383c595d1da
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2014-09-16 10:39:31 -07:00
iuchi 22b3215ff1 input: touchscreen: bu21150-driver
This driver is for Rohm's touch Analog Front End (AFE) bu21150. It
receives raw frame from touch AFE via SPI so that host processor
can process raw frame to generate touch coordinates.

Change-Id: I6548dbd064e90653c0642e1a40a8834182997c71
Signed-off-by: iuchi <shinya.iuchi.jg@j-display.com>
Git-commit: 7f0911a70b204a2ba90f66b1792b5229b23342eb
Git-repo: https://github.com/JapanDisplayInc/bu21150-driver
[jinglin@codeaurora.org: fix compilation errors on 3.10 kernel, fix bug
in array definition, add commit text]
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2014-09-16 10:38:50 -07:00
Oliver Wang 60afe4273e input: add new input event code to pass timestamp to userspace
There's timestamp jitter between the input events and input_sync.
Add two more event code to pass the timestamp to userspace. This
is needed since some input devices such as sensors need to retrieve
the accurate timestamp of the events generated.

Change-Id: I8d83739dfa4a70ca3877363c920bd5e3301f5494
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-09-16 14:14:16 +08:00
Oliver Wang 86def99c76 input: sensor: add support high resolution polling delay for akm09911
The polling delay of akm09911 is not accurate since it uses the
system_wq to queue the delayed work. This may cause the work unable
to be scheduled in time.  So add a dedicated workqueue and improve
the priority. Also use hrtimer to improve the timer resolution.

Change-Id: I3aacd763ab6221fd158ad02c3c99ad5ca7d3de7c
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-09-15 19:00:19 -07:00
Sarada Prasanna Garnayak 08478ca90b input: synaptics: add ability to distinguish touch part
The touchscreen controllers are field-swappable on both
customer devices and internal reference devices. For
Synaptics touch controller, package ID is a unique
identifier that is used to uniquely distinguish the touch
controller part. However, it is still possible to flash
these touch controllers with different firmware images. In
such a case, same touch controller's sensor will have
different dimensions depending on the firmware image
flashed in it. The patch adds the ability to identify
the correct sensor dimension for above use case. If
package ID read from device tree matches the package ID
read from touch controller, the driver also checks if
the sensor dimensions read from device tree match those
which are read from the touch controller.

Change-Id: I8423df30c61aaa7696c494aa5f105f169ad9c954
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-09-15 15:52:21 +05:30
Oliver Wang cf26afee74 input: sensors: rename the accelrometer sensors input device name
The sensors HAL can't distinguish accelerometer from each other by
input device name. This may cause accelerometer data not correct on
target with multiple accelerometers. So rename the accelerometer
sensor name to distinguish each other.

Change-Id: I57ed6416d04fd5bd1208ba8f9bfed039cca3b441
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-09-12 18:09:50 +08:00
Bingzhe Cai a07f0d562d input: sensors: add pinctrl support for MPU6050 driver
Add pinctrl support to configure interrupt pin state, this will
set interrupt pin to correct state to receive interrupt signal.

Change-Id: Icbec746452939691d8a845f8a292f723941dd5ae
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-09-12 14:31:21 +05:30
Linux Build Service Account fd5380c27b Merge "input: misc: add input driver for HBTP" 2014-09-07 04:00:25 -07:00
Linux Build Service Account 25636b837c Merge "input: synaptics_dsx: release pinctrl resources on probe failure" 2014-09-07 03:59:21 -07:00
Linux Build Service Account 6da5ddb0db Merge "input: ft5x06_ts: add NULL pointer check" 2014-09-07 03:59:10 -07:00
Linux Build Service Account c09c23328c Merge "input: atmel_maxtouch_ts: fix power up sequence" 2014-09-07 03:59:08 -07:00
Linux Build Service Account 4282d54f43 Merge "input: synaptics: add NULL pointer check" 2014-09-04 07:05:38 -07:00
Eugene Yasman c4e9e323df input: atmel_maxtouch_ts: fix power up sequence
To comply with power up sequence requirements,
take the TS out of reset after power is up.

Change-Id: I20eec823b6728430986e2cc96156d1287122dbc5
Signed-off-by: Eugene Yasman <eyasman@codeaurora.org>
2014-09-04 16:30:14 +03:00
Shantanu Jain 4df47204bd input: synaptics_dsx: release pinctrl resources on probe failure
devm_pinctrl_get() does not release the ownership of mux function
of pins in the associated pin-group whenever a failure occurs in
driver probe routine. i.e struct pin_desc's mux_owner field is
still marked as being in use after a failure occurs in probe.
As a result of this, if another driver tries to acquire the
ownership of same pin, it gets an error while applying that
setting. To fix this, explicitly release the mux function
ownership of the the pin, by adding a new pin-group in pinctrl
DT and a new pinctrl state in touch device's DT node. This new
pin-group does not have a function setting (qcom,pin-func property).
This new state is explicitly activated during a probe failure
and driver remove routine to release the mux function ownership.

The patch also reorganizes the pinctrl related code in driver.

Change-Id: I05f88b04ca37035028f2a383848c3e330c877780
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-09-04 16:10:15 +05:30
Jing Lin 3177345164 input: misc: add input driver for HBTP
This driver provides service to Host Based Touch Processing
in three aspects:
- It serves as an input device driver to send touch/key events from
  user space to the kernel input core.
- It monitors LCD on/off and sends uevent accordingly.
- It performs power management for the touch AFE (Analog Front End).

Change-Id: I1308dae8e44a824d84e3b13536a1b621f9df5bca
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2014-09-03 17:48:42 -07:00
Sarada Prasanna Garnayak 267799358a input: ft5x06_ts: add NULL pointer check
Add null pointer exception check for pointers which
may be NULL after memory allocation failure and may
be deferenced.

Change-Id: Ied34d548bff27f8f6da9f4c81896e4505cdce218
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-09-03 17:49:52 +05:30
Linux Build Service Account a4266784e1 Merge "input: msg21xx_ts: add support for firmware upgrade" 2014-09-02 13:51:49 -07:00
Sarada Prasanna Garnayak 66af29b24d input: synaptics: add NULL pointer check
Add null pointer exception check for pointers which
may be NULL after memory allocation failure and
may be deferenced.

Change-Id: I99a24ada5b91743bc57568b6ab7b39e655c7bb64
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-09-02 20:10:36 +05:30
Mao Li 580ca1a443 input: msg21xx_ts: add support for firmware upgrade
Add sysfs entries to upgrade the firmware from userspace. Update_fw
sysfs entry upgrades the firmware inside the touch controller only
when the controller's firmware version is lesser than that in
userspace's firmware file. Force firmware upgrade sysfs entry
forcefully upgrades the firmware inside the touch controller even
when the controller's firmware version matches that of the firmware
file in userspace.

Change-Id: Ib6046de5230c395b48818d01f26eb9394046808b
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-09-02 01:41:48 -07:00
Linux Build Service Account e1ccb0211e Merge "input: ft5x06_ts: pinctrl and gpio config in suspend/resume path" 2014-09-01 23:40:43 -07:00
Sarada Prasanna Garnayak ed01014b95 input: ft5x06_ts: pinctrl and gpio config in suspend/resume path
When device switch to suspend state the gpio and pinctrl need to be
configured properly to prevent the touch controller current leakage in
device suspend state. The pinctrl must be configure first before
the gpio configuration. Select the pinctrl sleep state and after that
in gpio configuration part free both IRQ and reset gpio, and also set
direction of reset gpio to be input. If the gpio and pinctrl is not in
proper state the touch controller will not switch to the deep sleep state
and it will start consume current during the device suspend state.
To prevent this leakage current issue, pinctrl and gpio must be
configured properly.

Change-Id: I0ec72bbbf12320ad22608522d1250614c6686fe3
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-09-01 15:39:39 +05:30
Mao Li 24e3a5036d input: msg21xx_ts: release touch when finger leaves the panel
When fingers on the panel decrease, release corresponding touches.

Change-Id: Iafc3a9dda252417fcd06e3d9d24fb73b4d6f8e58
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-08-31 19:09:03 -07:00
Linux Build Service Account b3bacb0682 Merge "input: synaptics_dsx: fix compilation warning when !CONFIG_PM_*" 2014-08-31 04:41:20 -07:00
Linux Build Service Account 3f8ae869af Merge "input: synaptics: add NULL pointer check" 2014-08-30 22:37:43 -07:00
Linux Build Service Account ecfeaa5a32 Merge "input: synaptics: Secure touch clocks" 2014-08-30 22:36:26 -07:00
Linux Build Service Account cc9ba1030a Merge "input: sensors: recovery MPU6050 bad power state" 2014-08-28 04:36:35 -07:00
keith fallows 21e44aa786 input: synaptics: Secure touch clocks
Because of a change in the underlying bus driver, the secure
touch layer in the input drivers is now required to control
directly the clocks which are needed during the touch sessions.
Clocks are turned on/off when the session is started/ended.

Change-Id: Ib123ea6f9f38d990e1ab6e6bdbb776faeb591c11
Acked-by: Christian Bolis <cbolis@qti.qualcomm.com>
Signed-off-by: Keith Fallows <keithf@codeaurora.org>
2014-08-26 14:55:33 +01:00
Linux Build Service Account 4e8155b9e7 Merge "input: sensors: modify a logic error for lis3dh sensor" 2014-08-25 08:22:33 -07:00
Bingzhe Cai 89dff3d2bc input: sensors: recovery MPU6050 bad power state
MPU6050 sensor requires Vdd power on before Vio, it may enter
bad power state if this power on sequence does not satisfied.
As MPU6050 share power rails with other devices, this power on
sequence is not guaranteed.
Reset the sensor when system back form sleep and retain the sensor
power to recover the sensor from bad power state.

Change-Id: I3e39174cafe31645e92e13cb1647834ee47add3d
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-08-25 18:31:11 +08:00
Himanshu Aggarwal 6e1467df01 input: synaptics_dsx: fix compilation warning when !CONFIG_PM_*
When CONFIG_PM is not selected in defconfig, following warnings
are reported during driver compilation:

CC drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.o
drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.c:109:12:
warning: 'fb_notifier_callback' used but never defined
[enabled by default]
error, forbidden warning: synaptics_dsx_core.c:109
make[6]: *** [drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.o]
Error 1

Since frame-buffer notifiers do not have any dependency on CONFIG_PM's
selection in defconfig, modify the driver accordingly to fix these
warnings.

Change-Id: Ie5f68a725639d40b6c3aabe965e55f64c79590ca
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
2014-08-25 08:28:30 +05:30
Linux Build Service Account a51e0394b3 Merge "input: synaptics: make pinctrl support optional" 2014-08-24 13:51:57 -07:00
Linux Build Service Account ccd59794df Merge "Merge upstream tag 'v3.10.49' into msm-3.10" 2014-08-24 10:53:27 -07:00
Sarada Prasanna Garnayak 5a734f6783 input: synaptics: add NULL pointer check
add null pointer exception check for pointers which
may be NULL after request for memory allocation and
may be deferenced.

CRs-Fixed: 712847
Change-Id: I59ee5b00b124bc49fcc5d9d8bbfcb393fa70de05
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-08-22 18:25:19 +05:30
Daqing Chen bb03797134 input: sensors: modify a logic error for lis3dh sensor
Modify an error for lis3dh sensor after judge the sensor update odr
success of not.

Change-Id: Ifd14f4866f22b37af16e42573e16f309981c10f6
Signed-off-by: Daqing Chen <chendaqing@codeaurora.org>
2014-08-21 14:08:29 +08:00
Mohan Pallaka 7bf0021900 input: synaptics_dsx: reorder device resume sequence
As part of resume sequence, interrupts are enabled first
and then the device configuration takes place. However,
in certain scenarios this would cause interrupt storm.
Reorder the resume sequence to make device configuration
before enabling the interrupts.

Change-Id: I548c5d0a91cb237c8109921ddb38d984fe439c8c
CRs-fixed: 705671
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-08-20 17:54:00 -07:00
Ian Maund 6440f462f9 Merge upstream tag 'v3.10.49' into msm-3.10
* commit 'v3.10.49': (529 commits)
  Linux 3.10.49
  ACPI / battery: Retry to get battery information if failed during probing
  x86, ioremap: Speed up check for RAM pages
  Score: Modify the Makefile of Score, remove -mlong-calls for compiling
  Score: The commit is for compiling successfully.
  Score: Implement the function csum_ipv6_magic
  score: normalize global variables exported by vmlinux.lds
  rtmutex: Plug slow unlock race
  rtmutex: Handle deadlock detection smarter
  rtmutex: Detect changes in the pi lock chain
  rtmutex: Fix deadlock detector for real
  ring-buffer: Check if buffer exists before polling
  drm/radeon: stop poisoning the GART TLB
  drm/radeon: fix typo in golden register setup on evergreen
  ext4: disable synchronous transaction batching if max_batch_time==0
  ext4: clarify error count warning messages
  ext4: fix unjournalled bg descriptor while initializing inode bitmap
  dm io: fix a race condition in the wake up code for sync_io
  Drivers: hv: vmbus: Fix a bug in the channel callback dispatch code
  clk: spear3xx: Use proper control register offset
  ...

In addition to bringing in upstream commits, this merge also makes minor
changes to mainitain compatibility with upstream:

The definition of list_next_entry in qcrypto.c and ipa_dp.c has been
removed, as upstream has moved the definition to list.h. The implementation
of list_next_entry was identical between the two.

irq.c, for both arm and arm64 architecture, has had its calls to
__irq_set_affinity_locked updated to reflect changes to the API upstream.

Finally, as we have removed the sleep_length member variable of the
tick_sched struct, all changes made by upstream commit ec804bd do not
apply to our tree and have been removed from this merge. Only
kernel/time/tick-sched.c is impacted.

Change-Id: I63b7e0c1354812921c94804e1f3b33d1ad6ee3f1
Signed-off-by: Ian Maund <imaund@codeaurora.org>
2014-08-20 13:23:09 -07:00
Himanshu Aggarwal 3304a5c8eb input: synaptics: make pinctrl support optional
Amend Synaptics touch driver to optionally take a pinctrl
handle and set the state of pins during boot. Some platforms
do not support pinctrl and making pinctrl support an optional
feature of the driver, allows this driver to be used on
those platforms as well.

Change-Id: I3c6c39c56161da9b6fa10302865d6ff8728683e9
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
2014-08-19 20:45:50 +05:30
Mao Li f913652656 input: msg21xx_ts: update mstar driver to enable msg2138A
Mstar reference driver is being cleaned up to be checkpatch
compliant. Add Kconfig and Makefile changes to enable Mstar
driver's compilation. And following new features are added to
the driver:
1. Pinctrl support
2. Threaded irq support
3. Release all touches in suspend
4. Protocol B compliance
5. Explicit suspend/resume function
6. Configure gpios in suspend/resume function
7. Add device tree parser function
8. Add dtsi support for gpio, regulator, I2C address, display coords

Change-Id: Ic49a18de64ec210a0636405394ba7a8f52f336a9
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-08-14 14:27:30 +08:00
Linux Build Service Account eb7cdd76b1 Merge "input: synaptics: release pinctrl resources on probe failure" 2014-08-10 04:10:41 -07:00
Linux Build Service Account 00634bff02 Merge "input: msg21xx_ts: Move the driver to proper path" 2014-08-08 18:52:18 -07:00
Mao Li 75fafdc36f input: msg21xx_ts: Move the driver to proper path
This Mstar CTP reference driver code is added into a wrong place,
a follow-on patch is created to move the driver to proper path.

Change-Id: I34365ce21659348ad1d1289e3b06b81e778c2648
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-08-06 12:59:54 +08:00
Bingzhe Cai 23f6c4b902 input: sensors: add lis3dh accelerometer sensor fifo mode
Add sensor fifo mode, then it can work in the fifo mode when the
system in deep suspend. And sensor can wake up system when the
sensor fifo is full.

Change-Id: I684a1a67b34fe00a7889af5bee7b0f733c787ddc
Signed-off-by: c_daqing <chendaqing@codeaurora.org>
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-08-05 18:39:08 +08:00
Mohan Pallaka ede1f73ff4 input: atmel_maxtouch_ts: add support to ignore CRC
Cyclic Redundancy Check is performed on object configuration
during boot. Some of the atmel controllers store incorrect
CRC and causes the driver to fail. Add optional feature to
disable CRC in such cases.

Change-Id: I512318976462de4944184a05d9ca9745a545b270
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-08-01 12:47:04 -07:00
Dmitry Torokhov 6d53522cde Input: fix defuzzing logic
commit 50c5d36dab930b1f1b1e3348b8608aa8b9ee7610 upstream.

We attempt to remove noise from coordinates reported by devices in
input_handle_abs_event(), unfortunately, unless we were dropping the
event altogether, we were ignoring the adjusted value and were passing
on the original value instead.

Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-31 12:53:50 -07:00
Linux Build Service Account 12b56fe9eb Merge "input: sensors: fix the compilation errors for msm8916 64bit" 2014-07-27 19:09:45 -07:00
Linux Build Service Account 9c03b8ab7b Merge "input: focaltech: release pinctrl resources on probe failure" 2014-07-26 12:42:07 -07:00
Oliver Wang 821c3510a0 input: sensors: fix the compilation errors for msm8916 64bit
Fix the compilation errors caused by including wrong header files and
wrong function declaration.

Change-Id: Ie57484fcacf68cac700a808b67340988230b63d6
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-07-25 19:05:54 +08:00
Shantanu Jain acecc29921 input: focaltech: release pinctrl resources on probe failure
devm_pinctrl_get() does not release the ownership of mux function
of pins in the associated pin-group whenever a failure occurs in
driver probe routine. i.e struct pin_desc's mux_owner field is
still marked as being in use after a failure occurs in probe.
As a result of this, if another driver tries to acquire the
ownership of same pin, it gets an error while applying that
setting. To fix this, explicitly release the mux function
ownership of the the pin, by adding a new pin-group in pinctrl
DT and a new pinctrl state in touch device's DT node. This new
pin-group does not have a function setting (qcom,pin-func property).
This new state is explicitly activated during a probe failure
and driver remove routine to release the mux function ownership.

The patch also reorganizes the pinctrl related code in driver.

Change-Id: I16a97fefc64dd171deb800b481aa74a797c9ad55
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-07-25 12:00:20 +05:30
Shantanu Jain b95a03e9fd input: synaptics: release pinctrl resources on probe failure
devm_pinctrl_get() does not release the ownership of mux function
of pins in the associated pin-group whenever a failure occurs in
driver probe routine. i.e struct pin_desc's mux_owner field is
still marked as being in use after a failure occurs in probe.
As a result of this, if another driver tries to acquire the
ownership of same pin, it gets an error while applying that
setting. To fix this, explicitly release the mux function
ownership of the the pin, by adding a new pin-group in pinctrl
DT and a new pinctrl state in touch device's DT node. This new
pin-group does not have a function setting (qcom,pin-func property).
This new state is explicitly activated during a probe failure
and driver remove routine to release the mux function ownership.

The patch also reorganizes the pinctrl related code in driver.

Change-Id: I6726aa2fb5cca47012d72713ce0c13737e472a3e
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-07-25 11:58:43 +05:30
Bingzhe Cai 202bfbb2d7 input: sensors: lis3dh driver get regulator multiple times
Device driver does not need to request regulator each time it power
on the device, it only need to vote on/off regulators and release
regulators before exit.

Change-Id: I01c4e1a9ee48495cdab965a4fb99dae3b01b57a3
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-07-18 14:59:38 +08:00
Linux Build Service Account a57fa1f49f Merge "input: sensors: add lis3dh accelerometer sensor interrupt handler." 2014-07-11 18:11:03 -07:00
Linux Build Service Account fbd4573e86 Merge "input: sensors: avoid mmc3416x polling when the device is disabled" 2014-07-10 05:06:38 -07:00
Linux Build Service Account 38636483f7 Merge "Merge google-common commits into msm-3.10" 2014-07-09 20:08:44 -07:00
c_daqing 17e7d8ccfa input: sensors: add lis3dh accelerometer sensor interrupt handler.
Add lis3dh accelerometer sensor interrupt handler, so we can select
interrupt mode or polling mode.

Change-Id: I36172bb2b04e0a787a1d07c735b0783c83ebe5ca
Signed-off-by: c_daqing <chendaqing@codeaurora.org>
2014-07-09 19:36:27 -07:00
Oliver Wang 09ee99acd2 input: sensors: avoid mmc3416x polling when the device is disabled
The mmc3416x polling thread may get the chance to run when it's
already disabled after setting polling rate.

Change-Id: If2624eac23a21e0799bc0edc3a41412e8bf4b33b
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-07-09 02:29:21 -07:00
Hans de Goede 21baa4fe27 Input: elantech - don't set bit 1 of reg_10 when the no_hw_res quirk is set
commit fb4f8f568a9def02240ef9bf7aabd246dc63a081 upstream.

The touchpad on the GIGABYTE U2442 not only stops communicating when we try
to set bit 3 (enable real hardware resolution) of reg_10, but on some BIOS
versions also when we set bit 1 (enable two finger mode auto correct).

I've asked the original reporter of:
https://bugzilla.kernel.org/show_bug.cgi?id=61151

To check that not setting bit 1 does not lead to any adverse effects on his
model / BIOS revision, and it does not, so this commit fixes the touchpad
not working on these versions by simply never setting bit 1 for laptop
models with the no_hw_res quirk.

Reported-and-tested-by: James Lademann <jwlademann@gmail.com>
Tested-by: Philipp Wolfer <ph.wolfer@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-06 18:54:13 -07:00
Hans de Goede 7f646071c4 Input: elantech - deal with clickpads reporting right button events
commit cd9e83e2754465856097f31c7ab933ce74c473f8 upstream.

At least the Dell Vostro 5470 elantech *clickpad* reports right button
clicks when clicked in the right bottom area:

https://bugzilla.redhat.com/show_bug.cgi?id=1103528

This is different from how (elantech) clickpads normally operate, normally
no matter where the user clicks on the pad the pad always reports a left
button event, since there is only 1 hardware button beneath the path.

It looks like Dell has put 2 buttons under the pad, one under each bottom
corner, causing this.

Since this however still clearly is a real clickpad hardware-wise, we still
want to report it as such to userspace, so that things like finger movement
in the bottom area can be properly ignored as it should be on clickpads.

So deal with this weirdness by simply mapping a right click to a left click
on elantech clickpads. As an added advantage this is something which we can
simply do on all elantech clickpads, so no need to add special quirks for
this weird model.

Reported-and-tested-by: Elder Marco <eldermarco@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-06 18:54:13 -07:00
Shantanu Jain 6d4d290ebf input: synaptics_dsx: add support for 2D sensor for soft-keys
The touchscreen controllers are field-swappable on both customer
devices and internal reference devices. It is possible to have
multiple Synaptics touch controllers where each controller would
support softkey in a different way. While some touch controllers
support 2-dimensional touch sensor, some others support capacitative
button(0D) sensing. In the former case, the touch sensor reports
native X-Y touch coordinates of the touch sensor in the soft key region.
This is implemented by RMI4 function F11 or F12 and software needs to
translate these coordinates to keycodes. In the latter case, the touch
sensor directly reports the key codes and hence there is no need for
software to do any translation. This is implemented by RMI4 function
F1A or F19.

The current architecture of Synaptics touchscreen driver does not have
support to disambiguate between more than two Synaptics touch controllers
that support 2-dimensional touch sensor for soft keys. To support
this functionality in driver, a device-tree property is defined that
describes the key codes for the soft-key area. The driver calculates
the total soft key area based on the display resolution and touch sensor
dimensions. Based on the total soft-key area and number of keys to be
supported, it calculates the area for each of the soft-keys. It exports
this information to userspace by populating a sysfs file. User-space
programs can then translate the touch coordinates received to key codes.

Change-Id: I99876527660d0be7cef86e88d7583e331159e7eb
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-07-04 10:00:09 +05:30
Linux Build Service Account 72cb5cb893 Merge "input: synaptics_dsx: fix data sysfs read-write permission" 2014-07-02 11:30:14 -07:00
Shantanu Jain bb0a1ee822 input: synaptics_dsx: fix data sysfs read-write permission
Change the data sysfs file read-write permissions to
RW permission to user and R permission to group and
world.

Change-Id: I8f2d3da1f491d6ee63fc6ed6e33de12f1a4bc282
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-07-02 11:49:18 +05:30
Himanshu Aggarwal f6afdaae42 input: synaptics_dsx: fix up world writable sysfs file
Allowing the data sysfs file is not a good idea. We don't need this
sysfs file to be world writable or group writable. By default only
root should be able to write to this file. Change the write permissions
of this file to S_IWUSR (00200).

Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Change-Id: I1d92d0e3eb2cfdc52a3873babe94c9c562a9df85
2014-06-30 14:52:05 +05:30
Bingzhe Cai 85f622dd80 input: sensors: bma2x2 driver does not restore sensor state correctly
When resume from suspend, sensor driver should resume sensor to
state before suspend, bma2x2 driver does not handle this correctly.

CRs-fixed: 685381
Change-Id: Id2ad9e6117d8d6b43aec9bbf33f7a3e3a2654fb4
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-06-27 16:50:46 +08:00
Shantanu Jain bc87ffc9d5 input: synaptics_dsx: add ability to identify controller
The touchscreen controllers are field-swappable on both customer
devices and internal reference devices. Current touch driver
architecture for Synaptics does not support dynamic detection
of two or more Synaptics touchscreens having same slave address. The
patch provides a solution for the scenario in which it is required
to swap two Synaptics touchscreens without changing DT. Support of
this is added in driver as follows:

1. During driver probe, touch controller is identified by reading
the Package Id from controller. Package ID in F01_RMI_Query register
comprises of a 16-bit Package ID and a 16-bit Package ID Revision
of which both are unique for a touch controller part. If Package ID
is present,then a RMI read operation in UI Mode at seventeenth
register from F01 Query base returns it. First two bytes of this
Package ID base are used to select the correct Synaptics touch
controller from device tree.

2. Add a new property synaptics,detect-device in DT files which
will allow software to enable this logic to detect correct
touchscreen slave.

3. All such devices are placed as child nodes of Synaptics
Touchpanel node. These child nodes are parsed only if the property
synaptics,detect-device is defined in DT file.

Change-Id: I2383b8bed85b130a8558db403b565cec693d17fa
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-06-24 19:07:28 +05:30
Daniel Rosenberg bd9101a1a2 input: Changed keyreset to act as a wrapper for keycombo.
keyreset now registers a keycombo driver that acts as the old
keyreset driver acted.

Change-Id: I08f5279e3a33b267571b699697f9f54508868983
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Git-commit: 06cba5a45233fae085a74a389a52036bda892b9a
Git-repo: https://android.googlesource.com/kernel/common.git
Signed-off-by: Ian Maund <imaund@codeaurora.org>
2014-06-23 14:59:13 -07:00
Daniel Rosenberg 1cc4bcfcbc input: add keycombo, a general key combo driver.
Keycombo lets you provide a key up and key down function, and an
optional time delay for key down. The driver will call the key
down function after the specified key combo has been held for the
speicified time delay. After you release the combo, if the key down
has happened, it calls key up.

Change-Id: I6a9a94e96a8f58fadd908fd1dc7944b9102a089f
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Git-commit: 491e319ddc9388350826ef2333f5cbe27ace7f1c
Git-repo: https://android.googlesource.com/kernel/common.git
Signed-off-by: Ian Maund <imaund@codeaurora.org>
2014-06-23 14:59:10 -07:00
Linux Build Service Account 67a383249d Merge "Merge v3.10.40 and related reverts into msm-3.10" 2014-06-20 00:09:33 -07:00
Ian Maund 491fb5c232 Merge upstream tag 'v3.10.40' into msm-3.10
* commit 'v3.10.40': (203 commits)
  Linux 3.10.40
  ARC: !PREEMPT: Ensure Return to kernel mode is IRQ safe
  drm: cirrus: add power management support
  Input: synaptics - add min/max quirk for ThinkPad Edge E431
  Input: synaptics - add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1
  lockd: ensure we tear down any live sockets when socket creation fails during lockd_up
  dm thin: fix dangling bio in process_deferred_bios error path
  dm transaction manager: fix corruption due to non-atomic transaction commit
  Skip intel_crt_init for Dell XPS 8700
  mtd: sm_ftl: heap corruption in sm_create_sysfs_attributes()
  mtd: nuc900_nand: NULL dereference in nuc900_nand_enable()
  mtd: atmel_nand: Disable subpage NAND write when using Atmel PMECC
  tgafb: fix data copying
  gpio: mxs: Allow for recursive enable_irq_wake() call
  rtlwifi: rtl8188ee: initialize packet_beacon
  rtlwifi: rtl8192se: Fix regression due to commit 1bf4bbb
  rtlwifi: rtl8192se: Fix too long disable of IRQs
  rtlwifi: rtl8192cu: Fix too long disable of IRQs
  rtlwifi: rtl8188ee: Fix too long disable of IRQs
  rtlwifi: rtl8723ae: Fix too long disable of IRQs
  ...

Change-Id: If5388cf980cb123e35e1b29275ba288c89c5aa18
Signed-off-by: Ian Maund <imaund@codeaurora.org>
2014-06-18 13:10:54 -07:00
Sarada Prasanna Garnayak 6385f7b339 input: synaptic_dsx: configure touch panel boundary coordinates
For some touch controller nodes, there is no explicit device tree
property specifying the touch coordinates range. In this case,
touch coordinates range is read explicitly from the sensor.
Add support for configuring the maximum X and Y coordinates of
touch driver's input device based for such cases.

Change-Id: Ic86aa90598aa1a7935f2562753ccf863edba1c9f
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-06-18 13:34:43 +05:30
Sarada Prasanna Garnayak 35d51741b7 input: synaptics_dsx: correct sysfs permissions
Set correct permissions for write-only sysfs nodes. Show method
of such attributes is set to NULL since the attributes are write-only.
Remove the sysfs entry for the suspend/resume of touch controller
because the suspend/resume user interface is already part of debugfs
entry. Add sysfs entry to read package id of the touch controller.

Change-Id: I22b3980bc415e6749689f9fc0e7345bbd87cb680
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-06-16 18:54:45 +05:30
Linux Build Service Account 7a1272b338 Merge "input: synaptic_dsx: stay awake the device during firmware update" 2014-06-15 16:34:14 -07:00
Linux Build Service Account e509acad7e Merge "input: synaptics_dsx: remove firmware update at boot" 2014-06-14 12:35:54 -07:00
Linux Build Service Account af0db08b93 Merge "input: sensors: fix the status checking issue of akm09911" 2014-06-14 12:34:59 -07:00
Mohan Pallaka a9a36f39f7 input: synaptics_dsx: remove firmware update at boot
Firmware update at boot blocks on waiting for user space
to supply firmware image. Instead start firmware update
from user space when it is ready.

Change-Id: I6c38c25b52942a6946458c320c2285d2fd145486
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-06-13 15:51:29 -07:00
Sarada Prasanna Garnayak e6480c679a input: synaptic_dsx: stay awake the device during firmware update
If touch controller goes into suspend while firmware upgrade is
happening, then the upgrade process will fail. Add support to keep
the touch controller awake during firmware upgrade. Also reduce
the excessive logs coming during firmware upgrade. Now logs are
printed per block only.

Change-Id: I7f20c87b21189b1731a7941c79ba3024c61bdfb9
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-06-13 19:29:02 +05:30
Mao Li 89ef1cddb2 input: ft5x06_ts: fix the Focaltech CTP current leakage issue
Focaltech touch controller does not go to sleep in suspend because
the pinctrl operation inadvertently resets the touch controller.
Remove the pinctrl operation in suspend and resume callback to
prevent this spurious reset.

CRs-fixed: 677169
Change-Id: Ifa02c0287195d7ce55fb2d8ac49ec1c8ae5baec9
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-06-11 14:56:11 +08:00
Oliver Wang b57fb1fe44 input: sensors: fix the status checking issue of akm09911
It checks the wrong register to tell if the akm09911 sensor is overflow
or not. Change it to fix potential akm09911 magnetic field overflow issue.

Change-Id: I5742b79303daf8b5fdb1a77e0ddc910012b6b445
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-06-11 12:12:14 +08:00
Hans de Goede e60b0a2765 Input: synaptics - T540p - unify with other LEN0034 models
commit 6d396ede224dc596d92d7cab433713536e68916c upstream.

The T540p has a touchpad with pnp-id LEN0034, all the models with this
pnp-id have the same min/max values, except the T540p where the values are
slightly off. Fix them to be identical.

This is a preparation patch for simplifying the quirk table.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 13:25:36 -07:00
Hans de Goede 2d597d4480 Input: synaptics - add min/max quirk for the ThinkPad W540
commit 0b5fe736fe923f1f5e05413878d5990e92ffbdf5 upstream.

https://bugzilla.redhat.com/show_bug.cgi?id=1096436

Tested-and-reported-by: ajayr@bigfoot.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 13:25:36 -07:00
Hans de Goede 5e02a153d1 Input: elantech - fix touchpad initialization on Gigabyte U2442
commit 36189cc3cd57ab0f1cd75241f93fe01de928ac06 upstream.

The hw_version 3 Elantech touchpad on the Gigabyte U2442 does not accept
0x0b as initialization value for r10, this stand-alone version of the
driver: http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2

Uses 0x03 which does work, so this means not setting bit 3 of r10 which
sets: "Enable Real H/W Resolution In Absolute mode"

Which will result in half the x and y resolution we get with that bit set,
so simply not setting it everywhere is not a solution. We've been unable to
find a way to identify touchpads where setting the bit will fail, so this
patch uses a dmi based blacklist for this.

https://bugzilla.kernel.org/show_bug.cgi?id=61151

Reported-by: Philipp Wolfer <ph.wolfer@gmail.com>
Tested-by: Philipp Wolfer <ph.wolfer@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 13:25:36 -07:00
Sheng-Liang Song 7f63e60bd6 Input: atkbd - fix keyboard not working on some LG laptops
commit 3d725caa9dcc78c3dc9e7ea0c04f626468edd9c9 upstream.

After issuing ATKBD_CMD_RESET_DIS, keyboard on some LG laptops stops
working. The workaround is to stop issuing ATKBD_CMD_RESET_DIS commands.

In order to keep changes in atkbd driver to the minimum we check DMI
signature and only skip ATKBD_CMD_RESET_DIS if we are running on LG
LW25-B7HV or P1-J273B.

Signed-off-by: Sheng-Liang Song <ssl@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 13:25:36 -07:00
Mohan Pallaka 0dc50d7928 input: atmel_maxtouch_ts: add support for standard features
Add support for following features to touch controller driver

- xvdd regulator
- i2cmode gpio
- pin control framework
- early suspend
- frame buffer notifications

Change-Id: Ib8338351dfd4927c33bf0ed383dd0d550a3d6e46
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-06-05 14:29:07 -07:00
Linux Build Service Account 16ea5d6973 Merge "input: sensors: change bma2x2 sensor node permission" 2014-06-04 07:08:50 -07:00
Linux Build Service Account d2612efb2c Merge "input: synaptic_dsx: add sysfs entry for force firmware update" 2014-06-04 07:06:55 -07:00
Sarada Prasanna Garnayak d28455774f input: synaptic_dsx: add sysfs entry for force firmware update
firmware update method compare the version id and package id
the of new firmware with the existing firmware of the touch controller.
if the version id of the new firmware is older than the existing firmware
it will skip the firmware update. sometime to measure the touch performance
difference between the new firmware and old firmware we need to update
old firmware in touch controller. So this sysfs entry bypass the firmware
header check before the firmware update and allow the driver to update
the old firmware in the touch controller.

Change-Id: Ib4f5b75940c54c4d04ac1701d387d59f50eb3a71
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-06-03 12:21:18 +05:30
Bingzhe Cai 05916b31a2 input: sensors: change bma2x2 sensor node permission
Sensor node should not be world writable.

CRs-fixed: 667207
Change-Id: Ib89ad28e0d20866441d38620adf730a41e468e3b
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-06-03 14:43:43 +08:00
Linux Build Service Account f9e5104e77 Merge "input: sensors: add bma2x2 accelerometer self calibration" 2014-05-30 03:04:45 -07:00
Linux Build Service Account c5a663709f Merge "input: sensors: avoid frequent set/reset operation for mmc3416x" 2014-05-29 04:36:49 -07:00
Bingzhe Cai 5279680c5a input: sensors: akm8963 doesn't vote regulators off on CDP
The driver doesn't vote regulators off when sensor device is
not detected.

CRs-fixed: 669309
Change-Id: Ie8a93ddc8b89b3ef9d4a3dfa6b4dae17c13ab76e
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-05-28 17:42:43 +08:00
Linux Build Service Account 30be72c802 Merge "input: synaptics: secure touch support" 2014-05-27 14:55:28 -07:00
Oliver Wang 1871f0ec22 input: sensors: add bma2x2 accelerometer self calibration
The self calibration can be used for factory test, and the sensor
can calibrate by itself, the clibration data store in sensor eeprom.

CRs-fixed: 668548
Change-Id: If237224c75ba948a26d96746ade68c478e2ed4e0
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-05-27 08:06:15 -07:00
Oliver Wang d1eba358f1 input: sensors: avoid frequent set/reset operation for mmc3416x
The set/reset operation takes long time to complete. This will
lead to the reported data can't streaming at high rate. Thus
change the logic to avoid freqent set/reset operation.

Change-Id: I2205eae31110348f312386214fb6e75dc4a15175
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-05-27 18:32:25 +08:00
Keith Fallows f5e0a47f2e input: synaptics: secure touch support
Add secure touch support to the synaptics RMI4 and DSX drivers.
Expose the new interface through sysfs, to enable/disable
secure touch, and to wait for touch events.

When secure touch is active, interrupts are forwarded via sysfs
to a listening layer in userspace and processed in TrustZone.
Secure touch is aborted on power events.

Change-Id: If4c6b76d020ef061338378a8737702cec7bada33
Acked-by: Christian Bolis <cbolis@qti.qualcomm.com>
Signed-off-by: Keith Fallows <keithf@codeaurora.org>
2014-05-27 10:10:34 +01:00
Linux Build Service Account 57aaaddd12 Merge "input: synaptics_i2c_rmi4: configure gpio using pinctrl" 2014-05-26 04:44:03 -07:00
Linux Build Service Account a7858416da Merge "input: sensors: power down akm8963 during suspend" 2014-05-25 18:13:09 -07:00
Linux Build Service Account c1cf54554d Merge "input: sensors: 64 bit compilation fix for MPU6050 driver" 2014-05-25 18:13:06 -07:00
Bingzhe Cai 818b9e469c input: sensors: 64 bit compilation fix for MPU6050 driver
Remove use of invalid header file to fix compile error for
64 bit target.

CRS-fixed: 646776
Change-Id: I538749544d6f1701a52ea6b704d4bb62de21feae
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-05-23 15:55:06 +08:00
Bingzhe Cai b4efeda716 input: sensors: power down akm8963 during suspend
Vote off regulators during suspend and set sensor gpio to sleep
state for power saving.

CRs-fixed: 669309
Change-Id: I053b20c67b1d5f07f495f800e94b12df1c669faa
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-05-22 16:05:08 +08:00
Sarada Prasanna Garnayak 466c90bff4 input: synaptics_i2c_rmi4: configure gpio using pinctrl
correct the pinctrl configuration for the synaptics touch
controller. Configure the pinctrl and gpio in touch controller
suspend/resume method to avoid the current leak in the device
suspend state.

Change-Id: Ib372f70189dd35c2eca9bb69a40ec1d6f3f23f5e
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
2014-05-21 15:29:53 +05:30
Oliver Wang 427d4e8ced input: sensors: fix bma2x2 enable/disable options
Remove the delay time to improve system performance, so
it can save the system go to sleep/resume time.

Change-Id: I897cfc4708a1966fe1e6ee339a71c9625220103d
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-05-20 23:32:00 -07:00
Linux Build Service Account 5c78f7329d Merge "input: sensors: add power optimization for mpu6050" 2014-05-20 04:15:35 -07:00
Oliver Wang 374debee63 input: sensors: add power optimization for mpu6050
To save more power, mpu6050 sensor needs vote regulators off after
disable and during suspend. The sensor register context needs to
be restored after it is powered up again.

CRs-fixed: 663426
Change-Id: I06e33c1e2e268c6fa957f0d26bf610ff254b3d22
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-05-20 09:42:28 +08:00
Linux Build Service Account c82fe61523 Merge "input: synaptics_i2c_rmi4: configure gpio using pinctrl or gpio lib" 2014-05-19 05:43:02 -07:00
Linux Build Service Account 231c9183fd Merge "input: ft5x06_ts: add support for firmware update for CTP FT6X36" 2014-05-19 01:02:15 -07:00
Mao Li 297bd187b1 input: synaptics_i2c_rmi4: configure gpio using pinctrl or gpio lib
Configure gpio using either pinctrl or gpio lib.

Change-Id: I43278222dd77e961015653df535fd25408e4d6bf
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-05-19 14:12:23 +08:00
Mao Li b7cf8c12cd input: ft5x06_ts: add support for firmware update for CTP FT6X36
The firmware image format is changed in CTP FT6436. Also vendor
id and version id are read from fw image from a different offset
as compared to previous controllers. The driver is updated to
support the new image format.

Change-Id: I465fdfa73e56e8fc4bbfdde980c558e4715d6d08
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-05-19 09:56:16 +08:00
Linux Build Service Account 09db0da000 Merge "input: synaptic_dsx: add debugfs support for suspend/resume" 2014-05-15 22:13:34 -07:00
Linux Build Service Account 608e898107 Merge "input: sensors: add sensor class support for AKM8963" 2014-05-15 22:13:04 -07:00
Linux Build Service Account fb1ee96d3f Merge "input: sensors: add bma2x2 accelerometer sensor power optimization" 2014-05-15 02:37:19 -07:00
Shantanu Jain 8895c9affa input: synaptic_dsx: add debugfs support for suspend/resume
Add debugfs support for suspend and resume test to
Synaptics v2 driver.

Change-Id: I3d680d6bde0db4c9ab53924588579a80b25b6426
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-05-15 12:03:55 +05:30
Prakash Gupta 3b21244e0c input: sensors: add sensor class support for AKM8963
- Sensor class interface is required for sensor HAL to
  discover the sensor. This change creates sensor class
  interface for AKM8963 magnetometer sensor.
- Auto-report support added for AKM8963 driver.

CRs-fixed: 631108
Change-Id: I45dd4406a46469fe193579ee931bb266a68739e9
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2014-05-14 17:27:11 +05:30
Oliver Wang f0658b808c input: sensors: add bma2x2 accelerometer sensor power optimization
The power up/down is not handled properly. Add some power
optimization to handle the enable/disable and suspend/resume
routine.

Change-Id: I8ccf257ad19c629ea05973d29a7202002b2c7621
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-05-14 16:44:40 +08:00
Linux Build Service Account 01f5518d4a Merge "input: sensors: add power optimization for mmc3416x magnetic sensor" 2014-05-13 20:27:35 -07:00
Hans de Goede 5da302cfd0 Input: synaptics - add min/max quirk for ThinkPad Edge E431
commit 27a38856a948c3e8de30dc71647ff9e1778c99fc upstream.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13 13:59:46 +02:00
Hans de Goede 0e1aef05e5 Input: synaptics - add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1
commit 46a2986ebbe18757c2d8c352f8fb6e0f4f0754e3 upstream.

We expect that all the Haswell series will need such quirks, sigh.

The T431s seems to be T430 hardware in a T440s case, using the T440s touchpad,
with the same min/max issue.

The X1 Carbon 3rd generation name says 2nd while it is a 3rd generation.

The X1 and T431s share a PnPID with the T540p, but the reported ranges are
closer to those of the T440s.

HdG: Squashed 5 quirk patches into one. T431s + L440 + L540 are written by me,
S1 Yoga and X1 are written by Benjamin Tissoires.

Hdg: Standardized S1 Yoga and X1 values, Yoga uses the same touchpad as the
X240, X1 uses the same touchpad as the T440.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13 13:59:46 +02:00
Oliver Wang a3a78e4d6c input: sensors: add power optimization for mmc3416x magnetic sensor
The power up/down is not handled properly. Add suspend/resume
functions and fix power ops functions issue which will enable
the sensor power by default in probe function.

CRs-fixed: 657320
Change-Id: I9796808a10245de2d0b563a56545ef82ca48bfe2
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-05-13 02:08:25 -07:00
Bingzhe Cai 052954a58b input: sensors: pull down 8916SKUH sensor GPIOs for power saving
As sensor will power down during suspend, those GPIOs used by
sensors also need pull down to minimize leakage.

CRs-fixed: 655099
Change-Id: If9463e0cc89675204b9b4bee5eca2dd5a44515a5
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-05-12 10:10:24 +08:00
Linux Build Service Account c1732a1a84 Merge "input: sensors: add kconfig and makefile for mmc3416x driver" 2014-05-07 05:35:40 -07:00
Linux Build Service Account 1436589ddc Merge "input: sensors: add board specific configurations for mmc3416x" 2014-05-07 05:35:38 -07:00
Linux Build Service Account c9db82f7f6 Merge "input: sensor: power down akm09911 sensor during suspend" 2014-05-07 05:35:12 -07:00
Linux Build Service Account 910f5c6cd2 Merge "input: touchscreen: change F1A registeration procedure" 2014-05-07 05:34:31 -07:00
Oliver Wang 7ccea8c560 input: sensors: add kconfig and makefile for mmc3416x driver
Kconfig and makefile entity is required to build MEMSIC mmc3416x
3-axis magnetic sensor driver.

Change-Id: I839d1ddccf46e6aa22a981b1c6d2c0eaee3d6323
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-05-06 20:01:30 -07:00
Oliver Wang a2ce589ea4 input: sensors: add board specific configurations for mmc3416x
Add board specific configurations to MEMSIC mmc3416x magnetic
field sensor driver to make it compatible with current kernel and
HAL architecture.

CRs-fixed: 652454
Change-Id: I390fa35f4185e94c00de497e951de6ace0034fac
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-05-07 01:43:56 +08:00
Bingzhe Cai 18f4fd8844 input: sensor: power down akm09911 sensor during suspend
To save more power, sensor needs power off during suspend and
sensor GPIOs also need to be properly configured.

CRs-fixed: 655099
Change-Id: Id47160e51a4e14464d66156731d3012eedd184d9
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-05-06 18:19:05 +08:00
Shantanu Jain 6467def995 input: touchscreen: change F1A registeration procedure
Change F1A registrations procedure if there are two synaptics
touch panels where only one has F1A support.

Change-Id: I8791fb0e86e0b266b813615da527735d10c66056
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-05-06 13:39:30 +05:30
Bingzhe Cai 89251a6960 input: sensors: add place property for MPU6050 driver
The place property is to configure the position of sensor mounting.
For different devices the relative position to first pin will be
different.

CRs-fixed: 655796
Change-Id: I39e1da93106d81679166e89534dd6cebb1a0d096
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-05-06 10:56:10 +08:00
Linux Build Service Account 16296e0178 Merge "Merge upstream linux-stable v3.10.36 into msm-3.10" 2014-05-05 15:09:00 -07:00
Linux Build Service Account 5c565251c8 Merge "input: sensors: add sensor class support for BOSCH bma2x2" 2014-04-29 05:36:07 -07:00
Linux Build Service Account 9e3725dce3 Merge "input: sensors: add sensor class support for MPU6050" 2014-04-29 05:35:55 -07:00
Oliver Wang 97a13253b9 input: sensors: add sensor class support for BOSCH bma2x2
Sensor class interface is required for sensor HAL to discover
the sensor. This change adds sensor class support for BOSCH
bma2x2 accelerometer.

CRs-fixed: 653165
Change-Id: If9dbddff3b4a58f21945a5da7dc4dbcec9c2e178
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-29 15:57:46 +08:00
Bingzhe Cai 755da3b91f input: sensors: add sensor class support for MPU6050
Sensor class interface is required for sensor HAL to
discover the sensor. This change creates sensor class
interface for INVENSENSE MPU6050 accelerometer +
gyroscope sensor combo.

CRs-fixed: 655796
Change-Id: Iec9e5cd7601b5a8a29ce5c1c267d63548afa2491
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-29 13:29:48 +08:00
Oliver Wang 3472d35952 input: sensors: fix error handler for BOSCH bma2x2
Fix error exit handler for BOSCH bma2x2 accelerometer driver.
When probe does not success, driver can release resources
correctly.

CRs-fixed: 653165
Change-Id: If2add335f42bbf0c510e8f9028aa8f85caba804a
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-29 09:33:52 +08:00
Linux Build Service Account 8fd856a9bc Merge "input: sensors: fix the resolution of akm09911 configuration" 2014-04-28 02:04:34 -07:00
Linux Build Service Account 1a9a45de8a Merge "input: sensors: interrupt and power enabling pins are optional" 2014-04-28 02:04:33 -07:00
Oliver Wang 0c3d75d404 input: sensors: fix the resolution of akm09911 configuration
The resolution of akm09911 is 0.6uT/LSB, so fix it in order to make
it compatible with sensor HAL.

Change-Id: I182511a9700f9ea9c0fbd9549a4bfa00d92d8fc4
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-04-28 13:04:02 +08:00
Bingzhe Cai 91d89dee22 input: sensors: update MPU3050 driver for HAL changes
Sensors HAL will update to support other gyroscopes,
MPU3050 driver needs update to follow the HAL change.

CRs-fixed: 653165
Change-Id: I99b30f8ad1c8504167122840925647620627d87a
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-27 00:58:34 +08:00
Bingzhe Cai 42f4172009 input: sensors: interrupt and power enabling pins are optional
The interrupt and power enabling pin configurations are not
required properties since some design doesn't have gpio for
interrupt and power enabling.

CRs-fixed: 655796
Change-Id: If66bd0cd1a75dea3ef8c65439218cf8e096b7d5d
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-27 00:36:18 +08:00
Linux Build Service Account 8a0db814a5 Merge "input: sensors: fix the first akm09911 data is not available after enable" 2014-04-26 00:54:29 -07:00
Mohan Pallaka 9c6fb15d75 input: synaptics_dsx: add standard features for touch support
Add standard features to Synaptics V2 driver. The supported
features are -

- Frame buffer(fb) blank/unblank notifications
- Pin control framework for gpios
- Sysfs interface for config id
- Dtsi interface for panel and display resolution

Change-Id: I7b057b09a2f2f1e30fe0ae5f1449282fe06551dd
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-04-25 11:49:19 -07:00
Oliver Wang 9f970e7f0a input: sensors: add board specific configration for BOSCH bma2x2
Add device tree and regulator control for BOSCH bma2x2
3-axis accelerometer.

CRs-fixed: 653165
Change-Id: I661e43b559190251dbaff4f26a1ccf004a708611
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-24 21:47:38 +08:00
Oliver Wang 1dc29cfac0 input: sensors: fix the first akm09911 data is not available after enable
It takes about 7.2 ms for akm09911 to get valid data after single
measurement mode is set. Thus add some logic to wait until the data
is available.

CRs-fixed: 652168
Change-Id: I4f2d2117cd6f3e1dcfc2a27a692c211ac7990239
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-04-24 14:49:05 +08:00
Ian Maund 356fb13538 Merge upstream linux-stable v3.10.36 into msm-3.10
* commit 'v3.10.36': (494 commits)
  Linux 3.10.36
  netfilter: nf_conntrack_dccp: fix skb_header_pointer API usages
  mm: close PageTail race
  net: mvneta: rename MVNETA_GMAC2_PSC_ENABLE to MVNETA_GMAC2_PCS_ENABLE
  x86: fix boot on uniprocessor systems
  Input: cypress_ps2 - don't report as a button pads
  Input: synaptics - add manual min/max quirk for ThinkPad X240
  Input: synaptics - add manual min/max quirk
  Input: mousedev - fix race when creating mixed device
  ext4: atomically set inode->i_flags in ext4_set_inode_flags()
  Linux 3.10.35
  sched/autogroup: Fix race with task_groups list
  e100: Fix "disabling already-disabled device" warning
  xhci: Fix resume issues on Renesas chips in Samsung laptops
  Input: wacom - make sure touch_max is set for touch devices
  KVM: VMX: fix use after free of vmx->loaded_vmcs
  KVM: x86: handle invalid root_hpa everywhere
  KVM: MMU: handle invalid root_hpa at __direct_map
  Input: elantech - improve clickpad detection
  ARM: highbank: avoid L2 cache smc calls when PL310 is not present
  ...

Change-Id: Ib68f565291702c53df09e914e637930c5d3e5310
Signed-off-by: Ian Maund <imaund@codeaurora.org>
2014-04-23 16:23:49 -07:00
Bingzhe Cai aad5266a08 input: sensors: clean up bosch bma2x2 accelerometer driver.
Do cleanup to fix all checkpatch error and fix obvious problem.

Change-Id: Ib9da1e97a220a935f7c73798db1d9c64306c01e9
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-24 02:46:59 +08:00
Cloud Chen 7e8049592a input: sensors: add BOSCH bma2x2 accelerometer driver
Initial version of BOSCH bma2x2 accelerometer driver.
add new file.

Change-Id: I2343fa5b46ffb00b560d0b25ed93ad91e0d611b9
Signed-off-by: Cloud Chen <Ji.chen@bosch-sensortec.com>
Git-commit: 82e7c6b1cf460aeafe6ccdccc5c35f75ad214ee9
Git-repo: https://github.com/BoschSensortec/Linux_Kernel_Drivers
[bingzhec@codeaurora.org: merging with existing Kconfig and
Makefile, fix recursive dependency error]
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2014-04-23 12:40:52 +08:00
Linux Build Service Account 6755273464 Merge "input: ft5x06_ts: add support for pinctrl framework" 2014-04-21 18:31:46 -07:00
Linux Build Service Account 11160fd4cf Merge "input: synaptics_i2c_rmi4: add support to change X-Y max coordinates" 2014-04-21 05:16:32 -07:00
Mao Li df621a0beb input: ft5x06_ts: add support for pinctrl framework
Migrate the Focaltech driver to use pinctrl framework for GPIO
configuration so that driver is compatible with targets that
use and targets that don't use pinctrl framework.

Change-Id: I84fc2a6d30f831b4b054780b107ce105614855ea
Signed-off-by: Mao Li <maol@codeaurora.org>
2014-04-21 16:24:36 +08:00
Shantanu Jain a5666b220a input: synaptics_i2c_rmi4: add support to change X-Y max coordinates
Add support to modify the Maximum_X_Position and
Maximum_Y_position in F11 and F12 control registers.
Re-programm the maximum coordinates of touch controller
if the firmware resolution mismatches the required
touch panel resolution.

Change-Id: I6256ff861f7830f5604f8be3552266edb5aa07ba
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2014-04-18 12:08:17 +05:30
Oliver Wang 60eed9860f input: sensors: correct the output data reported by akm09911
The measurement data read from akm09911 should be adjusted as the
following equation: Hadj = H * (ASA/128 + 1), where Hadj is the
output data, H is the raw data from akm09911 registers and ASA is
the sensor sensitivity adjustment data.

Change-Id: I893427da6cb31352340f94184490899f2c417912
Signed-off-by: Oliver Wang <mengmeng@codeaurora.org>
2014-04-15 16:27:23 +08:00
Linux Build Service Account 82e71e5495 Merge "input: synaptics_i2c_rmi4: add ability to identify controller" 2014-04-11 23:29:52 -07:00
Linux Build Service Account d0d80aacb9 Merge "input: ft5x06_ts: check vendor id before upgrade FT firmware" 2014-04-11 00:33:44 -07:00
Linux Build Service Account eda712d5a7 Merge "sensors: fix the boot time warning of the cm36283 sensor sysfs" 2014-04-11 00:32:39 -07:00
Linux Build Service Account f0335e6708 Merge "first commit" 2014-04-11 00:32:33 -07:00
Himanshu Aggarwal 07f733b475 input: synaptics_i2c_rmi4: add ability to identify controller
The touchscreen controllers are field-swappable on both customer
devices and internal reference devices. Current touch driver
architecture for Synaptics does not support dynamic detection
of two Synaptics touchscreens with the same slave address. The
patch provides a solution for the scenario in which it is required
to swap two Synaptics touchscreens without changing DT. Support of
this is added in driver as follows:

1. During driver probe, touch controller is identified by reading
the Package Id from controller. Package ID in F01_RMI_Query register
comprises of a 16-bit Package ID and a 16-bit Package ID Revision
of which both are unique for a touch controller part. If Package ID
is present,then a RMI read operation in UI Mode at seventeenth
register from F01 Query base returns it. First two bytes of this
Package ID base are used to select the correct Synaptics touch
controller from device tree.

2. Add a new property synaptics,detect-device in DT files which
will allow software to enable this logic to detect correct
touchscreen slave.

3. All such devices are placed as child nodes of Synaptics
Touchpanel node. These child nodes are parsed only if the property
synaptics,detect-device is defined in DT file.

Change-Id: Iac0eaef1b8cd301da763ef980a33ba27ccfb858d
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
2014-04-11 09:12:27 +05:30
Jie Cheng 48525127e6 sensors: fix the boot time warning of the cm36283 sensor sysfs
The sensor cm36283 sysfs ATTR ls_adc is read only ,so the permission
should be 0444 not 0664.

Change-Id: I2b9695cd8225785297778d5f9719e48983deb0a7
Signed-off-by: Jie Cheng <rockiec@codeaurora.org>
2014-04-10 10:19:29 +08:00
Linux Build Service Account ea19bfb9f7 Merge "input: sensors: fix the power issues of akm09911" 2014-04-09 08:40:17 -07:00