Re: [PATCH 1/4] firmware: arm_scmi: bus: Bypass setting fwnode for scmi cpufreq

Peng Fan
2025-04-09T02:45:00Z

Hi Sudeep, Cristian

On Thu, Mar 13, 2025 at 01:23:27PM +0800, Peng Fan wrote:
>On Wed, Mar 12, 2025 at 11:28:52AM +0000, Sudeep Holla wrote:
>>On Wed, Mar 12, 2025 at 10:52:23AM +0000, Sudeep Holla wrote:
>>> On Tue, Mar 11, 2025 at 11:23:12AM +0000, Sudeep Holla wrote:
>>> > On Tue, Mar 11, 2025 at 11:12:45AM +0000, Peng Fan wrote:
>>> > >
>>> > > So it is clear that wrong fw_devlink is created, it is because scmi cpufreq device is
>>> > > created earlier and when device_add, the below logic makes the fwnode pointer points
>>> > > to scmi cpufreq device.
>>> > > if (dev->fwnode && !dev->fwnode->dev) {
>>> > > dev->fwnode->dev = dev;
>>> > > fw_devlink_link_device(dev);
>>> > > }
>>> > >
>>> >
>>> > Thanks, looks like simple way to reproduce the issue. I will give it a try.
>>> >
>>>
>>> I could reproduce but none of my solution solved the problem completely
>>> or properly. And I don't like the DT proposal you came up with. I am
>>> not inclined to just drop this fwnode setting in the scmi devices and
>>> just use of_node.
>>>
>>
>>Sorry for the typo that changes the meaning: s/not/now
>>
>>I meant "I am now inclined ..", until we figure out a way to make this
>>work with devlinks properly.
>
>when you have time, please give a look at
>https://github.com/MrVan/linux/commit/b500c29cb7f6f32a38b1ed462e333db5a3e301e4
>
>The upper patch was to follow Cristian's and Dan's suggestion in V2[1] to use
>a flag SCMI_DEVICE_NO_FWNODE for scmi device.
>
>I could post out the upper patch as V3 if it basically looks no design flaw.
>I will drop the pinctrl patch in v3, considering we are first going
>to resolve the fw_devlink issue for cpufreq/devfreq.
>
>[1] https://lore.kernel.org/all/Z6SgFGb4Z88v783c@pluto/

Not sure you gave a look on this or not. I am thinking to bring this V3
out to mailing list later this week. Please raise if you have any concern.

Thanks,
Peng

>
>Thanks,
>Peng.
>
>>
>>--
>>Regards,
>>Sudeep