Checking scmi_dev.4 below, it is scmi cpufreq, not the scmi perf device. scmi_dev.3 is correct, it is genpd. root@imx95evk:/sys/bus/platform/devices/soc:test@4f000000# cat /sys/bus/scmi_protocol/devices/scmi_dev.4/modalias scmi_dev.4:13:cpufreq root@imx95evk:/sys/bus/platform/devices/soc:test@4f000000# cat /sys/bus/scmi_protocol/devices/scmi_dev.3/modalias scmi_dev.3:11:genpd root@imx95evk:/sys/bus/platform/devices/soc:test@4f000000# 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); } Hope this is clear. Regards, Peng. > > Thanks, > Peng. > > > > -- > > Regards, > > Sudeep