Re: [RFC PATCH 1/2] dt-bindings: tas2562: Add firmware support for tas2563

From: Dan Murphy
Date: Tue Jun 09 2020 - 15:21:02 EST


Mark

On 6/9/20 1:47 PM, Mark Brown wrote:
On Tue, Jun 09, 2020 at 01:06:50PM -0500, Dan Murphy wrote:

I could make a default as you suggested to include i2c address and bus in
the name.  But the TAS2563 does not need the firmware to operate and the
2562 does not have a DSP.
That's fine, the driver can just use the compatible string to check this
and not offer any of the DSP related stuff (it should do this regardless
of the method used here). I'm guessing the regmap configs should also
be different.

The driver does check the compatible to determine if DSP loading is available for the device.

The driver also checks to see if the firmware file is declared in the DT.

So it has to pass 2 checks to even load and parse the firmware to present the controls for the programs and configs.


What if there was an ALSA control instead that passed in the firmware name
from the user space instead of using the DT?
Then the control can load and parse the firmware and wait for the user to
select the program.
This would solve a user from having ot update the DT to use a firmware.
That's really not very idiomatic for how Linux does stuff and seems to
pretty much guarantee issues with hotplugging controls and ordering -
you'd need special userspace to start up even if it was just a really
simple DSP config doing only speaker correction or something. I'm not
sure what the advantage would be - what problem is this solving over
static names?

IMO having a static name is the problem. It is an inflexible design.  Besides the firmware-name property seems to be used in other drivers to declare firmwares for the boards.

But if no one is complaining or submitting patches within the codecs to be more flexible with firmware then I can just hard code the name like other drivers do.

Dan