133 Commits

Author SHA1 Message Date
Oleg Matcovschi
ae0b0451d8 power: reset: Add shutdown-thermal command
Bug: 127335359

Change-Id: Id599c01d62a0c48dc446bf10dc6c902d0bd60800
Signed-off-by: Oleg Matcovschi <omatcovschi@google.com>
2019-05-09 12:23:05 +08:00
Oleg Matcovschi
57155e1357 input:qpnp-power-on: Additional restart reason
Keep in sync bootloader and kernel restart reasons.

Bug: 130566072
Signed-off-by: Oleg Matcovschi <omatcovschi@google.com>
Change-Id: I9f4b9a4137668465fd4cdb2523fbb9a3650af4a7
2019-05-09 12:15:18 +08:00
Robin Peng
a848f11e14 Merge branch 'android-msm-bonito-4.9' into android-msm-pixel-4.9
Conflicts:
	Documentation/filesystems/overlayfs.txt
	arch/arm64/configs/bonito_defconfig
	drivers/android/binder.c
	drivers/char/adsprpc.c
	drivers/cpuidle/lpm-levels.c
	drivers/input/keydebug-core.c
	drivers/input/keydebug-func.c
	drivers/media/platform/msm/vidc/msm_vidc_common.c
	drivers/power/supply/overheat_mitigation.c
	drivers/staging/android/ion/ion.c
	fs/f2fs/data.c
	fs/f2fs/segment.c
	fs/f2fs/super.c
	fs/overlayfs/super.c
	include/linux/mm_event.h
	include/trace/events/mm_event.h
	include/uapi/linux/android/binder.h
	mm/Kconfig
	mm/filemap.c
	mm/mm_event.c

Bug: 119540871
Change-Id: Ib26a8b09fdd5736165737d41d97148b6507b4e50
Signed-off-by: Robin Peng <robinpeng@google.com>
2019-01-30 21:26:01 +08:00
Biswajit Dash
f4add59b17 touchscreen: sec_ts: Fix potential race in sec_ts command execution code path.
sec_ts driver used a mutex to serialize access to a flag indicating whether any
command is currently running. But some code path reading the status of
the flag were not protected which could potentially result in race. In
any case a mutex for a flag seem an over-kill. This CL got rid of this
mutex by converting the flag to an atomic variable.

Bug: 123027495

Change-Id: I4537241d5d10dc97dd764fe8324afb35c414668c
Signed-off-by: Biswajit Dash <bisdash@google.com>
2019-01-17 13:00:31 -08:00
Robin Peng
2bf478e706 Merge branch 'android-msm-bluecross-4.9-pi-qpr2' into android-msm-bonito-4.9
Conflicts:
      drivers/power/supply/overheat_mitigation.c
      drivers/usb/pd/pd_engine.c
      drivers/usb/typec/tcpm.c

Bug: 116836885
Bug: 119793157
Change-Id: I52d4ba4bf706864fecd33f6ecad312d58884d32b
Signed-off-by: Robin Peng <robinpeng@google.com>
2018-11-21 15:18:15 +08:00
Siarhei Vishniakou
964ea6531b input: touch: stm/sec_ts: video device name
Match video device name with input device name.
There isn't an explicit API in v4l2 to get the video device name. The
closest API to this is struct v4l2_capability.card that is obtained via
VIDIOC_QUERYCAP ioctl.

Currently, the "card" field is set to the touch driver name, which may
(and usually does) not correspond to the input device name. To fix this,
add an optional reference to the parent input device.
The decision was made here to just provide an input device reference
instead of just copying the string name into the v4l2 struct. The
rationale is that the logic is simpler, the nullness check can be more
meaningful (if not specified, can default to driver name), and it is
more efficient to just keep a pointer around instead of worrying about
copying strings, allocating the proper amount of space, etc.

Test: tested with C1. With additional (unreleased) code to match the
input device with a video device in inputflinger, able to correctly
receive the video frames and pass that on to higher layers of the stack.
Bug: 111480215
Signed-Off-By: Siarhei Vishniakou <svv@google.com>

Change-Id: I2b84a6d5d06a0cb88ab0ae03ec1fa32c1a1e7405
2018-11-05 17:44:38 +00:00
Siarhei Vishniakou
b5a5623e4d input: touch: heatmap: Properly lock heatmap buffers
The access (r/w) to the list of heatmap buffers was protected by the
heatmap lock. However, the actual usage of the buffers was not.
Therefore, once a buffer is dequeued from the list, it was being
modified without the lock protection. This lead to the following
problem: during teardown, if a touch interrupt comes in, the buffers can
be torn down but still be accessed from the heatmap read. This caused
kernel panic (leading to ramdump).
To reproduce the bug, write a program that accesses the heatmap video
device, and then crashes (happened during HAL development). Next,
continuosly touch the screen (to keep generating interrupts), and launch
the HAL process. The phone will enter ramdump after HAL crashes.

To fix this, move the bus read into a separate step in the interrupt
routine. Now there's a private temporary buffer on the stack that the
bus read is pulling data into. Once the bus read is finished, the data
from the temporary buffer gets copied into the actual (user-readable)
heatmap frame in a single locking operation.

This change means that we no longer (*) check if there are available
buffers before we begin the bus read. This could lead to inefficiency,
since at the end of the bus read, we may find out that there aren't any
free buffers, so we will drop the frame. That would mean that the bus
read was wasteful. In real life testing, however, such a situation was
not observed.

* we do actually check
Still, to account for this possibility, we add an optimization. If we
see that this situation happens at least 3 times in a row, we will start
checking for the availability of free buffers before doing the bus read.
This would also help prevent logspam, which currently happens in a
situation where the user process decided to stop reading buffers, but
did not stop streaming.

We don't want to unconditionally check for availability of free buffers
before the bus read, because it is possible that a buffer may become
available during the read itself. The read can take several
milliseconds, so this could give the user space additional time to
process the existing data and return a buffer.

To check for whether the streaming is currently on, use official api
"vb2_is_streaming", instead of using hidden api "streaming".

Small additional fixes:
- Ensure consistent use of strength_t
- Add a doc for heatmap_read

Bug: 117469302
Test: crashes no longer observed using the steps described above
Change-Id: I2b77a79469e22ce4ee39827a951a2ace58db8972
Signed-Off-By: Siarhei Vishniakou <svv@google.com>
2018-10-11 11:02:58 -07:00
Siarhei Vishniakou
1cfc828536 input: touchscreen: stm/sec: Add local heatmap
Register v4l2 device to report heatmap data. Use MSC_TIMESTAMP events
to synchronize the video frames with the input events.

Now includes:
- Support for B1 and C1
- registering of the v4l-touch device in the touch driver
- data properly written to video frame
- timestamps are populated
- report msc_timestamp before sync, but read_heatmap after:
  this informs user space that input event occurred, and allows the
i2c read to happen in parallel. Then, user space can wait on the frame
to become available.

Bug: 62940136
Test: used the HeatMapDemo app to visually confirm the output

Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: Ib282a0c59849a07cac542c1cdc6ed2b3d035a6af
2018-09-26 18:34:28 +00:00
Bob Chang
0945abe340 input: touchscreen: synaptics_v27: support i2c switch feature
Switch i2c master to SSC during suspend and switch back to AP during
resume.

Bug: 113627738
Test: function works
Change-Id: Iaad8c8e46854746317af2e5533b0a9bca4aec5f9
Signed-off-by: Bob Chang <bobpcchang@google.com>
2018-09-13 07:35:01 +00:00
davidycchen
c3a94b4762 input: touchscreen: synaptics_v27: update touch firmware based on panel id
Update different firmware image based on different panel id.

Bug: 112520426
Test: build full image to verify.

Change-Id: I90bc3701d453c70f39e32d67d7648fa5298b7a52
Signed-off-by: davidycchen <davidycchen@google.com>
2018-08-27 07:14:24 +00:00
Chris Fries
278b372c30 power: reset: Add "packout" reboot reason
Add "packout" reboot reason to signal to the bootloader we
want it to go into its in-boxing mode.

Bug: 112744852
Change-Id: Id575bd67994ee13024c96d70428ba31ea844f5c3
Signed-off-by: Chris Fries <cfries@google.com>
2018-08-22 03:49:36 +00:00
davidycchen
72e898260c input: touchscreen: synaptics_v27: add touch up/down log
Add touch point location log, and set default to off.
Turn on the log by /sys/android_touch/debug_level.

Change-Id: I9517491f813cc44031a250cd313b78cdbf7fe437
Signed-off-by: davidycchen <davidycchen@google.com>
2018-08-09 10:06:24 +00:00
davidycchen
110c241e98 input: touchscreen: synaptics_dsx_v27: Add header for v27 driver
Add synaptics latest touchpanel driver header version 2.7.

Change-Id: Ia62b9bb6ab3b2f4f62294e89e640fe04f05c4ee0
Signed-off-by: davidycchen <davidycchen@google.com>
2018-07-18 09:32:27 +00:00
Chungjui Fan
6d73bcf205 power: reset: Record reboot_longkey bootreason
While holding power key to trigger reset, the bootreason is
reboot_longkey and also stored in RAMDUMP_MSG.txt.

Bug: 79553608
Bug: 110231796
Change-Id: I17ec89337d754e83d7dd218430af1f92f72173cb
Signed-off-by: Chungjui Fan <chungjuifan@google.com>
Signed-off-by: Chris Fries <cfries@google.com>
2018-06-18 04:24:55 +00:00
jonechou
3460ac8d75 power: reset: support recording bootreason
bootreason would be brought to kernel cmdline for debugging usage
bootreason is set to 'WDT' by bootloader by default
bootreason is set to 'PANIC' or 0 when KP or reboot is triggered

Bug: 80553005
Change-Id: I58c40cee99f3eee615fcef9e514cb4fc0d3a9b4b
Signed-off-by: jonechou <jonechou@google.com>
2018-06-05 14:49:22 -05:00
Cyan_Hsieh
6cca606fe5 Merge LA.UM.7.3.9.08.00.00.385.300 via branch qcom-msm-4.9 into android-msm-bluecross-4.9
Merge Qualcomm's LA.UM.7.3.9.08.00.00.385.300

Removed camera related changes with

git checkout partner/android-msm-bluecross-4.9 -- drivers/media/platform/msm/camera/ \
drivers/media/platform/msm/camera_v2/ \
include/uapi/media/cam_req_mgr.h

Change-Id: Iaace725f748e5feeebaabbcbaa3823e4ed6ef8a1
Bug: 79367535
Signed-off-by: Chris Fries <cfries@google.com>
2018-05-24 08:48:09 -05:00
KyungSuk Jang
24e91c919d input: touchscreen: sec_ts: disable sec_ts command queue
Bug: 75974703
Change-Id: I9401fb4063b01e06d38d495fdefd1670eb55f631
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2018-03-20 17:12:03 -07:00
Daniel Mentz
fbdcf61b3c Merge branch 'qcom-msm-4.9' into android-msm-bluecross-4.9
Conflicts:
	drivers/input/touchscreen/Kconfig
	drivers/nfc/nq-nci.c
	drivers/pinctrl/qcom/pinctrl-msm.c
	drivers/power/supply/qcom/Makefile
	include/linux/tcp.h
	security/pfe/pfk_ice.c

Change-Id: I8c54f50d6c67c68e109d1b1576cf0cd65a1e29a2
2018-02-22 12:39:20 -08:00
Shantanu Jain
c24097ef99 input: synaptics_dsx_2.6: Propagating fixes from msm-3.18
This commit is a squash of all the below commits from the
branch msm-3.18 with updated license and checkpatch errors fixed

25bdea0 input: synaptics_2.6: add pin control func for TMO project
f24e4ec synaptics_dsx_2.6: not reinit when spontaneous reset is detected
1b62edb input: synaptics_dsx_2.6: correct secure_touch_init function
109cf15 input: synaptics_dsx_2.6: correct sysfs permissions
a7ade8b5 input: synaptics_dsx_2.6: fix issues raised by static analyzer
5c47ba4 input: synaptics_dsx_2.6: fix CTP power issue for QRD8953
9832a75 input: synaptics: defer touch resume to workqueue for v2.6 driver
4059151 input: synaptics_dsx_2.6: Add support for clocks for secure touch
422e578 input: synaptics_dsx_2.6: remove fake touch points
a75bcbc input: synaptics_dsx_2.6: creation of secure touch sysfs ifiles
4a580c2 synaptics_dsx_2.6: add secure touch support for Synaptics V2.6

Change-Id: Ice4e04189a6280d94ab09a426860975a65724635
Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2018-02-05 11:32:25 +05:30
Daniel Mentz
03f7a6a6f5 Merge branch qcom-msm-4.9 into android-msm-bluecross-4.9
Conflicts:
	drivers/power/supply/qcom/fg-memif.c
	drivers/soc/qcom/Makefile
	drivers/usb/dwc3/dwc3-msm.c

Change-Id: Ia21beaf6f72ad578aaab2d2772c0270b11e3c150
Signed-off-by: Daniel Mentz <danielmentz@google.com>
2018-02-02 16:39:55 -08:00
Daniel Mentz
be2cbbae8c Merge branch qcom-msm-4.9 into android-msm-bluecross-4.9
Conflicts:
	Makefile
	drivers/media/platform/msm/camera/cam_lrme/lrme_hw_mgr/cam_lrme_hw_mgr.c
	drivers/power/supply/qcom/qpnp-smb2.c
	fs/crypto/crypto.c
	fs/crypto/policy.c

Changed arch/arm64/boot/dts/google/sdm845-b1c1-memory.dtsi to accomodate
for new memory layout in arch/arm64/boot/dts/qcom/sdm845.dtsi

Change-Id: Ibb6fbf95bd1f8fba142e77807cce42cde5f793a2
2018-01-24 17:13:40 -08:00
Mao Li
49f79bf396 input: synaptics_dsx_2.6: update driver to enable touch S332U
Synaptics reference driver V2.6 is being cleaned up to enable touch
controller S332U. Add Kconfig and Makefile changes to enable Synaptics dsx
V2.6 driver's compilation.
Clean checkpatch errors.

CRs-Fixed: 943896
Change-Id: I7e79e9ee321b7a7c90d27f065281dc73cee65391
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
2018-01-21 12:02:56 +05:30
Daniel Mentz
f5eb0b1b25 Merge remote-tracking branch 'partner/qcom-msm-4.9'
Conflicts:
      arch/arm64/boot/dts/qcom/pmi8998.dtsi
      drivers/platform/msm/ipa/ipa_v3/ipa_pm.c
      drivers/power/supply/qcom/Kconfig
      drivers/power/supply/qcom/Makefile
      drivers/thermal/Makefile

Change-Id: I6820554963d2a99e7314e6fd3bd4634fbaa31ac2
2018-01-17 19:44:01 -08:00
Mao Li
3ef9ced613 input: touchpanel: Add Synaptics latest version 2.6 touchpanel driver
This is the reference driver source code for synaptics touch driver,
the version is 2.6.
All the new files are copied from the git commit:
7b6b9d126aca1f371e8abf3ae56d7a5a4e538f13
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_active_pen.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_active_pen.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.h
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.h;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_fw_update.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_gesture.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_gesture.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_i2c.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_proximity.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_proximity.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_dev.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_dev.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_hid_i2c.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_hid_i2c.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_spi.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_spi.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_test_reporting.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_test_reporting.c
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_video.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_video.c
include/linux/input/synaptics_dsx_v2_6.h
is copied from
kernel/include/linux/input/synaptics_dsx.h

Change-Id: Ifda2c38ca5b4a82c3363d8c59ae9da3839568e82
Signed-off-by: Mao Li <maol@codeaurora.org>
2018-01-12 04:13:30 -08:00
Linux Build Service Account
e01cc17d8b Merge "input: touchpanel: Add Synaptics latest version 2.7 touchpanel driver" 2018-01-08 10:03:51 -08:00
chenx
587bb985a9 input: touchpanel: Add Synaptics latest version 2.7 touchpanel driver
This is the reference driver source code for synaptics touch driver,
the version is 2.7.It is used for QVR845 touchscreen.

Change-Id: I2b5a8ef1b354340a2a8afa4cc27e322672160a03
Signed-off-by: chenx <chenxiang0527@thundersoft.com>
Git-commit: 485b00bb7275ac565328166de1365013a77122f2
Git-repo: https://source.codeaurora.org/external/thundersoft/ihvjointlab/sensor-driver/commit/?h=Synaptics_ctp_v2.7
[jinf@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Jin Fu <jinf@codeaurora.org>
2017-12-28 15:17:28 +08:00
Steve Pfetsch
89979af2fd touch: LSI touch driver and header changes
- Modified sec_ts driver and added sec_cmd
- Modified Linux header files with changes from open source kernel

Bug: 69859019
Change-Id: Ibd8b53eadb5726720505dfdd4f25e290b8de3e97
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2017-12-15 14:06:24 -08:00
Lijuan Gao
8bcfa3c069 drivers: power: reset: Do cold reset when doing oem reboot
As the IMEM approach to store reset reason is deprecated, so use
the spare register in PMIC power-on peripheral to store the oem
restart reason.

Bit-2 to bit-7 of SOFT_RB_SPARE for hard reset reason, so divide
existing range into regions, value 0 to 31 for common defined features
and 32 to 63 values are for OEMs/ODMs specific features.

Change-Id: Ib8e64d6dd5a335325d0469280e41e9d10ec9b893
Signed-off-by: Lijuan Gao <lijuang@codeaurora.org>
2017-12-14 11:17:27 +08:00
David Collins
073a2c3296 input: add snapshot of qpnp-power-on driver
The qpnp-power-on driver provides support for key presses via
several key specific PMIC inputs.  It also supports reading
power-on reasons and configuring the power-off type (i.e.
restart, shutdown, etc).

This snapshot is taken as of msm-4.4
commit 07f2f9952c78 ("input: move qpnp-power-on driver into
input/misc directory").

Change-Id: Idcbaefa635d49075c9b93819766d722ca0eb698f
Signed-off-by: David Collins <collinsd@codeaurora.org>
2017-01-11 13:58:04 -08:00
Hans de Goede
ed7c9870c9 Input: of_touchscreen - add support for inverted / swapped axes
Extend touchscreen_parse_properties() with support for the
touchscreen-inverted-x/y and touchscreen-swapped-x-y properties and
add touchscreen_set_mt_pos() and touchscreen_report_pos() helper
functions for storing coordinates into a input_mt_pos struct, or
directly reporting them, taking these properties into account.

This commit also modifies the existing callers of
touchscreen_parse_properties() to pass in NULL for the new third
argument, keeping the existing behavior.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2016-07-15 14:50:53 -07:00
Oreste Salerno
707b61bba8 Input: cyttsp - switch to using device properties
Drop support for platform data passed via a C-structure and switch to
device properties instead, which should make the driver compatible
with all platforms: OF, ACPI and static boards. Static boards should
use property sets to communicate device parameters to the driver.

Signed-off-by: Oreste Salerno <oreste.salerno@tomtom.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2016-01-27 14:32:48 -08:00
Dmitry Torokhov
22ddbacc4b Input: edt-ft5x06 - remove support for platform data
We do not have any users of platform data in the tree and all newer
platforms are either DT or ACPI, so let's drop handling of platform data.

Tested-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-09-27 17:33:59 -07:00
Franklin S Cooper Jr
13c23cd18b Input: edt-ft5x06 - switch to newer gpio framework
The current/old gpio framework used doesn't properly listen to
ACTIVE_LOW and ACTIVE_HIGH flags. The newer gpio framework takes into
account these flags when setting gpio values.

Since the values being output were based on voltage and not logic they
change to reflect this difference. Also use gpiod_set_value_cansleep since
wake and reset pins can be provided by bus based io expanders.

Switch from msleep(5) to udelay_range(5000,6000) to avoid check patch
warning.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-09-27 17:33:58 -07:00
Dmitry Torokhov
28a74c0500 Input: pixcir_i2c_ts - move platform data
Let's move driver's platform data definitions from include/linux/input/
into include/linux/platform_data/ so that it stays with the rest of
platform data definitions.

Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-07-11 17:27:36 -07:00
Dmitry Torokhov
4200e831e4 Input: of_touchscreen - switch to using device properties
Let's switch form OF to device properties so that common parsing code could
work not only on device tree but also on ACPI-based platforms.

Reviewed-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-07-11 17:26:45 -07:00
Dmitry Torokhov
7c494375b7 Input: improve parsing OF parameters for touchscreens
When applying touchscreen parameters specified in device tree let's make
sure we keep whatever setup was done by the driver and not reset the
missing values to zero.

Reported-by: Pavel Machek <pavel@ucw.cz>
Tested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-06-25 14:45:46 -07:00
Henrik Rydberg
448c7f3830 Input: MT - add support for balanced slot assignment
Some devices are not fast enough to differentiate between a fast-moving
contact and a new contact. This problem cannot be fully resolved because
information is truly missing, but it is possible to safe-guard against
obvious mistakes by restricting movement with a maximum displacement.

The new problem formulation for dmax > 0 cannot benefit from the speedup
for positive definite matrices, but since the convergence is faster, the
result is about the same. For a handful of contacts, the latency difference
is truly negligible.

Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Henrik Rydberg <rydberg@bitmath.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-02-01 11:50:35 -08:00
Henrik Rydberg
f8ec894945 Input: MT - make slot cleanup callable outside mt_sync_frame()
Some semi-mt drivers use the slots in a manual way, but may still
want to call parts of the frame synchronization logic. This patch
makes input_mt_drop_unused callable from those drivers.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-08-07 23:37:07 -07:00
Roger Quadros
36874c7e21 Input: pixcir_i2c_ts - support up to 5 fingers and hardware tracking IDs
Some variants of the Pixcir touch controller support up to 5 simultaneous
fingers and hardware tracking IDs. Prepare the driver for that.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-07-28 10:26:18 -07:00
Sebastian Reichel
b98abe52fa Input: add common DT binding for touchscreens
Add common DT binding documentation for touchscreen devices and
implement input_parse_touchscreen_of_params, which parses the common
properties and configures the input device accordingly.

The method currently does not interpret the axis inversion properties,
since there is no matching flag in the generic linux input device.

Reviewed-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-29 00:05:59 -07:00
Roger Quadros
0dfc8d41bf Input: pixcir_i2c_ts - get rid of pdata->attb_read_val()
Get rid of the attb_read_val() platform hook. Instead, read the ATTB gpio
directly from the driver.

Fail if valid ATTB gpio is not provided by patform data.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-18 23:25:57 -07:00
Roger Quadros
3b36fbb01d Input: pixcir_i2c_ts - initialize interrupt mode and power mode
Introduce helper functions to configure power and interrupt registers.
Default to IDLE mode on probe as device supports auto wakeup to ACVIE mode
on detecting finger touch.

Configure interrupt mode and polarity on start up.  Power down on device
closure or module removal.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-18 23:25:56 -07:00
Stephen Boyd
57918dfadf Input: pmic8xxx-pwrkey - migrate to DT
The driver is only supported on DT enabled platforms. Convert the
driver to DT so that it can probe properly.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-03-30 13:25:19 -07:00
Stephen Boyd
86ea5e6b79 Input: pmic8xxx-keypad - migrate to DT
The driver is only supported on DT enabled platforms. Convert the
driver to DT so that it can probe properly.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-03-30 13:25:19 -07:00
Linus Torvalds
3aa78e0cb5 Merge tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next
Pull MFD update from Samuel Ortiz:
 "For the 3.11 merge we only have one new MFD driver for the Kontron
  PLD.

  But we also have:
   - Support for the TPS659038 PMIC from the palmas driver.
   - Intel's Coleto Creek and Avoton SoCs support from the lpc_ich
     driver.
   - RTL8411B support from the rtsx driver.
   - More DT support for the Arizona, max8998, twl4030-power and the
     ti_am335x_tsadc drivers.
   - The SSBI driver move under MFD.
   - A conversion to the devm_* API for most of the MFD drivers.
   - The twl4030-power got split from twl-core into its own module.
   - A major ti_am335x_adc cleanup, leading to a proper DT support.
   - Our regular arizona and wm* updates and cleanups from the Wolfson
     folks.
   - A better error handling and initialization, and a regulator
     subdevice addition for the 88pm80x driver.
   - A bulk platform_set_drvdata() call removal that's no longer need
     since commit 0998d06310 ("device-core: Ensure drvdata = NULL when
     no driver is bound")

* tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (102 commits)
  mfd: sec: Provide max_register to regmap
  mfd: wm8994: Remove duplicate check for active JACKDET
  MAINTAINERS: Add include directory to MFD file patterns
  mfd: sec: Remove fields not used since regmap conversion
  watchdog: Kontron PLD watchdog timer driver
  mfd: max8998: Add support for Device Tree
  regulator: max8998: Use arrays for specifying voltages in platform data
  mfd: max8998: Add irq domain support
  regulator: palmas: Add TPS659038 support
  mfd: Kontron PLD mfd driver
  mfd: palmas: Add TPS659038 PMIC support
  mfd: palmas: Add SMPS10_BOOST feature
  mfd: palmas: Check if irq is valid
  mfd: lpc_ich: iTCO_wdt patch for Intel Coleto Creek DeviceIDs
  mfd: twl-core: Change TWL6025 references to TWL6032
  mfd: davinci_voicecodec: Fix build breakage
  mfd: vexpress: Make the driver optional for arm and arm64
  mfd: htc-egpio: Use devm_ioremap_nocache() instead of ioremap_nocache()
  mfd: davinci_voicecodec: Convert to use devm_* APIs
  mfd: twl4030-power: Fix relocking on error
  ...
2013-07-10 11:10:27 -07:00
Dmitry Torokhov
27eb2c4b3d Merge branch 'next' into for-linus
Prepare first set of updates for 3.11 merge window.
2013-07-02 09:01:31 -07:00
Dmitry Torokhov
22381288ba Input: tps6507x-ts - remove vref from platform data
Although defined in platform data, vref is not used anywhere.

Also remove model, irq, and clear_penirq as they are not used either.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2013-06-25 09:47:35 -07:00
Sebastian Andrzej Siewior
a3e509bb32 input: mfd: ti_am335x_tsc remove remaining platform data pieces
The two header files removed here are unused and have no users as this
platform was never used with platform devices.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-06-12 18:50:21 +02:00
Patil, Rachna
bb76dc09dd input: ti_am33x_tsc: Order of TSC wires, made configurable
The current driver expected touchscreen input
wires(XP,XN,YP,YN) to be connected in a particular order.
Making changes to accept this as platform data.

Sebastian reworked the original patch and removed a lot of the not
required pieces.

Signed-off-by: Patil, Rachna <rachna@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-06-12 18:36:29 +02:00
Linus Torvalds
d7ab7302f9 Merge tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next
Pull MFD update from Samuel Ortiz:
 "For 3.10 we have a few new MFD drivers for:

   - The ChromeOS embedded controller which provides keyboard, battery
     and power management services.  This controller is accessible
     through i2c or SPI.

   - Silicon Laboratories 476x controller, providing access to their FM
     chipset and their audio codec.

   - Realtek's RTS5249, a memory stick, MMC and SD/SDIO PCI based
     reader.

   - Nokia's Tahvo power button and watchdog device.  This device is
     very similar to Retu and is thus supported by the same code base.

   - STMicroelectronics STMPE1801, a keyboard and GPIO controller
     supported by the stmpe driver.

   - ST-Ericsson AB8540 and AB8505 power management and voltage
     converter controllers through the existing ab8500 code.

  Some other drivers got cleaned up or improved.  In particular:

   - The Linaro/STE guys got the ab8500 driver in sync with their
     internal code through a series of optimizations, fixes and
     improvements.

   - The AS3711 and OMAP USB drivers now have DT support.

   - The arizona clock and interrupt handling code got improved.

   - The wm5102 register patch and boot mechanism also got improved."

* tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (104 commits)
  mfd: si476x: Don't use 0bNNN
  mfd: vexpress: Handle pending config transactions
  mfd: ab8500: Export ab8500_gpadc_sw_hw_convert properly
  mfd: si476x: Fix i2c warning
  mfd: si476x: Add header files and Kbuild plumbing
  mfd: si476x: Add chip properties handling code
  mfd: si476x: Add the bulk of the core driver
  mfd: si476x: Add commands abstraction layer
  mfd: rtsx: Support RTS5249
  mfd: retu: Add Tahvo support
  mfd: ucb1400: Pass ucb1400-gpio data through ac97 bus
  mfd: wm8994: Add some OF properties
  mfd: wm8994: Add device ID data to WM8994 OF device IDs
  input: Export matrix_keypad_parse_of_params()
  mfd: tps65090: Add compatible string for charger subnode
  mfd: db8500-prcmu: Support platform dependant device selection
  mfd: syscon: Fix warnings when printing resource_size_t
  of: Add stub of_get_parent for non-OF builds
  mfd: omap-usb-tll: Convert to devm_ioremap_resource()
  mfd: omap-usb-host: Convert to devm_ioremap_resource()
  ...
2013-05-05 17:36:20 -07:00