On Fri, Dec 01, 2017 at 04:58:16PM +0800, Erick Chen wrote: > +static const struct of_device_id sc2731_regulator_of_match[] = { > + {.compatible = "sprd,sc2731-regulator",}, > + {} > +}; > +MODULE_DEVICE_TABLE(of, sc2731_regulator_of_match); This looks like a subdriver for one specific device that can't be reused with anything else as it's specific to an individual device so I'd not expect it to appear as a separate thing in DT - the way Linux splits things up might not map well onto other OSs and may even change in future versions of Linux (look at all the audio drivers with clock controllers in them for example). I'd expect the MFD to just register the subdevice without needing it to appear in the DT. > +subsys_initcall(sc2731_regulator_init); > +module_exit(sc2731_regulator_exit); Why not module_platform_driver()? Deferred probe should sort out probe order.
Attachment:
signature.asc
Description: PGP signature