From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752708AbdLMKdl (ORCPT ); Wed, 13 Dec 2017 05:33:41 -0500 Received: from pandora.armlinux.org.uk ([78.32.30.218]:57054 "EHLO pandora.armlinux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751853AbdLMKdh (ORCPT ); Wed, 13 Dec 2017 05:33:37 -0500 Date: Wed, 13 Dec 2017 10:33:15 +0000 From: Russell King - ARM Linux To: Viresh Kumar Cc: Greg Kroah-Hartman , nm@ti.com, Rajendra Nayak , s.hauer@pengutronix.de, Stephen Boyd , linux-kernel@vger.kernel.org, xuwei5@hisilicon.com, robdclark@gmail.com, robh+dt@kernel.org, fabio.estevam@nxp.com, Vincent Guittot , shawnguo@kernel.org, linux-arm-kernel@lists.infradead.org, l.stach@pengutronix.de Subject: Re: [PATCH V4 08/12] boot_constraint: Manage deferrable constraints Message-ID: <20171213103315.GI10595@n2100.armlinux.org.uk> References: <88c7a0a6421d267c118f501ea1e920b04649002d.1509284255.git.viresh.kumar@linaro.org> <20171213095345.GJ13194@kroah.com> <20171213102707.GD3322@vireshk-i7> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171213102707.GD3322@vireshk-i7> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 13, 2017 at 03:57:07PM +0530, Viresh Kumar wrote: > On 13-12-17, 10:53, Greg Kroah-Hartman wrote: > > On Sun, Oct 29, 2017 at 07:18:56PM +0530, Viresh Kumar wrote: > > > +static void add_deferrable_of_single(struct device_node *np, > > > + struct dev_boot_constraint *constraints, > > > + int count) > > > +{ > > > + struct device *dev; > > > + int ret; > > > + > > > + if (!of_device_is_available(np)) > > > + return; > > > + > > > + ret = of_platform_bus_create(np, NULL, NULL, NULL, false); > > > + if (ret) > > > + return; > > > + > > > + if (of_device_is_compatible(np, "arm,primecell")) { > > > > Why is "arm,primecell" in the core code here? > > All we need here is a struct device pointer to add constraints. But how we get > the device node depends on what bus type the device corresponds to. Currently > this only support amba and platform devices, but we may need to get spi, i2c, > etc later on. > > How do you suggest to keep this stuff out of core here ? Are you asking me to > add a generic API in the OF core to find the struct device pointer using a node > pointer ? Why do we need this? Why can't we lookup the "struct device" by DT node, and then look at the device's bus type and decide what to do from that? Wouldn't a better solution be to use fwnode stuff for this, and make the bus-type handling a property of the bus type itself, pushing the bus specific code into the bus layer? -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up According to speedtest.net: 8.21Mbps down 510kbps up