Lines Matching refs:hw_config

177 static int __init probe_pss(struct address_info *hw_config)  in probe_pss()  argument
182 devc->base = hw_config->io_base; in probe_pss()
183 irq = devc->irq = hw_config->irq; in probe_pss()
184 dma = devc->dma = hw_config->dma; in probe_pss()
185 devc->osp = hw_config->osp; in probe_pss()
687 static int __init attach_pss(struct address_info *hw_config) in attach_pss() argument
692 devc->base = hw_config->io_base; in attach_pss()
693 devc->irq = hw_config->irq; in attach_pss()
694 devc->dma = hw_config->dma; in attach_pss()
695 devc->osp = hw_config->osp; in attach_pss()
698 if (!probe_pss(hw_config)) in attach_pss()
710 if (sound_alloc_dma(hw_config->dma, "PSS")) in attach_pss()
713 release_region(hw_config->io_base, 0x10); in attach_pss()
714 release_region(hw_config->io_base+0x10, 0x9); in attach_pss()
720 release_region(hw_config->io_base, 0x10); in attach_pss()
721 release_region(hw_config->io_base+0x10, 0x9); in attach_pss()
727 release_region(hw_config->io_base, 0x10); in attach_pss()
728 release_region(hw_config->io_base+0x10, 0x9); in attach_pss()
736 conf_printf(tmp, hw_config); in attach_pss()
740 static int __init probe_pss_mpu(struct address_info *hw_config) in probe_pss_mpu() argument
748 ports = request_region(hw_config->io_base, 2, "mpu401"); in probe_pss_mpu()
754 set_io_base(devc, CONF_MIDI, hw_config->io_base); in probe_pss_mpu()
755 if (!set_irq(devc, CONF_MIDI, hw_config->irq)) { in probe_pss_mpu()
775 if ((inb(hw_config->io_base + 1) & 0x80) == 0) /* Input data avail */ in probe_pss_mpu()
776 inb(hw_config->io_base); /* Discard it */ in probe_pss_mpu()
781 if (!probe_mpu401(hw_config, ports)) in probe_pss_mpu()
784 attach_mpu401(hw_config, THIS_MODULE); /* Slot 1 */ in probe_pss_mpu()
785 if (hw_config->slots[1] != -1) /* The MPU driver installed itself */ in probe_pss_mpu()
786 midi_devs[hw_config->slots[1]]->coproc = &pss_coproc_operations; in probe_pss_mpu()
789 release_region(hw_config->io_base, 2); in probe_pss_mpu()
1031 static int __init probe_pss_mss(struct address_info *hw_config) in probe_pss_mss() argument
1040 if (!request_region(hw_config->io_base, 4, "WSS config")) { in probe_pss_mss()
1044 ports = request_region(hw_config->io_base + 4, 4, "ad1848"); in probe_pss_mss()
1047 release_region(hw_config->io_base, 4); in probe_pss_mss()
1050 set_io_base(devc, CONF_WSS, hw_config->io_base); in probe_pss_mss()
1051 if (!set_irq(devc, CONF_WSS, hw_config->irq)) { in probe_pss_mss()
1055 if (!set_dma(devc, CONF_WSS, hw_config->dma)) { in probe_pss_mss()
1065 for (timeout = 0; timeout < 100000 && (inb(hw_config->io_base + WSS_INDEX) & in probe_pss_mss()
1069 outb((0x0b), hw_config->io_base + WSS_INDEX); /* Required by some cards */ in probe_pss_mss()
1071 for (timeout = 0; (inb(hw_config->io_base + WSS_DATA) & WSS_AUTOCALIBRATION) && in probe_pss_mss()
1075 if (!probe_ms_sound(hw_config, ports)) in probe_pss_mss()
1092 attach_ms_sound(hw_config, ports, THIS_MODULE); /* Slot 0 */ in probe_pss_mss()
1094 if (hw_config->slots[0] != -1) in probe_pss_mss()
1097 audio_devs[hw_config->slots[0]]->coproc = &pss_coproc_operations; in probe_pss_mss()
1101 devc->ad_mixer_dev = audio_devs[hw_config->slots[0]]->mixer_dev; in probe_pss_mss()
1106 release_region(hw_config->io_base + 4, 4); in probe_pss_mss()
1107 release_region(hw_config->io_base, 4); in probe_pss_mss()
1111 static inline void __exit unload_pss(struct address_info *hw_config) in unload_pss() argument
1113 release_region(hw_config->io_base, 0x10); in unload_pss()
1114 release_region(hw_config->io_base+0x10, 0x9); in unload_pss()
1117 static inline void __exit unload_pss_mpu(struct address_info *hw_config) in unload_pss_mpu() argument
1119 unload_mpu401(hw_config); in unload_pss_mpu()
1122 static inline void __exit unload_pss_mss(struct address_info *hw_config) in unload_pss_mss() argument
1124 unload_ms_sound(hw_config); in unload_pss_mss()