summaryrefslogtreecommitdiff
path: root/sound/firewire/fireface/ff.h
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2017-03-31 16:06:00 +0300
committerTakashi Iwai <tiwai@suse.de>2017-04-05 22:31:26 +0300
commit324540c4e05c09c007f9e358cacb30b38f296bcc (patch)
tree94690a5a1fd5475a51179f210a840314b0e427b3 /sound/firewire/fireface/ff.h
parent17c4e5eadc4ab7db4c0655c124174a6d8e5f4dc5 (diff)
downloadlinux-324540c4e05c09c007f9e358cacb30b38f296bcc.tar.xz
ALSA: fireface: postpone sound card registration
Just after appearing on IEEE 1394 bus, this unit generates several bus resets. This is due to loading firmware from on-board flash memory and initialize hardware. It's better to postpone sound card registration. This commit schedules workqueue to process actual probe processing 2 seconds after the last bus-reset. The card instance is kept at unit probe callback and released at card free callback. Therefore, when the actual probe processing fails, the memory block is wasted. This is due to simplify driver implementation. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/fireface/ff.h')
-rw-r--r--sound/firewire/fireface/ff.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/firewire/fireface/ff.h b/sound/firewire/fireface/ff.h
index 64d488ec8264..a0faae18018a 100644
--- a/sound/firewire/fireface/ff.h
+++ b/sound/firewire/fireface/ff.h
@@ -20,9 +20,14 @@
#include <sound/core.h>
+#include "../lib.h"
+
struct snd_ff {
struct snd_card *card;
struct fw_unit *unit;
struct mutex mutex;
+
+ bool registered;
+ struct delayed_work dwork;
};
#endif