Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2232534/?format=api
{ "id": 2232534, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2232534/?format=api", "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=api", "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=api", "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=api", "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" ] }