2016-10-20 08:08:55

by Tomeu Vizoso

[permalink] [raw]
Subject: [PATCH] ARM: dts: rockchip: add i2c-bus subnode to edp

Add an empty 'i2c-bus' subnode to the edp node just so that the I2C core
doesn't attemp to parse the 'ports' subnode as containing i2c devices.

This is to avoid spurious failure messages such as:

i2c i2c-6: of_i2c: modalias failure on /dp@ff970000/ports

Signed-off-by: Tomeu Vizoso <[email protected]>
Cc: Randy Li <[email protected]>
Cc: Jon Hunter <[email protected]>
---
arch/arm/boot/dts/rk3288.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 2f814ffeb605..94f4b7eecca2 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -1075,6 +1075,11 @@
};
};
};
+
+ i2c-bus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
};

hdmi: hdmi@ff980000 {
--
2.7.4


2016-10-20 13:46:13

by Heiko Stübner

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add i2c-bus subnode to edp

Am Donnerstag, 20. Oktober 2016, 10:07:25 schrieb Tomeu Vizoso:
> Add an empty 'i2c-bus' subnode to the edp node just so that the I2C core
> doesn't attemp to parse the 'ports' subnode as containing i2c devices.
>
> This is to avoid spurious failure messages such as:
>
> i2c i2c-6: of_i2c: modalias failure on /dp@ff970000/ports

On the one hand, the edp really has an i2c bus - with its only client the EDID
listening at 0x50 (and maybe 0x30).

On the other hand, adding an empty bus to the (implementation independent)
devicetree just to make the Linux i2c subsystem happy sounds heavily like a
implementation-specific hack, as the edp i2c bus doesn't leak into the outside
world otherwise.

I guess this empty i2c bus not being part of the binding document points
heavily into the implementation-specific corner :-) .

My short search on other patches touching this didn't reveal anything but
maybe this was already discussed somewhere and found to be ok?


Another option could be to just make of_i2c_register_device silent if
of_modalias_node returns -ENODEV?


Heiko

> Signed-off-by: Tomeu Vizoso <[email protected]>
> Cc: Randy Li <[email protected]>
> Cc: Jon Hunter <[email protected]>
> ---
> arch/arm/boot/dts/rk3288.dtsi | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
> index 2f814ffeb605..94f4b7eecca2 100644
> --- a/arch/arm/boot/dts/rk3288.dtsi
> +++ b/arch/arm/boot/dts/rk3288.dtsi
> @@ -1075,6 +1075,11 @@
> };
> };
> };
> +
> + i2c-bus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> };
>
> hdmi: hdmi@ff980000 {

2016-10-20 13:48:02

by Tomeu Vizoso

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add i2c-bus subnode to edp

On 10/20/2016 03:45 PM, Heiko St?bner wrote:
> Am Donnerstag, 20. Oktober 2016, 10:07:25 schrieb Tomeu Vizoso:
>> Add an empty 'i2c-bus' subnode to the edp node just so that the I2C core
>> doesn't attemp to parse the 'ports' subnode as containing i2c devices.
>>
>> This is to avoid spurious failure messages such as:
>>
>> i2c i2c-6: of_i2c: modalias failure on /dp@ff970000/ports
>
> On the one hand, the edp really has an i2c bus - with its only client the EDID
> listening at 0x50 (and maybe 0x30).
>
> On the other hand, adding an empty bus to the (implementation independent)
> devicetree just to make the Linux i2c subsystem happy sounds heavily like a
> implementation-specific hack, as the edp i2c bus doesn't leak into the outside
> world otherwise.
>
> I guess this empty i2c bus not being part of the binding document points
> heavily into the implementation-specific corner :-) .
>
> My short search on other patches touching this didn't reveal anything but
> maybe this was already discussed somewhere and found to be ok?

Here it is:

http://www.spinics.net/lists/linux-tegra/msg27862.html

Regards,

Tomeu

> Another option could be to just make of_i2c_register_device silent if
> of_modalias_node returns -ENODEV?
>
>
> Heiko
>
>> Signed-off-by: Tomeu Vizoso <[email protected]>
>> Cc: Randy Li <[email protected]>
>> Cc: Jon Hunter <[email protected]>
>> ---
>> arch/arm/boot/dts/rk3288.dtsi | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
>> index 2f814ffeb605..94f4b7eecca2 100644
>> --- a/arch/arm/boot/dts/rk3288.dtsi
>> +++ b/arch/arm/boot/dts/rk3288.dtsi
>> @@ -1075,6 +1075,11 @@
>> };
>> };
>> };
>> +
>> + i2c-bus {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + };
>> };
>>
>> hdmi: hdmi@ff980000 {
>

2016-10-21 08:26:02

by Heiko Stübner

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add i2c-bus subnode to edp

Am Donnerstag, 20. Oktober 2016, 15:47:56 CEST schrieb Tomeu Vizoso:
> On 10/20/2016 03:45 PM, Heiko St?bner wrote:
> > Am Donnerstag, 20. Oktober 2016, 10:07:25 schrieb Tomeu Vizoso:
> >> Add an empty 'i2c-bus' subnode to the edp node just so that the I2C core
> >> doesn't attemp to parse the 'ports' subnode as containing i2c devices.
> >>
> >> This is to avoid spurious failure messages such as:
> >>
> >> i2c i2c-6: of_i2c: modalias failure on /dp@ff970000/ports
> >
> > On the one hand, the edp really has an i2c bus - with its only client the
> > EDID listening at 0x50 (and maybe 0x30).
> >
> > On the other hand, adding an empty bus to the (implementation independent)
> > devicetree just to make the Linux i2c subsystem happy sounds heavily like
> > a
> > implementation-specific hack, as the edp i2c bus doesn't leak into the
> > outside world otherwise.
> >
> > I guess this empty i2c bus not being part of the binding document points
> > heavily into the implementation-specific corner :-) .
> >
> > My short search on other patches touching this didn't reveal anything but
> > maybe this was already discussed somewhere and found to be ok?
>
> Here it is:
>
> http://www.spinics.net/lists/linux-tegra/msg27862.html

thanks ... I'm still not sure about the placeholder though, aka needing an
undocumented subnode to make a Linux error message silent.

In the thread you pointed to I also did not see any dt-maintainer involvement
pointing one way or another, but spinics is often not easy to navigate
threads, so I may have missed that.


> > Another option could be to just make of_i2c_register_device silent if
> > of_modalias_node returns -ENODEV?


Heiko

> >> Signed-off-by: Tomeu Vizoso <[email protected]>
> >> Cc: Randy Li <[email protected]>
> >> Cc: Jon Hunter <[email protected]>
> >> ---
> >>
> >> arch/arm/boot/dts/rk3288.dtsi | 5 +++++
> >> 1 file changed, 5 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/rk3288.dtsi
> >> b/arch/arm/boot/dts/rk3288.dtsi
> >> index 2f814ffeb605..94f4b7eecca2 100644
> >> --- a/arch/arm/boot/dts/rk3288.dtsi
> >> +++ b/arch/arm/boot/dts/rk3288.dtsi
> >> @@ -1075,6 +1075,11 @@
> >>
> >> };
> >>
> >> };
> >>
> >> };
> >>
> >> +
> >> + i2c-bus {
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> + };
> >>
> >> };
> >>
> >> hdmi: hdmi@ff980000 {


2016-10-22 03:53:02

by Randy Li

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add i2c-bus subnode to edp


On 10/21/2016 04:25 PM, Heiko Stuebner wrote:
> Am Donnerstag, 20. Oktober 2016, 15:47:56 CEST schrieb Tomeu Vizoso:
>> On 10/20/2016 03:45 PM, Heiko St?bner wrote:
>>> Am Donnerstag, 20. Oktober 2016, 10:07:25 schrieb Tomeu Vizoso:
>>>> Add an empty 'i2c-bus' subnode to the edp node just so that the I2C core
>>>> doesn't attemp to parse the 'ports' subnode as containing i2c devices.
>>>>
>>>> This is to avoid spurious failure messages such as:
>>>>
>>>> i2c i2c-6: of_i2c: modalias failure on /dp@ff970000/ports
>>> On the one hand, the edp really has an i2c bus - with its only client the
>>> EDID listening at 0x50 (and maybe 0x30).
>>>
>>> On the other hand, adding an empty bus to the (implementation independent)
>>> devicetree just to make the Linux i2c subsystem happy sounds heavily like
>>> a
>>> implementation-specific hack, as the edp i2c bus doesn't leak into the
>>> outside world otherwise.
>>>
>>> I guess this empty i2c bus not being part of the binding document points
>>> heavily into the implementation-specific corner :-) .
>>>
>>> My short search on other patches touching this didn't reveal anything but
>>> maybe this was already discussed somewhere and found to be ok?
>> Here it is:
>>
>> http://www.spinics.net/lists/linux-tegra/msg27862.html
> thanks ... I'm still not sure about the placeholder though, aka needing an
> undocumented subnode to make a Linux error message silent.
Sorry, I report the error result, it would work.

And about the problem at this thread beginning, I found I have to use
something like Xserver to access DRM or the panel would not be power on.
The legacy fbdev won't help.
But there is still problem to be solved, so the eDP panel for firefly is
not ready yet.
>
> In the thread you pointed to I also did not see any dt-maintainer involvement
> pointing one way or another, but spinics is often not easy to navigate
> threads, so I may have missed that.
>
>
>>> Another option could be to just make of_i2c_register_device silent if
>>> of_modalias_node returns -ENODEV?
>
> Heiko
>
>>>> Signed-off-by: Tomeu Vizoso <[email protected]>
>>>> Cc: Randy Li <[email protected]>
>>>> Cc: Jon Hunter <[email protected]>
>>>> ---
>>>>
>>>> arch/arm/boot/dts/rk3288.dtsi | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/arch/arm/boot/dts/rk3288.dtsi
>>>> b/arch/arm/boot/dts/rk3288.dtsi
>>>> index 2f814ffeb605..94f4b7eecca2 100644
>>>> --- a/arch/arm/boot/dts/rk3288.dtsi
>>>> +++ b/arch/arm/boot/dts/rk3288.dtsi
>>>> @@ -1075,6 +1075,11 @@
>>>>
>>>> };
>>>>
>>>> };
>>>>
>>>> };
>>>>
>>>> +
>>>> + i2c-bus {
>>>> + #address-cells = <1>;
>>>> + #size-cells = <0>;
>>>> + };
>>>>
>>>> };
>>>>
>>>> hdmi: hdmi@ff980000 {
>
>
> _______________________________________________
> Linux-rockchip mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>