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