On Thu, Nov 01, 2018 at 11:40:01AM +0000, Richard Fitzgerald wrote: > On 01/11/18 10:28, Charles Keepax wrote: > > So pulling this out from earlier discussions in this thread, > > it seems I can happily move all the child device registration > > into device tree. I will also try this for the next version of > > the patch, unless anyone wants to object? But it does change > > the DT binding quite a lot as the individual sub drivers now > > each require their own node rather than one single unified > > Lochnagar node. > We went through this discussion with the Madera MFD patches. I had > originally implemented it using DT to register the child drivers and > it was nice in some ways each driver having its own node. But Mark > and Rob didn't like it so I went back to non-DT child registration with > all sharing the parent MFD node. It would be nice if we could stick to > one way of doing it so that Cirrus drivers don't flip-flop between > different styles of DT binding. The basic concern I have is encoding the current Linux idea of how to split the subfunctions up into drivers into an ABI - the clocks in CODEC drivers is the obvious example, they might want to be in the clock API in future. If there's a very direct mapping onto individual hardware blocks that worries me a lot less since it's more obviously reflecting how the hardware is designed.