On Wed, Aug 19, 2020 at 6:38 PM Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Mon, Aug 17, 2020 at 04:11:03PM +0800, Tzung-Bi Shih wrote: > > I misunderstood. It still needs the compatible string to match the > > corresponding driver. > > No, it doesn't. The MFD should be registering the platform device. I guess I see. It lists the mfd_cell when calling devm_mfd_add_devices() in drivers/mfd/mt6397-core.c. It falls back to use driver name and device name to match. As long as the name provided in mfd_cell matches the platform driver name, it works. But I found struct mfd_cell also contains member .of_compatible. What is the difference if we use compatible string (as is) for this device instead of falling back to use device name to match?