[PATCH V2 2/2] regulator: mt6323: Add support for MT6323 regulator
From: javier@dowhile0.org (Javier Martinez Canillas)
Date: 2016-01-25 13:19:20
Also in:
linux-mediatek, lkml
Hello John, On Mon, Jan 25, 2016 at 10:13 AM, John Crispin [off-list ref] wrote:
On 25/01/2016 13:35, Mark Brown wrote:quoted
On Mon, Jan 25, 2016 at 01:19:46PM +0100, John Crispin wrote:quoted
On 25/01/2016 13:11, Javier Martinez Canillas wrote:quoted
quoted
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).quoted
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.That's fine but you shouldn't have the compatible string in your binding document since it's not actually used or needed.Hi, correct me if i am wrong but if we remove the compatible string from the binding document, then we will also have to remove it from the dts and then the kernel won't be able to match the node to the driver and thus the regulator phandle derefs will fail.
The kernel doesn't need to match the compatible since the MFD driver register the device explicitly with mfd_add_devices(). In fact, the kernel is currently not matching the compatible, it is only matching because you provided a .of_compatible is provided in the mfd_cell. If you wan't subdevices for a MFD to be registered automatically by OF and the compatible matched like other buses, then your MFD driver needs to call of_platform_populate() instead mfd_add_devices().
John
Best regards, Javier