Allwinner CPUs have an on-chip codec that supports line out. This is a monolithic block that does not implement anything like standard I2S. We have implemented this by internally making a soc_card and then binding the DAI to a dummy NOP codec to make ASoC happy.
But now someone wants to add a MAX9768 amplifier which needs a codec driver to implement volume control.
So how should this be implemented? You want to use simple-audio-card when the MAX9768 is present.
But what about the dummy-codec case? Using simple-audio-card to bind to a dummy-codec clutters things up a lot. Plus the dummy-codec is not currently exposed to device trees.
And then there is the ordering problem, how do I know for sure MAX9768 is not going to be bound so that it is safe to bind to dummy-codec. Or should binding to MAX9768 simply override a binding to the dummy-codec?
If my dummy-codec is exposed into the device trees then this generates a bunch of NOP clutter in the tree using simple-audio-card to bind it.
Another idea, maybe one of those NOP SDPIF codecs could get an alias name like NOP or Dummy.