[Letux-kernel] Bug in i2c_device_probe

Belisko Marek marek.belisko at gmail.com
Fri Jun 15 22:41:01 CEST 2018


Hi Tony, Nikolaus,
On Mon, Jun 11, 2018 at 9:08 AM Tony Lindgren <tony at atomide.com> wrote:
>
> * H. Nikolaus Schaller <hns at goldelico.com> [180610 08:33]:
> > Hi Tony,
> > I've observed this message on the Pyra with letux-4.17.0-lpae kernel:
> >
> > [    1.806477] platform 48070000.i2c: Retrying from deferred list
> > [    1.813802] ------------[ cut here ]------------
> > [    1.818666] WARNING: CPU: 1 PID: 778 at drivers/irqchip/irq-gic.c:1016 gic_irq_domain_translate+0x78/0x100
I tried following patch:
diff --git a/arch/arm/boot/dts/omap5-board-common.dtsi
b/arch/arm/boot/dts/omap5-board-common.dtsi
index 218892b..75684c5 100644
--- a/arch/arm/boot/dts/omap5-board-common.dtsi
+++ b/arch/arm/boot/dts/omap5-board-common.dtsi
@@ -393,7 +393,7 @@

        palmas: palmas at 48 {
                compatible = "ti,palmas";
-               interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
+               interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N */
                reg = <0x48>;
                interrupt-controller;
                #interrupt-cells = <2>;
@@ -425,7 +425,7 @@
                rtc {
                        compatible = "ti,palmas-rtc";
                        interrupt-parent = <&palmas>;
-                       interrupts = <8 IRQ_TYPE_NONE>;
+                       interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
                        ti,backup-battery-chargeable;
                        ti,backup-battery-charge-high-current;
                };
@@ -443,7 +443,7 @@
                palmas_pmic {
                        compatible = "ti,palmas-pmic";
                        interrupt-parent = <&palmas>;
-                       interrupts = <14 IRQ_TYPE_NONE>;
+                       interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "short-irq";

                        ti,ldo6-vibrator;
@@ -659,7 +659,7 @@
                pinctrl-names = "default";
                pinctrl-0 = <&twl6040_pins>;

-               interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /*
IRQ_SYS_2N cascaded to gic */
+               interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /*
IRQ_SYS_2N cascaded to gic */

                /* audpwron gpio defined in the board specific dts */


and it looks like board boots fine. I just see an issue with gpadc and
measuring voltage like:
[   91.059460] power_supply pyra-battery: driver failed to report
`voltage_now' property: -110
[   96.078130] palmas-gpadc 48070000.i2c:palmas at 48:gpadc: conversion
not completed
[   96.085980] palmas-gpadc 48070000.i2c:palmas at 48:gpadc: ADC start
conversion failed
[   96.100513] read channel error

it's just blind test without knowing too much details (I'm new in Pyra
development ;) ) I tried also IRQ_TYPE_LEVEL_LOW but in this case when
set for palmas board cannot find rootfs.
I'll try to do some checks why gpadc is not working though.


>
> Yes that needs to be fixed for all omap5 for the IRQ_TYPE_NONE
> users. We just need to set the proper EDGE/LEVEL and the
> direction for them in the omap5.dtsi file.
>
> > The code has a comment:
> >
> > 1015          /* Make it clear that broken DTs are... broken */
> > 1016          WARN_ON(*type == IRQ_TYPE_NONE);
> >
> > This would mean that something in the core DT is broken as we import the omap5-common.dtsi.
> >
> > I have researched a little:
> ...
> > Should this be #interrupt-cells = <2>?
>
> No we just need to stop using IRQ_TYPE_NONE :)
>
> Regards,
>
> Tony
> _______________________________________________
> http://projects.goldelico.com/p/gta04-kernel/
> Letux-kernel mailing list
> Letux-kernel at openphoenux.org
> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel

BR,

marek

-- 
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com


More information about the Letux-kernel mailing list