diff mbox

ARM: dts: rockchip: add i2c-bus subnode to edp

Message ID 1476950845-28242-1-git-send-email-tomeu.vizoso@collabora.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tomeu Vizoso Oct. 20, 2016, 8:07 a.m. UTC
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 <tomeu.vizoso@collabora.com>
Cc: Randy Li <randy.li@rock-chips.com>
Cc: Jon Hunter <jonathanh@nvidia.com>
---
 arch/arm/boot/dts/rk3288.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Heiko Stübner Oct. 20, 2016, 1:45 p.m. UTC | #1
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 <tomeu.vizoso@collabora.com>
> Cc: Randy Li <randy.li@rock-chips.com>
> Cc: Jon Hunter <jonathanh@nvidia.com>
> ---
>  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 {
Tomeu Vizoso Oct. 20, 2016, 1:47 p.m. UTC | #2
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 <tomeu.vizoso@collabora.com>
>> Cc: Randy Li <randy.li@rock-chips.com>
>> Cc: Jon Hunter <jonathanh@nvidia.com>
>> ---
>>  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 {
>
Heiko Stübner Oct. 21, 2016, 8:25 a.m. UTC | #3
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 <tomeu.vizoso@collabora.com>
> >> Cc: Randy Li <randy.li@rock-chips.com>
> >> Cc: Jon Hunter <jonathanh@nvidia.com>
> >> ---
> >> 
> >>  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 {
ayaka Oct. 22, 2016, 3:52 a.m. UTC | #4
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 <tomeu.vizoso@collabora.com>
>>>> Cc: Randy Li <randy.li@rock-chips.com>
>>>> Cc: Jon Hunter <jonathanh@nvidia.com>
>>>> ---
>>>>
>>>>   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
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>
diff mbox

Patch

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 {