Messages in this thread | | | Date | Thu, 06 Feb 2014 05:22:41 -0800 | From | Guenter Roeck <> | Subject | Re: [PATCH 0/8] da9055: Driver initialisation fixes, add DT support |
| |
On 02/06/2014 03:46 AM, Opensource [Adam Thomson] wrote: > On Thu, Feb 06, 2014 at 00:54:11AM +0000, Guenter Roeck wrote: > >> Adam, >> >> You don't really explain what the problem actually is. Can you elaborate ? > > Sorry, yes. For the conflicting device Ids, both the PMIC and the CODEC used > the same I2C Id string, which meant if you tried to intiate both together on the > same bus, then the second would fail. > > For the removal of platform_get_irq_byname(), the reason for this was that it > was conflicting with regmap_irq_get_virq() when the IRQ value returned from > platform_get_irq_byname() was being passed to regmap_irq_get_virq(). The result > for the code was that it would try to request a threaded IRQ using an invalid > IRQ number (have also described this further in patch 0004 mail thread, > https://lkml.org/lkml/2014/2/6/126). > >> >> Also, I have been using platform_get_irq() to get the interrupt resource >> in mfd client drivers and similar situations. Wouldn't this work here as well >> if you don't want to use platform_get_irq_byname() ? > > What I could've done is use platform_get_irq_byname() and avoided using > regmap_irq_get_virq() as I would already have the correct VIRQ to pass to > request_threaded_irq(), but I figured that using regmap_irq_get_virq() made > more sense at the time, and was unable to use both. >
I may be missing something, but I think the problem may be that you are doing two mappings instead of just one. I don't think you need to call regmap_irq_get_virq() at all.
Guenter
| |