Initcall ordering

Gary Thomas gary at mlbassoc.com
Sun Apr 25 00:26:18 EST 2010


On 04/23/2010 07:24 PM, Wolfram Sang wrote:
> Hi Gary,
>
> (adding linux-i2c)
>
> On Fri, Apr 23, 2010 at 09:56:07AM -0600, Gary Thomas wrote:
>> I'm having trouble with the I2C devices on my 8347 platform.
>> The problem is that I2C device probe() functions are only called
>> once, as the I2C bus is being initialized (in this case fsl_i2c_init())
>> I have 2 devices on this bus, one device gets it's initcall
>> before fsl_i2c_init, the second one does not :-(  This means
>> that the second device is never probed.
>
> Can you try this patch?

No improvement, I'm afraid.

Boot log with initcall_debug=1 attached.  I have 2 devices on I2C-1
   0x48 == tsc2007 touch screen controller
   0x60 == pca9551 LED controller
You can see that the tsc2007 driver gets initialized before the bus
starts, but the pca9551 driver comes too late and never gets probed :-(

Here's the snippet of my device tree:
		i2c at 3100 {
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <1>;
			compatible = "fsl-i2c";
			reg = <0x3100 0x100>;
			interrupts = <15 0x8>;
			interrupt-parent = <&ipic>;
			dfsrr;

			ts at 01 {
				compatible = "ti,tsc2007";
				reg = <0x48>;
			};

			leds at 01 {
				compatible = "philips,leds-pca955x";
				reg = <0x60>;
			};
		};

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: boot.log
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20100424/c3d85033/attachment.asc>


More information about the Linuxppc-dev mailing list