Messages in this thread | | | Date | Tue, 31 Jul 2012 11:20:53 -0600 | From | Stephen Warren <> | Subject | Re: [PATCH] mfd: arizona: convert to regmap_add_irq_chips |
| |
On 07/30/2012 12:03 PM, Mark Brown wrote: > On Mon, Jul 30, 2012 at 11:05:08AM -0600, Stephen Warren wrote: >> On 07/29/2012 02:38 PM, Mark Brown wrote: >>> On Fri, Jul 27, 2012 at 01:02:56PM -0600, Stephen Warren wrote: > >>>> 1) regmap_add_irq_chips() calls regmap_add_irq_chip() with irq==0 rather >>>> than -1, so in turn irq_domain_add_linear() is called rather than >>>> irq_domain_add_legacy(). This change could be avoided by providing an >>>> irq_bases array to regmap_add_irq_chips(). > >>> This is a problem. > >> OK, can you explain why? Is the problem the difference between the two >> types of IRQ domain? I would have assumed this was an internal detail of >> the driver hence not an issue. I assume there's no issue with >> known/static IRQ numbers, since both 0 and -1 end up dynamically >> allocating the IRQ bases IIRC. > > We have GPIOs we might want to do interrupts on, if the API doesn't > support providing a base we've got an issue.
I agree in general, but I don't see how this is a regression in this change - the arizona pdata doesn't specify an IRQ base anywhere, and hence the IRQ base is already dynamically allocated...
The (regmap-irq) API (in the patch I sent) does support optionally specifying a base if you want, it's just that the arizona-irq.c patch I sent didn't specify a base, since the original code didn't.
| |