Lines Matching refs:scc

99 static int sb_register_oss(struct sb_card_config *scc, struct sb_module_options *sbmo)  in sb_register_oss()  argument
101 if (!request_region(scc->conf.io_base, 16, "soundblaster")) { in sb_register_oss()
103 kfree(scc); in sb_register_oss()
107 if (!sb_dsp_detect(&scc->conf, 0, 0, sbmo)) { in sb_register_oss()
108 release_region(scc->conf.io_base, 16); in sb_register_oss()
110 kfree(scc); in sb_register_oss()
113 if(!sb_dsp_init(&scc->conf, THIS_MODULE)) { in sb_register_oss()
115 kfree(scc); in sb_register_oss()
118 if(scc->mpucnf.io_base > 0) { in sb_register_oss()
119 scc->mpu = 1; in sb_register_oss()
121 if(!probe_sbmpu(&scc->mpucnf, THIS_MODULE)) in sb_register_oss()
122 scc->mpu = 0; in sb_register_oss()
128 static void sb_unload(struct sb_card_config *scc) in sb_unload() argument
130 sb_dsp_unload(&scc->conf, 0); in sb_unload()
131 if(scc->mpu) in sb_unload()
132 unload_sbmpu(&scc->mpucnf); in sb_unload()
133 kfree(scc); in sb_unload()
167 static void sb_dev2cfg(struct pnp_dev *dev, struct sb_card_config *scc) in sb_dev2cfg() argument
169 scc->conf.io_base = -1; in sb_dev2cfg()
170 scc->conf.irq = -1; in sb_dev2cfg()
171 scc->conf.dma = -1; in sb_dev2cfg()
172 scc->conf.dma2 = -1; in sb_dev2cfg()
173 scc->mpucnf.io_base = -1; in sb_dev2cfg()
174 scc->mpucnf.irq = -1; in sb_dev2cfg()
175 scc->mpucnf.dma = -1; in sb_dev2cfg()
176 scc->mpucnf.dma2 = -1; in sb_dev2cfg()
180 if(!strncmp("CTL",scc->card_id,3)) { in sb_dev2cfg()
181 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
182 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
183 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
184 scc->conf.dma2 = pnp_dma(dev,1); in sb_dev2cfg()
185 scc->mpucnf.io_base = pnp_port_start(dev,1); in sb_dev2cfg()
188 if(!strncmp("tBA",scc->card_id,3)) { in sb_dev2cfg()
189 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
190 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
191 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
192 scc->conf.dma2 = pnp_dma(dev,1); in sb_dev2cfg()
195 if(!strncmp("ESS",scc->card_id,3)) { in sb_dev2cfg()
196 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
197 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
198 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
199 scc->conf.dma2 = pnp_dma(dev,1); in sb_dev2cfg()
200 scc->mpucnf.io_base = pnp_port_start(dev,2); in sb_dev2cfg()
203 if(!strncmp("CMI",scc->card_id,3)) { in sb_dev2cfg()
204 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
205 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
206 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
207 scc->conf.dma2 = pnp_dma(dev,1); in sb_dev2cfg()
210 if(!strncmp("RWB",scc->card_id,3)) { in sb_dev2cfg()
211 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
212 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
213 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
216 if(!strncmp("ALS",scc->card_id,3)) { in sb_dev2cfg()
217 if(!strncmp("ALS0007",scc->card_id,7)) { in sb_dev2cfg()
218 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
219 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
220 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
222 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
223 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
224 scc->conf.dma = pnp_dma(dev,1); in sb_dev2cfg()
225 scc->conf.dma2 = pnp_dma(dev,0); in sb_dev2cfg()
229 if(!strncmp("RTL",scc->card_id,3)) { in sb_dev2cfg()
230 scc->conf.io_base = pnp_port_start(dev,0); in sb_dev2cfg()
231 scc->conf.irq = pnp_irq(dev,0); in sb_dev2cfg()
232 scc->conf.dma = pnp_dma(dev,1); in sb_dev2cfg()
233 scc->conf.dma2 = pnp_dma(dev,0); in sb_dev2cfg()
242 struct sb_card_config *scc; in sb_pnp_probe() local
250 if((scc = kzalloc(sizeof(struct sb_card_config), GFP_KERNEL)) == NULL) { in sb_pnp_probe()
259 scc->card_id = card_id->id; in sb_pnp_probe()
260 scc->dev_id = dev->id->id; in sb_pnp_probe()
261 sb_dev2cfg(dev, scc); in sb_pnp_probe()
264 "dma=%d, dma16=%d\n", scc->conf.io_base, scc->conf.irq, in sb_pnp_probe()
265 scc->conf.dma, scc->conf.dma2); in sb_pnp_probe()
267 pnp_set_card_drvdata(card, scc); in sb_pnp_probe()
270 return sb_register_oss(scc, &sbmo); in sb_pnp_probe()
275 struct sb_card_config *scc = pnp_get_card_drvdata(card); in sb_pnp_remove() local
277 if(!scc) in sb_pnp_remove()
280 printk(KERN_INFO "sb: PnP: Removing %s\n", scc->card_id); in sb_pnp_remove()
282 sb_unload(scc); in sb_pnp_remove()