lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171213143912.GN3322@vireshk-i7>
Date:   Wed, 13 Dec 2017 20:09:12 +0530
From:   Viresh Kumar <viresh.kumar@...aro.org>
To:     Russell King - ARM Linux <linux@...linux.org.uk>
Cc:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>, nm@...com,
        Rajendra Nayak <rnayak@...eaurora.org>, s.hauer@...gutronix.de,
        Stephen Boyd <sboyd@...eaurora.org>,
        linux-kernel@...r.kernel.org, xuwei5@...ilicon.com,
        robdclark@...il.com, robh+dt@...nel.org, fabio.estevam@....com,
        Vincent Guittot <vincent.guittot@...aro.org>,
        shawnguo@...nel.org, linux-arm-kernel@...ts.infradead.org,
        l.stach@...gutronix.de
Subject: Re: [PATCH V4 08/12] boot_constraint: Manage deferrable constraints

On 13-12-17, 10:33, Russell King - ARM Linux wrote:
> 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?

My requirement is only to get the struct device * for the DT node and I don't
really need to get into the bus specific details at all. I was not sure if there
is a way to lookup for the "struct device" by its DT node currently and so
depended on helpers like of_find_device_by_node(). Can you please point me to
the routine (or the way we can traverse all devices) ?

> 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?

As I said earlier, I don't really need to work at the bus level. I just need the
device structure and so that may not be required.

-- 
viresh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ