Lines Matching refs:hw_config

2279 static int init_deskpro_m(struct address_info *hw_config)  in init_deskpro_m()  argument
2307 static int init_deskpro(struct address_info *hw_config) in init_deskpro() argument
2365 switch (hw_config->io_base) in init_deskpro()
2380 DDB(printk("init_deskpro: Invalid MSS port %x\n", hw_config->io_base)); in init_deskpro()
2505 int probe_ms_sound(struct address_info *hw_config, struct resource *ports) in probe_ms_sound() argument
2509 DDB(printk("Entered probe_ms_sound(%x, %d)\n", hw_config->io_base, hw_config->card_subtype)); in probe_ms_sound()
2511 if (hw_config->card_subtype == 1) /* Has no IRQ/DMA registers */ in probe_ms_sound()
2514 return ad1848_detect(ports, NULL, hw_config->osp); in probe_ms_sound()
2517 if (deskpro_xl && hw_config->card_subtype == 2) /* Compaq Deskpro XL */ in probe_ms_sound()
2519 if (!init_deskpro(hw_config)) in probe_ms_sound()
2525 if (!init_deskpro_m(hw_config)) in probe_ms_sound()
2535 if ((tmp = inb(hw_config->io_base + 3)) == 0xff) /* Bus float */ in probe_ms_sound()
2540 if (!(ret = ad1848_detect(ports, NULL, hw_config->osp))) in probe_ms_sound()
2551 …N_ERR "No MSS signature detected on port 0x%x (0x%x)\n", hw_config->io_base, (int) inb(hw_config->… in probe_ms_sound()
2553 if (!(ret = ad1848_detect(ports, NULL, hw_config->osp))) in probe_ms_sound()
2556 hw_config->card_subtype = 1; in probe_ms_sound()
2559 if ((hw_config->irq != 5) && in probe_ms_sound()
2560 (hw_config->irq != 7) && in probe_ms_sound()
2561 (hw_config->irq != 9) && in probe_ms_sound()
2562 (hw_config->irq != 10) && in probe_ms_sound()
2563 (hw_config->irq != 11) && in probe_ms_sound()
2564 (hw_config->irq != 12)) in probe_ms_sound()
2566 printk(KERN_ERR "MSS: Bad IRQ %d\n", hw_config->irq); in probe_ms_sound()
2569 if (hw_config->dma != 0 && hw_config->dma != 1 && hw_config->dma != 3) in probe_ms_sound()
2571 printk(KERN_ERR "MSS: Bad DMA %d\n", hw_config->dma); in probe_ms_sound()
2578 if (hw_config->dma == 0 && inb(hw_config->io_base + 3) & 0x80) in probe_ms_sound()
2583 if (hw_config->irq > 7 && hw_config->irq != 9 && inb(hw_config->io_base + 3) & 0x80) in probe_ms_sound()
2585 printk(KERN_ERR "MSS: Can't use IRQ%d with a 8 bit card/slot\n", hw_config->irq); in probe_ms_sound()
2588 return ad1848_detect(ports, NULL, hw_config->osp); in probe_ms_sound()
2591 void attach_ms_sound(struct address_info *hw_config, struct resource *ports, struct module *owner) in attach_ms_sound() argument
2605 int config_port = hw_config->io_base + 0; in attach_ms_sound()
2606 int version_port = hw_config->io_base + 3; in attach_ms_sound()
2607 int dma = hw_config->dma; in attach_ms_sound()
2608 int dma2 = hw_config->dma2; in attach_ms_sound()
2610 if (hw_config->card_subtype == 1) /* Has no IRQ/DMA registers */ in attach_ms_sound()
2612 hw_config->slots[0] = ad1848_init("MS Sound System", ports, in attach_ms_sound()
2613 hw_config->irq, in attach_ms_sound()
2614 hw_config->dma, in attach_ms_sound()
2615 hw_config->dma2, 0, in attach_ms_sound()
2616 hw_config->osp, in attach_ms_sound()
2624 bits = interrupt_bits[hw_config->irq]; in attach_ms_sound()
2627 printk(KERN_ERR "MSS: Bad IRQ %d\n", hw_config->irq); in attach_ms_sound()
2668 hw_config->dma = dma; in attach_ms_sound()
2669 hw_config->dma2 = dma2; in attach_ms_sound()
2673 hw_config->slots[0] = ad1848_init("MS Sound System", ports, in attach_ms_sound()
2674 hw_config->irq, in attach_ms_sound()
2676 hw_config->osp, in attach_ms_sound()
2680 void unload_ms_sound(struct address_info *hw_config) in unload_ms_sound() argument
2682 ad1848_unload(hw_config->io_base + 4, in unload_ms_sound()
2683 hw_config->irq, in unload_ms_sound()
2684 hw_config->dma, in unload_ms_sound()
2685 hw_config->dma2, 0); in unload_ms_sound()
2686 sound_unload_audiodev(hw_config->slots[0]); in unload_ms_sound()
2687 release_region(hw_config->io_base, 4); in unload_ms_sound()
2901 struct address_info *hw_config, int slot) in ad1848_init_generic() argument
2909 hw_config->io_base = pnp_port_start(ad1848_dev, ad1848_isapnp_list[slot].mss_io); in ad1848_init_generic()
2910 hw_config->irq = pnp_irq(ad1848_dev, ad1848_isapnp_list[slot].irq); in ad1848_init_generic()
2911 hw_config->dma = pnp_dma(ad1848_dev, ad1848_isapnp_list[slot].dma); in ad1848_init_generic()
2913 hw_config->dma2 = pnp_dma(ad1848_dev, ad1848_isapnp_list[slot].dma2); in ad1848_init_generic()
2915 hw_config->dma2 = -1; in ad1848_init_generic()
2916 hw_config->card_subtype = ad1848_isapnp_list[slot].type; in ad1848_init_generic()
2925 static int __init ad1848_isapnp_init(struct address_info *hw_config, struct pnp_card *bus, int slot) in ad1848_isapnp_init() argument
2931 if(ad1848_init_generic(bus, hw_config, slot)) { in ad1848_isapnp_init()
2936 hw_config->io_base, hw_config->irq, hw_config->dma, in ad1848_isapnp_init()
2937 hw_config->dma2); in ad1848_isapnp_init()
2943 static int __init ad1848_isapnp_probe(struct address_info *hw_config) in ad1848_isapnp_probe() argument
2969 if(ad1848_isapnp_init(hw_config, bus, i)) { in ad1848_isapnp_probe()