Lines Matching defs:hw_config
137 static int __init config_pas_hw(struct address_info *hw_config)
142 pas_irq = hw_config->irq;
166 hw_config->irq=-1;
177 hw_config->irq=-1;
182 if (request_irq(pas_irq, pasintr, 0, "PAS16",hw_config) < 0) {
184 hw_config->irq=-1;
190 if (hw_config->dma < 0 || hw_config->dma > 7)
192 printk(KERN_ERR "PAS16: Invalid DMA selection %d", hw_config->dma);
193 hw_config->dma=-1;
198 pas_write(dma_bits[hw_config->dma], 0xF389);
199 if (!dma_bits[hw_config->dma])
201 printk(KERN_ERR "PAS16: Invalid DMA selection %d", hw_config->dma);
202 hw_config->dma=-1;
207 if (sound_alloc_dma(hw_config->dma, "PAS16"))
210 hw_config->dma=-1;
286 static int __init detect_pas_hw(struct address_info *hw_config)
298 outb((hw_config->io_base >> 2), 0x9A01); /* Set base address */
299 pas_translate_code = hw_config->io_base - 0x388;
327 static void __init attach_pas_card(struct address_info *hw_config)
329 pas_irq = hw_config->irq;
331 if (detect_pas_hw(hw_config))
341 conf_printf(temp, hw_config);
343 if (config_pas_hw(hw_config))
345 pas_pcm_init(hw_config);
352 static inline int __init probe_pas(struct address_info *hw_config)
354 return detect_pas_hw(hw_config);
357 static void __exit unload_pas(struct address_info *hw_config)
362 if (hw_config->dma>0)
363 sound_free_dma(hw_config->dma);
364 if (hw_config->irq>0)
365 free_irq(hw_config->irq, hw_config);