Lines Matching refs:chip
12 #include "chip.h"
46 static void usb6fire_chip_abort(struct sfire_chip *chip)
48 if (chip) {
49 if (chip->pcm)
50 usb6fire_pcm_abort(chip);
51 if (chip->midi)
52 usb6fire_midi_abort(chip);
53 if (chip->comm)
54 usb6fire_comm_abort(chip);
55 if (chip->control)
56 usb6fire_control_abort(chip);
57 if (chip->card) {
58 snd_card_disconnect(chip->card);
59 snd_card_free_when_closed(chip->card);
60 chip->card = NULL;
65 static void usb6fire_chip_destroy(struct sfire_chip *chip)
67 if (chip) {
68 if (chip->pcm)
69 usb6fire_pcm_destroy(chip);
70 if (chip->midi)
71 usb6fire_midi_destroy(chip);
72 if (chip->comm)
73 usb6fire_comm_destroy(chip);
74 if (chip->control)
75 usb6fire_control_destroy(chip);
76 if (chip->card)
77 snd_card_free(chip->card);
86 struct sfire_chip *chip = NULL;
134 chip = card->private_data;
135 chips[regidx] = chip;
136 chip->dev = device;
137 chip->regidx = regidx;
138 chip->intf_count = 1;
139 chip->card = card;
141 ret = usb6fire_comm_init(chip);
145 ret = usb6fire_midi_init(chip);
149 ret = usb6fire_pcm_init(chip);
153 ret = usb6fire_control_init(chip);
162 usb_set_intfdata(intf, chip);
166 usb6fire_chip_destroy(chip);
172 struct sfire_chip *chip;
174 chip = usb_get_intfdata(intf);
175 if (chip) { /* if !chip, fw upload has been performed */
176 chip->intf_count--;
177 if (!chip->intf_count) {
179 devices[chip->regidx] = NULL;
180 chips[chip->regidx] = NULL;
183 chip->shutdown = true;
184 usb6fire_chip_abort(chip);
185 usb6fire_chip_destroy(chip);