From patchwork Sun Jun 26 07:24:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff LaBundy X-Patchwork-Id: 585229 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98DA8C43334 for ; Sun, 26 Jun 2022 07:24:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233182AbiFZHYt (ORCPT ); Sun, 26 Jun 2022 03:24:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57926 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232885AbiFZHYs (ORCPT ); Sun, 26 Jun 2022 03:24:48 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2081.outbound.protection.outlook.com [40.107.223.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70BCD62EC; Sun, 26 Jun 2022 00:24:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=biafuLtUsftPxVG5ED7PRIbysbQyE22tKGIKKBCtdRRpU02X6RKvaa76Wr5WT4kWUtnvBhMxgbLTbnpx96DvNhwDnISw8b//DwToIcSFsagEiWo65khd/4as0dLlTXTedgSmqN60FDBF/dun83SPGlWtqcaXR+/GXswahYRQYxLvXakG9j6/37Cf+AbW5uoMhYf4dww+8Xd842bWArqXUUd9W5wmLbgrsI3NBuAtRNYAj+idJqs5Sjhxsv+DiBG3AdmccjjNZUWDh2yEx0mZ94UP58GZCGJLwrbhrkCBxvjYNNuduzJLmABhr79NFt6SvshYs/DhIRZ3ILVAJ95etg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LngwRDPwhEJcu35ghhZTz38U9Ak23ch7jnKxkmah7aQ=; b=m9iFhqVJx/gFU7hWQ16gPLXEE5AYpNXefg7sRTQEA5YPUGkk3VLof9BWJrw7x1EK6WU/4FlYrwgnSfrAZuJYnIgj0U3Gp6VCyGEkAgUdm2BZZxXlDJp1G9JtW9v6XSpv3QKukxLFEHysePsdUwr6M/P/nUjROdDcLxZyS2rMPFl98L/6FC5jysYyjf2DrEnEVrjxufVR56f9c0u7+EcmKv7fqxGn56Tp1pjwa5jXZ+dBCeUNNii40Z3Or868ar0O2bPN+4hNc0uvdNSsbFrKKf0BiSSL0z7CSs7DTirh4/u1cNMyFSH36eGG5zNK0WbOyT8iaRaBjG3+jqhSPlLUcA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=labundy.com; dmarc=pass action=none header.from=labundy.com; dkim=pass header.d=labundy.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NETORG5796793.onmicrosoft.com; s=selector1-NETORG5796793-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LngwRDPwhEJcu35ghhZTz38U9Ak23ch7jnKxkmah7aQ=; b=giU+fIsqIcnH1myRkDvyk28GH+sL+f8hf114/j/ejRCxRl+FFKETvFFIsgfqdlfMZTn4g9ciAuR6ruWoH9nmdNXYGbFiieY1f11gk1Zocz8Pjw4zd76+pi0IVlH9In8mt96tECMbdpyRQtoWWjLc4ms+5IZMzz5/le6RmcnSJ+k= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=labundy.com; Received: from SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) by BN6PR08MB3395.namprd08.prod.outlook.com (2603:10b6:405:66::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.16; Sun, 26 Jun 2022 07:24:46 +0000 Received: from SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0]) by SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0%7]) with mapi id 15.20.5373.018; Sun, 26 Jun 2022 07:24:46 +0000 From: Jeff LaBundy To: dmitry.torokhov@gmail.com, robh+dt@kernel.org Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, Jeff LaBundy Subject: [PATCH v2 2/9] Input: iqs7222 - fortify slider event reporting Date: Sun, 26 Jun 2022 02:24:05 -0500 Message-Id: <20220626072412.475211-3-jeff@labundy.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220626072412.475211-1-jeff@labundy.com> References: <20220626072412.475211-1-jeff@labundy.com> X-ClientProxiedBy: SN7PR04CA0064.namprd04.prod.outlook.com (2603:10b6:806:121::9) To SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: acaa5d6c-490f-454b-81f7-08da5744f237 X-MS-TrafficTypeDiagnostic: BN6PR08MB3395:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CCfnKsOdiOvbuvR+5tDdCUKr2anr3HimMxoKvN7Qpe1UxH0llWcjtUwqfXirEKhaT7MiVLjee5SbLyEiJrs6Uiw+BD00+1GZnGJrxZfNI6JsmNcX6F4uNcAq6tnLwE5wGcuU6+q3SUhRDWbZBlyjl+yGCpkQTXZ+JSRzVCbLBsGOmn4Ldhnr3G1ZZfep2r456DnyVQyDVKPj+oijDEYx1K7q0RFQMxVS0lPQgUcmY0nQmndjx+QJCakLWzVsDUrq/HaaEnAJWZNTtb+pHK5xiBSsrKaOwbeO3qoecTYSt16okAs7G1MMuJ192W2xL0gTBQy01tJIzaqcJEfo57uNHK0NslySLMTsPVazuvJVZ5phzEJNDZQ/5klBMcEX6t2eQqwwbCVyHpQe1CTKXKZLXvWWeGnGvGEzJgu+krdoUn3dlF9dzb22dYHQoqkePfh6tkt6RycAZ4Msri8I6FoMwUmA/afqD0g0tgUMIKn1AOB1n4mQDWB6UR1GF6HHDAygCtmc8knBtij2YqTDLuJoCzQdYsMQ4bYIeydW3P+Q+M88HXGAIw4dz5VnbcGVHSp/EtUBEgBsdmJr8kIWBNmmshYXGrdtlmt3XREFeN08MFZTfSXInz+4+2ydMLu8IUELP7AzuHLyyW9HA+VEXOWQhkcJRiLFcWC+eY3cmY9Dd/sex1xXxAa86DtgXJxrQW+KpYqXOebx4Ht76A4aO4vVLgRXqr0alk0aCIBmv62m/lUL2FKuvRH31tGFay+2GfWepD27COhV+P//RPetHaDKkIbRzK+yG0Cz5GFAZDaDRiI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN4PR0801MB3774.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(346002)(366004)(39830400003)(136003)(376002)(396003)(2906002)(107886003)(6506007)(8676002)(316002)(83380400001)(8936002)(86362001)(1076003)(36756003)(66946007)(186003)(6512007)(66556008)(38350700002)(2616005)(52116002)(26005)(38100700002)(41300700001)(478600001)(4326008)(66476007)(6666004)(6486002)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LwC9Fmx76wO2cJvnj8LNzhgsAgng2Ts6lXVx+0JjSWsOhl1vw7WeEvikkdmeSBBMk0Nnu2yZHd9yUHH65yWx3QfCY8c7/yMbgHESeTftEic46qe3f50wHcssBorYnYKRFDZcpxF7Sd8bgnSzktIZ9kCO0T+1Cm9dko/IEeoIaXnb5lv73mjtxnofa9rhAlGzlVb3yYe7sS2rsQ1AIf+VyKzd+Dtqi6YTm8SrMLgCiLskY1xT/7uL3HIigtvfG00BPmFfNCUJQ21NDTPymnMo42LAt5Lm9CJyIieR4P1CDt5I2VvAf5VFWd2foAMQkaB63fCaJ2HCR0TuXHDtPQZBaLgWpNPW7uAG0aaICIpOEzA5v3dF1tDNBpVywBRVOj45N/OF0d61YQnn2OfQZmt57IindMqS6kqTUXL1+omRcSY5KI/80kSeb6lPTFEaSCv45WkRwvvfchSid1tbWawG00SSZha3buC8aD2EQEDZIP2CqTWUeCfJh8lzMkUsXzPgdftKeE6DlyapwLkgz6Qwz+xVtJ3yOwl+89jYbCIK7sheH/8GW2kh0febMZJzhkopS67socNuDfpw7BghdXaHDA9P5bB2SOq1V7pITs4AkV1d7zSfxmnwphHr4lYDGS9YraTxtHVX3hUISSZmFZX5OIdITZyNx0n2G3UHGGGyYkCU3fsAZzQL7xYLNbuBGfHMJLxaHJcRcDzK85no6lPmijK8Mqwzs+ANaO/S7FS20xWdZBivypPgujiFq0LuOfhX+t+0UNDtUu4+K0sJy4s88PuFNZ4hsjolf1P8aKQpavHzdHvUhGmdQNFQgd0fanglqRtrqc3YinUb9ltcT0PrS06usiPgXNgBHUrn1D/xdIXhOt90Wj62IqrHFNZIVhZkFIaJ64xLSA3sao75oI0N8DRm0YBeTlAz4wBnosxMrGZEWtNCZWnwuigSQF6lCelGuH01eyqKTKSyKi75cxC80xYe10fJHpuABgRiFS/XSaibYcYekiT57dC3hqP3YcNKGziOXurPHwS9jTNFEcKPQ2ITMnoR1WaBxBOuL1Bwo72EnDS/0lBspkXTGEjn26LjIB5IH1AyCYHTjQSrQvZXmlR30XnTHMpGJ0DGROhfr73EVMUY4zQWxtjeBvT6aMQ7mvCFSJf19oyuJt/SAembFP4Nog7x35mvgkMvhvmwvbt3TH4BHovlxm1uK3rh3Cgu6qCddu5Q50IzOon+gHEYBhErsXWEScmGFGaTmexJqzazT1plU6+WtFWvxU4v2LMCDqU1pl1eyusVa45HUwvmflHg3cHNfIhwhXej+cs41h+xfOcFwFGb26JUWEzLhiUDUnJ0KQ6EqTPd25S7n68nJMe1ZoqED5pOS0cRAYPBAnJ+rQyhRty0ANlr23tKOcJ+WrJ9u651MNqAg+ghO7r2PzQg5YHM80aFuRSBSI5L4giU+bt+wEyJ8cMt51girCZ/ooSgRCHNlqRjm6c5E2H/htWbTHsjC5YhJl+1wJmVARNdcztyldX50/EgMQ6lLLdyQdxliz09+6F8Vd9nNVlcGzD2TfBgAacxuAQPVSOQ1ANQ2bZPPtL+jMf993ITBsLI X-OriginatorOrg: labundy.com X-MS-Exchange-CrossTenant-Network-Message-Id: acaa5d6c-490f-454b-81f7-08da5744f237 X-MS-Exchange-CrossTenant-AuthSource: SN4PR0801MB3774.namprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2022 07:24:46.0400 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 00b69d09-acab-4585-aca7-8fb7c6323e6f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: myn29WLPBlYbIurOapA8e/L1mTxjDtctmH4nBgrl1+f0blLuuEu5tSKEHuy5aXUViBBYQGjiOmiANoYH2L9lBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR08MB3395 Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org The release cycle of any key mapped to a slider gesture relies upon trailing interrupts generated by other unmasked sources, the timing and presence of which are inconsistent. To solve this problem, explicitly report a release cycle to emulate a full keystroke. Also, unmask touch interrupts if the slider press event is defined; this ensures the device reports a final interrupt with coordinate = 0xFFFF once the finger is lifted. As a result of how the logic has been refactored, the press/release event can now be mapped to a GPIO. This is more convenient than the previous solution, which required each channel within the slider to specify the same GPIO. As part of this change, use the device's resolution rather than its number of interrupt status registers to more safely determine if it is capable of reporting gestures. Last but not least, make the code a bit simpler by eliminating some unnecessarily complex conditional statements and a macro that could be derived using information that is already available. Fixes: e505edaedcb9 ("Input: add support for Azoteq IQS7222A/B/C") Signed-off-by: Jeff LaBundy --- Changes in v2: - Minor refactoring to include GPIO-mapped press/release event - Added support for proximity-mapped press/release event drivers/input/misc/iqs7222.c | 96 ++++++++++++++++++++++-------------- 1 file changed, 58 insertions(+), 38 deletions(-) diff --git a/drivers/input/misc/iqs7222.c b/drivers/input/misc/iqs7222.c index 53df74f3a982..57616a7ebeae 100644 --- a/drivers/input/misc/iqs7222.c +++ b/drivers/input/misc/iqs7222.c @@ -40,7 +40,6 @@ #define IQS7222_SLDR_SETUP_2_RES_MASK GENMASK(15, 8) #define IQS7222_SLDR_SETUP_2_RES_SHIFT 8 #define IQS7222_SLDR_SETUP_2_TOP_SPEED_MASK GENMASK(7, 0) -#define IQS7222_SLDR_SETUP_3_CHAN_SEL_MASK GENMASK(9, 0) #define IQS7222_GPIO_SETUP_0_GPIO_EN BIT(0) @@ -54,6 +53,9 @@ #define IQS7222_SYS_SETUP_ACK_RESET BIT(0) #define IQS7222_EVENT_MASK_ATI BIT(12) +#define IQS7222_EVENT_MASK_SLDR BIT(10) +#define IQS7222_EVENT_MASK_TOUCH BIT(1) +#define IQS7222_EVENT_MASK_PROX BIT(0) #define IQS7222_COMMS_HOLD BIT(0) #define IQS7222_COMMS_ERROR 0xEEEE @@ -135,12 +137,12 @@ struct iqs7222_event_desc { static const struct iqs7222_event_desc iqs7222_kp_events[] = { { .name = "event-prox", - .enable = BIT(0), + .enable = IQS7222_EVENT_MASK_PROX, .reg_key = IQS7222_REG_KEY_PROX, }, { .name = "event-touch", - .enable = BIT(1), + .enable = IQS7222_EVENT_MASK_TOUCH, .reg_key = IQS7222_REG_KEY_TOUCH, }, }; @@ -1957,8 +1959,8 @@ static int iqs7222_parse_sldr(struct iqs7222_private *iqs7222, int sldr_index) int num_chan = dev_desc->reg_grps[IQS7222_REG_GRP_CHAN].num_row; int ext_chan = rounddown(num_chan, 10); int count, error, reg_offset, i; + u16 *event_mask = &iqs7222->sys_setup[dev_desc->event_offset]; u16 *sldr_setup = iqs7222->sldr_setup[sldr_index]; - u16 *sys_setup = iqs7222->sys_setup; unsigned int chan_sel[4], val; error = iqs7222_parse_props(iqs7222, &sldr_node, sldr_index, @@ -2003,7 +2005,7 @@ static int iqs7222_parse_sldr(struct iqs7222_private *iqs7222, int sldr_index) reg_offset = dev_desc->sldr_res < U16_MAX ? 0 : 1; sldr_setup[0] |= count; - sldr_setup[3 + reg_offset] &= ~IQS7222_SLDR_SETUP_3_CHAN_SEL_MASK; + sldr_setup[3 + reg_offset] &= ~GENMASK(ext_chan - 1, 0); for (i = 0; i < ARRAY_SIZE(chan_sel); i++) { sldr_setup[5 + reg_offset + i] = 0; @@ -2106,6 +2108,22 @@ static int iqs7222_parse_sldr(struct iqs7222_private *iqs7222, int sldr_index) if (error) return error; + /* + * The press/release event does not expose a direct GPIO link, + * but one can be emulated by tying each of the participating + * channels to the same GPIO. + */ + error = iqs7222_gpio_select(iqs7222, event_node, + i ? iqs7222_sl_events[i].enable + : sldr_setup[3 + reg_offset], + i ? 1568 + sldr_index * 30 + : sldr_setup[4 + reg_offset]); + if (error) + return error; + + if (!reg_offset) + sldr_setup[9] |= iqs7222_sl_events[i].enable; + error = fwnode_property_read_u32(event_node, "linux,code", &val); if (error) { @@ -2117,26 +2135,20 @@ static int iqs7222_parse_sldr(struct iqs7222_private *iqs7222, int sldr_index) iqs7222->sl_code[sldr_index][i] = val; input_set_capability(iqs7222->keypad, EV_KEY, val); - /* - * The press/release event is determined based on whether the - * coordinate field reports 0xFFFF and has no explicit enable - * control. - */ - if (!iqs7222_sl_events[i].enable || reg_offset) - continue; - - sldr_setup[9] |= iqs7222_sl_events[i].enable; - - error = iqs7222_gpio_select(iqs7222, event_node, - iqs7222_sl_events[i].enable, - 1568 + sldr_index * 30); - if (error) - return error; - if (!dev_desc->event_offset) continue; - sys_setup[dev_desc->event_offset] |= BIT(10 + sldr_index); + /* + * The press/release event is determined based on whether the + * coordinate field reports 0xFFFF and solely relies on touch + * or proximity interrupts to be unmasked. + */ + if (i && !reg_offset) + *event_mask |= (IQS7222_EVENT_MASK_SLDR << sldr_index); + else if (sldr_setup[4 + reg_offset] == dev_desc->touch_link) + *event_mask |= IQS7222_EVENT_MASK_TOUCH; + else + *event_mask |= IQS7222_EVENT_MASK_PROX; } /* @@ -2301,29 +2313,37 @@ static int iqs7222_report(struct iqs7222_private *iqs7222) input_report_abs(iqs7222->keypad, iqs7222->sl_axis[i], sldr_pos); - for (j = 0; j < ARRAY_SIZE(iqs7222_sl_events); j++) { - u16 mask = iqs7222_sl_events[j].mask; - u16 val = iqs7222_sl_events[j].val; + input_report_key(iqs7222->keypad, iqs7222->sl_code[i][0], + sldr_pos < dev_desc->sldr_res); - if (!iqs7222_sl_events[j].enable) { - input_report_key(iqs7222->keypad, - iqs7222->sl_code[i][j], - sldr_pos < dev_desc->sldr_res); - continue; - } + /* + * A maximum resolution indicates the device does not support + * gestures, in which case the remaining fields are ignored. + */ + if (dev_desc->sldr_res == U16_MAX) + continue; - /* - * The remaining offsets represent gesture state, and - * are discarded in the case of IQS7222C because only - * absolute position is reported. - */ - if (num_stat < IQS7222_MAX_COLS_STAT) - continue; + if (!(le16_to_cpu(status[1]) & IQS7222_EVENT_MASK_SLDR << i)) + continue; + + /* + * Skip the press/release event, as it does not have separate + * status fields and is handled separately. + */ + for (j = 1; j < ARRAY_SIZE(iqs7222_sl_events); j++) { + u16 mask = iqs7222_sl_events[j].mask; + u16 val = iqs7222_sl_events[j].val; input_report_key(iqs7222->keypad, iqs7222->sl_code[i][j], (state & mask) == val); } + + input_sync(iqs7222->keypad); + + for (j = 1; j < ARRAY_SIZE(iqs7222_sl_events); j++) + input_report_key(iqs7222->keypad, + iqs7222->sl_code[i][j], 0); } input_sync(iqs7222->keypad); From patchwork Sun Jun 26 07:24:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff LaBundy X-Patchwork-Id: 585228 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16362C433EF for ; Sun, 26 Jun 2022 07:25:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233454AbiFZHY7 (ORCPT ); Sun, 26 Jun 2022 03:24:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58006 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232885AbiFZHY5 (ORCPT ); Sun, 26 Jun 2022 03:24:57 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2073.outbound.protection.outlook.com [40.107.223.73]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8CFCE10572; Sun, 26 Jun 2022 00:24:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KFzurR5TFalY3Xg2YKFt8vqHX0pB12GaoYuxjKpzGFh8sg2T0OY0iZGe4XlrflmVVBHl6xcqEdBbg1gmDwBk1gyMAPFrhY2Vyoyee/F1/2vtPBeTljGu7DN/ODKKLtzHhDDVviDfTyqh0wPBLKl8sTQiT7GEyYq5jGeaJeuaMepqCrxFUFcgPV5f5/FU2wZmoa1QzXV1ZBHpFw9rU7tnCxfQfiSqlDwoxrNSuLNgbla9ZMJXdRpKv43QK83Rkyi+IsjV6Md6RTdKbgg6s6GoCpTG9Ikwrbdz973ly87OOryGVFgKiyVXLOA7yE7GJNdI3Ikm8VRseSpff+Jru8hOPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=L3hiU32w71LTdeLsKDE2RzwREbbziN/WAJ9BLsgG1oY=; b=B8DoHKZrJTcGphYcqAEk6kY2FlyExtXOA5Pr7ZNVVUC4OhS6CI8MXGSx8PKxNToNZQqRog1oVYQOFkF6SYej3Yslu5OxASQMvDD8buwwrLz3xPNOHUAB37eMI/abNa3bCs9Qc7w+3Ql1i0ki5R+SwCFXflQfs3I3DLRFzRLsE6EFVYsvRNbeYr93yXAmnTq85iLoPKy043uOuhG1ls7YohFiU/MGDPMhCtVkg0i6vymzYNWz9VGvUY9FUDMyyfcll9eNBMbBOHAK5hdreG5scMuaPDKNB7XTlnNBsfhsiCiiwrbr4iYUGdteYgrp9kEropd7UrDWcgAmQgZ6yIH7gQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=labundy.com; dmarc=pass action=none header.from=labundy.com; dkim=pass header.d=labundy.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NETORG5796793.onmicrosoft.com; s=selector1-NETORG5796793-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L3hiU32w71LTdeLsKDE2RzwREbbziN/WAJ9BLsgG1oY=; b=yerrD+CPyqiL22JqJuhgXKELH87gXSY4BVjRfmqJJoIYm+pzDDnLAz3JmeePV7KmnkYMWeRTBAZcQSWFvBuI6/Hv101TPzcU97e6SXhXzsFNJcftzVTzTzq8o+wW87EG1ujkZDVOAUwojQ6S8k+LZvirFF8pvmue218wvK1Xbxw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=labundy.com; Received: from SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) by BN6PR08MB3395.namprd08.prod.outlook.com (2603:10b6:405:66::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.16; Sun, 26 Jun 2022 07:24:55 +0000 Received: from SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0]) by SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0%7]) with mapi id 15.20.5373.018; Sun, 26 Jun 2022 07:24:55 +0000 From: Jeff LaBundy To: dmitry.torokhov@gmail.com, robh+dt@kernel.org Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, Jeff LaBundy Subject: [PATCH v2 4/9] Input: iqs7222 - acknowledge reset before writing registers Date: Sun, 26 Jun 2022 02:24:07 -0500 Message-Id: <20220626072412.475211-5-jeff@labundy.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220626072412.475211-1-jeff@labundy.com> References: <20220626072412.475211-1-jeff@labundy.com> X-ClientProxiedBy: SN7PR04CA0064.namprd04.prod.outlook.com (2603:10b6:806:121::9) To SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7d8c525c-b2a0-4d4f-5ccf-08da5744f7a5 X-MS-TrafficTypeDiagnostic: BN6PR08MB3395:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A4kvyk+F0+ZRacQJntFHBzRD87ztwohu7gmjX9YQJn6y/+nhSEeejh2O4pDCMfWTcYItGisix5jtbzzrxSj43A+gp5Q6eMafKpxyn8QgTMnl7cHIndomaxm0clJygjdXwzm9alhOd5PHIg9EZ8Rn4rlm1JpTbboGqsa5Cn3iIPHszimROHwEzd/pfrkQNnMZora1nijteoiW+c/qgcTtYYiHAZw8zhgkhZ9yVKwy9DiisSXnbWlWYZt+SH/8EWV4hTj8NHNMD6fPZXtwTJlZG5acW6gFHmzEdpIO+R1Yad0Fp795Ygq54ovZJi8jpXi3MzP5o/jmuffwOaAz/UN8csGTAwJ1jPbDFNKzA/u3JreZZVsxGFE78630X9Ga4LT1Zbx4IkbAZCjWkJiF+vmCsVeuLkXGj0zC+k7f6WP7lQ3soeSwhrosReCMeFoGMarr86PhAiUAF8JRjdqMufwxmvnFy1Knt7kBZhqGsBskF+llihC9dhYHwQ6ct3EdD0WIAwVTBpWGAElXiOvZujxR/hcfXISvpIw3ekx9BMuzjXpNIxC04qbDnGv/2uj5xvBdVDrwIDVSZ6Kx+kLm3/P07cYuYfJPU2DExhT0zMw+YNuDtIf0q8py1hGfpL5Hyb67+nmpUGpskZedgrmpLGbxtNsmSRZaScpvbXhZrg0BlP54wYyuzAOQVB5uAPd4qZKHSGEtdt091/qdOZTyXPDGnvg6SXeVVKMJaec0LcRFuISvdViL9G+6ZBBW7JFHKhsEuuM7Mf5+GST23iic7WuYK4aPvHQ/wCnrmAagv6qj3W0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN4PR0801MB3774.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(346002)(366004)(39830400003)(136003)(376002)(396003)(2906002)(107886003)(6506007)(8676002)(316002)(83380400001)(8936002)(86362001)(1076003)(36756003)(66946007)(186003)(6512007)(66556008)(38350700002)(2616005)(52116002)(26005)(38100700002)(41300700001)(478600001)(4326008)(66476007)(6666004)(6486002)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XT2Lk3jQzOxD+h2p3h/MfOaVZcw7poPbTVG5Dh8khLF3YCnIq/WoqRPKjAyqwuKetgWN0YKOzIM1LZVWz3bgV3Lb1giMSTLo7g6xZcvWWu3fACWMVuUsJuMwsUK4dstjKlyfNDZla0O7OYRQBmqSmBb7b1WgfBus1VCTE4JS0oK6nqebJaxmnfB+3+8WIonKCDW5XWvKz0vg2on83R+o2hnjxzFe25yFxuxlViTrr/ruWv0j1vZg61g78hv69GYvTJT9rD+e9Q8SL1IWbeeQGC3vQGpnaF6XFQucgSTjih8nUr1Ts2Kd84IvKvB29t6IF16NHk03tYZHvo+H70r+D9WeaRk48zTHkAIBnoZeV8tHhHLARt95qscXWWuKVLCttmesacHFPwXdeyhbpQm7cks+3/uj98fw4reoO1LyfiLsVJWLAWTO1wOZcK+6//tUVgveZN3vEh84yUF3Jf884kd0I1P7jbRXMk6dYwul1vNSJ/vTGo876DD8Uw+GIWLhnFH9CU3ei8+R/5nKVEGqrlpNzecpfR9H5S6xuqDoYzrOz2trkW1oUNZwipg54Tmau5rYI9Qn/grgaCS0ttPNkjHs/jk2sHANIZWwq78opPVtFlgscNwLIHZAEiVLGIvDc8NDSmvhgR7L9Tq0/Xhr3Nd+ECBQTseFAUBOlsKh90Ro4rTejuGleOVD+VgOLNMpKHYXRuumq78LDe71QvIItVJVoa/mGbkK9u+qaL/xnv3h6zsfcqY0QWdjsrYV5bUL1itcu+Q7mUc/YUzZmY0DuO4DkpepYup0DwuKaIcBbppzQh8bUkduS2xWtNRjujG8FqY3k9ABCruHO6Hj8oUMuqRr3V5ojQR8ge2DKwyMcxRaCydDIPem9AXPwUbkJb8dhz/ZAOk8hyPRB+iuHaqqrtJdKW6S4UxkQPF37GqjL4h7gHKnwNEM50wTXnKUBwkmQQ3vGI85M1RmK/Gasfi9QGNkKro6XmU/A009Zc8p2uYAcUamea8acYEUUmwEHgwFhtZzujww6ndGibx0y/2hENwXx/DZCuRNwWB6nu8L6WO2MtyJVxUPRsiypAUYHcdS34sWcx2/ySIJ8nD36jO5z1cinB62AFibCX0HsfmeYP3gkKO1C7EXKx4SDZHZ/4sJ7vcPpj7/5VzeI6nXgTOFhRehK6IbEr0zPva2MhwlzbigKzbPsEXGO+icoh9/mjfMXdnUg37yDjbUl/txM3jwqHq3HScwqq4AgfZAN7ALkmzuzovNme8V3Atxhd2cnyJJCifjM0cCNac0yTmTbk/33HWggmCw5KI/PIscTzltRNb+VZAgI5uY3LED9I3rQBwUOBULJRPZvfYDaG/eJ/A8C3K+avyxK/omYHuDjxwuc1H3iFKbmHWhZ0DNIaGHT2AVzdEoHn/NDAKPVuEC9GmZq7T3cR/c5lriLSvL0zhnFOJknECcrpFvKMb1LC8WcHL0/EzRO9CHuz3RZXeA9u3kGKDn1s3pdpAGOiIzZfISDgdNGWB9DTKbXdE8oX78zS+Azuxeo+7Qwv/aiRClIV9PpI8FWuICd2Kem11f5yluKCIuSRlmZ95kBLGL4vIq0Bv2 X-OriginatorOrg: labundy.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d8c525c-b2a0-4d4f-5ccf-08da5744f7a5 X-MS-Exchange-CrossTenant-AuthSource: SN4PR0801MB3774.namprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2022 07:24:55.1642 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 00b69d09-acab-4585-aca7-8fb7c6323e6f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2sJDpaymZNSKbUluP0ATlCRR8Uw/3+ezfGfwKY7LEniQzltJBY7CpdmDLvedye9iGPHsDEALXEvZC9SqY0iTtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR08MB3395 Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org If the device suffers a spurious reset while reacting to a previous spurious reset, the second reset interrupt is preempted because the ACK_RESET bit is written last. To solve this problem, write the ACK_RESET bit prior to writing any other registers. This ensures that any registers written before the second spurious reset will be rewritten. Last but not least, the order in which the ACK_RESET bit is written relative to the second filter beta register is important for select variants of silicon. Enforce the correct order so as to not clobber the system status register. Fixes: e505edaedcb9 ("Input: add support for Azoteq IQS7222A/B/C") Signed-off-by: Jeff LaBundy --- Changes in v2: - None drivers/input/misc/iqs7222.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/drivers/input/misc/iqs7222.c b/drivers/input/misc/iqs7222.c index c46d3c8f0230..aa46f2cd4d34 100644 --- a/drivers/input/misc/iqs7222.c +++ b/drivers/input/misc/iqs7222.c @@ -94,11 +94,11 @@ enum iqs7222_reg_key_id { enum iqs7222_reg_grp_id { IQS7222_REG_GRP_STAT, + IQS7222_REG_GRP_FILT, IQS7222_REG_GRP_CYCLE, IQS7222_REG_GRP_GLBL, IQS7222_REG_GRP_BTN, IQS7222_REG_GRP_CHAN, - IQS7222_REG_GRP_FILT, IQS7222_REG_GRP_SLDR, IQS7222_REG_GRP_GPIO, IQS7222_REG_GRP_SYS, @@ -1348,6 +1348,34 @@ static int iqs7222_dev_init(struct iqs7222_private *iqs7222, int dir) int comms_offset = dev_desc->comms_offset; int error, i, j, k; + /* + * Acknowledge reset before writing any registers in case the device + * suffers a spurious reset during initialization. Because this step + * may change the reserved fields of the second filter beta register, + * its cache must be updated. + * + * Writing the second filter beta register, in turn, may clobber the + * system status register. As such, the filter beta register pair is + * written first to protect against this hazard. + */ + if (dir == WRITE) { + u16 reg = dev_desc->reg_grps[IQS7222_REG_GRP_FILT].base + 1; + u16 filt_setup; + + error = iqs7222_write_word(iqs7222, IQS7222_SYS_SETUP, + iqs7222->sys_setup[0] | + IQS7222_SYS_SETUP_ACK_RESET); + if (error) + return error; + + error = iqs7222_read_word(iqs7222, reg, &filt_setup); + if (error) + return error; + + iqs7222->filt_setup[1] &= GENMASK(7, 0); + iqs7222->filt_setup[1] |= (filt_setup & ~GENMASK(7, 0)); + } + /* * Take advantage of the stop-bit disable function, if available, to * save the trouble of having to reopen a communication window after @@ -2254,8 +2282,6 @@ static int iqs7222_parse_all(struct iqs7222_private *iqs7222) return error; } - sys_setup[0] |= IQS7222_SYS_SETUP_ACK_RESET; - return iqs7222_parse_props(iqs7222, NULL, 0, IQS7222_REG_GRP_SYS, IQS7222_REG_KEY_NONE); } From patchwork Sun Jun 26 07:24:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff LaBundy X-Patchwork-Id: 585227 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ECCB7C43334 for ; Sun, 26 Jun 2022 07:25:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233516AbiFZHZG (ORCPT ); Sun, 26 Jun 2022 03:25:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230269AbiFZHZF (ORCPT ); Sun, 26 Jun 2022 03:25:05 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070.outbound.protection.outlook.com [40.107.223.70]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AF4A910572; Sun, 26 Jun 2022 00:25:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=InFbc+CwVVNmnX5v2TTmxYf2ph94Id7IheL/8hHVwJ7tH2PSkbnFLFby4z+NvJoVR+AcJwxNyLuONQodEYHNk0LVxhCAo2THp5e6FPlMYQsqp+inVvHB93/gnZkRRO9+Vh6Hz0JEy7XCZ0LUkS+WsIXVg5QM+qEY1LeR5Mo+gKTlvizhttdSY8K87mGeOePNYu2sEUdPexTTFLDRz4U675jJcGGS/LLDqxx+FsRJbGt0FMxcDnedcM0bZ3fzT3gOZOxv604bNpq3mkysxO1M8fAa9DhYFozj+ZBboRTemcO2lE7euYhd8nqN8Uct5H+vcTTeSr4AMdx0FYuytK2w3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CIARJkYz+dOKtEiLEfzxBg69e71drhpaJr3uvXeHQas=; b=bsX7ok6govayKrVsfi0g/uCCNfBssZvGdUyOFynoBXubisowCF0JwIXqc8L+JJwTx/khRwHdUicbhMOkx2GtQdDyQ3ASe2WNJ8vKXScUf517E8XOpG2GlD7f+UsbNEFPGogezmX6xEtm2sxQYUpY08U5wAJJmzuaItudjJKKPXWwW7K+ZjG/QWhQwWzkofm5u1hiHTbOcs8HdIYR4cRsrGzsTOKEj2Cjm9HpO4Zv8RpSlTNIurPoTl4PF4tl6qgj9B8IIoI1JHuV8uz0zV4ie9dHAwK1EXcvr7pEkftZ6PbTHa9ZoDwmKOPkYQ96pymhnxQyNhvbfgyAGyvnYUqbBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=labundy.com; dmarc=pass action=none header.from=labundy.com; dkim=pass header.d=labundy.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NETORG5796793.onmicrosoft.com; s=selector1-NETORG5796793-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CIARJkYz+dOKtEiLEfzxBg69e71drhpaJr3uvXeHQas=; b=JIMlxgTa5zf8FTFPmDTj7tcTqlRUiM9K39p2aRXug9Egw0wQPV4ZNKfcUTUrEUuyleXMpmVjRBI8OxKxZLSXXj79sDilq2wUpabR8hRThH/f8aVCl2le2PPjYOhUyrJbuIFFFiaeqTY180pR7NkCN00Xl5CJMZCFPTOtqRXdn00= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=labundy.com; Received: from SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) by BN6PR08MB3395.namprd08.prod.outlook.com (2603:10b6:405:66::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.16; Sun, 26 Jun 2022 07:25:03 +0000 Received: from SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0]) by SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0%7]) with mapi id 15.20.5373.018; Sun, 26 Jun 2022 07:25:03 +0000 From: Jeff LaBundy To: dmitry.torokhov@gmail.com, robh+dt@kernel.org Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, Jeff LaBundy Subject: [PATCH v2 6/9] Input: iqs7222 - remove support for RF filter Date: Sun, 26 Jun 2022 02:24:09 -0500 Message-Id: <20220626072412.475211-7-jeff@labundy.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220626072412.475211-1-jeff@labundy.com> References: <20220626072412.475211-1-jeff@labundy.com> X-ClientProxiedBy: SN7PR04CA0064.namprd04.prod.outlook.com (2603:10b6:806:121::9) To SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 56371832-58c5-4bae-2dfa-08da5744fc84 X-MS-TrafficTypeDiagnostic: BN6PR08MB3395:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SD+02sPcd0R9K6pxYY5fF/B0mfisPI+ZChSd8zLyIlHxzVE1BFHQLsik+G87a7e8AHJSVOVGre4yuIEnFsVN0KtEFJuYGuTT08cZFl6WZHOOwrohI2hfSWy9dlqKaqIQV6N/X6SmcbEpsxYg1GoDQIfUi2ZD2TnIPZP8WAKxpdZln6hNG2hgRC13FBq/KGtXyFXbICQFaJj2ibyP2zPFp30Avtoc9msLuWBOPmnWndJzls/UF8a52Yr4mGZKA1fNnQ94EZU30+9LNoZO3Ui+5yXNkFYOoWJg593sJwrSdkq+SFPIZbYATQZtZmaM+D0fxOwa9l+LwTlBLljD9lyz9XRQiPKxTy9duCML1bs3/5QOe4bTd5QT75xREhRXAX+Mj7j6BLPoY0+5P3jRvABIz2O7GqTseYudQ66jCG7+GzGw0RSj3v5uQhrocGsIg816yFABttrZwEul5DWr/jcG3saUMHfrTCUKbh/rd7AaMgcB1wxXoI5PWEWgtztpJ7z/cmUr6I9MXw9F4VDujCHuAoigRrM8+PXVxg9Oa6jK+57x5+0UReeETepfmLC1BQ7i9FmnLhsh8Lr/x2bUMqcDjfkHopQyqhptN/t1J//UjyCCGQg1We4Hc7kfSfeusJogzaEqEqXiPJtcKzQRfZ84j6wOX05Gx6ojC0VZFLi6KdWrkV0LHpp3kXsmMT0JoJjZ0y5dCxhQeiXi2w4YI/d9+elzDRcoykJglwrxNHqrK9M7tRTJxrweJ5zhvb7odHnMR8A8wh5rF9YWz7amBqBfJ9yuit4YwyQ7uPhiKJ/64A4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN4PR0801MB3774.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(346002)(366004)(39830400003)(136003)(376002)(396003)(2906002)(107886003)(6506007)(8676002)(316002)(83380400001)(8936002)(86362001)(1076003)(36756003)(66946007)(186003)(6512007)(66556008)(38350700002)(4744005)(2616005)(52116002)(26005)(38100700002)(41300700001)(478600001)(4326008)(66476007)(6486002)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iPUavq9RtqEV6yK9yX9EdlXLpEJUkTrT5FW3ixB4owpUQ+fXAeCgJ84GTHwv2sCeH0BAF9YRIW5D8kbIhP2mEUyJ363fycSSPcpWczKNAZfUtduS1WMKiyAA6ORojjgMPT0nbdIpHpDzdD9xXaPWKmA84YgrYtSY7OD/gX/jpgQ5qoNoATUGFw0iDq/DpwV/eVenr6wDEFN1v7qYI4vs0H3qjU3Q4ZIiwB81xQ6suZjTFNvP+k4M/TUs0SOKgQ2+MrL/RAF04hxTNu0eNeKM6HjPn6WMzwaXUWx/3AQOkM35KAdbTb5MnkO+houxkdWcf342RoFrtx7w/Qc9e6o2PqfzR90OSV9E39twEpOgr7SzajMYreg0dRF2U/VpCCJ0LN93n8TXXK3Gr/uIC1GJ4DdFn0+QEuz3oMkBWz38FU24RRHDiiegBgAT7PgwqXFUgaFW3ZBWXP0PELW0dmW2mLV6ajrplC9UZYNIgELPOt3AeW7MTB/jA16h8aL6glwKBJ0YdpupdO4JFTlDN6VG2idX1ycP5clOGJnZReXkoC8++WOQl3NhQX421L0Z40CGAgwlkVEXwQnJU6+SNxgB6gvotEO+QVF0N2ToTy/CzXE+BceO25NscViHk+gGNv9yfJOybaoZdHiOMx+bFD3A3r6e0s3nhFhabVQeiIOM+sO9jehmfJey5A4pGMwcpmurowGZHMpBTjUJqyiOD7S+ebTOe5rsLwjdYUCJPhjKMkCn1dluCYJWe3J7K7I2JsGn74NB0tSkOn7GuITKDBKK9gkLFHRWZPqm2PHIMrLMFIBWQJdzl7g8ucCNmGBAcRmmfq3wYuvCci9PIUTShroZ9SC3G2rSaYx4oN3mRlVNvbNmYlj1LM4iwSPfccjrpHAQLrtDGzbjhphB5c1SEZInAog+piNiw0QOptlFKoyEnha3ZREohTWwNY/u74sfXbE96XtABiOb8qsSoGC7m6fKCb/FRTRX0lXz2bsncYKlb2yrPjdW6E1vtjWyTcwd172Cipf9o6HpyHcxJQkEPARQVeFucXDh7ShMMUbDPKZqfx+qYX4QFAtLQJC1TDDWk8l1hNzYS7lF1l6HiSM4j/64gg8zgX2ib4j5Ul82oTo8PDij8IFrhXZLVKeHOZjtyuucsitBcPxsQxNVHbtdaGiZkw1eAwPvR3R6WuQV/fCKIzlDk3dMazp2Sy/ypJjsMyNUxoMJITnxnCQqypVGBSFB//vw3IUDt8u3EW4xvcMrzaDnYNCSumw2sYT/hm2elCqZ+6uFvYsH2rqae/WxU75/Pqv1lQhupJiBspc1zJMCxY/XU/rJbjgw42roWyQD26cebpvouMktxX7JXKvSNVXbWNeJt11i4AQNFHOYwUGg1upChIhzN3AxULMIVZvwLkUbPLWhPGdsb259zZUM35l8uqUeQeR55GjzBpyZFaCAjr4dqAlXM3bACveAsuSXHeqB0VSz3x7fHis4aM6YFVJ3GVf6+apGBX+ApjNKahOcne11HuF14z7RelYFYIDpCerRHHjleUAoZe3Q7dvc3pjvDrbWCoBXuTlDe2roriKoFS1par2DZATWASnyKfMZfqkI X-OriginatorOrg: labundy.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56371832-58c5-4bae-2dfa-08da5744fc84 X-MS-Exchange-CrossTenant-AuthSource: SN4PR0801MB3774.namprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2022 07:25:03.3353 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 00b69d09-acab-4585-aca7-8fb7c6323e6f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4MZgv+VagyhB10uvuMUcnwekGi+T4bFj7gDgGJGoRqPtjtwIFaYZyg6+7ApHbrgv2qOs/NdxgdPjqTKOHSLPhg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR08MB3395 Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org The vendor has marked the RF filter enable control as reserved in the datasheet; remove it from the driver. Fixes: e505edaedcb9 ("Input: add support for Azoteq IQS7222A/B/C") Signed-off-by: Jeff LaBundy --- Changes in v2: - Clarified commit message drivers/input/misc/iqs7222.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/input/misc/iqs7222.c b/drivers/input/misc/iqs7222.c index e65260d290cc..b2e8097a2e6d 100644 --- a/drivers/input/misc/iqs7222.c +++ b/drivers/input/misc/iqs7222.c @@ -557,13 +557,6 @@ static const struct iqs7222_prop_desc iqs7222_props[] = { .reg_width = 4, .label = "current reference trim", }, - { - .name = "azoteq,rf-filt-enable", - .reg_grp = IQS7222_REG_GRP_GLBL, - .reg_offset = 0, - .reg_shift = 15, - .reg_width = 1, - }, { .name = "azoteq,max-counts", .reg_grp = IQS7222_REG_GRP_GLBL, From patchwork Sun Jun 26 07:24:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff LaBundy X-Patchwork-Id: 585226 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 32174C43334 for ; Sun, 26 Jun 2022 07:25:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230269AbiFZHZR (ORCPT ); Sun, 26 Jun 2022 03:25:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58226 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233862AbiFZHZP (ORCPT ); Sun, 26 Jun 2022 03:25:15 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2060.outbound.protection.outlook.com [40.107.223.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D698810572; Sun, 26 Jun 2022 00:25:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HNnhOL7t/PFBpjRJakuh84iFOgJeWG5tJdJib49hT/ROBEOJM+n5ilsrGHD4UpPMcoHxHpwx4HVcWRo0nb6aLjYTJQHzfo/x1fDk7IY0jowEYLAygNI0byQEPhHgNl83V4lFBKsFBIgqDhyiLCmvatoXl3sXWtMkachMGofViy+Y6Uin4SP+F0JDoz4LUgC01SKZxvlzJIRuFzJ+jMUzRUwOlgE32l8bUIldn4b12ulLknaKTrDXIwzvUC6wrLKBHzKAEuMLwRPT5xYqxavJEClzqhVcZ77330LkZ22oZYZQp5wL1wAzM2FWNw+rc3dX6mxbivPEsS9gl21N43JyXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TBOBAJ5GS8Z+aS5SZekg0OjKkAUNy0wdwFcPBDkc8SE=; b=UyGG+xGQwmf157zYqSYvpCX/0xg3r3M27KH/VeNbgYi0OU6YPGdndKu2IjJl5FqCh5ZTE8AAjzDfjTbd81bgXBXFvPkDsTTxaI9oNy9jGUKaWNcGOwUG9Iqum/BEUGbFAOJqVQV5qtSx+7xl3tAZmVym74JG2iSMnfcK2zlh6l0yOnzaQlzu9tzDfQFr2pC1tKbz044PviR+AfV2pXzMOtQyslZRpOhWRs6dP+W79z2ZobJqv9XxTJ8F3UX2zVG8NuaKeI0uwgCg7Rwbzj3gNb+xfPN2IznG1IBFetOmJUxtqXXp8IbgMIHb6QP0j84yGqNUE6bLK1J4CSjg8uVTrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=labundy.com; dmarc=pass action=none header.from=labundy.com; dkim=pass header.d=labundy.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NETORG5796793.onmicrosoft.com; s=selector1-NETORG5796793-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TBOBAJ5GS8Z+aS5SZekg0OjKkAUNy0wdwFcPBDkc8SE=; b=CsdJ19vP/PfbEjDNAGC3ZRxgOmIqYhMe95fHdPl2V8Ziilfrc7EWb/k3Av8Smf8O8JnMqGRzTaQXqA60bLZ/L9JfCh93CIOrKJQ/NSlcYBZHiFEHp0cMyR5KDNZH7UpoPDYQVG4N3Sr163M49Fwb+j5oJ7JGY/8YH3UZtJAv55g= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=labundy.com; Received: from SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) by BN6PR08MB3395.namprd08.prod.outlook.com (2603:10b6:405:66::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.16; Sun, 26 Jun 2022 07:25:13 +0000 Received: from SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0]) by SN4PR0801MB3774.namprd08.prod.outlook.com ([fe80::2c67:a29a:4e8c:3ac0%7]) with mapi id 15.20.5373.018; Sun, 26 Jun 2022 07:25:13 +0000 From: Jeff LaBundy To: dmitry.torokhov@gmail.com, robh+dt@kernel.org Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, Jeff LaBundy Subject: [PATCH v2 8/9] dt-bindings: input: iqs7222: Correct bottom speed step size Date: Sun, 26 Jun 2022 02:24:11 -0500 Message-Id: <20220626072412.475211-9-jeff@labundy.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220626072412.475211-1-jeff@labundy.com> References: <20220626072412.475211-1-jeff@labundy.com> X-ClientProxiedBy: SN7PR04CA0064.namprd04.prod.outlook.com (2603:10b6:806:121::9) To SN4PR0801MB3774.namprd08.prod.outlook.com (2603:10b6:803:43::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 89c367c0-63d4-4b1a-60b4-08da5745028f X-MS-TrafficTypeDiagnostic: BN6PR08MB3395:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qCcpHttSh+PTN7wxZgxVvNFHna8feDb0sM+MrzNLYE1hh0kSYvFf6g8Qj6P5ehNoRGOcgm/kRzJKYv39s7hdGp0DmE3+4xlCpy3QVuYYGE9VF/fTMz1wkxDErKKGOrSyFXB0bZoIJDc3rfhEJz9BZvbibRE5eS4W7h0BnDShuQGzYQGFlMFPmgjoqFaFs7rqr7xi3g1oqfBC2uUjPb5t8rpPcuRAs9GFiNrPmetmc9Tn2WX3NxyVAfvJ53XsVV0wuiQFe2yTgzZUTH26DnwcMvUF20ms8r1D2hv8+BR0gSPl626TSh/5SEP7efvtNtsEkl5VoMtnxwuwf23R8sLIUMrmMhNwREFECamMaFuFdQOi62lASqN+sbU7lNcnDhXukpz7dIRWLorJjjSoTY0NGofcZChSXJRTWhI92eAqmvnaYzmqC7d5I+fz4+TD2UE2ZIbF0HJzOu1DPOl5HP3AI3OmiiCmd0hBdf82oe39joSrY3fH1JDlIarFXXwdV9cElunbZ9pcyuZ+byXMnANlH01XakbyLgtOawSnpDahhyUBygtcJ6y2A8rUUqBgVHauMLGJI/NvEkufB6cLRjOK03hlx0Zb6BCkTw/HKpQ7nDQrepHTQPRKkKlgIfq3gxt4ZjdmE+8MxjaeS0Bpm7e/sV71kMgSWjKcEV6TRLa0JgbLqMcZK2v1GyKdRr51qj4GdUDJ/oWojbOpK1g3ngk03Nwd6CMFtc8fjgrGvXtJ2iceBHnn++M7VFoCx2VxlzmqqrXTWbMwZbhbAB85n0HCPhKc5xG1OaeeFCKHunLe1y4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN4PR0801MB3774.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(346002)(366004)(39830400003)(136003)(376002)(396003)(2906002)(107886003)(6506007)(8676002)(316002)(83380400001)(8936002)(86362001)(1076003)(36756003)(66946007)(186003)(6512007)(66556008)(38350700002)(4744005)(2616005)(52116002)(26005)(38100700002)(41300700001)(478600001)(4326008)(66476007)(6486002)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0JAc86Rd5qqxnm4sUH7Svh2ItzoX+IQ5yhP2ksR6Bvdgi6+8+LtGA/EVX6PNePhK2VVR+tpgJgBWC4aHpJsEyDprPfFZWyqrMM0hdaPO/pkdyy5htyrY/gvQO7jNFR7dkeiLCdaNKRoHTpSo5mt6+S/hYsoMNDWIozcqFYdK86SWchKIyhn5zBVyT554ztm2fBSQ34u+oKLZjJ5SPI8xxPk/Fo9/NI+E2s0AVkAItPAHV17PWsduMUbEdXVs3P7sdAGY5v8qPNeQA14436joMtdj8M5Dn28FWRWmlfh4oemPHGVrcZtj6Iu/yZfBJmFCy8QeZTLHWewzT+l91bbfjdyQG4fCHMq0aBfxQRuiRwdfo/ZY368Uj/EG0bULQmlf5tXHYc+DCpr/8Hu8pdj6VrERT4Z1+OlQMck1+phuWWKGQU63X16hpj3ulZq8iSl9Sm8+rjIhXFXZAQGd22CIaS6xuEzEpLNNahM08rIBqSzhOeIWi7+3Ls5IY9qt7+xDnQ72E61w874umkNvu1B9EEODSkPGSdyzrEG3c+mlTtPSNvlQas789eHfT2zAz8Mp4iFA26in8JMDRuCIIDBU69z+fTdwp3uwCSe1h84g6KMNtYJ0hAOumdrCSZ9a6R5IQbSGMC2Ykmfi1e5wTqs+4bmfDJ3Hl7buY/d/uFdELvwfItkmXyYfkzX/4EpnCo0puWmUNHYacTanbI1+RsYh1VuZtc1BU/Ad6u8U5SsuFLbCJgKm19U1XtV0q2l8cMS9APEtEujjIxqqCzNtzfKhC8GSgVdMaoxkiRexQpGKuzAfP0fMgMsiYoG5Ej7p1iYz6AXOgQCtzihlraHKpG06HXkG0zdJpTJsFE1wCGc8kfkdyCtz5bEZSqrW1C6pFr8L773XM41Onpm4Qf6y3ARwYNXhfrALbfQsYvDL950jLIFyXq5i5ffMsbZXgmUO1G/GadU/mNE/0M+kPnWYluZvJoTqZ3w3BmiMoMhDa/cQrPi/xoa6q9oG+0V+O6f4XzAqVa1z5ONieRyDkK+KKsvHUmpsqYWfWGhNHQc+k/x0gqpedk/FOMQo3e4gu/iSt9o2Gxar2dV/SxR5nwLGAZlIHR6Fgj5pfn23JJx8RGBVyiBgRQ8i4qi+wsk1R04bcNvO75RXEMadT1aChtfwtJtc1CQKGfyucQcGRJByl19q2TskuM0PZPKt+6Iffs5Cc4SKCB1acxSAQdZHLUbpNmqfG003OAU4pg//2Hjw+enCRogsAEABSBZTmSzE5xBlgkN5+fSsCKhr4qecMCPMin75oKFHAyNilHTb1QBdt1fkk3HRTt6Ab7xHmfbbjjUViZMMsFrjFM29Z+kxwfjsRARfmF8t8ypVBXlVAEy0qE1SO8uvtLNZOjh/NNYI+snOwgU44GgVu+gUEnyGXbzeVfcK5lZyabzOQ2fPq6LJAvvlmvEAued6aVrJ7oA43J5IPeaJvENu05/bUOWXpexntehqqN9zfxjmvCoElMXjk6jaIr/WVsANq0bHsx7A0BVnkB7GGJAbz8BLz8zaseB+bRU9YS8A5YvDyb4wS1Jupd1KZhDrAX8v5avTvP/9azOLif7e X-OriginatorOrg: labundy.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89c367c0-63d4-4b1a-60b4-08da5745028f X-MS-Exchange-CrossTenant-AuthSource: SN4PR0801MB3774.namprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2022 07:25:13.4750 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 00b69d09-acab-4585-aca7-8fb7c6323e6f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ru/7RUG37kzkWRF+pXj6yht/+zqT2XjdEg/h52oUM/Fetw6bCVvgA79kAy2psvDAsFziu98Sqo/DWbroOUAjdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR08MB3395 Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org The bottom speed property is specified in steps of 1, not 4. Fixes: 44dc42d254bf ("dt-bindings: input: Add bindings for Azoteq IQS7222A/B/C") Signed-off-by: Jeff LaBundy --- Changes in v2: - None Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml b/Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml index 6180f7ee2284..c9c3a1e9bcae 100644 --- a/Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml +++ b/Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml @@ -533,9 +533,8 @@ patternProperties: azoteq,bottom-speed: $ref: /schemas/types.yaml#/definitions/uint32 - multipleOf: 4 minimum: 0 - maximum: 1020 + maximum: 255 description: Specifies the speed of movement after which coordinate filtering is linearly reduced.