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

John Garry
2019-11-08T16:44:31Z

On 08/11/2019 16:17, John Garry wrote:
> 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);
>> +

BTW, it now looks like it was your v1 series I was testing there, on
your branch iommu/module. It would be helpful to update for ease of testing.

Thanks,
John