平台驱动程序没有绑定/解除绑定属性文件

平台驱动程序没有绑定/解除绑定属性文件

在我的 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
};

目前,该函数本身基本是空的。我原本希望removeunbind属性会出现在 中/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,
};

相关内容