Messages in this thread | | | Date | Tue, 31 Jan 2012 17:07:02 -0700 | From | Grant Likely <> | Subject | Re: [PATCH v3 2/2] gpio: pl061: enable interrupts with DT style binding |
| |
On Tue, Jan 31, 2012 at 08:44:19AM -0600, Rob Herring wrote: > On 01/31/2012 08:36 AM, Shawn Guo wrote: > > On Mon, Jan 30, 2012 at 11:31:39AM -0600, Rob Herring wrote: > > ... > >> -static void __init pl061_init_gc(struct pl061_gpio *chip, int irq_base) > >> +static void __init pl061_init_gc(struct pl061_gpio *chip, > >> + struct device_node *node, int irq_base) > >> { > >> struct irq_chip_type *ct; > >> > >> @@ -212,15 +212,17 @@ static void __init pl061_init_gc(struct pl061_gpio *chip, int irq_base) > >> ct->chip.irq_set_wake = irq_gc_set_wake; > >> ct->regs.mask = GPIOIE; > >> > >> - irq_setup_generic_chip(chip->irq_gc, IRQ_MSK(PL061_GPIO_NR), > >> - IRQ_GC_INIT_NESTED_LOCK, IRQ_NOREQUEST, 0); > >> + irq_setup_generic_chip_domain(chip->irq_gc, node, > >> + IRQ_MSK(PL061_GPIO_NR), > >> + IRQ_GC_INIT_NESTED_LOCK, > >> + IRQ_NOREQUEST, 0); > >> } > > > > The function irq_setup_generic_chip_domain() is wrapped by > > #ifdef CONFIG_IRQ_DOMAIN in patch #1. Is it true that pl061 driver > > will never work with !IRQ_DOMAIN case? > > You're right unless Grant thinks IRQ_DOMAIN should always be enabled for > ARM? Otherwise, I'll add something like this for !IRQ_DOMAIN:
I think always having IRQ_DOMAIN on are is where we want to get to; or at least have platforms that use it depend on it or select it. I don't want to see interrupt controllers both use irq_domain and also their own open-coded translation mechanism. That's just a fail.
If irq_domain isn't acceptable to be enabled all the time, then it needs to be refactored until it is.
g.
| |