在我的 iMX8 上,我想删除 Linux 5.19 的 PCI 平台驱动程序 - 它应该是这样的:
# Dummy address
echo 12345678.pcie > /sys/bus/platform/drivers/imx6q-pcie/unbind
但是imx6q-pcie 驱动程序没有unbind
或属性。remove
在 platform_driver 结构中我添加了remove
函数
static struct platform_driver imx6_pcie_driver = {
.driver = {
...
},
.probe = imx6_pcie_probe,
.shutdown = imx6_pcie_shutdown,
.remove = imx6_pcie_remove, // added this
};
目前,该函数本身基本是空的。我原本希望remove
或unbind
属性会出现在 中/sys/bus/platform/drivers/imx6q-pcie/
,但并没有出现。
我可以看到其他平台驱动程序确实具有绑定/解除绑定属性。如何使用 imx6-pcie 平台驱动程序执行此操作?
答案1
sysfs 属性不会出现,因为驱动程序明确选择不显示它们。
再次查看相同的结构:
static struct platform_driver imx6_pcie_driver = {
.driver = {
...
.suppress_bind_attrs = true,
...
},
.probe = imx6_pcie_probe,
.shutdown = imx6_pcie_shutdown,
};