From patchwork Wed Jun 26 09:56:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Carrasco X-Patchwork-Id: 807617 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2134.outbound.protection.outlook.com [40.107.104.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B58AC178385; Wed, 26 Jun 2024 09:56:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.104.134 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719395793; cv=fail; b=p1OcFjbSrLQbYYXopnFIre9kODC4yTOxtZYG/IF3NF5sE7sEp7LY1ZNwE+ueDAr2YICV1XMCFAY7r8tJe7+u+BtAv9aSQzMQ5kJrRAvT/IWb/nN33X939nvzM5Q/Gp1RCFcAGB9p3mXnsA0vfC1/CD8OuF35wYqXsXr+mI2wumU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719395793; c=relaxed/simple; bh=G3AcOnh5i+vHzln2znaJAq3MqDCCSuixlQa35tWCX3Y=; h=From:Subject:Date:Message-Id:Content-Type:To:Cc:MIME-Version; b=nFuqzNWwDGfSoeM39n97j/nQtEqSv5zjrCHqMX1k+4bV6pXNLx1+eNw+/hN4Z496L00B/K710Gnb8mQhi4WF5C22TW9g7XyeC0/myNDsGFQljXCD01Gq5VfpCSCvTyOkQrj/x4Ufmj/us/l3oEbfGADa7J9JUydzh5esheGS3/c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wolfvision.net; spf=pass smtp.mailfrom=wolfvision.net; dkim=pass (1024-bit key) header.d=wolfvision.net header.i=@wolfvision.net header.b=hEIF55EG; arc=fail smtp.client-ip=40.107.104.134 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wolfvision.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wolfvision.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=wolfvision.net header.i=@wolfvision.net header.b="hEIF55EG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZL9jeijUDb6U5W3jalV6Etcwv2qdgD+2/GQyaXcYPMxobbDf/NO4YxTUfDBt1h2he+AaM1KVPcMcHm1lW7UqESoe6Jo8u84KESbFzAV0y6TXD/l8J7pNJ/1rAwGUA09ylD/fD6Ia2XlyM4HdpqKWGj5QWBJVAhJ8FBEL50thzKVpuD5NZ6A3yrAd3jKHxGeAzyuBswLJqCjXSAfkSE97DkfMRShUYiZHHAluzF+w6ebY5ns/+64tAirZalgEVYz2fx3GFpzUM58HuW/KWq1NF3Hb6QYa5CsmCn7TOTPcASMPtpcBCYmrAubirgGeXYcb5w+IQWKK8HaslVL5Eq26Og== 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=u2++hVseQ/HkjN+M/IpDgyfc1OMe7F4JtbRwrKlA/3g=; b=RXx49gLvREAklJ4RZU2XpMdjFhkLPTuK+iu/sJWBv3ADSe7dCbMk4NGiAk9lN3QiGEizrmUmK4hzt9OUekLngKVlmVR+tt2cb4MPRnurnsXP91p76ORQCCG2xXcCvBiMEOlcZAnYkuTOiW9cuuWOCSJgTmekOce6OZzZvWe+EyPxEAXUbmqzYxnOeICtjHHjLGmokIDCcbN9lMtH+Y1Q071NvPsxNiN7q6Arkj+jhF7ZhDyHnP4eTowZ0ZLe59Ye/fSnqRffMTwhyczrkh5Vx3gtzguxtXatBpaL+B2ME9suuM+5q1mrgCZWtO88TgI/GKMhrTwcdGqOddjF94rKXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wolfvision.net; dmarc=pass action=none header.from=wolfvision.net; dkim=pass header.d=wolfvision.net; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wolfvision.net; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u2++hVseQ/HkjN+M/IpDgyfc1OMe7F4JtbRwrKlA/3g=; b=hEIF55EG/FuV/kajk1qIyggVe1o9ZKmqI2P/glMfjJcrpuc3KXF1MCnusjWIFSjtr/Oi300O9SHcBtVyYn1vrlKEPnWu50qYZB8ztEStib5GWgbXHo8m7Y6E5y372vHdQo4VlsxHzo/egFSI4fvk7GGWenvXX3rjlDI6sTQeJqM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=wolfvision.net; Received: from VE1PR08MB4974.eurprd08.prod.outlook.com (2603:10a6:803:111::15) by GV2PR08MB8679.eurprd08.prod.outlook.com (2603:10a6:150:b3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.30; Wed, 26 Jun 2024 09:56:19 +0000 Received: from VE1PR08MB4974.eurprd08.prod.outlook.com ([fe80::a08:11be:8709:f5e1]) by VE1PR08MB4974.eurprd08.prod.outlook.com ([fe80::a08:11be:8709:f5e1%4]) with mapi id 15.20.7698.025; Wed, 26 Jun 2024 09:56:19 +0000 From: Javier Carrasco Subject: [PATCH v10 0/4] Input: support overlay objects on touchscreens Date: Wed, 26 Jun 2024 11:56:12 +0200 Message-Id: <20240626-feature-ts_virtobj_patch-v10-0-873ad79bb2c9@wolfvision.net> X-B4-Tracking: v=1; b=H4sIALzle2YC/43QzU7DMAwH8FeZciZTkuaj3Yn3QGiyXYcGoXZKS wFNfXfSIcSBaurRtvKz/7mKkXPiUZwOV5F5TmMa+lJo9XAQ1EH/wjK1pSGMMpVyWsnIML1nltN 4nlOeBnw9X2CiTrLxwVkFwMGK8hxhZIkZeupWYPZHKzPpdXTJHNPnbe3Tc6m7NE5D/rpdMeu1u 2PfrKWSDthxrZGMt48fw1v8iXDseRKrPJu9mila9DV4jBxAxU2t2qtVRUMbMUSyCBg2NbtXs2t S8qQiaebWb2pur+bWpNGjI9uib6pNze/VfNHa8m3KNcFpt63Vv5pVlbmn1UUjQM+hJdRxO2nzp 1lj7mhN0YCi1nWrDdTwT1uW5RsV5RELAwMAAA== To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bastian Hecht , Michael Riesch Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Javier Carrasco , Jeff LaBundy X-Mailer: b4 0.14-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1719395779; l=5737; i=javier.carrasco@wolfvision.net; s=20240617; h=from:subject:message-id; bh=G3AcOnh5i+vHzln2znaJAq3MqDCCSuixlQa35tWCX3Y=; b=XYCwDdYD5nWQg2tDvArAfgdBno4+UiLHz70J2DXIcFYLCjkRWoUVJ1Suv7VYDs4D7VsarWn8Q Ddi9GutmQb8At8tSf1IKy9TXKbqWicQgr642bYDbLC33kNN80h/bLDa X-Developer-Key: i=javier.carrasco@wolfvision.net; a=ed25519; pk=hfASRUP6l4lf3Lo2mjLM085/h37dT3m0Qj1HejXDPDc= X-ClientProxiedBy: VI1PR09CA0118.eurprd09.prod.outlook.com (2603:10a6:803:78::41) To VE1PR08MB4974.eurprd08.prod.outlook.com (2603:10a6:803:111::15) Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR08MB4974:EE_|GV2PR08MB8679:EE_ X-MS-Office365-Filtering-Correlation-Id: cf4a50a5-34c9-416c-665c-08dc95c63a49 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230038|366014|52116012|376012|1800799022|38350700012; X-Microsoft-Antispam-Message-Info: =?utf-8?q?AV1l8iUOF0lX5HaHO3plobjtWd4M9MP?= =?utf-8?q?pLC0tS5D890ZhmqxM1CxcwtOc12CbItFACC0miYlZeyH3XM9vzuw3C+/5LvJm9RNy?= =?utf-8?q?GPpL9DYSGwKfTXMrw78F8oPHN8+U4rqu65KGWsiQ+ztAHBQjkoHYicEMVgdTHeFHy?= =?utf-8?q?IKpP6331d1DooC4HNh57aGL9Wlv2OV9SrZnfh0u253X5IANJ7K0i7pRYk0IIlXusW?= =?utf-8?q?u3gQWxjRV3hrD3gXypg1dFRVxmVi9SbmOtZfiSkLK3BuV1yIqrHeb8i4vmug8y+Vg?= =?utf-8?q?5PcH1xu+oKlqb8te1p5g5PXgNswaN15UL8NBY3y2VP7idGXSl1Et3MeTp3slDmktK?= =?utf-8?q?nc/Pv9zeDHmA2P+n/bSmIGJgD89XhJZgt4R5TuGkumJxCBaIGb+ktnR18PlijF6ME?= =?utf-8?q?FHwty5TW6wkdjyCvkYpeJa5aQwh0HDDEWHvNa+zufWqpNdbBBHWun6hEMWM5o0wT3?= =?utf-8?q?iYf1Z2jOVKMGuVY1jbhXWz0iOInxngIuYwqQQW1x//WmEBgzh80AGald6NyfPJwYM?= =?utf-8?q?DY1aBFGJIEHHHRzn3tvkTDchEL1sp1RJKB/4K33Jr90jO0GS/KKYN+T0fE5ncV+L0?= =?utf-8?q?5+GKiLXjdi8m4kZ7x+FMdr/xiN7POC7W1kM3xo2AgRcvfBLMnahzxyWCoeCvEwz7H?= =?utf-8?q?7FGY1uYFI1CGDQlhD2lYAkylkCbC406K8NQzHZunFYm3q4qiYVjwbGcM8oOQAh4gJ?= =?utf-8?q?2xIAxSq+ub4z256Hnfw4g63bEdK4uRSEXqasUYoOieG8YjSaGicq0eTu+HpGBpBgv?= =?utf-8?q?ou/UluCQcHJUVnsh9e7h5xm94+n4FNNemp8rIzDcS4p0fpLCTCBy1gDLPPU1HPQnu?= =?utf-8?q?gIiD6vh2NHpanqT9PWKgDgWdVrMMcpbDksmVVx9SQh6bjBLGoYT2Dc9tqXr+9fSh6?= =?utf-8?q?NMdNFQKJmXl/DJI26bTV9ilFHuJ393/3R7pqpDqNv+da/24P/g1+/u36avGtkGNQo?= =?utf-8?q?N0o3LtHKswhUqTbqHWz88hzBDgDviUVmuGOCrVokddVwU8XizI7IvgtkqEwqtD0A7?= =?utf-8?q?jblFjbUpl9NoDzNSjLR514Ktb6AZ2F3gJi/8uxeSc3p9c1YWJsHQ+QxYb3zMW1WTz?= =?utf-8?q?c2GxyIJRTHmBMXZbZ0ItF+0mYc4Ozyv2se/J1Yt5rWWkgEwi+nZQP3Y+77u2TN7e0?= =?utf-8?q?1jbwjLkB5JwwY3s3CV3tl8li5Hmpo1fgilL0yIp+9gxzCNiMAmJqlRckRhdLuyj+X?= =?utf-8?q?Q62sVoAtN2DI+/j7pxna8XS3/dW/a+w138QEwVfb5dzZSYgcodjUqaudSFDnf8bP+?= =?utf-8?q?KD2wQhx+UqMC4LwtV7Dz0CEtTJaR/GxC9+4qors/r8qCklMxAJB4o8vw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR08MB4974.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230038)(366014)(52116012)(376012)(1800799022)(38350700012); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?mVWLklk/zMSk/V3YWG2cv10j1ChW?= =?utf-8?q?SrK8wWGs4t2UD+cN2EEqyJU3KOZk7rXuCn7nNs0967hwakobUHTaWTNxG+j++UJKB?= =?utf-8?q?bsxtKf4y8DslHIIWRWGnycGgsjH73nWcfp8kXYTvi1cF8h0YhuwuL80DM1OPa3dQk?= =?utf-8?q?VZH+NB/Ob+dzbWXXdSa4HU1RHxQ7yJQ4YsrpA3d4aEKkDRdUAI5LRynjR0K9rG2Hx?= =?utf-8?q?gvtsCKIE1DLgxbkH3ggFMyvZTtz0gQFQBDijAuima7ZypkAftKopH4Hj46rx06qrL?= =?utf-8?q?+5siSnRUILN/e2Dc3mIJhPhYAYlHJhQHwZTCZtLUvHAOmCJ+ahH+pFmO+U0wqyoY6?= =?utf-8?q?upsxtF/T5FFriEdA5CTFcyKqtf1x6832AZUeeBCD0i/sIZjIaDqCRZpfW1bAB/ddA?= =?utf-8?q?5L1CiEHFrx/CQKUaJahatfiZX4ar1+Y9UPKDChQTGSUEqhvtFr+PoIPKXo4L3cz7b?= =?utf-8?q?FTOCBdtiCI3o9qL8RJ4vcfDtVEWmgYKqj18GjL86KwN4Vv2S7cDi/uEuLRx9S2ybM?= =?utf-8?q?aidQpzwguOk5ZIS1qwLWKctDLlbSCk4CX65vWqpi1DZcs1AGtn/36Af4rqRmSEits?= =?utf-8?q?A0AVgHNKxTqhw+t+/VeRvmR6gay+rofZruBo8XWRo9v9mrSOKgWA5mNdqgUT5QbAo?= =?utf-8?q?ZWRBnOmnGF1XwScO/TY4rOC78xpEw1gT2BK/07wWtRRUbGKhwubNrVtdjOocBdSBH?= =?utf-8?q?qytNZQMkUDFa+9ZSvmkei4ANPIrGnAjGyFsHLC45nckqbqgJqHJorgZZkPbzVxaMa?= =?utf-8?q?h7wXRB15evd/eC5eQKGtTeoJQDJb681n4EHvWziV98ZLCe2gie3dLDqd1r43oRedg?= =?utf-8?q?nP3VOz11D89/RsDAlEDhL/S6e27R3nT+2f1y5n5m6FHXRLrciL3MMY71jDAZ56kEK?= =?utf-8?q?xUR41ZP/wXHfaL1hKzuSVrCE1WdbFmHyWeO6LJ/hiuqKOJa3XT6cVDGRwKmmw7rIL?= =?utf-8?q?vguuMHHk1lHssABHuHjKLhWzDBE2PhUi4/hOOjv557sY48oTkUO+Lh2Kz0Oj/bq6I?= =?utf-8?q?iwkQ32S4na+FMQb1nHfwUkR4MjqSqwczRA0gpk5jJnqxaTc/K4n2EIHAK+VAY3VuU?= =?utf-8?q?6uSNJ7BEIEsFwzJPdDUsOZJ3y3Z5VY/BNP8RSpp+oJGEBrXPr6zRyxVQ7bkfOvaWl?= =?utf-8?q?kfcfWkYE0adDHuPGOFkOvKInPhu6NKk2ou4YikzwxljUnqAVwzKOM5LaUkk9owo5u?= =?utf-8?q?8pTymfY1BAHzpIosw4bVDvIBmEcaUn/SPPvut+9zIlve5ZL0PYQo56v0h88gJWPnP?= =?utf-8?q?4gFnWIBBJR+T4BX5tFCYYkoO/4/7FeRF8Q2lPZkSkQBA84HVuijpJP3Z01SLJbLFQ?= =?utf-8?q?SczaLh2O+xC5Ufrr5F4e6g6P9jmbXGi2YuvOAZZDQ4BQCvyZerSu1SdORoMehcdZU?= =?utf-8?q?L9bodZOoN0H7FVsHLzLchMRtYdQ+rZCV/mWOTD9dM5Nvo7abt6k9itO5JSwcdoYBq?= =?utf-8?q?qG27B1Ve8yQq1ZzKmcL7HrLCi3nwvNgOGnpXTzaB1J1Asp9QeXrY/GBBEqmWo8ex2?= =?utf-8?q?UyeOexHWCsutiKL6dA9+zR/NhBD0E5xM3pkZAh9kjPKJq3bM7kNZfKI=3D?= X-OriginatorOrg: wolfvision.net X-MS-Exchange-CrossTenant-Network-Message-Id: cf4a50a5-34c9-416c-665c-08dc95c63a49 X-MS-Exchange-CrossTenant-AuthSource: VE1PR08MB4974.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2024 09:56:19.5054 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e94ec9da-9183-471e-83b3-51baa8eb804f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7KCQgJkiRPXJpiJ09ydmQ9cqmbwjN7qr8p94JVlp2FhyUg09fk83KOt3RQGDnuYlFDhPpTy1rJidYzWkH7v6UV9Wa6fw/pHCjKtRgzjAxhM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8679 Some touchscreens are shipped with a physical layer on top of them where a number of buttons and a resized touchscreen surface might be available. In order to generate proper key events by overlay buttons and adjust the touch events to a clipped surface, this series offers a documented, device-tree-based solution by means of helper functions. An implementation for a specific touchscreen driver is also included. The functions in touch-overlay provide a simple workflow to acquire physical objects from the device tree, map them into a list and generate events according to the object descriptions. This feature has been tested with a JT240MHQS-E3 display, which consists of an st1624 as the base touchscreen and an overlay with two buttons and a frame that clips its effective surface mounted on it. To: Dmitry Torokhov To: Rob Herring To: Krzysztof Kozlowski To: Conor Dooley To: Bastian Hecht To: Michael Riesch Cc: linux-input@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Javier Carrasco Changes in v10: - touch-overlay.c: use fwnode_for_each_available_child_node() macro as there is no point in adding unavailable objects. - touch-overlay.c: initialize error in touch_overlay_map(), which would be returned uninitialized if there were no touch overlay segments. - touch-overlay.c: fix fwnode_handle refcount (overlay must always be decremented before returning, fw_segment in error paths of the loop). - Patch 4/4: update description (the feature does not add a second input device anymore). - Link to v9: https://lore.kernel.org/r/20240422-feature-ts_virtobj_patch-v9-0-acf118d12a8a@wolfvision.net Changes in v9: - touch-overlay.c: trigger a button release if the finger slides out of the button segment to be consistent with the button press when sliding into a button segment (see touch_overlay_button_event()). - touch-overlay.c: (nit) remove braces in if with a single statement in touch_overaly_process_event(). - Link to v8: https://lore.kernel.org/r/20240320-feature-ts_virtobj_patch-v8-0-cab6e7dcb1f6@wolfvision.net Changes in v8: - touchscreen bindings: fix description formatting. - Link to v7: https://lore.kernel.org/r/20240119-feature-ts_virtobj_patch-v7-0-eda70985808f@wolfvision.net Changes in v7: - General: return to a single input device implementation. - touchscreen bindings: segment instead of button in the label description. - touch-overlay.c: define button-specific data inside segment struct. - touch-overlay.c: remove fwnode_property_present() and check return value of fwnode_property_read_u32() in touch_overlay_get_segment(). - touch-overlay.c: simplify return path in touch_overlay_map(). - Link to v6: https://lore.kernel.org/r/20230510-feature-ts_virtobj_patch-v6-0-d8a605975153@wolfvision.net Changes in v6: - General: use a single list to manage a single type of object. - General: swap patches to have bindings preceding the code. - touch-overlay.c: minor code-sytle fixes. - Link to v5: https://lore.kernel.org/r/20230510-feature-ts_virtobj_patch-v5-0-ff6b5c4db693@wolfvision.net Changes in v5: - touchscreen bindings: move overlay common properties to a $def entry (Rob Herring) - st1232 bindings: move overlays to the existing example instead of making a new one (Rob Herring) - Link to v4: https://lore.kernel.org/r/20230510-feature-ts_virtobj_patch-v4-0-5c6c0fc1eed6@wolfvision.net Changes in v4: - General: rename "touchscreen" to "touch" to include other consumers. - PATCH 1/4: move touch-overlay feature to input core. - PATCH 1/4, 3/4: set key caps and report key events without consumer's intervention. - PATCH 2/4: add missing 'required' field with the required properties. - Link to v3: https://lore.kernel.org/r/20230510-feature-ts_virtobj_patch-v3-0-b4fb7fc4bab7@wolfvision.net Changes in v3: - General: rename "virtobj" and "virtual" to "overlay" - PATCH 1/4: Make feature bool instead of tristate (selected by supported touchscreens) - Link to v2: https://lore.kernel.org/r/20230510-feature-ts_virtobj_patch-v2-0-f68a6bfe7a0f@wolfvision.net Changes in v2: - PATCH 1/4: remove preprocessor directives (the module is selected by the drivers that support the feature). Typo in the commit message. - PATCH 2/4: more detailed documentation. Images and examples were added. - PATCH 3/4: select ts-virtobj automatically. - Link to v1: https://lore.kernel.org/r/20230510-feature-ts_virtobj_patch-v1-0-5ae5e81bc264@wolfvision.net --- Javier Carrasco (4): dt-bindings: touchscreen: add touch-overlay property Input: touch-overlay - Add touchscreen overlay handling dt-bindings: input: touchscreen: st1232: add touch-overlay example Input: st1232 - add touch overlays handling .../input/touchscreen/sitronix,st1232.yaml | 29 +++ .../bindings/input/touchscreen/touchscreen.yaml | 119 ++++++++++ MAINTAINERS | 7 + drivers/input/Makefile | 2 +- drivers/input/touch-overlay.c | 264 +++++++++++++++++++++ drivers/input/touchscreen/st1232.c | 48 ++-- include/linux/input/touch-overlay.h | 22 ++ 7 files changed, 476 insertions(+), 15 deletions(-) --- base-commit: f2661062f16b2de5d7b6a5c42a9a5c96326b8454 change-id: 20230510-feature-ts_virtobj_patch-e267540aae74 Best regards,