From patchwork Thu Sep 26 00:00:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 830634 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011031.outbound.protection.outlook.com [40.107.74.31]) (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 50D7B13FF5; Thu, 26 Sep 2024 00:00:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308824; cv=fail; b=AevkToQ2F/wM6T3qyc5PYFqiRiXrYuUMVS5WOumne0dg4jfM0t17iM/s08lJaPFhAqEY5U7hU2XpurXqzbKzXHIycgK+DhhPiR/OEegXT7lIfzkM2rKJoEprs60slTYpgj7MFbT+O/t46kLq3Y/Y/kAUH9ezn3bHtAyIXT+GFsA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308824; c=relaxed/simple; bh=o6FgF352voAJAZV9EjbnD96dIsWfaYojg4MKDEXxsL4=; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type: Date:MIME-Version; b=SAjKgXHGOonqXjMI0NoAo/ltQAi6OfTxjmmKcrZtxtFcLNNz5Qjk1Rv/a2Yt1LRO26cE2v8+8LXGEvvc0tJZDaJs+O7ADGPpN/HwvWd30I7M5L5pN2Kb7dLGwO5b7tjU0wN5lBQmc7t4XByEH7ChSRh0e6rKgVp7apUDRjL2M3g= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=YmlCQTvb; arc=fail smtp.client-ip=40.107.74.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="YmlCQTvb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=brbwy7RPs4knDGlYOlg9yWUXhSfPncFu7gLFvoiiUAK2fY7gDNKkykL6WoYqYoWA/juTOfPC4PROzoVrSh5Ca++2USSWbt+3MyLFSpF0woP0v1k8sPnXCRGg1zUdzjt24do3+CzVwxN3kBQbhSaUE62GSp5WmzncuY/oYQsuBjrDAEaDYAUkE+0HhmaDypmwlJ0po4mSDb6TccsvMiQCIKA9/5l1hsR2MIe7u9hZo5RNznTrTUepnwMi7Vew4Q6J2ptFQuTubTD7vT1u3+o7nGQ8CsakIk+1JN0F1F+yvUXQ022+gP2tvLUB/Yzs1oMKP83IrbzST0ioMajJQbhvVQ== 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=Of7vL0yjGsQed1yS6pcLnFbV59IKDDtbehs+KXCSEzg=; b=BRMPPEYIzS73TNrdaJna2owWgghX0W/jS5WDY7lQeB6U1p9FGjJ6bbD6SEAgSW+pRfN+KBNtIknDuBx5SGb5QuYNcPZ4Lklsu1zIqiKuBeKVojjp4bHIQBtSEMegXzEVw7aW1DHbKnArPWSHDkA8IkeLxCgiJRysQqgr19fY0AAWSomoNPBTkSG6Ju8Zc6pzF5OtfM64TeyTJ69xWcrBXm9TjRg6VucEDgHXlrXe426Cgt3hPmEPem2dEdwNBSKU8uVRj120Zy2mdDXSJTzHm9VxG228CfIkrb49SH0J9qMJOTYrkvBwdFVcyItvHQ1aiWiEpHLPqBPO03wvgIXVtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Of7vL0yjGsQed1yS6pcLnFbV59IKDDtbehs+KXCSEzg=; b=YmlCQTvbbfUctpW3y8UK7/zh5+9f/sX4dd96QQq/4EJvafj2Dj3VkzOjwvB6K2jQZPJwevRBMQBH//Emxc/IhmvH2/LBK32GKwsXAKoVMnbJC0AxGl6Cg6ArPa9otuCesUc88hERqqWORryTb1WIMT/NmUPY8319Or9k39iTlTM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TYWPR01MB7353.jpnprd01.prod.outlook.com (2603:1096:400:c6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.20; Thu, 26 Sep 2024 00:00:19 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.8005.017; Thu, 26 Sep 2024 00:00:18 +0000 Message-ID: <874j639td9.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH v6 2/9] of: property: add of_graph_get_next_port_endpoint() User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Daniel Vetter , David Airlie , Helge Deller , Jaroslav Kysela , Laurent Pinchart , Liam Girdwood , Maarten Lankhorst , Mark Brown , Mauro Carvalho Chehab , Maxime Ripard , Michal Simek , Rob Herring , Saravana Kannan , Takashi Iwai , Thomas Zimmermann , Tomi Valkeinen , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-fbdev@vger.kernel.org, linux-media@vger.kernel.org, linux-omap@vger.kernel.org, linux-sound@vger.kernel.org, Sakari Ailus In-Reply-To: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> References: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> Date: Thu, 26 Sep 2024 00:00:18 +0000 X-ClientProxiedBy: TYCP286CA0021.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:263::11) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TYWPR01MB7353:EE_ X-MS-Office365-Filtering-Correlation-Id: f66c20df-05d8-4bfc-05af-08dcddbe353b X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|7416014|52116014|376014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: SfmFNcJ8yaKA1WdwfE/OI54aMUzr7UvZo+23H9E7LMAPmPZevblci6Tro4evQ3Ot2pqU1Q6nepPjCSXYhFO0oj0ieceDBibSEnpRS7TiTjqs9WEbMsDsJOvwhl0oCK68iX3nVpfhFwEB4RKfcyilmTHlilQRs5f5nNmw5as5iZHMaPsKvJiDsMMcBLy7JhQ0AwxYpNmtrrpqpOiEYkvDfNhhT26o2o1LQlXl525HryeQT0UuVx6WrEmu5UjgcJtrpdkziHznlA67mUeL2mvVP++FIYRDP4svqJDeZDyc4tr0gcu3V60QEVc0odQLzChIxwgNaXtWxX8OXk7m/fNw5QOFARMfkrVhEOkBfKtK0OIkJEtavq2t6qMnedh6AXqc1Eo9wivKpuz4nmGkxE1r1SjlMxXwVrtt7Ut7bE72fNjKWBmyhncSt6Xi18vsgS6UwaWzegSIlvkn+3b1TaOYfRIORZk6mx/aeNA/g2hAKnYrO3bRlVtIHTvAZUdBj++4QBzDPybZwpzyIMAQKQgzEhOBc5V5Q6rbTDNq0jNilL7WGP9XGpK2a8coDofdZ8g7Iln6ThxdVi7hOJwfCLxZ+7phYxaJ7qVU/6jw0kRE8K2Uqp3hKZpRZUBBl63+0yGcddDRwVPezCBEZ3KIB/YNsubsChf/J9/vVQRFU+E45Olu6GNIC5ZmiD6KyylMgqnuGwORhOIDz0VE6y1tcbEDwY2SrgP1Pet4H8DH5yYaMyhdCv8MbiytIb+gA6s6Tp9wVHU/AmT2GFiMF8UORcvKcLt0IBiKx8OU37DEBldfKTv94hdKaAY8NKkch88LRYkF4On2ziXUNntqCfhxYCCimh8MCXgTNllytdUUggd2gcepRingqGpBlvXZujkTTLZXeE/zYEkNMKfj/IO9e84t++UYy0wffDBVm+mb0Aoy2bpRdJT4fDl7Bs1THm0Zs4g+VkDOMsD5iXHOMX5Z5hnWP7PupmZAHSSkLQooOC8JnQ3rUyBX6mXcsicPduD3sZLpgF+FJEXas1OFF1LpKTRJM31hWpXQbVOZe9x/VOFz5b9K1i85fZ1fvufMLSCANCgc2CeCD89ifYeFvhe3Ku3t7vZuZQX96o72H4O2i/xVBgn3yEel7Q9+TxPO5pTmaNb8ZVkFiaDdhNx3gszK4GshPmnqkLNTTeLr6xPYt4F/LqKIRE3btbI0g7lTT2lJHEK+GqAPKBHsMJunYHZ0mEy0w6eekV7E+ECHhRsTdkY3hB0fCx+h4epQnY98YZ66JkNIdQiCI9Rasw8tE/AFX7yFs6hsomE932KssMFPL94fdGV1tZg2p/Kv8fi/Z6H8ld1pG8Lifsl0sp1hYyAk6EF1yhndmlUwTN/vNZWIOWHU7OckUtvvNbipeLKaCXt4vcu53BG3vd1fSc99qYUo15L9VEr//vayhvRkAFKOTGzHQi8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYCPR01MB10914.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(7416014)(52116014)(376014)(366016)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E7ArFshsGcM47hD8Xc3tm4VSU8Jk+r2v5AaU/dIWgymrZxlQH4lhd1TqFFMeI7WPPHcT8iXrHifrUj9iuqc67akh+r+NQwRpkv7T4KUgwbMzQfwxU2op5GUJ0AGc/9TiNHbJa8mxzKKptu6Z4RxK4F8/LpDo7D9iRN2DaWelokGrIsEgmQkipHEefZn3lUACrGUtEmkslwSdcM+0TGNsNXVfGWG0VxaQMeB1ptbuNWyprtNytH3sVQngC/mqmjvXWgz4/0576ivXv/u1eXMSII1Rd7sVXXIDbhQA0gn6SrHb5Kl+CvYQnDyIhwaenqdGTN//24YQUo5mf0HEmgsUgtNsDuJ5ZIEvsc4A1DZDJTIl9yof78Aj3ZfDQUkDsw6f4/C6S87K1phUQKkxz+V7qUNBN4tRj4+1LTjlKAJvYY9TQgJIv6HKgV0aPaum+ULXZ/Jdfhry4sF/gMbfDaymL0pWQkK/UR/5dJPr8H8F5SBsSngNnpeWIy9m20Ytc9+nagy/EwUid2Hhsqwgnz4apFZ4ffqrT96mCao+G0Qp5AHfsoUD/TYtE9L3Uq1WdKrDWw1vhzMUwNFFtDnofTjfDRcPqmAb4m52zHkJepeFd5QR08WmcepVviYTwlCvc6hyogpu/5YoNYFgTZqalVGy8IxiGlsPE1YnqZDGn1nvOOWccS1EvXmkemKTH4Poy4ZWmW1pAlxOsCg+sEtSxaIsg2AaMT/5478Zil22x+qAieIf1qKuMm4wXsjYOjClLqHZth/fR7MwiCA9oGZxAokaHZYXxUsSBWqCTYoy9uPKKqJpLfM59otDdVNCeqPLFFHdN9Qh6lGe/TdDWrdhRVL0y0Q0iIFneagMykVbYls+zqegcdfU37c6Jpf5DH5HxW1CfR8IFyPKucB3fcDiakK9JQmw6fBPQI1O85Ltt+1p8tXufNcyAbDKsbPiXb9w+2Et4/QZE4jjPHBgmOvP6Xm/51UJLurHbf214r61QXVZbNgedpXXH7v/Q38t7T2sLuvm5QicJ0pu7ViWiYx4ePopzmSSPQJAb5c7jUWZF9POYFqo3LYa0oBIj51hZ6or06DKBTnQ3Wdtn1VQf6mzPf9m8Y3ektVLikqK74KSXhHPKiw6qyRcmsDQwaecuCqHChTqrgTDmWgwd8SUiAPP/9EZ4SRKEVNIaTXgRBMpT79LYvCxkM4waKlzEfAgiYGGgij3Z+mXzmI31p83BOPp8xZotzuPrbIQgBcjlmTLcTJEdbzuRHzsE1edjWfeSZBJ0iPQ62gVYROBPhdVcdKNOkMn5Kujkh1MRDPlwJRTft9LM468PwneGvjyqGGRjWhdpCb7+mkD5AiTBDYSg4Mo1l0WWN21i/YdOVDg5oIar6quJ1cpRXtdN1Vo7f7IdXdBE17wgBuAy1Mgkraujvk0sYgEGgVATQp1EM1ypgMBgMk7VSdDczDdYaesEI7w+dUCW2nLhGeTlS5aemcrGhmHaaW41jeiy0PGN7ls/kkKJco7ZRD6DOCwQadG/7wPFas37RBdpwq/sIWIWDgU0pS319jIBrFRJOAJ1VOkRVxR++beKC0NLz9zVPN1TeaQY6Tsd57uKfQky5mpvdT4WfBtEDDck54RaAhU1tIjDbJSKhPxATs= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: f66c20df-05d8-4bfc-05af-08dcddbe353b X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 00:00:18.8129 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TjOeZnGHTtQdPjrfvSaJubeOKUrHJyK21hJd4uxUqleS/O368k28DumEbjykZcp/snsVAPRQ/tPd/2TShM/nXOWOYG3PhhNvJMjSTh02nZkAXhBaHlQ4OFx3jX6WBiA+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB7353 We already have of_graph_get_next_endpoint(), but it is not intuitive to use in some case. (X) node { (Y) ports { (P0) port@0 { endpoint { remote-endpoint = ...; };}; (P10) port@1 { endpoint { remote-endpoint = ...; }; (P11) endpoint { remote-endpoint = ...; };}; (P2) port@2 { endpoint { remote-endpoint = ...; };}; }; }; For example, if I want to handle port@1's 2 endpoints (= P10, P11), I want to use like below P10 = of_graph_get_next_endpoint(port1, NULL); P11 = of_graph_get_next_endpoint(port1, P10); But 1st one will be error, because of_graph_get_next_endpoint() requested 1st parameter is "node" (X) or "ports" (Y), not but "port". Below works well, but it will get P0 P0 = of_graph_get_next_endpoint(node, NULL); P0 = of_graph_get_next_endpoint(ports, NULL); In other words, we can't handle P10/P11 directly via of_graph_get_next_endpoint(). There is another non intuitive behavior on of_graph_get_next_endpoint(). In case of if I could get P10 pointer for some way, and if I want to handle port@1 things by loop, I would like use it like below /* * "ep" is now P10, and handle port1 things here, * but we don't know how many endpoints port1 have. * * Because "ep" is non NULL now, we can use port1 * as of_graph_get_next_endpoint(port1, xxx) */ do { /* do something for port1 specific things here */ } while (ep = of_graph_get_next_endpoint(port1, ep)) But it also not worked as I expected. I expect it will be P10 -> P11 -> NULL, but it will be P10 -> P11 -> P2, because of_graph_get_next_endpoint() will fetch "endpoint" beyond the "port". It is not useful for generic driver. To handle endpoint more intuitive, create of_graph_get_next_port_endpoint() of_graph_get_next_port_endpoint(port1, NULL); // P10 of_graph_get_next_port_endpoint(port1, P10); // P11 of_graph_get_next_port_endpoint(port1, P11); // NULL Signed-off-by: Kuninori Morimoto --- drivers/of/property.c | 27 +++++++++++++++++++++++++++ include/linux/of_graph.h | 21 +++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/drivers/of/property.c b/drivers/of/property.c index f6cd614637181..9814414a781f2 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -721,6 +721,33 @@ struct device_node *of_graph_get_next_port(struct device_node *parent, } EXPORT_SYMBOL(of_graph_get_next_port); +/** + * of_graph_get_next_port_endpoint() - get next endpoint node in port. + * If it reached to end of the port, it will return NULL. + * @port: pointer to the target port node + * @prev: previous endpoint node, or NULL to get first + * + * Return: An 'endpoint' node pointer with refcount incremented. Refcount + * of the passed @prev node is decremented. + */ +struct device_node *of_graph_get_next_port_endpoint(const struct device_node *port, + struct device_node *prev) +{ + while (1) { + prev = of_get_next_child(port, prev); + if (!prev) + break; + if (WARN(!of_node_name_eq(prev, "endpoint"), + "non endpoint node is used (%pOF)", prev)) + continue; + + break; + } + + return prev; +} +EXPORT_SYMBOL(of_graph_get_next_port_endpoint); + /** * of_graph_get_next_endpoint() - get next endpoint node * @parent: pointer to the parent device node diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h index 6fbd2c8696fd9..4a91de147604b 100644 --- a/include/linux/of_graph.h +++ b/include/linux/of_graph.h @@ -62,6 +62,18 @@ struct of_endpoint { for (struct device_node *child __free(device_node) = of_graph_get_next_port(parent, NULL);\ child != NULL; child = of_graph_get_next_port(parent, child)) +/** + * for_each_of_graph_port_endpoint - iterate over every endpoint in a port node + * @parent: parent port node + * @child: loop variable pointing to the current endpoint node + * + * When breaking out of the loop, and continue to use the @child, you need to + * use return_ptr(@child) or no_free_ptr(@child) not to call __free() for it. + */ +#define for_each_of_graph_port_endpoint(parent, child) \ + for (struct device_node *child __free(device_node) = of_graph_get_next_port_endpoint(parent, NULL);\ + child != NULL; child = of_graph_get_next_port_endpoint(parent, child)) + #ifdef CONFIG_OF bool of_graph_is_present(const struct device_node *node); int of_graph_parse_endpoint(const struct device_node *node, @@ -76,6 +88,8 @@ struct device_node *of_graph_get_next_ports(struct device_node *parent, struct device_node *ports); struct device_node *of_graph_get_next_port(struct device_node *parent, struct device_node *port); +struct device_node *of_graph_get_next_port_endpoint(const struct device_node *port, + struct device_node *prev); struct device_node *of_graph_get_endpoint_by_regs( const struct device_node *parent, int port_reg, int reg); struct device_node *of_graph_get_remote_endpoint( @@ -136,6 +150,13 @@ static inline struct device_node *of_graph_get_next_port( return NULL; } +static inline struct device_node *of_graph_get_next_port_endpoint( + const struct device_node *parent, + struct device_node *previous) +{ + return NULL; +} + static inline struct device_node *of_graph_get_endpoint_by_regs( const struct device_node *parent, int port_reg, int reg) { From patchwork Thu Sep 26 00:00:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 830633 Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010025.outbound.protection.outlook.com [52.101.229.25]) (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 B331526281; Thu, 26 Sep 2024 00:00:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308835; cv=fail; b=FGef4i0MKvoeyeFhcBHHlHAoP61JuSc+819u9guA5ilI2AcPcOwvTSOK/I1b60jeZIKv9eh9fntO0NIA2KKrANBrs8LR8db8w26mSKtX4ZEl7gwEpjrNA5ugzDARDc9EOTPPB1nSC18i2ySSSKazJuWsnZ4Cj24xV7Ip7A9hqNY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308835; c=relaxed/simple; bh=bwQlr6xI0FIZE8QWdAzWP/sRIgrw0iK5iiuFibxw5JM=; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type: Date:MIME-Version; b=nRNKODSYVcLafFeyxh5lWKB6nP46fCEQEicrMRQ0cSS/hhIzSCBopXFFyUCrhZKNozPyCZGay/WiBUq5cGP2a/UXXtzjOFbnU6pAsM/WxXKsEhgzbHOhssVho61l3KojWk/oWgMFpyIrmZ8S6KrXzv8svRUCxbc8FXBcDahHS6w= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=Ri2NY8r2; arc=fail smtp.client-ip=52.101.229.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="Ri2NY8r2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kBE0MfhDbQGM6K9rrZL2dUuUzuaa7tIN0A1evLcnSwFKfwNQSGK5vMq5kXlXsyoeEPZte0NS8tqpClJas81DwDcdwkZOKN5EinfBX2d3MLBD9u9FgjvuyEp/ZoONaYSUXTCwTubdq/2Cz8LMMZQcnssSc29jZ6+PL9zEC2LEKvz09JJ0NlJVT+bUgjmQseEfwAqNogoVuzV2JeVUYbjjqgJzdm4j2Un74CCJEWHAxnnQbLXcOuHCcVRfnz1tN/EaITuQ19mommHsoauujK1lUwWvh0pksldMxgbDCeLsHsbvLHlIPTn6mor+3U48XVVzZveDWRxpH3Z6GGMJMU9QQA== 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=koVj8ffD+8N6zaVVjRYsPwOdg2G8Pn8Jmxpzw7JecKU=; b=zFeUY5lfetFm6E86a4cmcL6QncVWRLr5efRmDKmNbQWP4tCtFRINqpKCGG8/6LF9ZCrhk0s1RlGpVduv/OE2j7SnJeiX0VFVDbEyoPPZClqdC1w11rmGSVik15VhroZuzCdGTUkU3qx0SX7H5t8D20bb6hGymLWTgXfFlf5BXLOkBDoFCCDAS8ueHGsPx5xa6ofPAzV/SFx7/MmXQgwTtBKtErXUlVCc5MYkaMvaWbMXc2viCJLGW1dHpW1QfRsabqxvcS2fcwGReCBJkA0OFM7prsNpUFUrEERs7Ir+Trc0BqjpNm6Yy4EW5QfzYaHpiR52kILlHjemwuIgbY62Aw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=koVj8ffD+8N6zaVVjRYsPwOdg2G8Pn8Jmxpzw7JecKU=; b=Ri2NY8r2UqtShR3PWwhF/2TpUgA/qOyDHvJzt/wEpJ8POhHaX62aXtI87E5JU1N2dCslVeYUZf7UFuQ2u41AdWXM+Y1k6tJ8lgFD0xy3Tyg16rTe9IJaVJIxqCnkpgaN+nv/mQeqDr6USJ4g8mZJB43O1TxYB6mn6M6eQmZyclo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TYWPR01MB7353.jpnprd01.prod.outlook.com (2603:1096:400:c6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.20; Thu, 26 Sep 2024 00:00:31 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.8005.017; Thu, 26 Sep 2024 00:00:31 +0000 Message-ID: <871q179tcx.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH v6 4/9] ASoC: rcar_snd: use new of_graph functions User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Daniel Vetter , David Airlie , Helge Deller , Jaroslav Kysela , Laurent Pinchart , Liam Girdwood , Maarten Lankhorst , Mark Brown , Mauro Carvalho Chehab , Maxime Ripard , Michal Simek , Rob Herring , Saravana Kannan , Takashi Iwai , Thomas Zimmermann , Tomi Valkeinen , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-fbdev@vger.kernel.org, linux-media@vger.kernel.org, linux-omap@vger.kernel.org, linux-sound@vger.kernel.org, Sakari Ailus In-Reply-To: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> References: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> Date: Thu, 26 Sep 2024 00:00:30 +0000 X-ClientProxiedBy: TYCP301CA0089.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:7b::11) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TYWPR01MB7353:EE_ X-MS-Office365-Filtering-Correlation-Id: d9b3d3d0-0c40-46fe-9e32-08dcddbe3c9b X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|7416014|52116014|376014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: ZSJ3lUff9gN7uceio5zBIjRtqFdJUw6RKv7qkv7Wi7HoKEN26O0khECLAZcAGDSA/rUFCGwkjkUGjU1W+d1hQEJhu0sHNiYSW1a+3UNUfPgiXuIbQrF/jrvETXs031FkIqSJ9G5ydmJNAk5BZQheVsaaFJXps6z2CC+xnTi9CympRjZQQa1DhK4ur0Ptcz/rQNXenyXZhVFwyruZIeESAYOqvSzuaJ/rVMkJ6GGjuoK+hxVsYRb3HeT2mZGNSo+a5/vxGF2YrsxkjjgItVvka3PHGZuunNfYeHjo5oWRc5zWJjqF13FrAjGq2XrXOLJBTawxzaAY4ECySylHs+lOSM30oVrkDl+e3gzYcBI3Nm9ECewZr+TUnP7qbzTJAEEtFq+iiq6qoBP8T33qe/pT9qz0zPx8guiU0odTwHBlhNBmL+++bdM5WT4uYaRqnuAFJZsiBGNrSbGBjeelRpjcxakSyEnobF1NQDt7Ng0syQVfVJH5uqmFm0sRZ2DN5cDxY+DR64cwf73cGsiLG/XZ5lCCat+ADw7i+zy40tv4y7u6qIrQjHNByZPEbsFvnzXkkB3xLVjzcbR7AJePYBeM3RjT1bmLvTieua6Lks+C7xyOZFPOW5PwwN9A2jmfgV9Dak7cZhSIUrIoqrGd5qr07D5iJipO3dVfTV45+6VPy6Uy6dv2JOLsWB/PmBQ1T17E2DXy9K0h9lNJz/k8GLRzkzZyF3BJ92jrdxAIL7nJyGq3oEYYEzwz4zukOJlQR4KkWvscKwORv/DmWNIUyCfW4XiDHq1p5KuZpYpLND77Pq6TAt7f4JhZKCvHrB2EZhgC+6kUSjWl3M2xX4Ctey+0C7OL61ndtQOE+Os17RnRQIv/WohecUWrEcQXAMBj5ar7iUuz21wrZqcb+ZQ04/yvHOZo7KtZRSZ96PHWPvmra6RZNb5bwWWn7RYHeyckqkDCbuhwIKTVGQ3y8DJVx9oa//HMVrpKbkKasFE4AKkVe+g7cLHc+Nt6vFoFwnfafI2RoIVfDLMpWSeWyVqWjaEqU5dWoz39CPfkWfnls9p2OHmbRhyc4n43eTbjkJPyqlI448uDToUxvkMGMpbVIx5sGc6OxzgK8TxfYsNfJG63JJGI7oYBR9VaVyPvGGxydJ6v6g+TdQDS0BmiqvGpZcTOpgal/KcWXOdymrVC8rDvfX4dZ+3e8izq5MlWq9yUV5v9051HyYbpSHnDHlF6p58703A0FXGxv9jqOLNZmMd33J6Ia1zjkTQTzI9j9VEF96VQsKgo70E3DAFiyMJHcBDrXHAnClnbImCtJ/IZuLjQbkNfQfTpQflf9+i3h3cwCZOa8ZwfeKFKxSISyc+TtpMWoJEpTTnhKEO13+fCbNoKgtxgoMIXjueSM6xKXTZ3Az7bkyaaKg/zmSaWLw9LcUQu8E/vj82WIMe0J9k33lOPmSs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYCPR01MB10914.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(7416014)(52116014)(376014)(366016)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +6+1ulBT/dI8Lm/6ZAkxYSRvfk74xQWPdmFVh8Peoblz7APHmtsRUXsgISrCG7vZ++yTFWbfU7VJRDqsyOgSBas8Nn0gd8QHWeDjZePkamko3jzD/MHFmKC189KmpeX1JKXz21ZR71XkdDXM02L/7y0Uuv3XxYhRy/OcScNok8ZHOwtqtAX3zKkv1I3BI17cKfkpmUNfv7O1CgItZ1kMaCN7/+WnqfzGBg6Y+qU26jX/je2a9jGED4zcc/n3oTvqJEff9/qKmH+88xNk8FSwm0pslilZVG8q3N0kvW2W71f2BNLJ6pl6lFWLHbybo3LqpaDZl95P4pNyojugJYJKchl7BWeg19VW7LXSHXfjcz/SB0esMyPkF2VRQ86xeAnchDN9s4hf1W0kQ6xTkN1F+8TbCqA3DSSVOAoZshOPlQM9w/XIwGb6GEBvfKs+9mn9UgLxY4Z6Ffr8QzPGUZLXlME8+yLQfT2w8LJ0gciZkFF6eTMTQ7iFSOjoCU/SFO2SwC/1Poz1v9dTg/TF2SEEdLeZBHhWeA9HFKLosXO+wtFAKt8HngjO75UGkBvQ1IcYPrHBlu3JvbIfC/tF51XAuAFfgUwqyRpLwLMygRi3Nnu0T6iP02P5e6jZ4FGq+9KIytS0FAyYGC2YLG7Zc8+sbT0giXRkHke3mbVRd8YvvNZPbeHeAW0rlHs0HwbDNoep/7idq/kPNI1CBszVtLSL792B47iTWC+SDIgfYrUKyHXrtyIq8zLNv9f4Rh9cVYjARM4DKKVIy795J4J+70J7HQc1epHvZTW3slDFsWDxWKe50OlR34CWhIpcx8iNoRjl5HaMnzZQISPLvvaP7o0CUzRQI4N+E6CNnddL4IaE89Nh/v3Z716AzjrLniYFCEMspaI4YiNhIq1iPEXcorUT/6m6gkCF7izzp1PnR2WwjhDrtrLVhEvd5TLnYYSx9WglGttVz+TncbH/4fDTSYnTr3oAUt+16XhxxprXImA9zAWEIk7gxrYUR4oMcqdOdgVAMUfZ1ALGVjt3pPV8loGY/2oBX3E4DdDt+/iEWRKgYgKLHirUxCguhpPyII6e/MXzJhyI7zgsf3sfYzhHzj5GTbnyWeGR3pJR18+g1eMqca141HyvnObu2XpD7g1/Xopokuh8OH+08swecAj1hDN09LZEtO/rClqEHR34Uv72FOy8tBRVFk3Oo+RtpcHksgXkelrR2Vyqp1epf71AoEyw5r0+TZSuW5LG23AKCM09+TXEFrn28coeaAC9PsBW7yZwsX9f7wjAUba4diKnifOa/k5lzohKRlbWIh3OwpmikHfnj/0cCnFs6TkTYX8llr3/EBy9uKzEhTUp0wxqXNEVedqAEhc8qhvQZGcXzTletkKCbaTpbBLYeALPHzM1dUKmvfl9PRv8Ay89OmBvOv9ny+sY9uJxb2y5Nwdu9nfRG8iVAA/wSNXcEIHQ9jWTFXpRfTvgU1kMXspEHRpU4rLRkQboHkhXCSe3KPiXYtM4mNnwWqYWCx6HerLEOiE5e/GKYfg98N1g+yZ1YLzHtWrIcfBxUUTaEFCT+pXINpM0FK2mufB+B/GO7nmuGyBRIKwfesbAG5AMC+QOH9lHdsSd0DKQBEU40gjtjRDE/J/RMwc= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9b3d3d0-0c40-46fe-9e32-08dcddbe3c9b X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 00:00:31.2250 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ig8VZ/yeawlEm9DAmhkisyHvTyf85/O+JLb2hKdUnHI7Mm8PI2JWZ5uBl9ZMtQwgfcLEF9D2xsbA0QAT21UPX/QzUGkdW+1IaiqstcBbA/ONnx7xlvoozbUSb3MuUuMC X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB7353 Now we can use new port related functions for port parsing. Use it. Signed-off-by: Kuninori Morimoto Acked-by: Mark Brown --- sound/soc/sh/rcar/core.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 9784718a2b6f5..a263e50cccd4d 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1237,7 +1237,7 @@ static int rsnd_dai_of_node(struct rsnd_priv *priv, int *is_graph) { struct device *dev = rsnd_priv_to_dev(priv); struct device_node *np = dev->of_node; - struct device_node *ports, *node; + struct device_node *node; int nr = 0; int i = 0; @@ -1277,16 +1277,12 @@ static int rsnd_dai_of_node(struct rsnd_priv *priv, int *is_graph) /* * Audio-Graph-Card */ - for_each_child_of_node(np, ports) { - if (!of_node_name_eq(ports, "ports") && - !of_node_name_eq(ports, "port")) - continue; - priv->component_dais[i] = of_graph_get_endpoint_count(ports); + for_each_of_graph_ports(np, ports) { + priv->component_dais[i] = of_graph_get_port_count(ports); nr += priv->component_dais[i]; i++; if (i >= RSND_MAX_COMPONENT) { dev_info(dev, "reach to max component\n"); - of_node_put(ports); break; } } @@ -1486,14 +1482,10 @@ static int rsnd_dai_probe(struct rsnd_priv *priv) */ dai_i = 0; if (is_graph) { - struct device_node *ports; - struct device_node *dai_np; + for_each_of_graph_ports(np, ports) { + for_each_of_graph_port(ports, port) { + struct device_node *dai_np = of_graph_get_next_port_endpoint(port, NULL); - for_each_child_of_node(np, ports) { - if (!of_node_name_eq(ports, "ports") && - !of_node_name_eq(ports, "port")) - continue; - for_each_endpoint_of_node(ports, dai_np) { __rsnd_dai_probe(priv, dai_np, dai_np, 0, dai_i); if (!rsnd_is_gen1(priv) && !rsnd_is_gen2(priv)) { rdai = rsnd_rdai_get(priv, dai_i); @@ -1502,6 +1494,7 @@ static int rsnd_dai_probe(struct rsnd_priv *priv) rsnd_parse_connect_graph(priv, &rdai->capture, dai_np); } dai_i++; + of_node_put(dai_np); } } } else { From patchwork Thu Sep 26 00:00:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 830632 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010069.outbound.protection.outlook.com [52.101.228.69]) (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 9F546F510; Thu, 26 Sep 2024 00:00:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308854; cv=fail; b=LTCwCrO5luPtdKvOB/2FCHlPSh0APsEYSCk76KrWynoRzU8kEeaJ/ZBjhSjBzrzRoPdbKemCmczomg+qmdyBj2uiqEGxtIFSna5Ri48H7tyvQoFuQT1kZDEKOhlyk0oEj4EMPb5wCdKGyXsKPu5Gd3RXzqTTRRRg9cpq7eDW9DY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308854; c=relaxed/simple; bh=3avDV9IBpt7NeNj+xyVBG7meX+2U6B8EHCuw439A6pE=; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type: Date:MIME-Version; b=sTjz5gz+MU8ar4lyyuPplhsKOBdBX8MZQDNYckTbS5YWQi7PrJxzka+2SB/OuTrmbB0A6NP7aQWZYh6fk08DyVW1pOVsPpe8VaYiX13I0kcAgqGBrwtyEfvqYhsSHWnRTw18EScKAloN5vP7udfYfUUuIbxYfiwPc4itm9L/8mg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=PRlzijjp; arc=fail smtp.client-ip=52.101.228.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="PRlzijjp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PAJSUYIfmhIfjNgP1xaFjUng7WY4Ng4t6FO85ncHMHQ0krvFOkaczp1aW5H9n58XW+HZ7NNXWHCP5w6fFckQ5I469y3cBs2ibGYBGKVGoJD5ioP6H+eAGeMsMB3c80rF+aPJdbKWgZFpaRz34YX92/paKZ+zUkLG9Ji91RsXmnoQjXvWnoqN9IFnwY/L8INtDB4GwHvN8FtlNMRsnVZMsD1QdciSTekjh52ZHKoS4o+XiroTooXMBHsOSnAioJINT/1j9Zefms2sMGkILpZO4a0oghVBOOFpWh9yanhsoXrP4jV6hdyHpVHCHO/B3AleMfhcqQfk9qGiwWGfsNupmA== 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=1UeslM4FQH6N1O2L6SqbvVyNONUE0o4X2TQYeq8tCfA=; b=CakL4hMJuKqjel33KfEcSE9Z6/IwVNnhHvA0umaLDXsbmrtOZHfnhRgWhO8A0KBsM4b9M7S5ikrLAHNLQ661fTE4XcLqYjlWjb6a68Wq2w9J6rWThCtxGYR2leBGwkcoXXRVJaplGOGUiGmem1xYlcgJK5/tJy25BsjF4gSKFzUhmo2ig0gUjjPQKWvtBWsmUmnSgXtTyejTzehcFks0w8PDnkxU31v6VFtj+9f3PoWQ6A7eqZI9j74/oEugwc8fwemQZaQ7KU6OZHTeqC/RjeMIMthZWEz26hP6utSSSoh2/XxxmO+maBI7xB6puMDHc1V8uVY/y3gm563yWhmc5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1UeslM4FQH6N1O2L6SqbvVyNONUE0o4X2TQYeq8tCfA=; b=PRlzijjptb1esJ/NgsbnDtsJYwlbIhssOuGM7d56iUAlAZe6rwrk5qVoyzMqed9MJ1j61IaZJf0sgmcWM6HlytFGQFOa4MIWnYQsAMjqkLYSHEoQ2dUxmQAoVoOCckbfKQgpyatOBK/OPZ0p57q4pzx2B6yMy3cPMCtL8bP14i8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TYWPR01MB7353.jpnprd01.prod.outlook.com (2603:1096:400:c6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.20; Thu, 26 Sep 2024 00:00:50 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.8005.017; Thu, 26 Sep 2024 00:00:50 +0000 Message-ID: <87wmiz8ery.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH v6 7/9] gpu: drm: omapdrm: use new of_graph functions User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Daniel Vetter , David Airlie , Helge Deller , Jaroslav Kysela , Laurent Pinchart , Liam Girdwood , Maarten Lankhorst , Mark Brown , Mauro Carvalho Chehab , Maxime Ripard , Michal Simek , Rob Herring , Saravana Kannan , Takashi Iwai , Thomas Zimmermann , Tomi Valkeinen , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-fbdev@vger.kernel.org, linux-media@vger.kernel.org, linux-omap@vger.kernel.org, linux-sound@vger.kernel.org, Sakari Ailus In-Reply-To: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> References: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> Date: Thu, 26 Sep 2024 00:00:49 +0000 X-ClientProxiedBy: TYCP286CA0168.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c6::18) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TYWPR01MB7353:EE_ X-MS-Office365-Filtering-Correlation-Id: 82d40018-6afd-46b3-c967-08dcddbe47cf X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|7416014|52116014|376014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: HYFTxsEoLKr9LV1wd5ypHKkJFQdWFiADguWj/ibDr+eG5ncrQbExrhxZYSbJnwgHCJcUKvlEiWtIiHCKwT82I9ntxGhFmqSEUkp14FrKbFTkANpWPROlxa7tYuoAV0QT/+4AxLRk/24Yn+EXtIAxvUm7wDjxv7Ib14jVyL9W6qAuNOpZroR4Zgy1WtN3H563LDjhnl78/a/MKsKZymlxM/v/B1Rdu3yssW6u/ddWvRSfUE+vdks9VHVkYCpaq+CeLhOk/xwBiJPcsdMeqmZngxSGHqTeniadtDC81QoeHw6Z1IRS99aMPvhrm/j+dn5VntN+reSC2mn4eEd0WdLNHoGXV+Dx58R+jOOI/uSYbxK+gCmsN9Q+BviLptp6LE1t/bjbVVdUHAa6rfL0QxW4hDabMvAnU2lMRSZd99BjGIOS0tg9bSD2wDUy7et9wzRKr+48a6YaighPH64vo+q6S3GsbKE8x44ZKHpoLFVXwHxRCkLSK41afOJC3PJmfq+PX2AcQLHuDHxNiOffegH7RYzOTDEz9GfxMtbElI7UPY2q59v2+f1hv7m1Itoe1KCwKmYHyytkYstYxMcOW0+2fwiBhinzomep7AsyqqxrmqOFmsfQeiFUb+JLLfWwwDjvcZYe1IlwAd55wT/dehBjAZnVnds8D3i4hx2avimUFium43PuXNXAi6KjQoFzYjbBgszhYBXm14wUtKNjmb7C7OTBiucy4lz6yMGun89iHtKguiSSFmCfaOSs367X/twb5SjZrFTs/vgib7Z63EDmaUPX5cC4g9KdoNthUEV0iTU2m8OqyOwno05HYswntt5MKK83C9BhKbvCjGfDlFKqaWZPBVqZWGOOSB34dB1TNtSpOBlcy9HVPdSx002p89e9gHECTZpAjqnQoAghcdnW48rfeolmU8RMbp1xUIWGodMgOIfunfBZQhs2De9i0tjw1cOcexA9EgcB3GdDUVjnk3/16iWksaQqoRWV3zrfFwGR93etcnfm2r1MZT+OL0x868ZRFoSDwyOcJWOfXsHjxuJhFiSSlWCbYSKmuxK+5ThQ1GC8KTZBA3TwqNTClnVQVpZ+qoWOJBXEY9EgB4GI6Q0g+Z4GsfuJ3dfnYeqKSaSvW3F5WnIK285auU/2egxA9Q+u+nhq/AePsuzk8vjwtgYzjzSTanTOgx9pfbK/cuR62Hqgp/+0iBbB2GhPAviywjyWqT79oVvYBetK5f89HuzEU/wCCWnIYYoUC6X0QlFnOHbfoPGI3u0ht8tWB0pIRjCLLBHfKHXth3jkheIzhW0HpDQNPVi5z1UBngQCBs6xH37pRDpJE9CEjY+hOCnirt9yTHYDDbnIxqTxcpPRmz02894rvP7gKvHe3NHpe54UbyOAScxVc7S0lo+nn/++yW1X9E3P1c9/TbxN+ohrXpqD8aTbIdaz+X+55LSpzsg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYCPR01MB10914.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(7416014)(52116014)(376014)(366016)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0SGIQ4Kw6jSapcfSvwx8Y7eF3tSnbD5DgQ/5ImMFovsmSo4mljeQAilcaztHEjkrSkBeUmnQCvLFV0MJVDdawDPCNppE0HxOSS1GarstKb42ZAXcTJ9A6p5ZujFlcVtM02axd8Go8UdJMpdSX2qjVhRLf5ofAQ53cZq8Whi9GyvPMzGi6vBYDqzZqyZlOk7AzYt78HNTn489+WQtelmj/0SSbX7kUwubN8CBPEjQiIzfF+GqKKoDjpnbLDtO0YEUZrQvIo4u2NT7cOCl+L7Kc56RrnNB/KTLvO0kppTNHRyQhVYJjobtCksBZHcxwmf+FN8/EaeK2Mv97QzfJqlkxdms64MHVVkAxG5saaT4f9m/8cy9AB0WJSlxUfLysfyMQ94vOODMer0IBtkDkpTxNZcaOceoY1nRsJv+6EQQ+k26Vk6+1D4iPga5CMaK8scLX9pKniHqe4tHQTRIIudhttc60nHn0HXk1n9mJuWaAq0LRggOjFEo5QgTdjo4QssqQygLZuL02If3JbnWFf2Lsi/ipbg31kVJ+QLBwTYoih2mN7c5DH0YBl9xlhCC7+FALeBibseTY2Pow0DNRzaHvxcGwQHkzto/+ZaPH6vZxn6NUGGXVdpNoLkn98t3AdTILI3hh5xhB0oAEoeR0Pn/dO+2wi/xxr8BVyvAGGWRRQJ3S9n3iID4cjpteIjizmbsuPSuqFoIDd7PL+jB9jtnmXQJU7C2SvwRSmYXBZ6Qiq4025RrNxGcPm+FaQR1o2V8g2Z9JdD8KJCGaxkgFJw1X8afIbx+EIyvqN3OGi8cqY2IBemZdmxbt3mF9EMWv5dHCIRau3VzTIxvOX+ublKl67mPcvdlFep+dpIHYwt4v1OoUs3abXEjkNIeHqbh9737swKRx+ujczUn/iWIZc6HN6aOvROUG1SL44mu4yrzcI4SCGPJtszlr9Z8AwoJYGLOzqyYfQ4AEGgwitX+ousnnfOL2QSx8+YnDFooQdE7U9LKY62n/vrSSD89+BM3pepQr3gM1TGShDA4IaCAUNQFhAa+s2GBPqUBfR96TVqDIAmdelttAUGro81U1JGpvdvlmC9h9yZaT7PMVP9cMa07YSa5ay3H8EnGVQmfr43ffkjtVhTspPGp6mrWoCuotjOZBu96m22hDHcinbNirqAK7rmplpbDEF1Di4Zydbp1eHaLbWqaqtJkBt5pDCd6icgxf41TLodTm+RHDz0ge+By4X8Mmp04zPBvrp0lmuAihKRUVKTOiFMm1jrvyLWP9UUqoGx9bWZPUodFajwY06dkU6n5sR+WnDwtR/NG/RqCcmvwUPXyB58y5DAk8eaW4S4lK4iQc0McsXsfTxWt8WZP/XV2Dm3xziALPWnBE9ugbhTCu/k7KwB9T+TLBOktUeQapmGILh+nT6Q2HTfz9lSrrdJ4zuqWecJJ+PnQQCPQqIK49JIa5L8iYJRQjDNsTCpoSLeI0plT8W8bvyYJRVxKPm7L2uuIg5FGW48Zm+zJ+1Csja2uPksJUNAgENvlLY8iglgz03STXZyAWalpRvriHRtta+MIQUnVz5e5Hdtpv4Q9SOPb4EKe1b9gTmiU/0s8H9KgHTqA6O9YEqILgtT5POhmJnK9PMV431iGRXFOi2A= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82d40018-6afd-46b3-c967-08dcddbe47cf X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 00:00:49.9719 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vHpLAz2bG0YDbzPP/MhdovWHBGFjqsZ5yotp1o5HKYEXQbpWZxINVvBeVF0oGVNcyaq9ddy5jcLVjLODUnD3BcoDq/PPoaFGM4h0RfGZehcEUHldD3/HqzYAGSNj6Gdo X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB7353 Now we can use new port related functions for port parsing. Use it. Signed-off-by: Kuninori Morimoto Reviewed-by: Tomi Valkeinen --- drivers/gpu/drm/omapdrm/dss/dpi.c | 3 ++- drivers/gpu/drm/omapdrm/dss/sdi.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c index 030f997eccd00..b17e77f700ddd 100644 --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -709,7 +710,7 @@ int dpi_init_port(struct dss_device *dss, struct platform_device *pdev, if (!dpi) return -ENOMEM; - ep = of_get_next_child(port, NULL); + ep = of_graph_get_next_port_endpoint(port, NULL); if (!ep) return 0; diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c index 91eaae3b94812..f9ae358e8e521 100644 --- a/drivers/gpu/drm/omapdrm/dss/sdi.c +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -346,7 +347,7 @@ int sdi_init_port(struct dss_device *dss, struct platform_device *pdev, if (!sdi) return -ENOMEM; - ep = of_get_next_child(port, NULL); + ep = of_graph_get_next_port_endpoint(port, NULL); if (!ep) { r = 0; goto err_free; From patchwork Thu Sep 26 00:01:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 830631 Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011034.outbound.protection.outlook.com [52.101.125.34]) (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 F1D1B1DFE4; Thu, 26 Sep 2024 00:01:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.34 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308867; cv=fail; b=lS+YMVkJtFWR5qxc4HH/OEk1fmcq6bN0me/EaRExiIubn74FR9iTq+JVHfRJ8hsp54WuGQvpACocQMjcXvwZ9UMM7a9eOjC4g9xujJ9MNdpICP0vMJX/s1yCt5oEFjebtZuwk87Tep2xwXVPjk8TYnJ0Ysa9r/sQSM4DOzCVVOo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727308867; c=relaxed/simple; bh=YTixO+P/00NtAvhz7qNrMCI2D7sGMFZEkJn2SvoZwWY=; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type: Date:MIME-Version; b=ZF46oDgiAOGEe6VQwXRYNlqehis6Bu7BBGwhQD7zfuP7bSaHpBC8yselTaAWQkP77kaFiBj/ufjUMZOVb5gLfV1ErIZ1N/tz2PCjMtBK/urBtW9UvbJSpKnnq9CgIYh9EPEoV1pBb2Em9in0+Wk+bjFO+H2gJ3pmDZZkx4LNI48= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=kP8K8fZp; arc=fail smtp.client-ip=52.101.125.34 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="kP8K8fZp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bBLHmAxJ+5w7wkWE82tKEYvEuhEtrGzNtmvvXvVV2y3MF8OfuCgn9f59UAAZVb8aAzLFfJU+w5dyKDidjOdbtIuQNlTOQSbqS8noCYIFqfQAeRJiDEMN3TGVWqMwO8eHVHbhXo0w2YJK73nPJ/unmZigXmblYQstzJJFJBFWlL3lLOpwN/kgDlPJgxzHfpG6sMNaI25IVMVOA+U9fJJQdZVXRcNrygfiHPGChqxMfVVxG9elePzbOeA1ol2Se/j6xQW3iJlJxzBHJRAVUA+cZnWmk6nu4EUMi+qLw1Z8p694IiFHW5R3r3F6vv4+l8TnTxzmq6FMwa5uRrgQS6zLwg== 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=b26e4lPby7BLxC5zKKY0mudtjlBHT32JbnaTQZ/9/W4=; b=QEU1ZsjkTeTQxkjWuQkPZMFYTtIdrhXej+fJBjucpbtQlcLsCeHtrK+8iBuAFf2CZk32CdtrzC5S9MVGOaTG6Q1mMW5UqGPgTC4dingUqx6dFhWnZckgrQeQgjW8nfjfkt6puNSxu4+ABMaQ7e6FN+FtF03O7GBrjHaASYkThBdhx66gBlQZsXRiWxs7Bp5ifEzVWwYC8lg59dK+Hm18shlObm7cAtOa4xZGDewrcbO5fgtxFPHFIwB/QfcNTc9SFfDQUweDF2zuTMyHczyZUnOwlO09TKHvqXHktZNKuNPi7Y9NvT0Q47prWT8USe4zBEaRjgLrjREHC7sMqik88w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=b26e4lPby7BLxC5zKKY0mudtjlBHT32JbnaTQZ/9/W4=; b=kP8K8fZppec+O/mfdUJPcIfyBOk844pk/SJRJrqJKrNTo1B6zlESjFBcX6mK5pbbSorWmiTDuN8pfZkLplnamAkGLURFCXLZwi7DcyPtOfsYAVMu5Kl1N+SJZ43qjfPC1TjJkNu3iQmny+O1dGVh/1Ys82MueBqEv4lfmFKVX88= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TYWPR01MB7353.jpnprd01.prod.outlook.com (2603:1096:400:c6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.20; Thu, 26 Sep 2024 00:01:03 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.8005.017; Thu, 26 Sep 2024 00:01:03 +0000 Message-ID: <87tte38erl.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH v6 9/9] media: xilinx-tpg: use new of_graph functions User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Daniel Vetter , David Airlie , Helge Deller , Jaroslav Kysela , Laurent Pinchart , Liam Girdwood , Maarten Lankhorst , Mark Brown , Mauro Carvalho Chehab , Maxime Ripard , Michal Simek , Rob Herring , Saravana Kannan , Takashi Iwai , Thomas Zimmermann , Tomi Valkeinen , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-fbdev@vger.kernel.org, linux-media@vger.kernel.org, linux-omap@vger.kernel.org, linux-sound@vger.kernel.org, Sakari Ailus In-Reply-To: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> References: <877caz9tdw.wl-kuninori.morimoto.gx@renesas.com> Date: Thu, 26 Sep 2024 00:01:03 +0000 X-ClientProxiedBy: TYCP301CA0089.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:7b::11) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TYWPR01MB7353:EE_ X-MS-Office365-Filtering-Correlation-Id: dda8066d-f7f4-4ffb-1e3e-08dcddbe4fe0 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|7416014|52116014|376014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: xY0UhKWXeGyAVInM8xbmYgRXLyKvjVFGXFAMz7JS/JGfiWHt0skBU0LcsxYXBraCEnSBUx6Y/Qxq+7Qq+Kh01qiY0XF1Qa6iWb8QTS+ciVHNhj4xIczTwmIlIHpZzN3zTn/4NlfaNqw4Eqhnx76sB6pI0dvTTNHUQQcKy5W+2tlkFXQt6BWUDNdHDjpmHI/2ZaaFPpDmbADNiiz2pEHKpb3wbYzaKQQFC0oo/muYgYds8X4Ck7X8SvaZiixTx6xI3U03N+2iaTrO1Id71pFYWQ0lVxSkqliBCWrLqJG+Hqd0xZ+k+zy/21aSYL1jM+xaJQtOFmvDXwBgndxEKvVj/yMmXiPe8i/AMgEqImahqBcJVTlG7kzl4Rt0NyaGoRyvCSCZTUxCbxGzZzyuDmdNgTb2mwJR64S9cixzQ07UqiRaowZITAzROOYelQrSTTmag97iZuoWnuFvwSKWBMe23QrtNLvVPn75rd3UJIHq+bks6B5bL3XPb74P1JVOcN4h7efKcPkiI8XMd3Vb2srcH+xzHQpQ+RqFrOjSMQNSB6+r6dtX4/dxCgRWaBcTki66DDFKtAZGx8I9V9dklUsWHwoe4DWJzHVh/G1MAUptjslJItjH5S95RUeztk1vvQ6rw43lz7qpO3iFGQo1gkvqXypda5kC/BZiQIc1IQFEBIG7eldj/AiJXJwwl1Gc7EcYH1Gv+Gd3rGpdjSyaCYg/uNlBFlqyBUG+lzPGp35PspvTkoQ6x6tUbyLQHIJNKM6svV+yyXFrmTMCPGbsyESvKbW7LQaSkLiLY4V1d2R0RvH6unURg6400qxPkqTDQVY6LnQnNr4FCoHd+pWBSP96UX7GyjSxG23Fg8j7M83mH41fJpfO2fYv3sx3hn55go7vjPG8gPurbfKFCJaXayYuDHyX937NI3fUZ4fGRAuBsfQ8leNPTSVn38egRpNIlTXIry8tmYv1sgeQ1eWYQ1qVV1FjAAICIkaj9yNJVHjzhWPAKosO02z5A2n6K1yEvfJZRnSbkjXwxDcOVEfH3vESyadz/ZPQhIAQTIA8WlfZ9fyQHlf1CA51KHVnEBWDls/nP/geUgJCY6qm+OEw1MEwDeMripWvj2aaA3uZUY5HskukLqWSm/XuhwSHZVyuL0rv5vC1uDmUQ7j8NC8y+F2O+ts+U1Ff4l8pfSh0dorsFWrAjMgeGmtnt3WWOlw56+HzgwtVxc5xBEepUrdA4NgvSR/dHKr7Dy6YtrBwQMmNhYbG66a1xS4ewXFRSIBWj11t+iNvjc0/fnKekA/39+GumGEa99PwcESQzkkN5RFUuWApFmpM+4yGjhDKXkGLYrkIKUWyPr3wmhLdItCTxgmsylFG0gNMEMguFdyRGuF7wQI7lKU62f9PDE/RQagT40emTyBoK8oAudgn5qx9eZiNyePhVTpJQmBR5WVH/S3FcS8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYCPR01MB10914.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(7416014)(52116014)(376014)(366016)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mVRyEygqrYTGMtDHYZu10t9D86mNvBP942FLSnt96+bxVRm7JeU4zYxJha9wtZiNN/E5I2gwcrVU32bHkvH22VCPGXXJdJK0WJFNd4uucOxDgmUZzbCHDz8/7zyCWPjFfRlNbvUTekxRxpCcn18JenaFWXm2yg3eG91W9Y3VLA1uTRQY7pWfVY9hjRpoKK7BKBrh9FsygCThmEi+v7IlfuBlxkJAevID9nSiBghXpY+vacLDAUHBkkfAIz5nnnqzqvBcHQ2DAVv32nKJyXPEahUxOXBu+qarcNjFovpZufKVdYUzIUZNUO7DMNSzURatLWGAmxN9z4E5+TLqhn7f8h5bdmWSxF0gqx8WUkQK4EsW+iA6MKufoXVNEzXPO0mALnCdffR4CoYP53cyQr5jkfSHLL77tTmHCPW8TxXAAakraTqK3ZOuLuH5vcuFrXlhugdxJMuHlXlHXe1G3ChYYEqNnlI09jhQBZHKx+Fz5O9M+kaM8tIpY5a9Hm/ZJOksBGv6PVP8E0PPaFlqXhoiHGqaBmcLpIngB6hEZMvg3UZyH7Az0fTJKNjpLp9tj5bh1w7Uf6e7zMf6595LqW6AQMRCeNmMB3xeC19d7/Zx600p2HJJjJRfYPnA+e5wB9/4rn9m2NVCIClDEbFPg57ulDTBQaonmJjAtkXwIiZZvIkUDnsw52vLXF7GQ73cbPQSu9wbddxDFInjwPcbc17w55w8aNzr7a0FOnDZzALbCVOixNvvwteFyWethL0DPXnAYi/WYxBGB/uk0n3vndKbFWysrGvjRSLRCJkK5u1WePAPwCKTnKzKfyFJv0YlwVrwvDRNL4btWeQxiz2+3PZGQkxiTmZ296xZ4hVNy4P+ODcqE3vFjmESBk7f2WgxcD6fQO4wd5ZjvXAugs8YUBu45t16JVEpZd865NJTpMUQrCYAG4PfMJSARNZ1QifH0EN7dR0FsAlB0+uXMlXbZ1Dz4H9wBwtMri4zGVoAlcSd1peewyHnXzU1rVZoGx2G73csTVu8Bv9hFDUwqLPe0TVDd33TZFxZyDfxAKL0uovNxFTYBJ+393HI9MKfXCm0e5D4zEM1r8Ud8wP+flNDb2qEQ4CvFT2nawADn8rzL/7XYbqEg/P4GfyfCgS4eOhwUCltYbAFwy1sAd8Zn7k0hSLJrJzWdPT2cCMtcpuJaX5QGS50ZT/5R61kuxm+cEzZ6yRfax8b90rho8Pgj5DLd26Bxc3SinrZzrMU5TZOtkE0QSv0kCbhoWmFUWzGUb+Sa4FQIP1NP9GyeVhpwvApflahZmobC4rbBZPqMnI4foUWzP4aMcGnMlOtRwIEClHMtqV3YI+Ox4g8pSeT89VJUxCyylTbluXrm+tNdK9GIFNkDcXqVtPzW+IVJ6sEkbQjgKBQLAGAXl6l32eCLsWb6IEZGBv7ZB02f0kEzhmmlp4ObLwWXkh7Bn+H5O1XloiBM98eNgsV3MyIc2pR36aZ/1J8xz2N+15gybMJ74qFhDUBmLwKufDnrPephQxQcOVhdbKI2cWu6sbPPimeGIdpveguvxezfXEODf9pt4VvqEcmO6m2GCnAmfXgYKuRlLUL3sfyp1Ly6Sd/Ns11J/3QywrtKEYq86LR36+KOJ//Wbl8mmY= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: dda8066d-f7f4-4ffb-1e3e-08dcddbe4fe0 X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 00:01:03.5206 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3CQn5cTZi4Hkrjn5ZDG3hlzTG5owcJdhUFzJ+R3LQInLssiIa1gbPQQxgb24njV1Cwwom6Xgn0VMhYHFWIcm/MECFu7NMUHltUTRWyf99bxYmXuFzOy7102McVL4VVmM X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB7353 Now we can use new port related functions for port parsing. Use it. Signed-off-by: Kuninori Morimoto Reviewed-by: Tomi Valkeinen --- drivers/media/platform/xilinx/xilinx-tpg.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/media/platform/xilinx/xilinx-tpg.c b/drivers/media/platform/xilinx/xilinx-tpg.c index e05e528ffc6f7..1d67f576a44ff 100644 --- a/drivers/media/platform/xilinx/xilinx-tpg.c +++ b/drivers/media/platform/xilinx/xilinx-tpg.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -711,22 +712,13 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) { struct device *dev = xtpg->xvip.dev; struct device_node *node = xtpg->xvip.dev->of_node; - struct device_node *ports; - struct device_node *port; unsigned int nports = 0; bool has_endpoint = false; - ports = of_get_child_by_name(node, "ports"); - if (ports == NULL) - ports = node; - - for_each_child_of_node(ports, port) { + for_each_of_graph_port(node, port) { const struct xvip_video_format *format; struct device_node *endpoint; - if (!of_node_name_eq(port, "port")) - continue; - format = xvip_of_get_format(port); if (IS_ERR(format)) { dev_err(dev, "invalid format in DT"); @@ -744,7 +736,7 @@ static int xtpg_parse_of(struct xtpg_device *xtpg) } if (nports == 0) { - endpoint = of_get_next_child(port, NULL); + endpoint = of_graph_get_next_port_endpoint(port, NULL); if (endpoint) has_endpoint = true; of_node_put(endpoint);