[PATCH V2 2/2] regulator: mt6323: Add support for MT6323 regulator

John Crispin blogic at openwrt.org
Mon Jan 25 04:33:21 PST 2016



On 25/01/2016 13:30, Javier Martinez Canillas wrote:
> Hello John,
> 
> On Mon, Jan 25, 2016 at 9:19 AM, John Crispin <blogic at openwrt.org> wrote:
>> Hi,
>>
>> On 25/01/2016 13:11, Javier Martinez Canillas wrote:
>>> Hello,
>>>
>>> On Mon, Jan 25, 2016 at 7:40 AM, John Crispin <blogic at openwrt.org> wrote:
>>>> From: Chen Zhong <chen.zhong at mediatek.com>
>>>
>>> [snip]
>>>
>>>> +}
>>>> +
>>>> +static struct platform_driver mt6323_regulator_driver = {
>>>> +       .driver = {
>>>> +               .name = "mt6323-regulator",
>>>> +       },
>>>> +       .probe = mt6323_regulator_probe,
>>>> +};
>>>> +
>>>
>>> You don't have a .of_match table but according the DT bindings, the
>>> compatible string "mediatek,mt6323-regulator" should be used so there
>>> should be a OF match table or the vendor prefix of the compatible
>>> string won't be used for matching (i.e: fallbacks to the driver .name
>>> for match).
>>
>> the driver is probed via drivers/mfd/mt6397-core.c and does not require
>> the OF match table. It loads fine just like the mt6397 driver.
>>
> 
> The MFD driver sets .of_compatible = "mediatek,mt6397-regulator" for
> the MFD cell so I'm pretty sure that the platform bus .uevent callback
> will report a MODALIAS=of:NfooT<NULL>C"mediatek,mt6397-regulator" so
> that's what udev is going to pass to kmod but:
> 
> kmod load of:NfooT<NULL>C"mediatek,mt6397-regulator"
> 
> is not going to succeed since there won't be a kernel module with that alias.
> 
> Did you really try building it as a module and checked that it auto loads?
> 

Hi,

ok, you mean kmod loading. I was only looking at probing. i'll fix it
and send a patch to also fix it for mt6397.

	John

>>>
>>>> +module_platform_driver(mt6323_regulator_driver);
>>>> +
>>>> +MODULE_AUTHOR("Chen Zhong <chen.zhong at mediatek.com>");
>>>> +MODULE_DESCRIPTION("Regulator Driver for MediaTek MT6397 PMIC");
>>>> +MODULE_LICENSE("GPL");
>>>> +MODULE_ALIAS("platform:mt6323-regulator");
>>>
>>> This alias should not be needed if you provide a OF match table and a
>>> MODULE_DEVICE_TABLE(of, foo);
>>
>> see above.
>>
> 
> In any case, I think the correct thing to do is to provide a .match
> and .of_match tables for the platform driver. Since in the future if
> you need to support another device with the same driver, you will need
> to add another MODULE_ALIAS(). And also is better to be consistent on
> what is matched and what is reported to user-space as a module alias.
> 
>>         John
> 
> Bets regards,
> Javier
> 
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
> 



More information about the Linux-mediatek mailing list