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

Javier Martinez Canillas
2014-08-08T12:38:24Z

On 08/08/2014 02:24 PM, Bartlomiej Zolnierkiewicz wrote:
>
> It seems that Daniel Drake has already fixed ODROID dtsi with:
>
> [PATCH 1/2] ARM: dts: Enable PMIC interrupts on ODROID
> http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg34191.html
>
> and
>
> [PATCH 2/2] ARM: dts: ODROID i2c improvements
> http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg34190.html
>
> Both patches are needed to fix boot on ODROID. They also fix RTC driver
> registration:
>
> MFD driver error message with only patch #1 applied:
> [ 0.164488] max77686 0-0009: failed to add RTC irq chip: -6
>
> RTC driver messages with both patches #1 and #2 applied:
> [ 1.731461] max77686-rtc max77686-rtc: max77686_rtc_probe
> [ 1.833303] max77686-rtc max77686-rtc: rtc core: registered max77686-rtc as rtc0
>

Great!

> Kukjin, could you please apply Daniel's fixes? They are critical for ODROID
> boards.
>
> Javier, I think that it still would be useful to apply my patch for max77686
> as it makes new kernels work with older dtbs and leaves the possibility to
> use PMIC on boards without IRQ connected. If you agree I will post v2 of
> the patch (with suspend/resume handlers fixed and bindings documentation
> updated).
>

Well it really depends on whether it is possible or not to have a design where a
IRQ line is not connected to the PMIC. If such a design makes sense then your
patch should be applied since the driver should not fail to probe in that case.

But then the DT binding doc should be changed and the "interrupt" property moved
from required to optional in order to reflect that it's not a requirement.

If the motivation is just to support old DTB then I tend to disagree since those
DTBs were not following the documented binding. Drivers should be robust enough
to not crash of course but if a required property is not defined in a DTB but
failing to probe is the right thing to do IMHO.

Best regards,
Javier