+#include <linux/config.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/delay.h>
static int macio_do_gpio_irq_enable(struct pmf_function *func)
{
- unsigned int irq = irq_of_parse_and_map(func->node, 0);
- if (irq == NO_IRQ)
+ if (func->node->n_intrs < 1)
return -EINVAL;
- return request_irq(irq, macio_gpio_irq, 0, func->node->name, func);
+
+ return request_irq(func->node->intrs[0].line, macio_gpio_irq, 0,
+ func->node->name, func);
}
static int macio_do_gpio_irq_disable(struct pmf_function *func)
{
- unsigned int irq = irq_of_parse_and_map(func->node, 0);
- if (irq == NO_IRQ)
+ if (func->node->n_intrs < 1)
return -EINVAL;
- free_irq(irq, func);
+
+ free_irq(func->node->intrs[0].line, func);
return 0;
}
.write_reg32 = macio_do_write_reg32,
.read_reg32 = macio_do_read_reg32,
.write_reg8 = macio_do_write_reg8,
- .read_reg8 = macio_do_read_reg8,
+ .read_reg32 = macio_do_read_reg8,
.read_reg32_msrx = macio_do_read_reg32_msrx,
.read_reg8_msrx = macio_do_read_reg8_msrx,
.write_reg32_slm = macio_do_write_reg32_slm,
return 0;
pfbase_inited = 1;
- if (!machine_is(powermac))
- return 0;
DBG("Installing base platform functions...\n");