Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp7479142rwd; Tue, 6 Jun 2023 11:15:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5bLG0YotVQzEcs6haNttbiSFgKJ3W72PDsYn7kWGz+7CXogZFgnqlma+trqfrYOxhacJoR X-Received: by 2002:a05:6214:5090:b0:62b:437b:54c5 with SMTP id kk16-20020a056214509000b0062b437b54c5mr469039qvb.18.1686075344746; Tue, 06 Jun 2023 11:15:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686075344; cv=none; d=google.com; s=arc-20160816; b=KB519EISuaVLJX2gAlt/x0gbsAJsQkGreqSwR5Enq1gxfcD05ZI8i5WaAqnHxRTzz+ haOTrt2cJDh/epdgBu1pcNqIUY6IVEUUdinlKR5uZrNnKE5sDEC/KbGZSIAXTmsboxeo 5Wwio7Tg0qbryY1H6e9PYOXpEkD2dNv69em8gedOdjYg7phsZ8HTZ/3mszFu84ePv1bD Hx/iXaGAIKv2eiY/yRmEZgc0UhqYBpk4aRCwaKGETtodC9xEIXSwyqcJQT9fq8Tejsfq XlY1FvKKTiqftHUmx0j0C0AlTHx3JQLRMo9aObBO3LVWhAk0D7WJ1U4feuyAwmjYI+hI LDeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:subject :organization:references:cc:to:content-language:reply-to:from :user-agent:mime-version:date:message-id:dkim-signature; bh=kYoqAND0o4BTOUj5sWEzm+/BHDSbhCWoaP3pRrbOvnA=; b=DZ1WlTTrnyeZOUm5CP+1EFANEn9uvxclLMThoAkLUfnB9tn4nLu4dliim/NWD2omLg ja4ah9e7X7lNIi/Fu9bSHB/3S2WNuo9qgX8K2wom2ygQb1IBJBlu/GNmDJ2h45VogGLa UQMJ3AZn7c7Au5F4dXM55KTKgJuZymVku1rGfnqvhvjMSRtUV/YHF8V6A8AaioRZAX88 vGwWraQfGNi+LnNLzrWWBiI/NJJYk0tlFvtOy/9vnFACvIXGJMh4SBTNr3Ajzl1aFyjx oywG8ln2KSF80+KDTj6G0rud9PbJFdqLoTqPCohLPWydLcomu//DSEXdgHo6m83OyaNl S/Rg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bnio+IJx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 14-20020a05621420ce00b0056eb55b3495si6676330qve.449.2023.06.06.11.15.29; Tue, 06 Jun 2023 11:15:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bnio+IJx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238633AbjFFSMV (ORCPT + 99 others); Tue, 6 Jun 2023 14:12:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235673AbjFFSMP (ORCPT ); Tue, 6 Jun 2023 14:12:15 -0400 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 890B11706 for ; Tue, 6 Jun 2023 11:12:07 -0700 (PDT) Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-30af86a96b4so5240661f8f.3 for ; Tue, 06 Jun 2023 11:12:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1686075126; x=1688667126; h=content-transfer-encoding:in-reply-to:subject:organization :references:cc:to:content-language:reply-to:from:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=kYoqAND0o4BTOUj5sWEzm+/BHDSbhCWoaP3pRrbOvnA=; b=bnio+IJxvuO9HXe0vGhyEhDhF6pAAy7aBhSPJDOJzsCiZZGe9PAkzHeROllMfCXdpH V36EzPcr1yVaLDOgUTBiiQ7jyXiWvLdGwoO7F1ZthZHxMG1Tcgh+Ro+7cc2NJEHJabpJ JsySQycsMVypyhq6yM3Am+EbPoV9rtrNTwARsAi567Fhk+v3wiTD8a2Z9JaLtnDYG4do agE67HcVt8HKI5YPZ0MxTItLm80+4WNsZNV2ic65li1BguKhFTUs8/u6izZhaar3Ge83 O3PH82aK/FWVb0vWY3JnyaVvtYJK+u90m7FIjreMslf/RBJNgYQNXG3uvGUnxwKomkRh 0Kdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686075126; x=1688667126; h=content-transfer-encoding:in-reply-to:subject:organization :references:cc:to:content-language:reply-to:from:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=kYoqAND0o4BTOUj5sWEzm+/BHDSbhCWoaP3pRrbOvnA=; b=iggh9NPW7ntLgyySY4eRTiv0OYAuxegJ0wMUurYjJ8NaRVpZJMytTHpt+JEuu9rng1 sxLYePAl1dC9kV0CAm6QnaDbcW21GwWIExr5i20QCz98RoWx5Y1JIoRfbWr1y9EIOkrf frxj35Lo50jkDt4D8xY6NzpWhv152RP6P53szvfF5DsJeqGGb/1oASczDUZC5d6UuNHq K+ANJYoHSqidq7D1ghJ81XeAFBbM72fFSSGSY230Ga3n0uK12WKwlgmlYmbzsviU6/+I nbp6jSsD3uWNDSY53lUaqvoyXZePUpzlGBxIGoLGKsQjkVyfpXknfjnfvB7UXYnzMU3u Dwkw== X-Gm-Message-State: AC+VfDz+D8qE/bnf3YeLKAZZiMQvR7/lHSDX63VKVAanj0wxdceRvFOM Yyh3hKpNzhilIaiAhM1AnB/vsA== X-Received: by 2002:a05:6000:149:b0:306:297b:927f with SMTP id r9-20020a056000014900b00306297b927fmr2094739wrx.25.1686075125909; Tue, 06 Jun 2023 11:12:05 -0700 (PDT) Received: from ?IPV6:2a01:e0a:982:cbb0:4973:1165:b171:fa69? ([2a01:e0a:982:cbb0:4973:1165:b171:fa69]) by smtp.gmail.com with ESMTPSA id y6-20020a5d4ac6000000b002c70ce264bfsm13397523wrs.76.2023.06.06.11.12.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jun 2023 11:12:05 -0700 (PDT) Message-ID: <2677ae8c-59d3-b658-dc3f-918838ac0fb6@linaro.org> Date: Tue, 6 Jun 2023 20:12:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 From: Neil Armstrong Reply-To: neil.armstrong@linaro.org Content-Language: en-US To: Hans de Goede , Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bastien Nocera , Henrik Rydberg Cc: linux-input@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20230606-topic-goodix-berlin-upstream-initial-v1-0-4a0741b8aefd@linaro.org> Organization: Linaro Developer Services Subject: Re: [PATCH RFC 0/4] input: touchscreen: add initial support for Goodix Berlin touchscreen IC In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 06/06/2023 17:31, Hans de Goede wrote: > Hi Neil, > > On 6/6/23 16:31, Neil Armstrong wrote: >> These touchscreen ICs support SPI, I2C and I3C interface, up to >> 10 finger touch, stylus and gestures events. >> >> This initial driver is derived from the Goodix goodix_ts_berlin >> available at [1] and [2] and only supports the GT9916 IC >> present on the Qualcomm SM8550 MTP & QRD touch panel. >> >> The current implementation only supports BerlinD, aka GT9916. >> >> Support for advanced features like: >> - Firmware & config update >> - Stylus events >> - Gestures events >> - Previous revisions support (BerlinA or BerlinB) >> is not included in current version. >> >> The current support will work with currently flashed firmware >> and config, and bail out if firmware or config aren't flashed yet. > > What I'm missing here / in the commit msg of > "input: touchscreen: add core support for Goodix Berlin Touchscreen IC" > > is an explanation why this is a new driver instead of adding > support to the existing goodix.c code. > > I assume you have good reasons for this, but it would be good > if you can write the reasons for this down. Sure, should I write it down here and/or update the commit message in a new revision ? Anyway, here's the reasons: - globally the event handling "looks like" the current goodix.c, but again the offsets are again different and none of the register address are the same, and unlike the current support all registers are provided by the "ic_info" structure - while with the current code it *could* be possible to merge it, with a lot of changes, the firmware management looks really different, and it would be really hard to merge. But I may be wrong, and may be misleaded by the goodix driver structure (even if it went through a really heavy cleaning process). Globally it seems they tried to match the "event handling" process of the previous generations, but the firmware interface is completely different. Neil > > Regards, > > Hans > > > >> >> [1] https://github.com/goodix/goodix_ts_berlin >> [2] https://git.codelinaro.org/clo/la/platform/vendor/opensource/touch-drivers >> >> Signed-off-by: Neil Armstrong >> --- >> Neil Armstrong (4): >> dt-bindings: input: document Goodix Berlin Touchscreen IC >> input: touchscreen: add core support for Goodix Berlin Touchscreen IC >> input: touchscreen: add I2C support for Goodix Berlin Touchscreen IC >> input: touchscreen: add SPI support for Goodix Berlin Touchscreen IC >> >> .../bindings/input/touchscreen/goodix-berlin.yaml | 81 ++ >> drivers/input/touchscreen/Kconfig | 33 + >> drivers/input/touchscreen/Makefile | 3 + >> drivers/input/touchscreen/goodix_berlin.h | 228 +++++ >> drivers/input/touchscreen/goodix_berlin_core.c | 935 +++++++++++++++++++++ >> drivers/input/touchscreen/goodix_berlin_i2c.c | 76 ++ >> drivers/input/touchscreen/goodix_berlin_spi.c | 183 ++++ >> 7 files changed, 1539 insertions(+) >> --- >> base-commit: 6db29e14f4fb7bce9eb5290288e71b05c2b0d118 >> change-id: 20230606-topic-goodix-berlin-upstream-initial-ba97e8ec8f4c >> >> Best regards, >