[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250120-scmi-fwdevlink-v2-0-3af2fa37dbac@nxp.com>
Date: Mon, 20 Jan 2025 15:13:28 +0800
From: "Peng Fan (OSS)" <peng.fan@....nxp.com>
To: Sudeep Holla <sudeep.holla@....com>,
Cristian Marussi <cristian.marussi@....com>,
Saravana Kannan <saravanak@...gle.com>,
Linus Walleij <linus.walleij@...aro.org>,
Dong Aisheng <aisheng.dong@....com>, Fabio Estevam <festevam@...il.com>,
Shawn Guo <shawnguo@...nel.org>, Jacky Bai <ping.bai@....com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Sascha Hauer <s.hauer@...gutronix.de>
Cc: arm-scmi@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
imx@...ts.linux.dev, Peng Fan <peng.fan@....com>
Subject: [PATCH v2 0/4] scmi: Bypass set fwnode and introduce allow/block
list to address devlink issue
Current scmi drivers not work well with devlink. This patchset is a
retry to address the issue in [1] which was a few months ago.
Current scmi devices are not created from device tree, they are created
from a scmi_device_id entry of each driver with the protocol matches
with the fwnode reg value, this means there could be multiple devices created
for one fwnode, but the fwnode only has one device pointer.
This patchset is to do more checking before setting the device fwnode.
And Introduce machine_allowlist and machine_blocklist.
The reason to introduce machine_blocklist is for case that
if pinctrl-scmi.c probes before pinctrl-imx-scmi.c probes on i.MX platform.
Need to block pinctrl-scmi.c on i.MX platform.
This may looks like hack, but seems no better way to make scmi works
well with devlink.
[1]: https://lore.kernel.org/arm-scmi/CAGETcx8m48cy-EzP6_uoGN7KWsQw=CfZWQ-hNUzz_7LZ0voG8A@mail.gmail.com/
Signed-off-by: Peng Fan <peng.fan@....com>
---
Changes in v2:
- Introduce machine_allowlist and machine_blocklist
- Keep of_node for cpufreq device per Cristian
- Patch 2 is an optimization patch when fixing the devlink issue
- Link to v1: https://lore.kernel.org/r/20241225-scmi-fwdevlink-v1-0-e9a3a5341362@nxp.com
---
Peng Fan (4):
firmware: arm_scmi: Bypass setting fwnode for scmi cpufreq
firmware: arm_scmi: Add machine_allowlist and machine_blocklist
pinctrl: freescale: scmi: Switch to use machine_allowlist
pinctrl: scmi: Switch to use machine_blocklist
drivers/firmware/arm_scmi/bus.c | 31 +++++++++++++++++++++++++++-
drivers/pinctrl/freescale/pinctrl-imx-scmi.c | 15 ++++++--------
drivers/pinctrl/pinctrl-scmi.c | 15 ++++++--------
include/linux/scmi_protocol.h | 3 +++
4 files changed, 45 insertions(+), 19 deletions(-)
---
base-commit: 9dff7bbdd359c73f1b44ab592bbb17e1c174fe43
change-id: 20241225-scmi-fwdevlink-afb5131f19ea
Best regards,
--
Peng Fan <peng.fan@....com>
Powered by blists - more mailing lists