From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Hilman Date: Wed, 15 Feb 2012 19:59:19 +0000 Subject: Re: [PATCH v2] OMAPDSS: HACK: Ensure DSS clock domain gets out of idle when HDMI is enabled Message-Id: <87fweb98bs.fsf@ti.com> List-Id: References: <1328854552-30714-1-git-send-email-archit@ti.com> <1329220678.1845.68.camel@deskari> <4F3A5A5D.4020906@ti.com> <1329225311.1845.109.camel@deskari> <4F3A61EF.4030803@ti.com> <4F3A809E.3070508@ti.com> <4F3B9E8F.1020002@ti.com> <4F3BA6A2.60604@ti.com> <1329310317.1892.60.camel@deskari> <4F3BAD41.1020102@ti.com> In-Reply-To: <4F3BAD41.1020102@ti.com> (Benoit Cousson's message of "Wed, 15 Feb 2012 14:04:01 +0100") MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: "Cousson, Benoit" Cc: Tomi Valkeinen , Archit Taneja , linux-omap@vger.kernel.org, linux@arm.linux.org.uk, linux-fbdev@vger.kernel.org "Cousson, Benoit" writes: > + Kevin > > On 2/15/2012 1:51 PM, Tomi Valkeinen wrote: >> On Wed, 2012-02-15 at 13:35 +0100, Cousson, Benoit wrote: >> >>> I think that changing the device creation to change the dev->parent >>> should be pretty straightforward. >> >> That's not possible with the current kernel, right? >> >> We are now using omap_device_build() (in arch/arm/mach-omap2/display.c) >> to build the dss devices. Looking at the omap_device.c, the parent will >> always forcibly set to omap_device_parent. It'd be nice to be able to >> construct the device child-parent relationship the same way with both DT >> and non-DT cases. > > I guess this should not be needed anymore since now the whole PM > runtime stuff is handled using pm_domain. > > int omap_device_register(struct platform_device *pdev) > { > pr_debug("omap_device: %s: registering\n", pdev->name); > > pdev->dev.parent = &omap_device_parent; > pdev->dev.pm_domain = &omap_device_pm_domain; > return platform_device_add(pdev); > } > > > Kevin, > > Do we still need to set the dev.parent to omap_device_parent? Nope. > I guess the default &platform_bus parent is good enough and > potentially the DSS children should be able to overwrite that. Yes, now that we use PM domains, we don't need it. I just sent a patch to remove omap_device_parent. Kevin >> Or can I create only the dss_core with omap_device_build(), and create >> the rest normally with platform device functions, and make dss_core the >> parent of the rest? But are the hwmods then handled correctly? > > You can, the only issue if you create a regular platform device is > that you will miss the automatic pm_runtime support along with the > hwmod device creation mechanism + clock / PM. > > I think we can add an extra parameter to allow changing the > omap_device parent during omap_device_build.