#ifdef CONFIG_PMAC_PBOOK 
static int __init via_pmu_start(void){	if (vias == NULL)		return -ENODEV;	bright_req_1.complete = 1;	bright_req_2.complete = 1;#ifdef CONFIG_PMAC_PBOOK	batt_req.complete = 1;#endif#ifdef CONFIG_PPC32	if (pmu_kind == PMU_KEYLARGO_BASED)		openpic_set_irq_priority(vias->intrs[0].line,					 OPENPIC_PRIORITY_DEFAULT + 1);#endif	if (request_irq(vias->intrs[0].line, via_pmu_interrupt, 0, "VIA-PMU",			(void *)0)) {		printk(KERN_ERR "VIA-PMU: can't get irq %d\n",		       vias->intrs[0].line);		return -EAGAIN;	}	if (pmu_kind == PMU_KEYLARGO_BASED && gpio_irq != -1) {		if (request_irq(gpio_irq, gpio1_interrupt, 0, "GPIO1 ADB", (void *)0))			printk(KERN_ERR "pmu: can't get irq %d (GPIO1)\n", gpio_irq);		gpio_irq_enabled = 1;	}	/* Enable interrupts */	out_8(&via[IER], IER_SET | SR_INT | CB1_INT);	pmu_fully_inited = 1;	/* Make sure PMU settle down before continuing. This is _very_ important	 * since the IDE probe may shut interrupts down for quite a bit of time. If	 * a PMU communication is pending while this happens, the PMU may timeout	 * Not that on Core99 machines, the PMU keeps sending us environement	 * messages, we should find a way to either fix IDE or make it call	 * pmu_suspend() before masking interrupts. This can also happens while	 * scolling with some fbdevs.	 */	do {		pmu_poll();	} while (pmu_state != idle);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8c8709334cec803368a432a33e0f2e116d48fe07/via-pmu.c/buggy/drivers/macintosh/via-pmu.c