From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from opensource.wolfsonmicro.com ([80.75.67.52]:33144 "EHLO opensource2.wolfsonmicro.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755391Ab1H3Pqq (ORCPT ); Tue, 30 Aug 2011 11:46:46 -0400 Date: Tue, 30 Aug 2011 16:46:42 +0100 From: Mark Brown To: Laurent Pinchart Cc: Grant Likely , Guennadi Liakhovetski , Tomasz Stanislawski , Sylwester Nawrocki , Sakari Ailus , Mauro Carvalho Chehab , devicetree-discuss@lists.ozlabs.org, linux-media , Hans Verkuil , Sylwester Nawrocki , Marek Szyprowski , Tuukka Toivonen Subject: Re: [ANN] Meeting minutes of the Cambourne meeting Message-ID: <20110830154642.GM2061@opensource.wolfsonmicro.com> References: <201107261647.19235.laurent.pinchart@ideasonboard.com> <201108301742.56581.laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201108301742.56581.laurent.pinchart@ideasonboard.com> Sender: linux-media-owner@vger.kernel.org List-ID: On Tue, Aug 30, 2011 at 05:42:55PM +0200, Laurent Pinchart wrote: > A dependency system is tempting but will be very complex to implement > properly, especially when faced with cyclic dependencies. For instance the > OMAP3 ISP driver requires the camera sensor device to be present to proceed, > and the camera sensor requires a clock provided by the OMAP3 ISP. To solve > this we need to probe the OMAP3 ISP first, have it register its clock devices, > and then wait until all sensors become available. With composite devices like that where the borad has sufficient interesting stuff on it representing the board itself as a device (this is what ASoC does). > A probe deferral system is probably simpler, but it will have its share of > problems as well. In the above example, if the sensor is probed first, the > driver can return -EAGAIN in the probe() method as the clock isn't available > yet (I'm not sure how to differentiate between "not available yet" and "not > present in the system" though). However, if the OMAP3 ISP is probed first, > returning -EAGAIN in its probe() method won't really help, as we need to > register the clock before waiting for the sensor. Having a device for the camera subsystem as a whole breaks this loop as the probe of that device triggers the overall system probe.