Re: [RFC][PATCH] crypto: caam - Add missing MODULE_ALIAS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/09/2021 18:21, Krzysztof Kozlowski wrote:
> On 17/09/2021 16:44, Horia Geantă wrote:
>> On 9/17/2021 1:33 PM, Krzysztof Kozlowski wrote:
>>> On 17/09/2021 11:51, Horia Geantă wrote:
>>>> On 9/16/2021 5:06 PM, Marek Vasut wrote:
>>>>> On 9/16/21 3:59 PM, Krzysztof Kozlowski wrote:
>>>>>> On 16/09/2021 15:41, Marek Vasut wrote:
>>>>>>> Add MODULE_ALIAS for caam and caam_jr modules, so they can be auto-loaded.
>>>>>>>
>>>>>>> Signed-off-by: Marek Vasut <marex@xxxxxxx>
>>>>>>> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
>>>>>>> Cc: Horia Geantă <horia.geanta@xxxxxxx>
>>>>>>> Cc: Iuliana Prodan <iuliana.prodan@xxxxxxx>
>>>>>>> Cc: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>>>>>>> ---
>>>>>>>   drivers/crypto/caam/ctrl.c | 1 +
>>>>>>>   drivers/crypto/caam/jr.c   | 1 +
>>>>>>>   2 files changed, 2 insertions(+)
>>>>>>>
>>>>>>
>>>>>> Since you marked it as RFC, let me share a comment - would be nice to
>>>>>> see here explanation why do you need module alias.
>>>>>>
>>>>>> Drivers usually do not need module alias to be auto-loaded, unless the
>>>>>> subsystem/bus reports different alias than one used for binding. Since
>>>>>> the CAAM can bind only via OF, I wonder what is really missing here. Is
>>>>>> it a MFD child (it's one of cases this can happen)?
>>>>>
>>>>> I noticed the CAAM is not being auto-loaded on boot, and then I noticed 
>>>>> the MODULE_ALIAS fixes cropping up in the kernel log, but I couldn't 
>>>>> find a good documentation for that MODULE_ALIAS. So I was hoping to get 
>>>>> a feedback on it.
>>>>>
>>>> What platform are you using?
>>>>
>>>> "make modules_install" should take care of adding the proper aliases,
>>>> relying on the MODULE_DEVICE_TABLE() macro in the caam, caam_jr drivers.
>>>>
>>>> modules.alias file should contain:
>>>> alias of:N*T*Cfsl,sec4.0C* caam
>>>> alias of:N*T*Cfsl,sec4.0 caam
>>>> alias of:N*T*Cfsl,sec-v4.0C* caam
>>>> alias of:N*T*Cfsl,sec-v4.0 caam
>>>> alias of:N*T*Cfsl,sec4.0-job-ringC* caam_jr
>>>> alias of:N*T*Cfsl,sec4.0-job-ring caam_jr
>>>> alias of:N*T*Cfsl,sec-v4.0-job-ringC* caam_jr
>>>> alias of:N*T*Cfsl,sec-v4.0-job-ring caam_jr
>>>
>>> Marek added a platform alias which is not present here on the list
>>> (because there are no platform device IDs). The proper question is who
>>> requests this device via a platform match? Who sends such event?
>>>
>> AFAICS the platform bus adds the "platform:" alias to uevent env.
>> in its .uevent callback - platform_uevent().
>>
>> When caam (platform) device is added, the uevent is generated with this env.,
>> which contains both OF-style and "platform:" modaliases.
> 
> I am not saying about theoretical case, I know that platform bus will
> send platform uevent. How did this device end up in platform bus so this
> uevent is being sent? It should be instantiated from OF on for example
> amba bus or directly from OF FDT scanning.
> 
> Therefore I have the same question - who requests device via a platform
> match? Is it used out-of-tree in different configuration?

I tried to reproduce such situation in case of a board I have with me
(Exynos5422). I have a platform_driver only with of_device_id table. The
driver is built as module. In my DTS the device node is like
(exynos5.dtsi and device is modified exynos-chipid to be a module):

       soc: soc {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;

                chipid: chipid@10000000 {
                        compatible = "samsung,exynos4210-chipid";
                        reg = <0x10000000 0x100>;
                };

		...
	};

The module was properly autoloaded (via OF aliases/events) and device
was matched.

Best regards,
Krzysztof



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux