Re: [PATCH v2 6/9] Revert "iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular"

John Garry
2019-11-08T16:17:50Z

On 08/11/2019 15:16, Will Deacon wrote:
> +MODULE_DEVICE_TABLE(of, arm_smmu_of_match);

Hi Will,

>
> static struct platform_driver arm_smmu_driver = {
> .driver = {
> .name = "arm-smmu-v3",
> .of_match_table = of_match_ptr(arm_smmu_of_match),
> - .suppress_bind_attrs = true,

Does this mean that we can now manually unbind this driver from the SMMU
device?

Seems dangerous. Here's what happens for me:

root@ubuntu:/sys# cd ./bus/platform/drivers/arm-smmu-v3
ind @ubuntu:/sys/bus/platform/drivers/arm-smmu-v3# echo
arm-smmu-v3.0.auto > unbind
[ 77.580351] hisi_sas_v2_hw HISI0162:01: CQE_AXI_W_ERR (0x800) found!
ho [ 78.635473] platform arm-smmu-v3.0.auto: CMD_SYNC timeout at
0x00000146 [hwprod 0x00000146, hwcons 0x00000000]

> },
> .probe = arm_smmu_device_probe,
> + .remove = arm_smmu_device_remove,
> .shutdown = arm_smmu_device_shutdown,
> };
> -builtin_platform_driver(arm_smmu_driver);
> +module_platform_driver(arm_smmu_driver);
> +

Thanks,
John