void ps2port_setup() { if (! CONFIG_PS2PORT) return; dprintf(3, "init ps2port\n"); enable_hwirq(1, entry_09); enable_hwirq(12, entry_74); run_thread(keyboard_init, NULL); }
void ps2port_setup(void) { ASSERT32FLAT(); if (! CONFIG_PS2PORT) return; dprintf(3, "init ps2port\n"); enable_hwirq(1, FUNC16(entry_09)); enable_hwirq(12, FUNC16(entry_74)); run_thread(keyboard_init, NULL); }
static int init_card(struct w6692_hw *card) { int cnt = 3; u_long flags; spin_lock_irqsave(&card->lock, flags); disable_hwirq(card); spin_unlock_irqrestore(&card->lock, flags); if (request_irq(card->irq, w6692_irq, IRQF_SHARED, card->name, card)) { pr_info("%s: couldn't get interrupt %d\n", card->name, card->irq); return -EIO; } while (cnt--) { spin_lock_irqsave(&card->lock, flags); initW6692(card); enable_hwirq(card); spin_unlock_irqrestore(&card->lock, flags); msleep_interruptible(10); if (debug & DEBUG_HW) pr_notice("%s: IRQ %d count %d\n", card->name, card->irq, card->irqcnt); if (!card->irqcnt) { pr_info("%s: IRQ(%d) getting no IRQs during init %d\n", card->name, card->irq, 3 - cnt); reset_w6692(card); } else return 0; } free_irq(card->irq, card); return -EIO; }
static int __devinit init_card(struct sfax_hw *sf) { int ret, cnt = 3; u_long flags; ret = request_irq(sf->irq, speedfax_irq, IRQF_SHARED, sf->name, sf); if (ret) { pr_info("%s: couldn't get interrupt %d\n", sf->name, sf->irq); return ret; } while (cnt--) { spin_lock_irqsave(&sf->lock, flags); ret = sf->isac.init(&sf->isac); if (ret) { spin_unlock_irqrestore(&sf->lock, flags); pr_info("%s: ISAC init failed with %d\n", sf->name, ret); break; } enable_hwirq(sf); /* */ WriteISAC_IND(sf, ISAC_CMDR, 0x41); spin_unlock_irqrestore(&sf->lock, flags); msleep_interruptible(10); if (debug & DEBUG_HW) pr_notice("%s: IRQ %d count %d\n", sf->name, sf->irq, sf->irqcnt); if (!sf->irqcnt) { pr_info("%s: IRQ(%d) got no requests during init %d\n", sf->name, sf->irq, 3 - cnt); } else return 0; } free_irq(sf->irq, sf); return -EIO; }