{"id":2232534,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2232534/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260504170836.1794372-1-Frank.Li@nxp.com/","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.1/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260504170836.1794372-1-Frank.Li@nxp.com>","date":"2026-05-04T17:08:35","name":"[1/1] pinctrl: imx1: Allow parsing DT without function nodes","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"bc3f8caf1fe60bd090f337d77eea50c2192ebeb9","submitter":{"id":68011,"url":"http://patchwork.ozlabs.org/api/1.1/people/68011/?format=json","name":"Frank Li","email":"Frank.Li@nxp.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260504170836.1794372-1-Frank.Li@nxp.com/mbox/","series":[{"id":502700,"url":"http://patchwork.ozlabs.org/api/1.1/series/502700/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/list/?series=502700","date":"2026-05-04T17:08:35","name":"[1/1] pinctrl: imx1: Allow parsing DT without function nodes","version":1,"mbox":"http://patchwork.ozlabs.org/series/502700/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232534/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232534/checks/","tags":{},"headers":{"Return-Path":"\n <linux-gpio+bounces-36085-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=E440B4c9;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-36085-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"E440B4c9\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.70.34","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8Sr36FMBz1yJ9\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 03:12:19 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id BAC9B30179F5\n\tfor <incoming@patchwork.ozlabs.org>; Mon,  4 May 2026 17:09:27 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 42B09282F10;\n\tMon,  4 May 2026 17:09:27 +0000 (UTC)","from AS8PR04CU009.outbound.protection.outlook.com\n (mail-westeuropeazon11011034.outbound.protection.outlook.com [52.101.70.34])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FB8C3D3487;\n\tMon,  4 May 2026 17:09:25 +0000 (UTC)","from PA4PR04MB9366.eurprd04.prod.outlook.com (2603:10a6:102:2a9::8)\n by DB9PR04MB8202.eurprd04.prod.outlook.com (2603:10a6:10:24f::11) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May\n 2026 17:09:19 +0000","from PA4PR04MB9366.eurprd04.prod.outlook.com\n ([fe80::75e4:8143:ddbc:6588]) by PA4PR04MB9366.eurprd04.prod.outlook.com\n ([fe80::75e4:8143:ddbc:6588%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026\n 17:09:19 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777914567; cv=fail;\n b=PqW0VP/ZYQZRCaZ4hLkHc1oZAsNuhEUza2nCjBymbP5bq7R8eXxH1b+6AVPXaD0XoU3Vwi5uYxYkiqiUdwArXtRlRXlR1QW2ooPsXlOmaTTtWl7yJUDhPFqLFTX3NMPBApSrD9i/z1Dlieghp9ctJjGtPUBFsMY45mKRpDo9ENc=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=yALOatNR4jkCwnFk7KdxOc2GJziUHOC2YhxZw/uCzTAoF84UV7IF2JScDtW2gavR/iqiMDast4mnzraK0IkhCg9IbxF4J2gMH62GWGO4mm0TAZ+T87x6lzrw+hKlBTOW3b2cDsKx0OC9ZxpF9Xw0kNy/xIP5vB/xF3VKysrjs/im5ZpacO+L73XzHxB4GFIh0IvaULkz7pwdDct/0/1ibKFBmUyS51zaOyoA/s8+i5Ii7CKduscFTH86anwTDRIt2y8te68LQ5jies5ENW9iCNHxaCAAM9J4yw4qiFdMpbkIQSuQSzM7WRf1peh2bj/cwN0rgE76jj1sWM4oAg+xfA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777914567; c=relaxed/simple;\n\tbh=cCl3BXZeC7z5Roi9o91ZRExRwWvTUHrNrd0+hVDil2E=;\n\th=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version;\n b=nHJ0CplhDSWsaCqi+OnZYJSXLKDFIXcvtz2C3WFE5rfkqo5hbQhP1SHOgUEeuxCq7MeOEtJxy44P7KU+lZU8Q0arkhUXWDEEz4cdTIEdprH4E4VzTzYqhn6hXtD8miEuvD/p6w6sAXIG3r9Zgell2up0Sw+kOgZGrJ9X55+RzzU=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=Tzh+AwxA4/9jl+CGARtak5XFqCUajD4/x5a1uMP4slw=;\n b=UcnPmcTBhjLOAFRt6w1jJBTnJLkrcwdXEYhTtnNKM9bEd1zeoUcz0nR7fkLEZ/kDQ98d9WpjcyOKuIcbzfhiuGN/d1EuRvpl5T1XjQIbK/tRAr5zTzQGatO4/5Xbty1kT9hwwLmN5pTdeZicohfqLgRUqiolcqZ8U29Z6wiX0jlSlbUGcFlNzT/kFFsvPYqD9Xl3jknGm/4P39uhVLQI4SINsoWlZNLK20j+03a0pr8POf84TTd+Ef6r+8KpzBRNvBn3T12YwFfnsPJ1Wo0xGo1lM1WNHOINCt39PHwK0L+9y9fb/b6437RGLqW1mujpQdBs7TNQ5lgJ/po8tPwxoQ=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=E440B4c9; arc=fail smtp.client-ip=52.101.70.34","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=Tzh+AwxA4/9jl+CGARtak5XFqCUajD4/x5a1uMP4slw=;\n b=E440B4c9XS0PMs3LzD9l6mcGnoCiYkY1HZ88Id2lNHKDX9AZPgGZjkpdrraO0uU3D6MxGSL9zswIQtLSlApmCfs1RAXIxwluulRlGsctHNFlhpBFY6HW0tpO2ONWYWmxL8kes2C1FstGS590b5E8Sf5qc1FrqHIvcJI5uYrQzwrkeOB5GNeDzBdEyqJiwW8fZzP45BPeqqo7fFEwxyncaWEr4bydLahWLYbzaIvBkb6tyABWMde1RZW4yoLwsayg1mGsdsqH9RK9aWQYvTJ8RR+uhu7n+AjVfwclKrZ5T2k4eUr2f2MHroac8bKNNX+Qw0faNiwmf1XmbwB4LQ2vLQ==","From":"Frank Li <Frank.Li@nxp.com>","To":"=?utf-8?q?S=C3=A9bastien_Szymanski?= <sebastien.szymanski@armadeus.com>,\n Dong Aisheng <aisheng.dong@nxp.com>, Fabio Estevam <festevam@gmail.com>,\n Frank Li <Frank.Li@nxp.com>, Jacky Bai <ping.bai@nxp.com>,\n Pengutronix Kernel Team <kernel@pengutronix.de>,\n NXP S32 Linux Team <s32@nxp.com>, Linus Walleij <linusw@kernel.org>,\n Sascha Hauer <s.hauer@pengutronix.de>,\n linux-gpio@vger.kernel.org (open list:PIN CONTROLLER - FREESCALE),\n imx@lists.linux.dev (open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE),\n linux-arm-kernel@lists.infradead.org (moderated list:ARM/FREESCALE IMX / MXC\n ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list)","Cc":"imx@lists.linux.dev","Subject":"[PATCH 1/1] pinctrl: imx1: Allow parsing DT without function nodes","Date":"Mon,  4 May 2026 13:08:35 -0400","Message-ID":"<20260504170836.1794372-1-Frank.Li@nxp.com>","X-Mailer":"git-send-email 2.43.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-ClientProxiedBy":"SN7P220CA0018.NAMP220.PROD.OUTLOOK.COM\n (2603:10b6:806:123::23) To PA4PR04MB9366.eurprd04.prod.outlook.com\n (2603:10a6:102:2a9::8)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"PA4PR04MB9366:EE_|DB9PR04MB8202:EE_","X-MS-Office365-Filtering-Correlation-Id":"08769e9f-0f70-4499-24de-08dea9ffe156","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|52116014|376014|1800799024|19092799006|366016|56012099003|921020|18002099003|38350700014;","X-Microsoft-Antispam-Message-Info":"\n\tU27hKmnUq1cVNxbnNN5NtLxfgwuLUAtER2+nJlJe4b0ibbn4GXt2TB46Iafr+K/SprZK4DguPWsSffpCPlYIKiBm2psyL3bDsPtVykz8kehULqWcevAnLl7nsUNMiK8SmGqPdhn3P7Yed+I+YikL6H+FpTSnhPv1qwKiyteAO/gwY72cAI9ruVgMi4KknjZHxgQvvETPP3VafI2ZyI6ZXXvcZpZIFSHD9NgbuR5c3XuozalEz0gJrfRQ32XNAXW9XGx2O/gtqv8791TRlNnwggpkFcYbzIqtiM3K/fGA7jj712iq1tBku71j1QgE4IIdJkcaS7Hfm2NR6u7e4iDoSQQxzOj/2TSRdcwNccefoIAKCbww1EqcEaIZO9DoIbAVUey5ArSQywnA/QUFnbxQmiyP+yUFrEIF6S/4WhfhAEDYwDdCYt19O9rQWrZ0ZAW8/rmDHnYfrfG1d6ZDm/qCNqGXrwlJyANCR6fpBCHApBX5Wr6DeTCck+MCKyH4sPkEWWsLIU/wwkYafpQICDqEs7V1h957V6UqG2XYX+aJhPzn58u09yY3hINqJZmeKQq8pZxH1f84B1g1zsw2o8MTmvfO6SLnyvYVgNzMRZ/DuhWj0KEBi6VOz+167SGCEuD8NNxUlTZNrLcGbUyec+oz2C5suqxx8iRoS/z6AEnRuFmvgWtJe4/zeGQg0MFrCHl7Hgwd2FR+V6bhIZCEGFHtPcmMYQQjMYhJ+W81kZqh7l8DteOLWko4Ky5QLrLcPBrUBemssWnV91MqyXR8E5n41Q==","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9366.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(19092799006)(366016)(56012099003)(921020)(18002099003)(38350700014);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?YKtZiAtyN8wvWSKTAm+WRZKjmm0M?=\n\t=?utf-8?q?1+mYPWQKftjZNeReGJPBKoxCdr+nNZdFcqWxruTiXEKCaz5ACqRoMto6KOojorz2P?=\n\t=?utf-8?q?eFsG7ahhDf8OmgRzfuf1KHR8k+VuQr/rTSplrmUU0ux7PhDPyBnZ7ED0ZBuyLXds6?=\n\t=?utf-8?q?iJc3DUuwUJQfpCQRL5BJRXworj7PpdiBHnM294fc+UI0Ly/604Ns9A/lZBlK4Yj8T?=\n\t=?utf-8?q?/iFBoVLldwcmrnJgEre4tnlPAkTFhn3/wPYkaUEHw0mwN6qbcN41GbgbgRGyylOSp?=\n\t=?utf-8?q?fDNZcoX9mFopz16Rn+7pTG8vYDYE6AhjWiz3mMhci87OIV08HvH5eVefQQg/yicz4?=\n\t=?utf-8?q?PsjFRl/lL0FtMLoModWaBcC/feRDcrVxoOV0BLUVgK014miRIzuAs9Hix2qJZWJjW?=\n\t=?utf-8?q?DMfw5jRhpeMxBVyTVAgng+VTruDpodOS5HQ0cn/mVYgG/nE/QeC43mMtVEhXZpVFd?=\n\t=?utf-8?q?b6HOYfnG7AIm+qvOnS4fNWpjdfx7N7Ba0XZ+d6Cbwz8FQmwkIaD6/VZhKlO8RjTs6?=\n\t=?utf-8?q?xpeMBtye3wII8DgXVr+FTvNmkdWaTwT6hdffQ8/b88h1uyyy18OKC4b3oa6q8ZDdh?=\n\t=?utf-8?q?fpLmkZt+9dQgz2cvQUjjk0ywe+BsW9AVZFgI4SmCmHBT9QSRUBB2JLipWkFnmuwBw?=\n\t=?utf-8?q?dY8Ct0j+Tj17WDlmJk4bXuyveF3+Lp4Fm/GmPUD4sWrjgFoHaF8xqEht0sHET+NVH?=\n\t=?utf-8?q?ifxGjPLSH4mob+osCfxQ+pSMxPCQ7Beb1T6qbNLMzWyhEtm8WtvHAtA6PtRurxJS1?=\n\t=?utf-8?q?wvN3NpsSQjR54jKHBzNOAzqyhYR//XpZlTYxBNhyr2k8dIHbqHT7yCJkKrHXkcGU1?=\n\t=?utf-8?q?pQTAAN/WyB95/4mOFl+65hGcyCTEdlMs9L/Yz95M4f99eWCBAaZ4dx1w1EW0aXoY0?=\n\t=?utf-8?q?uB4FKte8tV3BCb/q5ZokbaKPMZrr0xQ7tMH6xYT4YfR/KvbNEQvUsFg56uEo9mqGa?=\n\t=?utf-8?q?DOT604jSOsJPiO8CU6drQbIJqA5iwu+DLHXughfu1cyc8CcaBRYUazW9gPYiIE0Az?=\n\t=?utf-8?q?2MSa9WdsY1q50k55g66EK2Q7F9Yhq7TuY+29QqEZQPL0p3rJra46z8C8WovNJPKsX?=\n\t=?utf-8?q?LKa3QLdlVIRsWpCP+4gYzDsQ+WCzUlM+S27l8Qbzk0lsQcWOAkt4YTOvoMhBqf4aw?=\n\t=?utf-8?q?I+G2Zky/XTKbhP48x/rUHUUHPttqfV94vpJvHTXga1+M9mNZ4NLIMArDsyBhDg45W?=\n\t=?utf-8?q?VOvpAOzGGpl/acMYoIwU6MmG8MCt0RUsfLwt3qRB0pEFCrLVg1t1yx6kG5c57iFg1?=\n\t=?utf-8?q?26V9MM7Ccd8CYgnMCU/gOZh7QANeFyLPHmeIIN8F+DKFjM5TCX59/LkTk+1s/hkDx?=\n\t=?utf-8?q?kbk5sic3USyMgUc6K7pQansdqsH5Hv9TZ6O05X+3d/T1/7fLE67vexjY67x7LOvEM?=\n\t=?utf-8?q?zIcBD8H/fCgnfk+UZkwIjI8EF7DoueUm3DNAUivFjpUPKTZZb6z/g7jihRlhsqUKM?=\n\t=?utf-8?q?hKOqBed92kyFSfOU8yCEglVObsrtj0H9gggKcBu21vN73S7gBXLrC6GfeyjjHjgoE?=\n\t=?utf-8?q?BkAL5IppLCKPn4HU/SVy0ieNAlUal1ydWr679vtrgRq6f8Q0tkU56Az4YxDBMTXBl?=\n\t=?utf-8?q?fyPUCuEWGk5PX3TyUVOVxHWwmsw37RcAY9gS9QK1OV+tG56MPNW5aZJDAH9Eq+KBp?=\n\t=?utf-8?q?NuxcMDAfiA?=","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 08769e9f-0f70-4499-24de-08dea9ffe156","X-MS-Exchange-CrossTenant-AuthSource":"PA4PR04MB9366.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"04 May 2026 17:09:19.7069\n (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":"\n N2AaQhXQ5+o11LPTyEv7oXu5vIBsnPsQ3HnlnILVUQQPJ9eWfuprF0nGTngF4ZRCco1shf0hK9CWCObw0CX9lg==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB9PR04MB8202"},"content":"The old format to define pinctrl settings for imx in DT has two hierarchy\nlevels. The first level are function device nodes. The second level are\npingroups which contain a property fsl,pins. The original ntention was to\ndefine all pin functions in a single dtsi file and just reference the\ncorrect ones in the board files.\n\nThe commit (\"5fcdf6a7ed95e pinctrl: imx: Allow parsing DT without function\nnodes\") already make moden i.MX chip support flatten layout.\n\nMake legacy chipes (more than 15 years) support this flatten layout also.\n\nFixes: e948cbdc41d6f (\"ARM: dts: imx: remove redundant intermediate node in pinmux hierarchy\")\nSigned-off-by: Frank Li <Frank.Li@nxp.com>\n---\nbuild test only\n\nSébastien Szymanski:\n\tCan you help test it? I am happy i.MX27 still alive.\n\nFrank\n---\n drivers/pinctrl/freescale/pinctrl-imx1-core.c | 48 ++++++++++++++++---\n 1 file changed, 41 insertions(+), 7 deletions(-)","diff":"diff --git a/drivers/pinctrl/freescale/pinctrl-imx1-core.c b/drivers/pinctrl/freescale/pinctrl-imx1-core.c\nindex b36c8a1461b7c..bf07e0c64a098 100644\n--- a/drivers/pinctrl/freescale/pinctrl-imx1-core.c\n+++ b/drivers/pinctrl/freescale/pinctrl-imx1-core.c\n@@ -540,10 +540,34 @@ static int imx1_pinctrl_parse_functions(struct device_node *np,\n \treturn 0;\n }\n \n+/*\n+ * Check if the DT contains pins in the direct child nodes. This indicates the\n+ * newer DT format to store pins. This function returns true if the first found\n+ * fsl,pins property is in a child of np. Otherwise false is returned.\n+ */\n+static bool imx1_pinctrl_dt_is_flat_functions(struct device_node *np)\n+{\n+\tstruct device_node *function_np;\n+\tstruct device_node *pinctrl_np;\n+\n+\tfor_each_child_of_node(np, function_np) {\n+\t\tif (of_property_read_bool(function_np, \"fsl,pins\"))\n+\t\t\treturn true;\n+\n+\t\tfor_each_child_of_node(function_np, pinctrl_np) {\n+\t\t\tif (of_property_read_bool(pinctrl_np, \"fsl,pins\"))\n+\t\t\t\treturn false;\n+\t\t}\n+\t}\n+\n+\treturn true;\n+}\n+\n static int imx1_pinctrl_parse_dt(struct platform_device *pdev,\n \t\tstruct imx1_pinctrl *pctl, struct imx1_pinctrl_soc_info *info)\n {\n \tstruct device_node *np = pdev->dev.of_node;\n+\tbool flat_funcs;\n \tint ret;\n \tu32 nfuncs = 0;\n \tu32 ngroups = 0;\n@@ -552,9 +576,15 @@ static int imx1_pinctrl_parse_dt(struct platform_device *pdev,\n \tif (!np)\n \t\treturn -ENODEV;\n \n-\tfor_each_child_of_node_scoped(np, child) {\n-\t\t++nfuncs;\n-\t\tngroups += of_get_child_count(child);\n+\tflat_funcs = imx1_pinctrl_dt_is_flat_functions(np);\n+\tif (flat_funcs) {\n+\t\tnfuncs = 1;\n+\t\tngroups = of_get_child_count(np);\n+\t} else {\n+\t\tfor_each_child_of_node_scoped(np, child) {\n+\t\t\t++nfuncs;\n+\t\t\tngroups += of_get_child_count(child);\n+\t\t}\n \t}\n \n \tif (!nfuncs) {\n@@ -574,10 +604,14 @@ static int imx1_pinctrl_parse_dt(struct platform_device *pdev,\n \tif (!info->functions || !info->groups)\n \t\treturn -ENOMEM;\n \n-\tfor_each_child_of_node_scoped(np, child) {\n-\t\tret = imx1_pinctrl_parse_functions(child, info, ifunc++);\n-\t\tif (ret == -ENOMEM)\n-\t\t\treturn -ENOMEM;\n+\tif (flat_funcs) {\n+\t\timx1_pinctrl_parse_functions(np, info, 0);\n+\t} else {\n+\t\tfor_each_child_of_node_scoped(np, child) {\n+\t\t\tret = imx1_pinctrl_parse_functions(child, info, ifunc++);\n+\t\t\tif (ret == -ENOMEM)\n+\t\t\t\treturn -ENOMEM;\n+\t\t}\n \t}\n \n \treturn 0;\n","prefixes":["1/1"]}