Re: [PATCH] mfd: max77686: fix support for devices without irq specified

Javier Martinez Canillas
2014-08-08T10:09:55Z

Hello,

On 08/08/2014 10:58 AM, Javier Martinez Canillas wrote:
>
>>
>> Not sufficient. You have to also fix RTC driver (OOPS from Trats2
>> attached). Also consider adding checks for (max77686->irq) to the
>> suspend and resume.
>>
>
> Right, the max77686 RTC driver assumes that an IRQ domain will be created on the
> mfd driver so a virtual IRQ can be mapped for the RTC alarm1 IRQ. This
> assumptions comes from the fact that the "interrupt" property is required
> according to the DT binding doc.
>

Although for Trats2 I see that arch/arm/boot/dts/exynos4412-trats2.dts defines
an interrupt, so I wonder why regmap_irq_get_virq() is giving an oops there:

max77686_pmic@09 {
compatible = "maxim,max77686";
interrupt-parent = <&gpx0>;
interrupts = <7 0>;
reg = <0x09>;
#clock-cells = <1>;
...

> So the max77686 RTC wakealarm was not working for these boards before?
>
> Just to be sure that I understand the issue: these boards don't really have an
> IRQ connected to the PMIC, is not that this information is just missing in the
> Device Tree, right?
>

By looking at Odroid's 3.8 based vendor tree I see that an IRQ for the max77686
PMIC is defined [0] using platform data:

static struct max77686_platform_data exynos4_max77686_info = {
.irq_gpio = EXYNOS4_GPX3(2),
.ono = EXYNOS4_GPX1(2),
.num_regulators = ARRAY_SIZE(max77686_regulators),
.regulators = max77686_regulators,
...

So maybe this information is missing in
arch/arm/boot/dts/exynos4412-odroid-common.dtsi?

Best regards,
Javier

[0]: