From patchwork Wed Feb 5 00:45:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13960273 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2043.outbound.protection.outlook.com [40.107.249.43]) (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 577E82288E0; Wed, 5 Feb 2025 00:46:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.249.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738716375; cv=fail; b=I794mPEKdV/IGk70i+t1KK7O3EGkWr1ZVU1mkPdY5RNslkSc9kF8I382KVKZGcMru98QI9Kbl+5ckLVI1FnljVUw71EVJ/jnf3FdlyjsKc2aPfBcBJdgBH4s3fN+HAMKunNMXElY+vS9wwvhwPHAxIho5kY7cNzCpD6SAqvn5V8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738716375; c=relaxed/simple; bh=yGvaO4CE8KR0YjpwnelDEdIH1YkR2FTo1uOdpptvhd8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=mKGco8nVoBaoNvwPXqP2yCpU85sDhS6EwpmdVhAXucFenYFEolkxyACcYhfCaRkR2E/cQII+v8NpKtNPfxnZ2HOvO52wurHkg7DqDsuJCVVBBV74eo8aSnEIPRkXA6eBubkt3FMCN2dbp9pdTF/z9MSkxVqRJiHc/lv4y5jpSes= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=nNqVRm8M; arc=fail smtp.client-ip=40.107.249.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="nNqVRm8M" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R8IS78PrAn1chKKm/8pa8WXCgJeJSynvFnpDRrOJUTaSh0MW8SmYvtKSe2hZ8lIdlcv4v/QmtzHaPUUgQ7mfe3e2BQ+RpYtKRxrbae0Tm30b7Zk9q1XmdH3U77nQ7agmw+IM0GsqolPvUuJouKNZQm6gaxhF11S/PUsGVAu0dyQSziHXBqouSPpo90UhrPBe0GDWpZiihzZf5YthdptfwVuupMyQ05fZNGpEEZ48JVcrTad/tO4Rvm7sTFhGxfdviLc154esIMV8Q0NksUDr5T+8oo+9Fl6hL0ILyNCovUDymo+Y0LSoihNGpW9m+OZFJZSf2n3xpAWug8OLBD+Kpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=MhC1ngrU87eDqzUYVlj3esO6y93gVDOOhc8DDXGyy0w=; b=H99EvhV+zhswqkMBOAlx3mEFapU/CIAC9RScVt4wQ7mqIwi4P37o3E8lKsYKobjiD7rZUAQzisMwqwj3MMB44eIB+z6jBexG4GhxcN826U36J8J/nnv4TTxjKHuIUV7EHeysar6i4RCJxr4RmVDBIV78a+BnWchSHFrKNig4QjCEb8p2gCtE6NqFxULrdyB4Ur4e4IMHtq8rDtUUiQUgAC9kBxOY6jFOIOpRxc6iMgqPsnHH7QtskNKNdj+BeouPtc/m9+nXI0KS15xFIU6tFbG8UwvjAwE95Ue2K+UVPgmbAIpmGVjWH9r5LTUsrqDpnQ/dxWM6SGmGNw/js1m88g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MhC1ngrU87eDqzUYVlj3esO6y93gVDOOhc8DDXGyy0w=; b=nNqVRm8MiFmcLLehNIEGjmyEVThQKuPAN1vhKjPhVbfbZ67NRLQALqfCVrLYcaccdwIMhLVS8N5b+mdChiG/JDNnMvlRsUYrPg4ir00pItlwaMjEBe0/0s7GDa1zLXZClEzRRT0JtVWb+NH2JZXxWqvPgvIK29VB+3n5Xa/vcNXcqOSlsJqeDJ/oBPrpalTSjU5hERAsBZzgmtSkx5j7sVIpIpcFxvX95Th6xgoCoSs70YzlUbHDfVhgqxjRHTeS1wqdZBKrubDwXpL1NW4/LKioqE8WqTIIlYn9/69D0ZhVSsLbVReMGrU7Yt2kUi2oN9KgZn7qHz2Usd4hdXa28A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by DB9PR04MB8250.eurprd04.prod.outlook.com (2603:10a6:10:245::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 00:46:05 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8398.025; Wed, 5 Feb 2025 00:46:05 +0000 From: "Peng Fan (OSS)" Date: Wed, 05 Feb 2025 08:45:17 +0800 Subject: [PATCH 4/4] input: touchscreen: ti_am335x_tsc: Use resource managed API to simplify code Message-Id: <20250205-input-cleanup-v1-4-9758898ff8cb@nxp.com> References: <20250205-input-cleanup-v1-0-9758898ff8cb@nxp.com> In-Reply-To: <20250205-input-cleanup-v1-0-9758898ff8cb@nxp.com> To: Dmitry Torokhov Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1738716321; l=3411; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=1lZmp/EoQtZDgK9cRNpEHi0IbcGjqZ+/tYP3nl5MGB4=; b=DgvMfxudnP8VmAR/dqhrCBmy8vN9qi34oTNOmcn54WRJFI9MBo2hO2FeA2MYMam2VkZenkwyT ZVqSCnZ4D0IA1QHZoEyl0kTFw12bjlwPBCWwiGjxZy8uNXD9E0mrguM X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2P153CA0046.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::15) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|DB9PR04MB8250:EE_ X-MS-Office365-Filtering-Correlation-Id: d267fe25-30a6-4da5-8362-08dd457e78f7 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?dQ9ZUcEkqlsAWfwFLdSwnsYrQkMIPQH?= =?utf-8?q?9ANLFJUM+M3bwcIidjtX9+xi3KmJvc29QBfDhwKaDTVDvq/bXPpcSbdg7ooo6zKU8?= =?utf-8?q?LdVsbZBg2ITkK9hSrzbo6QR8eNk5UGDqVZz7MJf0tzCyMbNX6S+UOcEpD+/dAp3ii?= =?utf-8?q?8mUIufrRvmmKMCVs8l3lQEqTkRe09BnVMjes1sT5wqXDe7hfYQqrG/OhkG0JOhJjR?= =?utf-8?q?G5f9diC3+UaWmFXASkUPh3Er36+oaNmN/DXPVgQhgwEM5xq0fFJxw42Op/CBfhDxN?= =?utf-8?q?ExcDwOjwFg9sopNs97qzbZutVuPAthsUwoonG53/Pmq9xIKPCR932PePb3E5mcsWZ?= =?utf-8?q?C4kBTguRzAq+PwNcGeGben002UBZvMWbfHClOevtRFAhU7kex+wTHnfuXFMF8u20R?= =?utf-8?q?ifGR05mhYUOdBqi+39vfaf9jrZdW0t7R7i/Tn42Iouya4YqhPXIUVbeGK5AradcE5?= =?utf-8?q?M5zL0qlXQvZiju+wwZlyathHhOfKJTXVzr6fH10In4XUICbz3u4TKhceSga/tDwIz?= =?utf-8?q?ijVRP1Jh7ewKn0BNg1iq+3mHz5Ags/jgB15s/FoaZFJQvxtFo+V+ckchK/5nme31P?= =?utf-8?q?9Uwi2gS2iruNGSv/D4sFzcFWOTF0MRmuGHuOSO5Fd6ykmgg7FF/Dcsqb6fVOYW+f/?= =?utf-8?q?d6X7DEto4IXHm2uyx1jKSpea262FKzjx5yl5/sHGETbnTsRxTGt1u+fYJVEpPFAdi?= =?utf-8?q?o5EF/85w9qNIGdxB6216xVmOdm6k5qMWIye/M4cTkZoFavd6AvJHukyXuJzHzR53o?= =?utf-8?q?GzCG4VyWN8HOjFfTcu86Kr77FiVI97nP4Si+9Jox5WsATByiA23XeGZzMSOny6bhT?= =?utf-8?q?0fLM6ZwT2aDIzSfHeE+VXAnIglpKjWit5aCgqDbhzjQnzTxVHpsmD0v1+x3s9WmrR?= =?utf-8?q?6ohnTjoBJPMypgFvgP3gHsjHoMe5XHxjwbvRuP64fE7GC1zZwEDBxhreHqc4w/kzS?= =?utf-8?q?KKRZRcOTVm81sxnNwWc/0ltzrOluRRwo2J35Pkkn5NLqJFBABbfGY6l7+UuZd5V2x?= =?utf-8?q?aWMkBsbC4wVXhTHR93NJ/GMrZZbdGgqvvJc0rt1S8TNr+g1fAEnMjjd9sdDXO4WXK?= =?utf-8?q?lRKmJVfKpdzg2osqgU94bTVAN0D0p3uIhS1cZpMHccgJFYANQbEHO/DgW/60WjkbN?= =?utf-8?q?8Kxl5tMrz1i1RhkNfklrlomy3mBCJ+oJTFlCy0gYDGXKx0FN6eubQqRngHSQ6NiQA?= =?utf-8?q?36oieTti1YU1QqG4XuI8KPlPhXF3lxMfrl6GLt8SXdbFErVi1V2nUVokEtl6klPo4?= =?utf-8?q?p0n1k9OuM33OYrwashEeGwIcrb6oLoXbG6VT3LiPNsuIJVwYrdqnfDTh50UnEerH7?= =?utf-8?q?VvDCQCWDPPNAXDoVisOv21mmKhqLxlx07IUnjnRDpFQXOe2k3YJhfeI2eU7lDgYtq?= =?utf-8?q?rTbL6k4W9vV?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?5Ey0C+/fjff/z7ajY9O+mz/UvL8M?= =?utf-8?q?pCFe5Pq5FMz3AzEc9Qaik1p8kwanEEAIqoUvpAPLl1mFykpMtNZT+Ee+IdWOorCWT?= =?utf-8?q?iNDd4RlCnxmy0+DNY4JXrVxZiXjlxkfu4CffiWH/SWDgS2aaBgo04jz6qwRvNkr6l?= =?utf-8?q?CesaD7sW6PGJpz02hCxCs3when373Oi7gcSCQ3OaFc+xiyKBhoLtgcwcQpsqcYn9l?= =?utf-8?q?gWo2POGexjlvxG3F5qH6KqH8zZJvyNPDnNLbmBW+25cp6xlBJl11wLIO5kSbiZRx8?= =?utf-8?q?nFYYc73rrpE1RZ2VEGHCot5AIQm7qoIWdxnY7Z8bmcDfZ0pu8q6ENNI3r4Q/qWpGw?= =?utf-8?q?WT7arzG9TKzh/cq7bkaKumF8E98aA0BeDborllVi9fcpryxHHmOEWXbuc/7Ie1l+8?= =?utf-8?q?s1u7n/5jc0tzxDEPYD9j998vqhhrB+Njk5VwQUgWsJX/SwWjMZaKpWpZROEfwppTp?= =?utf-8?q?svZfHrX/jnhfrUyzUdhtBWCc8u/ofRPOLCmvT/GPVrlLsTWQvA999rMRbij2KrJvO?= =?utf-8?q?yXWIekSXL3JKtugZtRGV7YDGlYXO3GNP67Qe+HErwchmlPjtSv+ve0zIVwdC9+u1k?= =?utf-8?q?nd0znWfOKXFKRfdRzOe7U7UkqH4lDAxX3vTMD7TtM+IB1Ya/XfJy3WdzD2qa0WCaW?= =?utf-8?q?V0h1lbtXHl3RrIMcHwu1vI20Pxzywsu3pT/+wJ5ZjH0+N12UTO3vtOLangy3hFsY/?= =?utf-8?q?+tvhHvKqEtBAouJPAGBQ92OARz0uK0cTKLlsFgGeO7dmeY6U+akAyxlcP63JLcrq0?= =?utf-8?q?8dRmyQqtxYOCp9LUoUrfkY6MBWVkRKaukPK1bAOQTEWG6eCFfYcSM5I9okREW6yjT?= =?utf-8?q?uvFzOiJepw2L4E4bR8JVZr6/L97INxYnnWj/vcHf4Y7rmkzJKpe48yYq/CNlQtVyT?= =?utf-8?q?IgS6+5HlFTNMrxyL4cdkwNJA/+rUiIN4yXVhiuXkuTB2alyR7MCYgrMOOR27lLxfo?= =?utf-8?q?nvjY55qZvP6BfXh0et0fAW2o6PNgMpHRAy3C5lTHHU3/Fb8Kqfg+nad39urj9sSGW?= =?utf-8?q?5iWmYPU48OGKQJhMqr8HPueh0vH6X3gT+ML9SntrfJ/tHSJQc/7Hm7M/JzVRZha42?= =?utf-8?q?X6YWEm7uC7HbKErMpJTklUgoYKssqT5EEs6XuK/a7REdWPPwddrinkDkWw1nby2Uo?= =?utf-8?q?xqiuhILlCQhKC85yIfMXUbyvWoUd6TyvgeDmQQ71nTVeV/d50stEL5AKOgxZ6tB5q?= =?utf-8?q?6pLFQmGlwSGFE15EDaIJVsZjuapWJ71h6PPW78a08v5p1Ojn4wOJA+recxLgzOLIn?= =?utf-8?q?EGvoJvntwsK+3l1DadIqDDCGHdFSxQcJkilMsYVoosJq6tjAmAyAw4W8X7d7F12xF?= =?utf-8?q?lo677hgRqpQLJqiBg03b+7mgmtzzbqqxi53X+jEUHo7UbSi0iYFg+beZ4J6Q5eRqw?= =?utf-8?q?mp6+LjBXuJOkDU5ZOa+g8YdPo6OmKxVxHOe/2KejYxB01jPAwNyairjuyXFaDiGaw?= =?utf-8?q?MhKHGaJkH0AIhEDez803Miay89m1C2DN7tbmS+6388haktgc4GhZimFqi547GLqGc?= =?utf-8?q?hUBDC1EqfYfj?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d267fe25-30a6-4da5-8362-08dd457e78f7 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 00:46:05.5394 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mSV1+6dVHybSwQjniLqegs1LKiSrgk61RRfNdaUhyIFTRFxv4a3O1autGDDp9pN0Cw19TwjbWwws+0yGuGi+8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8250 From: Peng Fan Use devm_input_allocate_device/devm_kzalloc/devm_request_irq to simplify code Signed-off-by: Peng Fan --- drivers/input/touchscreen/ti_am335x_tsc.c | 43 ++++++++++--------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c index 93d659ff90aa94ecbd7000fe05e0eef8ab3546ba..aef38b2e4e464e3b76395de5991a0f41b4f852f4 100644 --- a/drivers/input/touchscreen/ti_am335x_tsc.c +++ b/drivers/input/touchscreen/ti_am335x_tsc.c @@ -418,12 +418,11 @@ static int titsc_probe(struct platform_device *pdev) int err; /* Allocate memory for device */ - ts_dev = kzalloc(sizeof(*ts_dev), GFP_KERNEL); - input_dev = input_allocate_device(); + ts_dev = devm_kzalloc(&pdev->dev, sizeof(*ts_dev), GFP_KERNEL); + input_dev = devm_input_allocate_device(&pdev->dev); if (!ts_dev || !input_dev) { dev_err(&pdev->dev, "failed to allocate memory.\n"); - err = -ENOMEM; - goto err_free_mem; + return -ENOMEM; } tscadc_dev->tsc = ts_dev; @@ -435,18 +434,21 @@ static int titsc_probe(struct platform_device *pdev) err = titsc_parse_dt(pdev, ts_dev); if (err) { dev_err(&pdev->dev, "Could not find valid DT data.\n"); - goto err_free_mem; + return err; } - err = request_irq(ts_dev->irq, titsc_irq, - IRQF_SHARED, pdev->dev.driver->name, ts_dev); + err = devm_request_irq(&pdev->dev, ts_dev->irq, titsc_irq, IRQF_SHARED, + pdev->dev.driver->name, ts_dev); if (err) { dev_err(&pdev->dev, "failed to allocate irq.\n"); - goto err_free_mem; + return err; } - device_init_wakeup(&pdev->dev, true); - err = dev_pm_set_wake_irq(&pdev->dev, ts_dev->irq); + err = devm_device_init_wakeup(&pdev->dev); + if (err) + dev_err(&pdev->dev, "device init wakeup failed.\n"); + + err = devm_pm_set_wake_irq(&pdev->dev, ts_dev->irq); if (err) dev_err(&pdev->dev, "irq wake enable failed.\n"); @@ -456,7 +458,7 @@ static int titsc_probe(struct platform_device *pdev) err = titsc_config_wires(ts_dev); if (err) { dev_err(&pdev->dev, "wrong i/p wire configuration\n"); - goto err_free_irq; + return err; } titsc_step_config(ts_dev); titsc_writel(ts_dev, REG_FIFO0THR, @@ -475,19 +477,10 @@ static int titsc_probe(struct platform_device *pdev) /* register to the input system */ err = input_register_device(input_dev); if (err) - goto err_free_irq; + return err; platform_set_drvdata(pdev, ts_dev); return 0; - -err_free_irq: - dev_pm_clear_wake_irq(&pdev->dev); - device_init_wakeup(&pdev->dev, false); - free_irq(ts_dev->irq, ts_dev); -err_free_mem: - input_free_device(input_dev); - kfree(ts_dev); - return err; } static void titsc_remove(struct platform_device *pdev) @@ -495,18 +488,10 @@ static void titsc_remove(struct platform_device *pdev) struct titsc *ts_dev = platform_get_drvdata(pdev); u32 steps; - dev_pm_clear_wake_irq(&pdev->dev); - device_init_wakeup(&pdev->dev, false); - free_irq(ts_dev->irq, ts_dev); - /* total steps followed by the enable mask */ steps = 2 * ts_dev->coordinate_readouts + 2; steps = (1 << steps) - 1; am335x_tsc_se_clr(ts_dev->mfd_tscadc, steps); - - input_unregister_device(ts_dev->input); - - kfree(ts_dev); } static int titsc_suspend(struct device *dev)