From patchwork Wed Jun 26 08:32:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13712405 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 18F74C27C4F for ; Wed, 26 Jun 2024 08:38:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1w24MO4Kud+pPzTCesnFiDmBPLYy/1K1/ITNGSRDvq0=; b=GItuxpjefpziHr4TsizZSNGYKz 0iVqc0/0gJ7kOd9LyR4nuy6iALp1h2J6iGa/pdfvn/69G+Da6bl+eai9m58u5Aa6Xjlw4ZdQJnydJ nfCeuGcq9lZGYseDoVxz9cxlq31mwtSm4YqFkH55JZMyQudKh7bE8SRs5iDG1SKFqcAOQfftI6QqI UaWg46GbqCWW0zhlkaKE3FF+dMJbSc22awWExF7Q95e9ThhH3BL6tIKHL+b+xcnQ0svGPtKxMgYUT d3+k8x+kvivh9pJkuphSpKlbzGG2aifF78zeM926oL/kkBfk1PS0YcInvwe5b9lXjP0GjUmwhDDty e7eXIB5g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sMOAh-00000005xH3-1xie; Wed, 26 Jun 2024 08:38:31 +0000 Received: from mail-vi1eur03on20612.outbound.protection.outlook.com ([2a01:111:f403:260c::612] helo=EUR03-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sMOAH-00000005x9C-42TO for linux-arm-kernel@lists.infradead.org; Wed, 26 Jun 2024 08:38:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KKrZM/RgqKdtAzA4zDpXzrXinnzhCNHpzberPfHAzzN41uTErQrpZBy+JgMbqtT+iMLbpYTBM1GZRR1f7iz1gbHkNVvA5syqir3JMvnqfEaiIgmBOz2KRM3DTsFXsWqJ9HJUF7XD7/eOS4MXJ7hh5JFwukL97ABgJIwiBu00dz88/9EREZuK5a+uiqJaiVatvcgUa0d1QzJvbOGZ3Lj7yOkbO/U8qQkyEM8pHx9AtI7DGjHRM3qwqEgDIQE73s8hC4O3Tbp28M2XzyLxzUyk+d62YYEQp56pH8MVnQPWACgbqpUytoIqOowGmgiRerfxc5oFzCGfFDt03pNSERLJrg== 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=1w24MO4Kud+pPzTCesnFiDmBPLYy/1K1/ITNGSRDvq0=; b=cpmJCP84dO691vewNIDjl6C8qrIjlkZh9tk/uEe6uTEp72x8yX84iy+wrfu1qvymnJZ5S3bAmPbRYmiwxlyeJh7UVC0hYgt4/82/SxxYZWKkftlqBlg6+wpWUQtlZLWaQppr12xYBFoqdal5OBjbjRREb4IMYkHbebqP3MdVogdGVzhZKhwhxm4vgmyYvJLWREYcVT6UGcUqlcSOoDtCju3OvbboDEnEZnjR8guTuK1QvJ4F9TE29PZRgfqFYIY5klusfzoi9I+tqjwNKDoVxfuhLfEFDVVT2gV3NBMnwYXuQh073Ky4fklh6arH0UPA2pmv+7B0+BGFB/NTG5IBbQ== 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=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1w24MO4Kud+pPzTCesnFiDmBPLYy/1K1/ITNGSRDvq0=; b=PzXEnvrXjhRSsQXysXbrtei7BBbUQQjCIzG49zrrcTkrLwtWCXwV+DAsCqEh6IaV/oZdr9GJsFvR054LVn4hmdx161wYdN/PzR0DpKcPanKJhQerkGPXe+b72DujYG3oD6e4l/GFpr3XyN5UTA/y45budhbgI1QhnGUR4xekj1E= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM6PR04MB5941.eurprd04.prod.outlook.com (2603:10a6:20b:9e::16) by VI1PR04MB7165.eurprd04.prod.outlook.com (2603:10a6:800:125::13) 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 08:23:09 +0000 Received: from AM6PR04MB5941.eurprd04.prod.outlook.com ([fe80::9f4e:b695:f5f0:5256]) by AM6PR04MB5941.eurprd04.prod.outlook.com ([fe80::9f4e:b695:f5f0:5256%4]) with mapi id 15.20.7698.025; Wed, 26 Jun 2024 08:23:09 +0000 From: "Peng Fan (OSS)" Date: Wed, 26 Jun 2024 16:32:10 +0800 Subject: [PATCH v2 1/2] firmware: arm_scmi: channel unavailable if no of_node Message-Id: <20240626-scmi-driver-v2-1-8f2f85b87760@nxp.com> References: <20240626-scmi-driver-v2-0-8f2f85b87760@nxp.com> In-Reply-To: <20240626-scmi-driver-v2-0-8f2f85b87760@nxp.com> To: Sudeep Holla , Cristian Marussi Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1719390738; l=2478; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=vLoegjaeZFFvt5cDFq6+YDnpF19TDeAzyy/09HgfzAI=; b=pkQyuSlOeKS8jKrpZUkqdRZyiIj56iuY9tMaTVxMd+snsKg+WfTN6UH9Ym3zhGpSq4qD1SK8+ rSPVhH8p4ooBhS2Ppgm2FG1pgycmYAULvhwnjqG5Dgi9iGP7oZQveB5 X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SGBP274CA0015.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::27) To AM6PR04MB5941.eurprd04.prod.outlook.com (2603:10a6:20b:9e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB5941:EE_|VI1PR04MB7165:EE_ X-MS-Office365-Filtering-Correlation-Id: ccf34084-cf60-41fb-5c7d-08dc95b93621 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True 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?+sqT513ZkZE9+7KoHMzobZDr1BeVoLH?= =?utf-8?q?/2SMAxr12BiYPmogwBODgzHA+O3IMliwA1OV3WhSqpUrZUVxtUMWqdAwcHEQvGOwW?= =?utf-8?q?+540xnd7eFJ2MKIzFlOPlXXDvmmhPG5xZJr4YDOoQFSMf9QC00owFI2KM3la0dfOD?= =?utf-8?q?BYpuWMLtJRTs21KVoMN0z3E0xRsQPdoDANHpn5anBOrEz4FT6KiqSCrAnXxgLa+9O?= =?utf-8?q?kIDDWPaEYRT4PPMeCvhRU/bB883M+hQoQhZ9iO+A9sBdddrO20ZVPgDhxmMdzBT0y?= =?utf-8?q?1R76Yn+6b9V78LIvBDb1dyuGk12zOLlCXqwxmDDq1Z9qlHf5GJOBdMTqLfz2Ti0FW?= =?utf-8?q?e8rX0Sk3eEjj2JBtRpN/IK6OArEDxXWIgJ67Huf/qTXlgjnAiziJ22EHi38rW7Avq?= =?utf-8?q?e6XjC1AP0qw4JzLhytGfnKWfO3P7Rx3YQx+GER8l3eBSeHPnu0a9eSBXOSLl29VB5?= =?utf-8?q?37mAnvAYL23+fzM3J4oLgvt7KEke0kBjv/mG6EyDmKxJ+lfbsX0BLm4CXG6AWJHos?= =?utf-8?q?ZEfKRzAavZq8UnD/bx31l3anYMA8Ni0gex1xLV3nctn7LJDA8IQVlvrneW8vp8SdQ?= =?utf-8?q?5SrJntiL3oU0bbk419dNcI/BrqeJqXjZCdsYgzazK4gtA1ZkElkef46YIXDFfXb0x?= =?utf-8?q?7AR0URrBV1Ml0jmfPgSwBsfijCfDrQiXqwCT67cvq8NMP8JlvUpuPCp4yQD/bIEdO?= =?utf-8?q?G/KDZS/8FHiuUPbxjILuEgQghkd+4H40jM8NbPCXGNbRp3Z6IzEirEddvi2QVy1DH?= =?utf-8?q?1z1+WdPXQTxNelE95pfntc1iJNBINaU969q1XkcOIs9Czj38YdCxrDykdWfYf3eIT?= =?utf-8?q?lhjlp0BeNSZM6em3S76jcTiFQ5RTlgRcOf0QUVBpiG1poXJ/adUPOXdnv+sH3qe9C?= =?utf-8?q?4NygtzqagkUtHZHqCCWbuVk3crMw4w2hByXPGm+w1vubGqmdtbLXEN3fc2NDfAsQY?= =?utf-8?q?YxFkZcSJWNFN9w3cqdc4Hgw3DdlRPuHSY8LJaZtiAZFK/Wt366LKSmQI45JjO3Vzh?= =?utf-8?q?43st0fJ4h51xNXYlf3ERCoNUmK3N/oZMv1AvSVl+b471jJp5USYi0x6RWa2uYegRI?= =?utf-8?q?8DoEkiLVNbG4ffE3fUVKl14BiB7Z5FWYvsY5EeZtQyqcyAGgPaOwKj33YDrriOt54?= =?utf-8?q?f85vMwrEb0Xz/DaIMi7atXYd0FJwUjVgbNhxdBJqPXTYzoDpt+8D8S07YReWNNI27?= =?utf-8?q?LCl/nYCmS2W6/ad7jWG6/f3JJYCJgAO8WzOwKRemubSF+23eU6OugsQSl2th3FMU9?= =?utf-8?q?/CLiGKjjCAUFHQEWYJ7qZkhPA+gW7lPFf+xbl8eRObpnu6VnHd9eENhtzu6zZFPEr?= =?utf-8?q?nldpK2yUFjWvbc/Opu22XMMAUmAqih0M1A=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB5941.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230038)(366014)(52116012)(376012)(1800799022)(38350700012);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hEMExwYWn1Zw9Qj3zRxJ+ZKqFUue?= =?utf-8?q?eKiYcaQQnmQcGw/c/CLCfOsjeiMYNlx9NU9/dZVxWOGRjE3Ohaa9fzVUAZ7oKnCjn?= =?utf-8?q?RDScxVRmKsrYZDbZ1NL4LMNvGmQpEf7uF0NofXYFpCKLvnwSOo4JXv7fzeVH5RceZ?= =?utf-8?q?6bma4GqWpDSOSr98PV+BNp+KM383Dln/+SNLi+DXLwtY0XAZhBB+POrBoYjJjVDsU?= =?utf-8?q?WQAlsOEItrILCMNUdW7WpJrc3pIVvKGiq17HYFDVW/92alOOJrjCR5VPS7VKU0YfY?= =?utf-8?q?n+fiPnwu3K9+kMmV3LtPR/UemGMsutjwRXmfxhJeMhFamHhlTMbDngvy+15H4Ma1Z?= =?utf-8?q?7QfJCp8/xhVWt4EOSG5tZeUCKCZrg49THylf0g6tXEg3v93bndrcGUzTKd2SUHI9/?= =?utf-8?q?yyIP7UW5E+MIRqBkXx7Igp56zGDocaWuW2QwqDlbVdg0XvGudZN2iIx9nqXastFV0?= =?utf-8?q?+U5+qLuYuACCluUCTAzA9KxWfH8b1jqWu43DPRBZA6oWARJKE+LKtjFgZdYpB4cnV?= =?utf-8?q?Aea5MCWvDlcEobYLPqz1YLeydbMPljNExh3FzQa9nQq/J48ra+M1Ti2npuycuPJdR?= =?utf-8?q?/Nsc700Qkwnywlj8m7Z854EUMjcG0UAmkjwzWi1E3rIbyQHszgAjB9Qh9+3TdD3oi?= =?utf-8?q?iOhqoxEQ5UK/dhf9VvxWVNta1BoFlleJJ1YZ7l1UmDPF5BBKMc6wRvcz1/ZroeSx+?= =?utf-8?q?yvR+TctcX27PBnFS1PEmg4LJ7JxZ77IrJsNG3OwlNilNHUwgHFbxKwWTbnHrfyIqu?= =?utf-8?q?vWYyfBfQsiEuJ8If3uN/1FJULM3SZk7lngOOQzyfRaIy5ReVC3kGkuNgFGD5EQ2iJ?= =?utf-8?q?ozb7BMitO+WbYp+zrl8ygLdLbfIjzZ6j0DPxGWGAvQNjUxFq3NpzjERwIahCxNd3Q?= =?utf-8?q?rp5N5lzJ3UW7Q3A8lGtyq4hebFkeOkVoqfgGdxBc03EP7K12nejbA7+iS4F5IMauk?= =?utf-8?q?roJXu5YA4GMMw60Nzzq9yUezxSmQl/0/nQmdgpoSqsSu5rdWXfHkCcDw0FkPiKFT5?= =?utf-8?q?xnkZGWElRSNWpDSSZPtj5p/oyuqB25LnohQTYh4J/AVvXvG4/DNQxSg41mHiXCFkh?= =?utf-8?q?4BiMdqNSpk8mb/MLmCIiRHRVmUOqDT1bjKZL/dVWaMEXHYhgM87mpA3oIJLUoT5yl?= =?utf-8?q?GxsfhXKxYGMagTfrAmBceN9SAFsbHSluO9i0/SbQ6fY20gXnyJlSTGfYETK+0fO6b?= =?utf-8?q?+nvZRBeptNifyW4Lja7rrfEQovMGmnE9qy/jLYeJ+hUE0JlglN6dGz4cV2tpeQd/b?= =?utf-8?q?MrvXjRMitfewtPePvKvdJETQ3jbT0wChZt+h0YmqMjSaXmIcpfVD48em4TCay2w1A?= =?utf-8?q?peypbB11JRvwkqP9X34hg7px1isqpVHFAiG3tc00HdCvfbeVBoxoS3pqUnHriYq8n?= =?utf-8?q?B3Na3qc73Bg+f6Hgqbdzkgp8TrQP6zPvL4gpoTMFSfCuKjqvh8yTvG+67ix7zTDGP?= =?utf-8?q?A73qFiFmX3/lC6nQCVFCiRmO+JqvuRgj7ddhGGijR9I1HN6xviVhspg7n6iI7gDpq?= =?utf-8?q?UXA23oTJ34Vi?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccf34084-cf60-41fb-5c7d-08dc95b93621 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB5941.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2024 08:23:09.0628 (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: BEWR5fPOwI0llPUNrHJ64TAyOCmb0WbUbEJ2yQzTpl0K/gy2AKrsxBtlHctdnDcVo8MrJPQigckIZhIcK67pEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7165 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240626_013806_100039_9A321A94 X-CRM114-Status: GOOD ( 12.10 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Peng Fan If there is no of_node for the protocol, there is no per protocol channel, so return false. Then it will reuse the base protocol channel per `scmi_chan_setup`. Signed-off-by: Peng Fan --- drivers/firmware/arm_scmi/mailbox.c | 2 ++ drivers/firmware/arm_scmi/optee.c | 3 +++ drivers/firmware/arm_scmi/smc.c | 7 ++++++- drivers/firmware/arm_scmi/virtio.c | 3 +++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/arm_scmi/mailbox.c b/drivers/firmware/arm_scmi/mailbox.c index 0219a12e3209..4f3abc933315 100644 --- a/drivers/firmware/arm_scmi/mailbox.c +++ b/drivers/firmware/arm_scmi/mailbox.c @@ -71,6 +71,8 @@ static bool mailbox_chan_available(struct device_node *of_node, int idx) { int num_mb; + if (!of_node) + return false; /* * Just check if bidirrectional channels are involved, and check the * index accordingly; proper full validation will be made later diff --git a/drivers/firmware/arm_scmi/optee.c b/drivers/firmware/arm_scmi/optee.c index 4e7944b91e38..c0a198baa706 100644 --- a/drivers/firmware/arm_scmi/optee.c +++ b/drivers/firmware/arm_scmi/optee.c @@ -334,6 +334,9 @@ static bool scmi_optee_chan_available(struct device_node *of_node, int idx) { u32 channel_id; + if (!of_node) + return false; + return !of_property_read_u32_index(of_node, "linaro,optee-channel-id", idx, &channel_id); } diff --git a/drivers/firmware/arm_scmi/smc.c b/drivers/firmware/arm_scmi/smc.c index 39936e1dd30e..913e45c205fb 100644 --- a/drivers/firmware/arm_scmi/smc.c +++ b/drivers/firmware/arm_scmi/smc.c @@ -81,7 +81,12 @@ static irqreturn_t smc_msg_done_isr(int irq, void *data) static bool smc_chan_available(struct device_node *of_node, int idx) { - struct device_node *np = of_parse_phandle(of_node, "shmem", 0); + struct device_node *np; + + if (!of_node) + return false; + + np = of_parse_phandle(of_node, "shmem", 0); if (!np) return false; diff --git a/drivers/firmware/arm_scmi/virtio.c b/drivers/firmware/arm_scmi/virtio.c index 4892058445ce..4d8d6ad3ab5b 100644 --- a/drivers/firmware/arm_scmi/virtio.c +++ b/drivers/firmware/arm_scmi/virtio.c @@ -389,6 +389,9 @@ static bool virtio_chan_available(struct device_node *of_node, int idx) { struct scmi_vio_channel *channels, *vioch = NULL; + if (!of_node) + return false; + if (WARN_ON_ONCE(!scmi_vdev)) return false; From patchwork Wed Jun 26 08:32:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13712404 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 34652C30653 for ; Wed, 26 Jun 2024 08:38:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=rtIACtbITX8rBk+33i9Vg+kIjEAJfifW6x8hGRN3SGs=; b=v9+rG9w5RvIX7s8uJmeHwPwJEe hcQHN3LTwcbZ8jmt3x6KQXTRFCaDNLmmfJ8RYrRHo/d8N8HsLAAJi+q+EVyWaZV/uyBKVORjDphFo OReXIWZo81tjXUMxcNScO1H3jFDt7LML0viyHgIESGWrQKYSkf+6I5HHtlhjaidHz0CBywVnRqxjQ DnG36Xb2JqYAZH7QxbGF4flcki+Wd4hONIAs4KtyTjWR+1cBJM+BS137auYlYZS8xhdURcqG/CkTb BiypGCHO1skWPxkTXEWB3s/NrjlUDijq8MnG7f2IZ0zwy+SKsTRcOBIgMC8DtrxuGdyB4Mfxsr57A XNKBImPA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sMOAJ-00000005xBZ-2hiF; Wed, 26 Jun 2024 08:38:07 +0000 Received: from mail-vi1eur03on20630.outbound.protection.outlook.com ([2a01:111:f403:260c::630] helo=EUR03-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sMOA8-00000005x7N-0pOH for linux-arm-kernel@lists.infradead.org; Wed, 26 Jun 2024 08:37:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H/HK77+vNiFwJ4npdpMtHArRprBZR6n6BMa4igsMR+MSw4sXr1HHKdW2bZoeZluwTh900fzV6fDQo+nfFLFsB3TVSpnjsA2lYOBLVnIblzO7gJu6HGp7dv7lo9S173R8F6ouURWQI78umHWCu57g2OL+eSZLsgfj7QdeAhXcr+ZQAwlG6FkfiKKQSd9E6pkYPpxqtHF2i0VYzZyqKzA3hfk/BfZpwwXZokqR0+dtViIZn/G89zxFQx99u+oTEoiiB8u2yx3c0mxCRfWFfbYrKNciF81tGTXI9e+PdKFk/DS2RTrpQ/OmtElBIzix3ayXGKNWgKde5a/JGOmyKlHxsQ== 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=rtIACtbITX8rBk+33i9Vg+kIjEAJfifW6x8hGRN3SGs=; b=h/3TTB42Z1bQJapcTVhuMVCIxf88M8XLarWEzv3YcnQhCL9sGtrSWepZy3sewVt6OVG0jL1yICG9M0VCYsnYIcB4M2HtMY1zlwIWF3Z+wFN2XyP/eQ+lYZNRG5ESqyab5Ll5HwV/gx6zWEaWDUEIL6Nx3rDJQbw/PPfh3mqnArWhlSrZo97slkUIL0DcZfJ/MrGCeWz+hgvSs9T/EAXq4xPqGgFmjTSJDgu+hu7x3ILAyQlsX7V/OyO6eMSG4QvuspB4XcwuqxsRlHueMh0jgNxMj+3I0Elmaejv0ZJQPW3Pt5GTome9rcFSrMxRyoXVFamaCBc89ZppeX653AAzqg== 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=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rtIACtbITX8rBk+33i9Vg+kIjEAJfifW6x8hGRN3SGs=; b=Q+c+tj4k46TlVKazNp8cjNa/zS6Mk9nswxRDG7lIsUh0I3gzijB360pzu8n7+05tNdefG/28OPtfcDzowCsImw/4wt+4FGwzc9LgKOAF+T/NsFl9MR+m/8BW0sDNz5np6EWZT6GVqaYCuYeKHipDP32LO9T+mcRxGDPTaBsRLMY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM6PR04MB5941.eurprd04.prod.outlook.com (2603:10a6:20b:9e::16) by VI1PR04MB7165.eurprd04.prod.outlook.com (2603:10a6:800:125::13) 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 08:23:12 +0000 Received: from AM6PR04MB5941.eurprd04.prod.outlook.com ([fe80::9f4e:b695:f5f0:5256]) by AM6PR04MB5941.eurprd04.prod.outlook.com ([fe80::9f4e:b695:f5f0:5256%4]) with mapi id 15.20.7698.025; Wed, 26 Jun 2024 08:23:12 +0000 From: "Peng Fan (OSS)" Date: Wed, 26 Jun 2024 16:32:11 +0800 Subject: [PATCH v2 2/2] firmware: arm_scmi: create scmi_devices that not have of_node Message-Id: <20240626-scmi-driver-v2-2-8f2f85b87760@nxp.com> References: <20240626-scmi-driver-v2-0-8f2f85b87760@nxp.com> In-Reply-To: <20240626-scmi-driver-v2-0-8f2f85b87760@nxp.com> To: Sudeep Holla , Cristian Marussi Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1719390738; l=2433; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=uIz5E+KxA+WSlZpU5jkPzIV4/vUMnMoR0lxYv9gMsRU=; b=khrM68AbMN+IwacMZCcUSmElW6CyPoHXWhw8/N08MHxBf/+fDaWm5nXhQ5xMQS+1bs9WQ68mz eCJ1CqUd9OeDLBgD/VOSI4QX2RuFIUT8AqlthDGlE1x62PQiS/unGF4 X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SGBP274CA0015.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::27) To AM6PR04MB5941.eurprd04.prod.outlook.com (2603:10a6:20b:9e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB5941:EE_|VI1PR04MB7165:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d08e378-51ad-4aa1-3307-08dc95b9381f X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True 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?8D5ABo8NXYJ8dF7zxJdC8EvSHQMmvW0?= =?utf-8?q?+XfZFxK4dUymsMLI//z1ZVj91A/2Ifb+0AZ5wS1xeUAdT+19oVOZpBj4IghkX0kkx?= =?utf-8?q?9c34yEum8ZoI/ArrUOITfMS5Bu4PJG7M0e8KWs+ZUZWrNZYzsIDXF9C2iYxJOsK60?= =?utf-8?q?5oeZck2E0tB0X/UZQHTMkcBHoaYv2lktfPSZYcoHRt8jiLlrlU4HpG4rNhp6voQ3y?= =?utf-8?q?xeY49YmIMXDlsHMXyGJBIMU4Cv6PcJk8meHHuCJ98HAG0Q2S9DbMB8HOHgSP4mCcM?= =?utf-8?q?9szF4BanxuCnN466Fet5ldGQS8cDMtyAQHBxoaIkh5Syt30GIkRIcG8FxxjI41as+?= =?utf-8?q?dwc1NkWySOvLK7eRc24zhD8J3kpmUw9s2K5XlYVLQm5XY6r9rG+Jh6P9Nhe5AGDGn?= =?utf-8?q?s94KWcbmgEkecVCl38VI7Lesy6+7eTLUcFbWGdivfdbdW2OsGm8OLceJmYm0Z3s0I?= =?utf-8?q?tsPmawmRHk3jWxPlfXZpw0t5vmhVN3C+8ojMXeRH2SVPOrJ4hO7zCV1RvDyjH6mvX?= =?utf-8?q?Wp8vpWf0rPok/3Cmg8axsNhjBMa4yPCaI33W+oI+Ag4bH7O9jzgWuB8tgSt69eJeV?= =?utf-8?q?sLqMagGe+ZkaBHLB3PEFzQOYi97yJIcDGCuAJk7VSRrbyyEUfdRlcp1s1r8Fl7El0?= =?utf-8?q?bd3w4UJIjZIfZKqy62Cjf0q+XYEqkl8IIoCwm1wq2HrwbL/XwfcE0uqsQA4qBXDHN?= =?utf-8?q?Ep+eSm2W4K1jNNELzlt1ZPUDNZ7qdnOXb7PlEmUv0CXXrXFN1HKT+4QR/ATOYHiKg?= =?utf-8?q?HLxAx2kKuvcJu9++NZ3rzllPAOPzE4arz2mnxiuJsScvr9MHOyahnPp9YBB9FJfxF?= =?utf-8?q?fiSq4J2VM580Xj2StdTzdhmxFbaelXxhd7ybZphB9Cb4d4WSw9MhaP2tjoS4sCrGj?= =?utf-8?q?+n0d7sJYgQYAWcr/1jT34ftpp5uW+MnWTgUXtmRBLVL9NRPYET1ZjJegnlzywMF24?= =?utf-8?q?BmFx5jOsyV3KBUlvf8tZED8KQfNs8lpA5+v+7EusdnHqDjqIcvqlrNAytL/qV7AYS?= =?utf-8?q?OpfaXvGcoXkPe9vS/ky7AyO0RFtXdgl7B7Krvj5NqqorbZXkfmb4/IXxxgQAcSTAd?= =?utf-8?q?pKrCx6Q58gbPJ+c+B6eYwMoZ0Nd41A9jcmpICdYZZ7pFzxf+ZhsjBZtxG4KKcEP6Z?= =?utf-8?q?eo7kQbXD5n06LxdTRJg6ZkwkSyrS2kwlSX7o/5w+Im7hhefrwjehmmucdKOz9WSaU?= =?utf-8?q?J30lippm8qb7UcnfgVMNkRACe9vqHw7WRu/PFXHcyf9w+SeL6NSGNZzQuEDHcSI0I?= =?utf-8?q?fYSH/3/VIPGcVk3t6Frmn6ZX7MNbeMMVHcDCFPAJI2YcLTCfwBevb5CEiWMC/IHJp?= =?utf-8?q?kNvjO35DBuZ+KVMIjZ1EsXzcrX/ZMF298w=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB5941.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230038)(366014)(52116012)(376012)(1800799022)(38350700012);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?o5FPT0pFzkeHgw4JMzeBYUnts4DX?= =?utf-8?q?7tSlZafQBNIOkCbJCloNxYNsEQfLV4pOGOoXyUeUdXsRkKxi+BUAOvcbDeX+Tm1Gy?= =?utf-8?q?AkYg6t8Aubin0Z5wMApNmsg1qNcRc7hSCAXjeEdx/7Xv1LSOb9E+VhueKdmaozyB4?= =?utf-8?q?Ro8uWZBiA3Ii13vEmrMufHHLHQvGptW2Wm3zT/TQ0zQo15Y15dS9E4hAQqOwZyZVI?= =?utf-8?q?jD4NczylG1ju00UiXQ9ChBYheUkKBx6O3Dj317VutFpYLCS5oucIWcV0xF0rF5USz?= =?utf-8?q?5hSKT4GFdfKi3ELudfIGHvJHLqqCcebYQQ1n5gGSy5KfelNOXaigSuqJWZklcqRU7?= =?utf-8?q?L4Q5r26mOxYoUbL5Gl7wQaKiMLIhRENGHykvpa25698BwcPblrCRi0pAOIZqKbk/f?= =?utf-8?q?r9Oo3F8itIDDUACuSzhEtuWpSuVZTsQ690f4YpX1Sbb0UlGGYZpeAu7Qi5AeAisyt?= =?utf-8?q?sjoOfknDeslvkav4KNRGu0Up0RmDnBNU6vA+dxAeutei8jET6CrtewMUFQE6vBup0?= =?utf-8?q?ZdZ0Gmclhwt0jJeaJ+rUxCdBWtSRKjCxIvtbz876HA33N/lZgwLL+K5jAniABZu6f?= =?utf-8?q?OZC5oPAJ2ngd2ACMPEjWsN0IgmkFEyfWsoJ6o0ntbh0G+ztviOkxz/LKZl3eyjK5F?= =?utf-8?q?PsbHiYjPzZpc1pyN+8Npb6tOGNw/uP3tlVqPm7LuTqYB6Aow9oclLo+513mqpIaXa?= =?utf-8?q?0O/FQT8yiQMOVwKJt05b9Xqoy2ahEAQJ+PwljKoL8naAfRtPP6xlQk64sccSBoIqv?= =?utf-8?q?xMn1E/yQO2ov8NRjNWtGQkerR7gu85hhKKwFfeRVst80+HAXkg4qN69VE67sgkrMH?= =?utf-8?q?AVpvfqHhQxE54pGHnHRhgV1MiYByJGAz/YWwKszut3TtfULGWx+To0RPP0ZXqJe7A?= =?utf-8?q?Fcor+E1MHklbdv7jr+y8l1/a9OFfR93msBO5z4Yrk7eVKtth7PKdmN5R7DWZFvE9O?= =?utf-8?q?xRZ7UZazjmG6RI1lVsfxm1PWDHjpt+YZpxD5zuzXBN+XUjra7ZYHXiNbvbGwLkmyx?= =?utf-8?q?naxdbWZcUhZTlXjWr4fXBuZfdM/3IX9ZHeoPKi5Hh8R8HpvM5TY/+g3a485PVmWms?= =?utf-8?q?ZHDU0nc3I0XdRzlowYlSjF8m6b26awkE+METuG/fYutjUHGvR2MJBZfihMS7c+6+R?= =?utf-8?q?TEd04DT03Cq9cRCaAgpHugdjgSbVM+8uLVy6f4ON6i51FCYsawEqvWl3VJB/tkN3Y?= =?utf-8?q?vgjDAnnow3VieaxcTUMEilVURDGY9N39A/j8kVCDOPYsWeDNHDpkr035RXsd2su11?= =?utf-8?q?WNN9fjY+nIgRyALsW89JkES7smPgMTlvKNu9a6UKUf3P3OfLyHChMNUoJl+9Ft+7e?= =?utf-8?q?2Wb4mBXN7cjLfOsWO5dY64bkuYjdg/fcOGzCMrX/PLbf9vce7vYzTASOx02ud5LFb?= =?utf-8?q?/e7rSkBE5SCaBsVVOzIDgndG0NfzZN8/MHmvaumz7LnBa1h2yjsIPeCk+eJVCrMid?= =?utf-8?q?aj5Lm2/VRNqf2h/zbPvfc5ukrvsizVDFbpP8fiEFJeKqg7DB6gKhlG4k6ueX+9QRW?= =?utf-8?q?VakT0RxKOoVe?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d08e378-51ad-4aa1-3307-08dc95b9381f X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB5941.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2024 08:23:12.3784 (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: UoiO8tMRdWkinBb8OyTUh6aU6xJQ+aCWyMwKdNg48aVtFMENJzr0V0ND4cZu/dCvF0DWPgdMMJJStgELOiS57Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7165 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240626_013756_250487_173F2FC8 X-CRM114-Status: GOOD ( 15.70 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Peng Fan The scmi protocol device tree node is expected to have consumers or per node properties expect `reg`. For System power management protocol, if no per node channel information, no need to add it in device tree, and it will also trigger dtbs_check error "scmi: 'protocol@12' does not match any of the regexes: 'pinctrl-[0-9]+'". To enable system power protocol, need to explictily create the scmi device and bind with protocol driver. Signed-off-by: Peng Fan --- drivers/firmware/arm_scmi/driver.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c index 6b6957f4743f..44a6e64eb78e 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -2952,7 +2952,7 @@ static int scmi_debugfs_raw_mode_setup(struct scmi_info *info) static int scmi_probe(struct platform_device *pdev) { - int ret; + int i, ret; char *err_str = "probe failure\n"; struct scmi_handle *handle; const struct scmi_desc *desc; @@ -2960,6 +2960,7 @@ static int scmi_probe(struct platform_device *pdev) bool coex = IS_ENABLED(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT_COEX); struct device *dev = &pdev->dev; struct device_node *child, *np = dev->of_node; + uint32_t protocols[] = { SCMI_PROTOCOL_SYSTEM, SCMI_PROTOCOL_POWERCAP }; desc = of_device_get_match_data(dev); if (!desc) @@ -3114,6 +3115,36 @@ static int scmi_probe(struct platform_device *pdev) scmi_create_protocol_devices(child, info, prot_id, NULL); } + /* Create devices that not have a device node */ + for (i = 0; i < ARRAY_SIZE(protocols); i++) { + void *p; + u32 prot_id = protocols[i]; + + p = idr_find(&info->active_protocols, prot_id); + if (p) + continue; + + if (!scmi_is_protocol_implemented(handle, prot_id)) { + dev_info(dev, "SCMI protocol 0x%x not implemented\n", + protocols[i]); + continue; + } + + ret = scmi_txrx_setup(info, NULL, prot_id); + if (ret) { + dev_err(dev, "SCMI protocol 0x%x txrx setup fail(%d)\n", + prot_id, ret); + continue; + } + + ret = idr_alloc(&info->active_protocols, NULL, + prot_id, prot_id + 1, GFP_KERNEL); + if (ret != prot_id) + continue; + + scmi_create_protocol_devices(NULL, info, prot_id, NULL); + } + return 0; notification_exit: