Lines Matching refs:dev
32 struct snd_device *dev;
37 dev = kzalloc(sizeof(*dev), GFP_KERNEL);
38 if (!dev)
40 INIT_LIST_HEAD(&dev->list);
41 dev->card = card;
42 dev->type = type;
43 dev->state = SNDRV_DEV_BUILD;
44 dev->device_data = device_data;
45 dev->ops = ops;
54 list_add(&dev->list, p);
59 static void __snd_device_disconnect(struct snd_device *dev)
61 if (dev->state == SNDRV_DEV_REGISTERED) {
62 if (dev->ops->dev_disconnect &&
63 dev->ops->dev_disconnect(dev))
64 dev_err(dev->card->dev, "device disconnect failure\n");
65 dev->state = SNDRV_DEV_DISCONNECTED;
69 static void __snd_device_free(struct snd_device *dev)
72 list_del(&dev->list);
74 __snd_device_disconnect(dev);
75 if (dev->ops->dev_free) {
76 if (dev->ops->dev_free(dev))
77 dev_err(dev->card->dev, "device free failure\n");
79 kfree(dev);
84 struct snd_device *dev;
86 list_for_each_entry(dev, &card->devices, list)
87 if (dev->device_data == device_data)
88 return dev;
108 struct snd_device *dev;
112 dev = look_for_dev(card, device_data);
113 if (dev)
114 __snd_device_disconnect(dev);
116 dev_dbg(card->dev, "device disconnect %p (from %pS), not found\n",
132 struct snd_device *dev;
136 dev = look_for_dev(card, device_data);
137 if (dev)
138 __snd_device_free(dev);
140 dev_dbg(card->dev, "device free %p (from %pS), not found\n",
145 static int __snd_device_register(struct snd_device *dev)
147 if (dev->state == SNDRV_DEV_BUILD) {
148 if (dev->ops->dev_register) {
149 int err = dev->ops->dev_register(dev);
153 dev->state = SNDRV_DEV_REGISTERED;
173 struct snd_device *dev;
177 dev = look_for_dev(card, device_data);
178 if (dev)
179 return __snd_device_register(dev);
191 struct snd_device *dev;
196 list_for_each_entry(dev, &card->devices, list) {
197 err = __snd_device_register(dev);
210 struct snd_device *dev;
214 list_for_each_entry_reverse(dev, &card->devices, list)
215 __snd_device_disconnect(dev);
224 struct snd_device *dev, *next;
228 list_for_each_entry_safe_reverse(dev, next, &card->devices, list) {
230 if (dev->type == SNDRV_DEV_CONTROL ||
231 dev->type == SNDRV_DEV_LOWLEVEL)
233 __snd_device_free(dev);
237 list_for_each_entry_safe_reverse(dev, next, &card->devices, list)
238 __snd_device_free(dev);
253 struct snd_device *dev;
255 dev = look_for_dev(card, device_data);
256 if (dev)
257 return dev->state;