Lines Matching refs:chip
12 #include "chip.h"
45 static void usb6fire_chip_abort(struct sfire_chip *chip)
47 if (chip) {
48 if (chip->pcm)
49 usb6fire_pcm_abort(chip);
50 if (chip->midi)
51 usb6fire_midi_abort(chip);
52 if (chip->comm)
53 usb6fire_comm_abort(chip);
54 if (chip->control)
55 usb6fire_control_abort(chip);
56 if (chip->card) {
57 snd_card_disconnect(chip->card);
58 snd_card_free_when_closed(chip->card);
59 chip->card = NULL;
64 static void usb6fire_chip_destroy(struct sfire_chip *chip)
66 if (chip) {
67 if (chip->pcm)
68 usb6fire_pcm_destroy(chip);
69 if (chip->midi)
70 usb6fire_midi_destroy(chip);
71 if (chip->comm)
72 usb6fire_comm_destroy(chip);
73 if (chip->control)
74 usb6fire_control_destroy(chip);
75 if (chip->card)
76 snd_card_free(chip->card);
85 struct sfire_chip *chip = NULL;
133 chip = card->private_data;
134 chips[regidx] = chip;
135 chip->dev = device;
136 chip->regidx = regidx;
137 chip->intf_count = 1;
138 chip->card = card;
140 ret = usb6fire_comm_init(chip);
144 ret = usb6fire_midi_init(chip);
148 ret = usb6fire_pcm_init(chip);
152 ret = usb6fire_control_init(chip);
161 usb_set_intfdata(intf, chip);
165 usb6fire_chip_destroy(chip);
171 struct sfire_chip *chip;
173 chip = usb_get_intfdata(intf);
174 if (chip) { /* if !chip, fw upload has been performed */
175 chip->intf_count--;
176 if (!chip->intf_count) {
178 devices[chip->regidx] = NULL;
179 chips[chip->regidx] = NULL;
182 chip->shutdown = true;
183 usb6fire_chip_abort(chip);
184 usb6fire_chip_destroy(chip);