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

From: Peng Fan
Date: Thu Mar 13 2025 - 00:16:05 EST


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/

Thanks,
Peng.

>
>--
>Regards,
>Sudeep