[ALSA] dynamic minors (3/6): store device-specific object pointers dynamically

Instead of storing the pointers to the device-specific structures in an
array, put them into the struct snd_minor, and look them up dynamically.

This makes the device type modules independent of the minor number
encoding.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
diff --git a/include/sound/hwdep.h b/include/sound/hwdep.h
index 04b20bc..c679e5b 100644
--- a/include/sound/hwdep.h
+++ b/include/sound/hwdep.h
@@ -43,6 +43,7 @@
 
 struct snd_hwdep {
 	struct snd_card *card;
+	struct list_head list;
 	int device;
 	char id[32];
 	char name[80];