[alsa-devel] [PATCH] ALSA: HDSP: check for io box before uploading firmware
currently the hdsp driver tries to upload the firmware, even if the io box is not connected. this patch adds a check for the io box before trying to upload the firmware. thus instead of messages complaining about the fifo status and firmware loading failure, the driver gives a message that no multiface or digiface is connected.
Signed-off-by: Tim Blechmann tim@klingt.org --- sound/pci/rme9652/hdsp.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index d723543..cf9eb41 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c @@ -5045,6 +5045,9 @@ static int __devinit snd_hdsp_create(struct snd_card *card, /* we wait 2 seconds to let freshly inserted cardbus cards do their hardware init */ ssleep(2);
+ if ((err = hdsp_check_for_iobox(hdsp)) < 0) + return err; + if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) { #ifdef HDSP_FW_LOADER if ((err = hdsp_request_fw_loader(hdsp)) < 0) @@ -5057,7 +5060,7 @@ static int __devinit snd_hdsp_create(struct snd_card *card, /* init is complete, we return */ return 0; #endif - /* no iobox connected, we defer initialization */ + /* we defer initialization */ snd_printk(KERN_INFO "Hammerfall-DSP: card initialization pending : waiting for firmware\n"); if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0) return err;
Could someone get me some insight into the snd_kontrol_new? I'm especially interested in the "private_value" and "index" field. At least in usb_mixer.c it seems to me like private_value is used as the index!? If that's the case, when should index be used and when private_value? Is there any special convention for the string of "name" field?
LCID Fire wrote:
Could someone get me some insight into the snd_kontrol_new? I'm especially interested in the "private_value" and "index" field. At least in usb_mixer.c it seems to me like private_value is used as the index!? If that's the case, when should index be used and when private_value?
The index field is used when several controls have the same name.
The private_value field can be used by drivers for any purpose.
The functions for the Audigy 2 NX's LEDs store the LED number in the private_value field so that the same function can be used for all three LEDs without having to look at the control name.
Is there any special convention for the string of "name" field?
linux/Documentation/sound/alsa/ControlNames.txt
HTH Clemens
participants (3)
-
Clemens Ladisch
-
LCID Fire
-
Tim Blechmann