On Thu, Nov 08, 2018 at 10:14:01AM +0000, Charles Keepax wrote: > +static const struct of_device_id lochnagar_of_match[] = { > + { .compatible = "cirrus,lochnagar-regulator" }, > + {}, > +}; This is obviously just dumping the Linux driver model into the DT, the regulators are clearly different. If you want to explicitly list the regulators in DT it'd be better to reflect the hardware and enumerate the regulators individually - you can use one driver for all the MICVDDs and a separate one for VDDCORE for example.