Lines Matching refs:hw_config
135 static int __init config_pas_hw(struct address_info *hw_config) in config_pas_hw() argument
140 pas_irq = hw_config->irq; in config_pas_hw()
162 hw_config->irq=-1; in config_pas_hw()
173 hw_config->irq=-1; in config_pas_hw()
178 if (request_irq(pas_irq, pasintr, 0, "PAS16",hw_config) < 0) { in config_pas_hw()
180 hw_config->irq=-1; in config_pas_hw()
186 if (hw_config->dma < 0 || hw_config->dma > 7) in config_pas_hw()
188 printk(KERN_ERR "PAS16: Invalid DMA selection %d", hw_config->dma); in config_pas_hw()
189 hw_config->dma=-1; in config_pas_hw()
194 pas_write(dma_bits[hw_config->dma], 0xF389); in config_pas_hw()
195 if (!dma_bits[hw_config->dma]) in config_pas_hw()
197 printk(KERN_ERR "PAS16: Invalid DMA selection %d", hw_config->dma); in config_pas_hw()
198 hw_config->dma=-1; in config_pas_hw()
203 if (sound_alloc_dma(hw_config->dma, "PAS16")) in config_pas_hw()
206 hw_config->dma=-1; in config_pas_hw()
282 static int __init detect_pas_hw(struct address_info *hw_config) in detect_pas_hw() argument
294 outb((hw_config->io_base >> 2), 0x9A01); /* Set base address */ in detect_pas_hw()
295 pas_translate_code = hw_config->io_base - 0x388; in detect_pas_hw()
323 static void __init attach_pas_card(struct address_info *hw_config) in attach_pas_card() argument
325 pas_irq = hw_config->irq; in attach_pas_card()
327 if (detect_pas_hw(hw_config)) in attach_pas_card()
342 conf_printf(temp, hw_config); in attach_pas_card()
344 if (config_pas_hw(hw_config)) in attach_pas_card()
346 pas_pcm_init(hw_config); in attach_pas_card()
353 static inline int __init probe_pas(struct address_info *hw_config) in probe_pas() argument
355 return detect_pas_hw(hw_config); in probe_pas()
358 static void __exit unload_pas(struct address_info *hw_config) in unload_pas() argument
363 if (hw_config->dma>0) in unload_pas()
364 sound_free_dma(hw_config->dma); in unload_pas()
365 if (hw_config->irq>0) in unload_pas()
366 free_irq(hw_config->irq, hw_config); in unload_pas()