All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/2] Add support for Imagis touchscreens
@ 2022-02-22 20:34 Markuss Broks
  2022-02-22 20:34 ` [PATCH v6 1/2] dt-bindings: input/touchscreen: bindings for Imagis Markuss Broks
  2022-02-22 20:34 ` [PATCH v6 2/2] Input: add Imagis touchscreen driver Markuss Broks
  0 siblings, 2 replies; 10+ messages in thread
From: Markuss Broks @ 2022-02-22 20:34 UTC (permalink / raw)
  To: linux-kernel
  Cc: phone-devel, ~postmarketos/upstreaming, Markuss Broks,
	Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
	Henrik Rydberg, Stephen Rothwell, linux-input, devicetree

Add support for Imagis touchscreens, used on various mobile
devices such as Samsung Galaxy J5 (2015), J3 (2015), J5 (2016).

v2: rebase on top of the correct tree
v3:
- prefix all defines as IST3038C
- use two tabs for all defines
- add missing <linux/regulator/consumer.h> header
- drop ADDR_LEN and DATA_LEN defines; use sizeof(reg_be) instead
- use __be32 type for reg_be
- add a comment about i2c read not being successful on first try
- use "ret" instead of "res" in read_reg function
- don't use the internal __cpu_to_be32 function, use cpu_to_be32 instead
- use "error" instead of "ret" in interrupt handler
- pass the slot state directly, without ternary operator
- drop the dev_err in init_input_dev function
- reorder the functions in _probe so that the chipid command is read as fast 
as possible
- don't use imagis_start in probe
- initialize the irq after the chip is powered
- save the return value in imagis_resume
- drop WIDTH_MAJOR since only TOUCH_MAJOR is reported
- the "chip detected" message is now dev_dbg
- reorder headers so they are in alphabetic order
- use GENMASK to generate masks for getting the X and Y coordinates and touch area
- drop *_pressure from device tree bindings since the driver doesn't
support reporting pressure
- fix the typo with i2c address in device treee bindings (48 instead of 50)
- add IRQF_NO_AUTOEN flag to avoid unbalanced irq enable
v4:
- alphabetically order MAINTAINERS entry
- alphabetically order Kconfig and Makefile
- drop the error message in init_regulators
- disable regulators on probe error
- drop IRQF_TRIGGER_FALLING
- @ is not optional (device tree bindings)
- don't use items for compatible
- add maxItems property to reg, drop the comment
v5:
- compatible enum is not an item of the list, drop "-"
v6:
- add _MS suffix to the delay define, drop the comment
- change the reason for retry comment
- add imagis_power_off and imagis_power_on functions to turn regulators
on and off
- use imagis_power_on/off in imagis_start and imagis_stop as well as in probe function
- use error instead of ret in calls to functions which only return 0 or -errno
- include linux/bits.h
- proper indentation in Kconfig
- drop the dev_dbg chip id message
- MODULE_DEVICE_TABLE(of, ...);
- no extra tabs in i2c_driver struct
- save the return value in imagis_suspend

Markuss Broks (2):
  dt-bindings: input/touchscreen: bindings for Imagis
  Input: add Imagis touchscreen driver

 .../input/touchscreen/imagis,ist3038c.yaml    |  78 +++++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 MAINTAINERS                                   |   6 +
 drivers/input/touchscreen/Kconfig             |  10 +
 drivers/input/touchscreen/Makefile            |   1 +
 drivers/input/touchscreen/imagis.c            | 329 ++++++++++++++++++
 6 files changed, 426 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml
 create mode 100644 drivers/input/touchscreen/imagis.c

-- 
2.35.0


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: [PATCH v6 2/2] Input: add Imagis touchscreen driver
  2022-02-22 20:34 ` [PATCH v6 2/2] Input: add Imagis touchscreen driver Markuss Broks
  2022-02-23  4:59   ` kernel test robot
@ 2022-02-25  7:55 ` Dan Carpenter
  1 sibling, 0 replies; 10+ messages in thread
From: kernel test robot @ 2022-02-24 19:09 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 4232 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <20220222203414.8656-3-markuss.broks@gmail.com>
References: <20220222203414.8656-3-markuss.broks@gmail.com>
TO: Markuss Broks <markuss.broks@gmail.com>
TO: linux-kernel(a)vger.kernel.org
CC: phone-devel(a)vger.kernel.org
CC: ~postmarketos/upstreaming(a)lists.sr.ht
CC: Markuss Broks <markuss.broks@gmail.com>
CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
CC: Rob Herring <robh+dt@kernel.org>
CC: Krzysztof Kozlowski <krzk@kernel.org>
CC: Henrik Rydberg <rydberg@bitmath.org>
CC: linux-input(a)vger.kernel.org
CC: devicetree(a)vger.kernel.org

Hi Markuss,

I love your patch! Perhaps something to improve:

[auto build test WARNING on dtor-input/next]
[also build test WARNING on linux/master robh/for-next linus/master v5.17-rc5 next-20220223]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Markuss-Broks/Add-support-for-Imagis-touchscreens/20220223-043645
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: microblaze-randconfig-m031-20220224 (https://download.01.org/0day-ci/archive/20220225/202202250109.qr1l07ts-lkp(a)intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/input/touchscreen/imagis.c:305 imagis_suspend() error: uninitialized symbol 'ret'.
drivers/input/touchscreen/imagis.c:321 imagis_resume() error: uninitialized symbol 'ret'.

vim +/ret +305 drivers/input/touchscreen/imagis.c

bc77ee5e0d7309 Markuss Broks 2022-02-22  291  
bc77ee5e0d7309 Markuss Broks 2022-02-22  292  static int __maybe_unused imagis_suspend(struct device *dev)
bc77ee5e0d7309 Markuss Broks 2022-02-22  293  {
bc77ee5e0d7309 Markuss Broks 2022-02-22  294  	struct i2c_client *client = to_i2c_client(dev);
bc77ee5e0d7309 Markuss Broks 2022-02-22  295  	struct imagis_ts *ts = i2c_get_clientdata(client);
bc77ee5e0d7309 Markuss Broks 2022-02-22  296  	int ret;
bc77ee5e0d7309 Markuss Broks 2022-02-22  297  
bc77ee5e0d7309 Markuss Broks 2022-02-22  298  	mutex_lock(&ts->input_dev->mutex);
bc77ee5e0d7309 Markuss Broks 2022-02-22  299  
bc77ee5e0d7309 Markuss Broks 2022-02-22  300  	if (input_device_enabled(ts->input_dev))
bc77ee5e0d7309 Markuss Broks 2022-02-22  301  		ret = imagis_stop(ts);
bc77ee5e0d7309 Markuss Broks 2022-02-22  302  
bc77ee5e0d7309 Markuss Broks 2022-02-22  303  	mutex_unlock(&ts->input_dev->mutex);
bc77ee5e0d7309 Markuss Broks 2022-02-22  304  
bc77ee5e0d7309 Markuss Broks 2022-02-22 @305  	return ret;
bc77ee5e0d7309 Markuss Broks 2022-02-22  306  }
bc77ee5e0d7309 Markuss Broks 2022-02-22  307  
bc77ee5e0d7309 Markuss Broks 2022-02-22  308  static int __maybe_unused imagis_resume(struct device *dev)
bc77ee5e0d7309 Markuss Broks 2022-02-22  309  {
bc77ee5e0d7309 Markuss Broks 2022-02-22  310  	struct i2c_client *client = to_i2c_client(dev);
bc77ee5e0d7309 Markuss Broks 2022-02-22  311  	struct imagis_ts *ts = i2c_get_clientdata(client);
bc77ee5e0d7309 Markuss Broks 2022-02-22  312  	int ret;
bc77ee5e0d7309 Markuss Broks 2022-02-22  313  
bc77ee5e0d7309 Markuss Broks 2022-02-22  314  	mutex_lock(&ts->input_dev->mutex);
bc77ee5e0d7309 Markuss Broks 2022-02-22  315  
bc77ee5e0d7309 Markuss Broks 2022-02-22  316  	if (input_device_enabled(ts->input_dev))
bc77ee5e0d7309 Markuss Broks 2022-02-22  317  		ret = imagis_start(ts);
bc77ee5e0d7309 Markuss Broks 2022-02-22  318  
bc77ee5e0d7309 Markuss Broks 2022-02-22  319  	mutex_unlock(&ts->input_dev->mutex);
bc77ee5e0d7309 Markuss Broks 2022-02-22  320  
bc77ee5e0d7309 Markuss Broks 2022-02-22 @321  	return ret;
bc77ee5e0d7309 Markuss Broks 2022-02-22  322  }
bc77ee5e0d7309 Markuss Broks 2022-02-22  323  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-02-25  7:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-22 20:34 [PATCH v6 0/2] Add support for Imagis touchscreens Markuss Broks
2022-02-22 20:34 ` [PATCH v6 1/2] dt-bindings: input/touchscreen: bindings for Imagis Markuss Broks
2022-02-23  8:07   ` Krzysztof Kozlowski
2022-02-23 15:57   ` Rob Herring
2022-02-22 20:34 ` [PATCH v6 2/2] Input: add Imagis touchscreen driver Markuss Broks
2022-02-23  4:59   ` kernel test robot
2022-02-23 15:41   ` kernel test robot
2022-02-24 19:09 kernel test robot
2022-02-25  7:55 ` Dan Carpenter
2022-02-25  7:55 ` Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.