Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp3620513rdg; Wed, 18 Oct 2023 00:16:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHjaxPFzXCTfA6ZFwmaBQskfeA45h1sFguYO4aphW7XQ24Bxc23V0KqyhQkryhUCs+QQil+ X-Received: by 2002:a05:6a20:e11f:b0:15c:b7ba:1671 with SMTP id kr31-20020a056a20e11f00b0015cb7ba1671mr6734818pzb.2.1697613371951; Wed, 18 Oct 2023 00:16:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697613371; cv=none; d=google.com; s=arc-20160816; b=h/YoZM5/R0QCgs/t0xmDnQfEMrLUFtl7RqPY9r7g6ijC99g7yWqk9ReP6E4mpGSDfW zs4NZrEFO/LP+I5Sn3DbyQzN6aO/Q8V08/TW5GS/BtiZnkBeUKYaGhRTRw9DvsIbcSNt ceXuwr9frzJu6f6S+fQhVQ75aVPmq+/0/RZUS7TtsNvnFPGK9eIob2FILrMxZy+qhv8r JpKk1BFul+DldDpgnxuP+SfINOA1NFQsnQ2EEHttyV2Ke0uQ/3sB5e9cLbp27OH0h5cO s+Ahi7vT8zuSCVk2BjVw+w5fPzeHuoCKO9ilbw3lS6JzllxhIgUxDxjf37KAMi0y3qQp mNNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=0PwNGpL2CrlETWFhHjPTrsandKN6Y0cpfbf1Dj+n16s=; fh=4fW9x5pardqjkrPfKpGy23GqEEFDsrOit0WlyGFz3KQ=; b=CbUlkxwYatFXMx1xVuxCboebyL7w5s8ssywtdXaoTfkcuuwBrDDEJ1gOny6l2SRGcq OSBooWrg+T56XDGISXpfnBaa5eNzi07erjKuNGvmQlY+Qc2Q6T49A/rRZN8d2XmiENgI cle+pSZIB47HJMJXziS+dDMooIWjZa+Afc8WY7V40qhe7rYA7ljae5HXSeBzcdLAOEDN C/woEbDU+vwyz+y266sUgXf3viAezxg5m/Lr+pKdSoWVavfXZIK97BvwAFHUVEsANwVh 1/qyE3v4DONEIH+5AZmYOOnJYaMVMeK5cF4C4R+2LxzjGrANNEJMECrVPCB/sLC4yC72 OkPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GLeLHmif; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id d13-20020a65620d000000b00557531eafb0si1537017pgv.559.2023.10.18.00.16.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Oct 2023 00:16:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GLeLHmif; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id C53D28079720; Wed, 18 Oct 2023 00:15:33 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229804AbjJRHPT (ORCPT + 99 others); Wed, 18 Oct 2023 03:15:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229730AbjJRHPS (ORCPT ); Wed, 18 Oct 2023 03:15:18 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 64EF9BA; Wed, 18 Oct 2023 00:15:16 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C40D5C433C8; Wed, 18 Oct 2023 07:15:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697613316; bh=GGL7+oBmYKas190DKMBWKcJlXN4VqLRqL1TcneBhXOk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GLeLHmifrc4uNsEncMQPy1C3Cq8LJFWWlTzwSAh0MwNWTFvTUnwLj/HuN9oU4Cq5F yGRtdF6gpPOmMhjNfH6y7sTJ9kcMwB9y3EroDqXFdmT0abE7u6lKGA10L/BRlRzZMG FvZ1d9J3eXQnz6PdTxUkMw4bTa42/ERcZC9a4IcLX3wwTKUR8zTAveNR9cYo5pTvCg Gg6TnjmwH6aXrzG1WQEV+vjE86sypkqAVgZ8ZJztgJ0bEglm/YOhvOg2vlKxD/GjQd 7K8n5EgjzUozsCnZFLjnaAIDvmyOGvNqCOR7P6p+MUnuJ6WvC/N2Y4NLIbGHRsBzJN gr4G03alp654A== Date: Wed, 18 Oct 2023 09:15:09 +0200 From: Benjamin Tissoires To: Tylor Yang Cc: dmitry.torokhov@gmail.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jikos@kernel.org, benjamin.tissoires@redhat.com, linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, poyuan_chang@himax.corp-partner.google.com, jingyliang@chromium.org, hbarnor@chromium.org, wuxy23@lenovo.com, luolm1@lenovo.com, poyu_hung@himax.corp-partner.google.com Subject: Re: [PATCH v3 2/4] HID: touchscreen: Add initial support for Himax HID-over-SPI Message-ID: References: <20231017091900.801989-1-tylor_yang@himax.corp-partner.google.com> <20231017091900.801989-3-tylor_yang@himax.corp-partner.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231017091900.801989-3-tylor_yang@himax.corp-partner.google.com> X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Wed, 18 Oct 2023 00:15:34 -0700 (PDT) Hi Tylor, [in addition to any other reviews] On Oct 17 2023, Tylor Yang wrote: > The hx83102j is a TDDI IC (Touch with Display Driver). The > IC using SPI to transferring HID packet to host CPU. The IC also > report HID report descriptor for driver to register HID device. > The driver is designed as a framework for future expansion and > hx83102j is the first case. Each hx_spi_hid_hx8xxxxx modules are > mutual exclusive, it should be initiate one at a time. > > This driver takes a position similar to i2c-hid, it initialize > and control the touch IC below and register HID to upper hid-core. > When touch ic report an interrupt, it receive the data from IC > and report as HID input to hid-core. Let hid-core dispatch input > to registered hid-protocol and report to related input sub-system. > > This driver also provide advanced functions by hidraw interface: Generally speaking, when your commit message has an "also" in the middle, it means that the next feature(s) need to be split in their own patches. > - runtime firmware update > - debug functions, such as reg r/w > - self test for touch panel So this means that this patch should at least be split in 4. > > Due to patch size is too big, separate into 3 part. This is part 1. This is the wrong reason to split a patch series. Well, it's true, it's too big, but you have to take into account the reviewers/maintainers point of view: - we don't know the internals of your device - we don't (necessarily) have access to the docs - we don't have a lot of time to spend on a review - we can not focus on a 9000 lines of code patch and remember every single aspect when reviewing, to be able to point bugs Given that you compared this driver to i2c-hid, please have a look at the history of it: - my first initial submission[0] (v1) was a single patch of 1000 loc, but it contained only the core functionality to bind a driver. I stripped everything else that could make it useful (ACPI or DT bindings) but it was a an attempt at being a one-to-one mapping of the I2C part of the publicly available specification - shortly after I sent a separate 14 patches series to do more cleanups on the initial patch, as things were moving forward - then Mika submitted the ACPI handling[1] - and DT bindings came later [2] (8 months after the initial submission) My point is, when the code is that big, it's perfectly fine to have it split and maybe not have all of the functionalities available in the first submission. Bonus point for not having everything and in smaller patches: it's less of a pain to change or drop stuff :) > > Signed-off-by: Tylor Yang > --- > MAINTAINERS | 1 + > drivers/hid/hx-hid/hx_acpi.c | 81 ++ > drivers/hid/hx-hid/hx_core.c | 1605 +++++++++++++++++++++++++++++ > drivers/hid/hx-hid/hx_core.h | 489 +++++++++ > drivers/hid/hx-hid/hx_hid.c | 753 ++++++++++++++ > drivers/hid/hx-hid/hx_hid.h | 96 ++ > drivers/hid/hx-hid/hx_ic_83102j.c | 340 ++++++ > drivers/hid/hx-hid/hx_ic_83102j.h | 42 + hx-hid is a terrible name. Why not at least "himax-hid"? Or maybe "himax-spi-hid"? Also, I can't remember if this was already asked, but is that driver vaguely related to the HID over SPI specification from Microsoft? We have seen one submission in the past regarding that even if it didn't went through, but if your driver implements this protocol following Microsoft's specification, I'd rather not have a custom vendor code when we can have a "standardized" one. [...] Cheers, Benjamin [0] https://lore.kernel.org/linux-input/1347630103-4105-1-git-send-email-benjamin.tissoires@gmail.com/ [1] https://lore.kernel.org/linux-input/1357650332-30031-1-git-send-email-mika.westerberg@linux.intel.com/ [2] https://lore.kernel.org/linux-input/1371109835-30796-1-git-send-email-benjamin.tissoires@redhat.com/