History log of /linux-master/drivers/input/touchscreen/imx6ul_tsc.c
Revision Date Author Comments
# a068aa57 02-Jan-2023 Jonathan Cameron <Jonathan.Cameron@huawei.com>

Input: imx6ul_tsc - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()

SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings. The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230102181842.718010-51-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# d69f0a43 04-Oct-2020 Andrzej Pietrasiewicz <andrzej.p@collabora.com>

Input: use input_device_enabled()

Use the newly added helper in relevant input drivers.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Link: https://lore.kernel.org/r/20200608112211.12125-3-andrzej.p@collabora.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# cd536aa5 13-Nov-2020 Lee Jones <lee.jones@linaro.org>

Input: imx6ul_tsc - remove set but unused variable 'value'

Fixes the following W=1 kernel build warning(s):

drivers/input/touchscreen/imx6ul_tsc.c: In function ‘adc_irq_fn’:
drivers/input/touchscreen/imx6ul_tsc.c:307:6: warning: variable ‘value’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Haibo Chen <haibo.chen@nxp.com>
Link: https://lore.kernel.org/r/20201112110204.2083435-6-lee.jones@linaro.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 925145f9 14-Sep-2020 Dmitry Torokhov <dmitry.torokhov@gmail.com>

Input: imx6ul_tsc - unify open/close and PM paths

Open/close and resume/suspend paths are very similar, let's factor out
common parts.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 30df23c5 14-Sep-2020 Dan Carpenter <dan.carpenter@oracle.com>

Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()

If imx6ul_tsc_init() fails then we need to clean up the clocks.

I reversed the "if (input_dev->users) {" condition to make the code a
bit simpler.

Fixes: 6cc527b05847 ("Input: imx6ul_tsc - propagate the errors")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20200905124942.GC183976@mwanda
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 0bec8b7e 14-Aug-2019 Stephen Boyd <swboyd@chromium.org>

Input: remove dev_err() usage after platform_get_irq()

We don't need dev_err() messages when platform_get_irq() fails now that
platform_get_irq() prints an error message itself when something goes
wrong. Let's remove these prints with a simple semantic patch.

// <smpl>
@@
expression ret;
struct platform_device *E;
@@

ret =
(
platform_get_irq(E, ...)
|
platform_get_irq_byname(E, ...)
);

if ( \( ret < 0 \| ret <= 0 \) )
{
(
-if (ret != -EPROBE_DEFER)
-{ ...
-dev_err(...);
-... }
|
...
-dev_err(...);
)
...
}
// </smpl>

While we're here, remove braces on if statements that only have one
statement (manually).

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# f1222f5e 20-May-2019 Anson Huang <anson.huang@nxp.com>

Input: imx6ul_tsc - use devm_platform_ioremap_resource() to simplify code

Use the new helper devm_platform_ioremap_resource() which wraps the
platform_get_resource() and devm_ioremap_resource() together, to
simplify the code.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 5ae37699 19-Jun-2018 Fabio Estevam <fabio.estevam@nxp.com>

Input: imx6ul_tsc - switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# c2868417 12-Apr-2017 Fabio Estevam <fabio.estevam@nxp.com>

Input: imx6ul_tsc - fix error handling

If imx6ul_tsc_init() fails we should not return directly.

We should disable the previously acquired clocks in this case.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# f43d3ec3 15-Dec-2016 Guy Shapiro <guy.shapiro@mobi-wize.com>

Input: imx6ul_tsc - generalize the averaging property

Make the avarage-samples property a general touchscreen property
rather than imx6ul device specific.

Signed-off-by: Guy Shapiro <guy.shapiro@mobi-wize.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# accbcea3 30-Nov-2016 Guy Shapiro <guy.shapiro@mobi-wize.com>

Input: imx6ul_tsc - convert int to u32

The code uses of_property_read_u32 and expects positive values. However,
the values are stored in signed int variables. Additionally, the registers
values are also stored in signed variables without a good reason
(readl/writel expect u32).

The only time this caused a real bug was in the new average-samples
property, in which the property is numerically compared and implicitly
expected to be positive.

I believe it's better to change all the properties and registers to u32,
for consistency and warnings reduction.

Signed-off-by: Guy Shapiro <guy.shapiro@mobi-wize.com>
Reported-by: Bjørn Forsman <bjorn.forsman@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 70f5a294 30-Nov-2016 Haibo Chen <haibo.chen@nxp.com>

Input: imx6ul_tsc - add mask when set REG_ADC_CFG

Add mask of each function bits of REG_ADC_CFG, and clear these
function bits first, otherwise use '|=' operation may get the
wrong setting which depends on the original value of REG_ADC_CFG.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Guy Shapiro <guy.shapiro@mobi-wize.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 031bfed2 27-Nov-2016 Guy Shapiro <guy.shapiro@mobi-wize.com>

Input: imx6ul_tsc - add support for sample averaging

The i.MX6UL internal touchscreen controller contains an option to
average upon samples. This feature reduces noise from the produced
touch locations.

This patch adds sample averaging support to the imx6ul_tsc device
driver.

Signed-off-by: Guy Shapiro <guy.shapiro@mobi-wize.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 002801fc 14-Sep-2015 Fabio Estevam <fabio.estevam@freescale.com>

Input: imx6ul_tsc - fix controller name

We should better write "Touchscreen".

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 5eab3cf3 14-Sep-2015 Fabio Estevam <fabio.estevam@freescale.com>

Input: imx6ul_tsc - use the preferred method for kzalloc()

According to Documentation/CodingStyle:

"The preferred form for passing a size of a struct is the following:

p = kmalloc(sizeof(*p), ...);"

so do as suggested.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 3905de62 14-Sep-2015 Fabio Estevam <fabio.estevam@freescale.com>

Input: imx6ul_tsc - check for negative return value

We should check for negative values returned by platform_get_irq().

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 6cc527b0 14-Sep-2015 Fabio Estevam <fabio.estevam@freescale.com>

Input: imx6ul_tsc - propagate the errors

imx6ul_adc_init() may fail in two cases, so we should better
propagate the errors and make sure that the callers of
this function also check and propagate the errors accordingly.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


# 9a436d52 05-Sep-2015 Haibo Chen <haibo.chen@freescale.com>

Input: touchscreen - add imx6ul_tsc driver support

Freescale i.MX6UL contains a internal touchscreen controller,
this patch add a driver to support this controller.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>