Message ID | 20231202125948.10345-6-karelb@gimli.ms.mff.cuni.cz |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp1750537vqy; Sat, 2 Dec 2023 05:09:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IGqQm6wXpDrh5zP+CfVHLn1eexc9h6KHnOETcZpqvy0scZ1e6LdHZkU6nnoEmXXemf5A2fq X-Received: by 2002:a17:90a:f689:b0:286:6cc1:77ff with SMTP id cl9-20020a17090af68900b002866cc177ffmr893217pjb.66.1701522593904; Sat, 02 Dec 2023 05:09:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701522593; cv=none; d=google.com; s=arc-20160816; b=TiqeO2cxl2p+DHMliAdLBJs7osO+xkhjwZBLuBouoHr8x2A2wk+pBD9XxknDuQnvOC dGqOK71kYVjFyUZY/dP5Vnn6YSiiax+5mj+VsyNfGUJRVPyXQ8DHTZJHsYoE+KTTxYv5 ZTHmPS9U+7o8hGDS0hAMjhMnWBo17EmywOHAqIBbRoOeVCtDRhB8axL1gB1XhKOb3kCo n4lX8kG9X/wIUwtUx9RqVAqq8hxRrAYBi9Yet39nkjHpB1vidvMbACqFWjwwRNMeKYGB YuWpGA7MwdVo0Ibj3qgf9E2CnBhUU06sTXoj5LG2GwCKJNezAOk2yf3DRtcqlvdMEK// S1yQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=dlwa5psbH4GuBlFOgG5dQBJEh+/E3KdGiPUq4tEBZPw=; fh=JqA0Xee0/CWumczA5TuyC+7WXtsf+tJMEa8SbRnVgwI=; b=0ieILIHqmQ/cnVTd+E4TXrll5P40ReDKmxdicZMExpL9179wRxEx0/mNAuvOLH8kMI zdr5D1Np479InQFtsDaUSF2UPKg53fEYo8ei4kuo3DJ0x6Zz2zwKloXhsqqSrcniVxOt RxTvSd2q1RUG+S+1umQr7KGazLeeZ0TP4dTJiIrt7qgZZymcKRhoaQXbi22S7KBCEcsS PKyhAt6XSGWZxFeEB6bYwv4g6YUsRcyVMPQMRNhRdhjiDeo57SKKOtKvV7WzyGbYvCzz aS/mKwqDgsgcGBLcO59p2D66sVdtNrCt6tYlOWaxh5FZlez0vbo6u3PjFbXumB+S0hli x1yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gimli.ms.mff.cuni.cz header.s=gen1 header.b=I8HEMqrC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gimli.ms.mff.cuni.cz Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id f16-20020a170902ce9000b001d082f25836si60348plg.333.2023.12.02.05.09.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Dec 2023 05:09:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@gimli.ms.mff.cuni.cz header.s=gen1 header.b=I8HEMqrC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gimli.ms.mff.cuni.cz Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 5C24080702CC; Sat, 2 Dec 2023 05:09:51 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232800AbjLBNJi (ORCPT <rfc822;pwkd43@gmail.com> + 99 others); Sat, 2 Dec 2023 08:09:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229852AbjLBNJf (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Sat, 2 Dec 2023 08:09:35 -0500 X-Greylist: delayed 558 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Sat, 02 Dec 2023 05:09:39 PST Received: from nikam.ms.mff.cuni.cz (nikam.ms.mff.cuni.cz [195.113.20.16]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C26311D; Sat, 2 Dec 2023 05:09:39 -0800 (PST) Received: from gimli.ms.mff.cuni.cz (gimli.ms.mff.cuni.cz [195.113.20.176]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by nikam.ms.mff.cuni.cz (Postfix) with ESMTPS id 01E0128BDEE; Sat, 2 Dec 2023 14:00:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gimli.ms.mff.cuni.cz; s=gen1; t=1701522045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dlwa5psbH4GuBlFOgG5dQBJEh+/E3KdGiPUq4tEBZPw=; b=I8HEMqrCNV63kBxXZ+OeFCG+1g7cW9Pf5/KgMCjocGqRX+DFupxcT+R7CZyrxfqVDOCUFz XmBbUa/UozgbVwJOMhx8kMwY0nH0gC+Nb7U7dYEXYlY4j7ENIWOHRyLQ3SghteYQicNVAR D/8JSwirogd25XzlX0T0Gq3ZQpe0ork= Received: from localhost (internet5.mraknet.com [185.200.108.250]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: karelb) by gimli.ms.mff.cuni.cz (Postfix) with ESMTPSA id D53FA4443E5; Sat, 2 Dec 2023 14:00:44 +0100 (CET) From: Karel Balej <karelb@gimli.ms.mff.cuni.cz> To: Markuss Broks <markuss.broks@gmail.com>, Dmitry Torokhov <dmitry.torokhov@gmail.com>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Henrik Rydberg <rydberg@bitmath.org>, linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Duje_Mihanovi=C4=87?= <duje.mihanovic@skole.hr>, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Karel Balej <balejk@matfyz.cz> Subject: [PATCH v3 5/5] input/touchscreen: imagis: add support for IST3032C Date: Sat, 2 Dec 2023 13:48:36 +0100 Message-ID: <20231202125948.10345-6-karelb@gimli.ms.mff.cuni.cz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231202125948.10345-1-karelb@gimli.ms.mff.cuni.cz> References: <20231202125948.10345-1-karelb@gimli.ms.mff.cuni.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Sat, 02 Dec 2023 05:09:51 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784175755612012245 X-GMAIL-MSGID: 1784175755612012245 |
Series |
input/touchscreen: imagis: add support for IST3032C
|
|
Commit Message
Karel Balej
Dec. 2, 2023, 12:48 p.m. UTC
From: Karel Balej <balejk@matfyz.cz> IST3032C is a touchscreen chip used for instance in the samsung,coreprimevelte smartphone, with which this was tested. Add the chip specific information to the driver. Signed-off-by: Karel Balej <balejk@matfyz.cz> --- drivers/input/touchscreen/imagis.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
Comments
Hi Karel, On 12/2/23 14:48, Karel Balej wrote: > From: Karel Balej <balejk@matfyz.cz> > > IST3032C is a touchscreen chip used for instance in the > samsung,coreprimevelte smartphone, with which this was tested. Add the > chip specific information to the driver. > > Signed-off-by: Karel Balej <balejk@matfyz.cz> > --- > drivers/input/touchscreen/imagis.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/input/touchscreen/imagis.c b/drivers/input/touchscreen/imagis.c > index 84a02672ac47..41f28e6e9cb1 100644 > --- a/drivers/input/touchscreen/imagis.c > +++ b/drivers/input/touchscreen/imagis.c > @@ -35,6 +35,8 @@ > #define IST3038B_REG_CHIPID 0x30 > #define IST3038B_WHOAMI 0x30380b > > +#define IST3032C_WHOAMI 0x32c > + Perhaps it should be ordered in alphabetic/alphanumeric order, alternatively, the chip ID values could be grouped. > struct imagis_properties { > unsigned int interrupt_msg_cmd; > unsigned int touch_coord_cmd; > @@ -363,6 +365,13 @@ static int imagis_resume(struct device *dev) > > static DEFINE_SIMPLE_DEV_PM_OPS(imagis_pm_ops, imagis_suspend, imagis_resume); > > +static const struct imagis_properties imagis_3032c_data = { > + .interrupt_msg_cmd = IST3038C_REG_INTR_MESSAGE, > + .touch_coord_cmd = IST3038C_REG_TOUCH_COORD, > + .whoami_cmd = IST3038C_REG_CHIPID, > + .whoami_val = IST3032C_WHOAMI, > +}; > + > static const struct imagis_properties imagis_3038b_data = { > .interrupt_msg_cmd = IST3038B_REG_STATUS, > .touch_coord_cmd = IST3038B_REG_STATUS, > @@ -380,6 +389,7 @@ static const struct imagis_properties imagis_3038c_data = { > > #ifdef CONFIG_OF > static const struct of_device_id imagis_of_match[] = { > + { .compatible = "imagis,ist3032c", .data = &imagis_3032c_data }, > { .compatible = "imagis,ist3038b", .data = &imagis_3038b_data }, > { .compatible = "imagis,ist3038c", .data = &imagis_3038c_data }, > { }, Other than that, Reviewed-by: Markuss Broks <markuss.broks@gmail.com> - Markuss
Hi Karel, kernel test robot noticed the following build warnings: [auto build test WARNING on dtor-input/next] [also build test WARNING on dtor-input/for-linus robh/for-next linus/master v6.7-rc4 next-20231205] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Karel-Balej/dt-bindings-input-touchscreen-Add-compatible-for-IST3038B/20231202-215030 base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next patch link: https://lore.kernel.org/r/20231202125948.10345-6-karelb%40gimli.ms.mff.cuni.cz patch subject: [PATCH v3 5/5] input/touchscreen: imagis: add support for IST3032C config: hexagon-randconfig-r111-20231204 (https://download.01.org/0day-ci/archive/20231205/202312052257.8Qd4OcID-lkp@intel.com/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) reproduce: (https://download.01.org/0day-ci/archive/20231205/202312052257.8Qd4OcID-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202312052257.8Qd4OcID-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from drivers/input/touchscreen/imagis.c:5: In file included from include/linux/i2c.h:19: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:26: In file included from include/linux/kernel_stat.h:9: In file included from include/linux/interrupt.h:11: In file included from include/linux/hardirq.h:11: In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/hexagon/include/asm/io.h:334: include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 547 | val = __raw_readb(PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu' 37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) | ^ In file included from drivers/input/touchscreen/imagis.c:5: In file included from include/linux/i2c.h:19: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:26: In file included from include/linux/kernel_stat.h:9: In file included from include/linux/interrupt.h:11: In file included from include/linux/hardirq.h:11: In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/hexagon/include/asm/io.h:334: include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu' 35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) | ^ In file included from drivers/input/touchscreen/imagis.c:5: In file included from include/linux/i2c.h:19: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:26: In file included from include/linux/kernel_stat.h:9: In file included from include/linux/interrupt.h:11: In file included from include/linux/hardirq.h:11: In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/hexagon/include/asm/io.h:334: include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 584 | __raw_writeb(value, PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ >> drivers/input/touchscreen/imagis.c:368:39: warning: unused variable 'imagis_3032c_data' [-Wunused-const-variable] 368 | static const struct imagis_properties imagis_3032c_data = { | ^ drivers/input/touchscreen/imagis.c:375:39: warning: unused variable 'imagis_3038b_data' [-Wunused-const-variable] 375 | static const struct imagis_properties imagis_3038b_data = { | ^ drivers/input/touchscreen/imagis.c:383:39: warning: unused variable 'imagis_3038c_data' [-Wunused-const-variable] 383 | static const struct imagis_properties imagis_3038c_data = { | ^ 9 warnings generated. vim +/imagis_3032c_data +368 drivers/input/touchscreen/imagis.c 367 > 368 static const struct imagis_properties imagis_3032c_data = { 369 .interrupt_msg_cmd = IST3038C_REG_INTR_MESSAGE, 370 .touch_coord_cmd = IST3038C_REG_TOUCH_COORD, 371 .whoami_cmd = IST3038C_REG_CHIPID, 372 .whoami_val = IST3032C_WHOAMI, 373 }; 374
Markuss, thank you for the review. > > diff --git a/drivers/input/touchscreen/imagis.c b/drivers/input/touchscreen/imagis.c > > index 84a02672ac47..41f28e6e9cb1 100644 > > --- a/drivers/input/touchscreen/imagis.c > > +++ b/drivers/input/touchscreen/imagis.c > > @@ -35,6 +35,8 @@ > > #define IST3038B_REG_CHIPID 0x30 > > #define IST3038B_WHOAMI 0x30380b > > > > +#define IST3032C_WHOAMI 0x32c > > + > Perhaps it should be ordered in alphabetic/alphanumeric order, > alternatively, the chip ID values could be grouped. Here I followed suit and just started a new section for the new chip, except there is only one entry. I do agree that it would be better to sort the chips alphanumerically and I am actually surprised that I didn't do that - but now I see that the chips that you added are not sorted either, so it might be because of that. I propose to definitely swap the order of the sections, putting 32C first, then 38B and 38C at the end (from top to bottom). The chip ID values could then still be grouped in a new section, but I think I would actually prefer to keep them as parts of the respective sections as it is now, although it is in no way a strong preference. Please let me know whether you agree with this or have a different preference. And if the former, please confirm that I can add your Reviewed-by trailer to the patch modified in such a way. Best regards, K. B.
Hi Karel, On 12/8/23 23:59, Karel Balej wrote: > Markuss, > > thank you for the review. > >>> diff --git a/drivers/input/touchscreen/imagis.c b/drivers/input/touchscreen/imagis.c >>> index 84a02672ac47..41f28e6e9cb1 100644 >>> --- a/drivers/input/touchscreen/imagis.c >>> +++ b/drivers/input/touchscreen/imagis.c >>> @@ -35,6 +35,8 @@ >>> #define IST3038B_REG_CHIPID 0x30 >>> #define IST3038B_WHOAMI 0x30380b >>> >>> +#define IST3032C_WHOAMI 0x32c >>> + >> Perhaps it should be ordered in alphabetic/alphanumeric order, >> alternatively, the chip ID values could be grouped. > Here I followed suit and just started a new section for the new chip, > except there is only one entry. I do agree that it would be better to > sort the chips alphanumerically and I am actually surprised that I > didn't do that - but now I see that the chips that you added are not > sorted either, so it might be because of that. > > I propose to definitely swap the order of the sections, putting 32C > first, then 38B and 38C at the end (from top to bottom). The chip ID > values could then still be grouped in a new section, but I think I would > actually prefer to keep them as parts of the respective sections as it > is now, although it is in no way a strong preference. We could do that, yeah. It is not a problem right now since there's only 3 models supported, but it would maker sense and set some order for when we'd have more supported devices. > > Please let me know whether you agree with this or have a different > preference. And if the former, please confirm that I can add your > Reviewed-by trailer to the patch modified in such a way. Yeah, it's fine. > > Best regards, > K. B. - Markuss
diff --git a/drivers/input/touchscreen/imagis.c b/drivers/input/touchscreen/imagis.c index 84a02672ac47..41f28e6e9cb1 100644 --- a/drivers/input/touchscreen/imagis.c +++ b/drivers/input/touchscreen/imagis.c @@ -35,6 +35,8 @@ #define IST3038B_REG_CHIPID 0x30 #define IST3038B_WHOAMI 0x30380b +#define IST3032C_WHOAMI 0x32c + struct imagis_properties { unsigned int interrupt_msg_cmd; unsigned int touch_coord_cmd; @@ -363,6 +365,13 @@ static int imagis_resume(struct device *dev) static DEFINE_SIMPLE_DEV_PM_OPS(imagis_pm_ops, imagis_suspend, imagis_resume); +static const struct imagis_properties imagis_3032c_data = { + .interrupt_msg_cmd = IST3038C_REG_INTR_MESSAGE, + .touch_coord_cmd = IST3038C_REG_TOUCH_COORD, + .whoami_cmd = IST3038C_REG_CHIPID, + .whoami_val = IST3032C_WHOAMI, +}; + static const struct imagis_properties imagis_3038b_data = { .interrupt_msg_cmd = IST3038B_REG_STATUS, .touch_coord_cmd = IST3038B_REG_STATUS, @@ -380,6 +389,7 @@ static const struct imagis_properties imagis_3038c_data = { #ifdef CONFIG_OF static const struct of_device_id imagis_of_match[] = { + { .compatible = "imagis,ist3032c", .data = &imagis_3032c_data }, { .compatible = "imagis,ist3038b", .data = &imagis_3038b_data }, { .compatible = "imagis,ist3038c", .data = &imagis_3038c_data }, { },