On Fri, Sep 16, 2011 at 11:53:16AM +0800, Scott Jiang wrote:
2011/9/15 Mark Brown broonie@opensource.wolfsonmicro.com:
On Wed, Sep 14, 2011 at 11:27:28AM +0800, Scott Jiang wrote:
in alsa lib snd_config_hook_load_for_all_cards(), use sndrv_ctl_card_info->driver to determine card config, not sndrv_ctl_card_info->name, though card name contains enough info.
So the issue isn't that the driver doesn't have a name, it's that you don't like the name it was given.
Do you mean alsa lib needs to modify its way to determine which card config to load? I don't think alsa lib guys will agree.
Well, that's one option.
The changelog needs to explain this, and also explain why this is an issue in this one driver.
Not only for this one driver, it's a problem for all drivers under asoc. Because sndrv_ctl_card_info->driver is an empty string now.
So if that's the case then it seems very clear that a driver specific change isn't a good way of addressing the issue. If the driver name is null it actually seems like modifying userspace should be very easy, we simply need to fall back to reading the card name if the driver name is empty.
This sounds like you should fix userspace. It does go back to the issue I regularly raise with the Blackfin code constantly assuming that there can be a single driver which covers all combinations of a Blackfin CPU with a given CODEC.
As I have said it was caused by ASoC before. It is not a guilt of blackfin. All drivers under ASoC must name their card config the same as their codec driver's name because asoc copy codec name to snd_card->driver and alsa lib get it through sndrv_ctl_card_info->driver. They must match.
Right, but if the Blackfin community had been alert to the idea that not all machines using a given CODEC are the same it should have been obvious that this was a poor identifier to use for this and something was wrong.
Now ASoC doesn't copy codec name to snd_card->driver so we can rename it to bfin-ad73311 if you like this kind of name style.
No, doing something that requires updates to every single machine driver isn't good (unless you're going to go through and update every one of them I guess, but even then it's not great).