[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