[PATCH v3 04/18] soc: qcom: Add Qualcomm minidump kernel driver
Krzysztof Kozlowski
krzysztof.kozlowski at linaro.org
Thu May 4 09:34:32 PDT 2023
On 04/05/2023 17:21, Krzysztof Kozlowski wrote:
>>>
>>>> + ret = qcom_minidump_init_apss_subsystem(md);
>>>> + if (ret) {
>>>> + dev_err(&pdev->dev, "apss minidump initialization failed: %d\n", ret);
>>>> + goto unlock;
>>>> + }
>>>> +
>>>> + __md = md;
>>>
>>> No. This is a platform device, so it can have multiple instances.
>>
>> It can have only one instance that is created from SMEM driver probe.
>
> Anyone can instantiate more of them.... how did you solve it?
To clarify - sprinkling more of singletons makes everything tightly
coupled, difficult to debug and non-portable. You cannot have two
instances, you have to control concurrent initialization by yourself in
each of such singletons.
I understand sometimes they are unavoidable, for example when this does
not map to hardware property. However here you have the parent - smem -
which can return you valid instance. Thus you avoid entire problem of
file-scope variables.
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list