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]
Date:   Sat, 4 Nov 2017 20:08:06 +0000
From:   Russell King - ARM Linux <linux@...linux.org.uk>
To:     Andrew Lunn <andrew@...n.ch>
Cc:     Stefan Wahren <stefan.wahren@...e.com>,
        Florian Fainelli <f.fainelli@...il.com>,
        Mark Rutland <mark.rutland@....com>,
        "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
        <devicetree@...r.kernel.org>, Sean Wang <sean.wang@...iatek.com>,
        Martin Kaiser <martin@...ser.cx>,
        Herbert Xu <herbert@...dor.apana.org.au>,
        Scott Branden <sbranden@...adcom.com>,
        Ray Jui <rjui@...adcom.com>, Matt Mackall <mpm@...enic.com>,
        Krzysztof Kozlowski <krzk@...nel.org>,
        linux-kernel@...r.kernel.org, Eric Anholt <eric@...olt.net>,
        Harald Freudenberger <freude@...ux.vnet.ibm.com>,
        Rob Herring <robh+dt@...nel.org>,
        "maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..." 
        <bcm-kernel-feedback-list@...adcom.com>,
        "open list:HARDWARE RANDOM NUMBER GENERATOR CORE" 
        <linux-crypto@...r.kernel.org>,
        PrasannaKumar Muralidharan <prasannatsmkumar@...il.com>,
        Steffen Trumtrar <s.trumtrar@...gutronix.de>,
        "moderated list:BROADCOM BCM2835 ARM ARCHITECTURE" 
        <linux-arm-kernel@...ts.infradead.org>,
        "moderated list:BROADCOM BCM2835 ARM ARCHITECTURE" 
        <linux-rpi-kernel@...ts.infradead.org>
Subject: Re: [PATCH 07/12] hwrng: bcm2835-rng: Manage an optional clock

On Sat, Nov 04, 2017 at 08:37:31PM +0100, Andrew Lunn wrote:
> Hi Florian
> 
> > > >> +	/* Clock is optional on most platforms */
> > > >> +	priv->clk = devm_clk_get(dev, NULL);
> > > >> +	if (IS_ERR(priv->clk))
> > > >> +		priv->clk = NULL;
> > > > 
> > > > at least in case of EPROBE_DEFERED this isn't the expected behavior. Maybe we should better trigger on non-existing clock?
> > > 
> > > Good point, so more like:
> > > 
> > > if (IS_ERR(priv->clk) && PTR_ERR(priv->clk) == -ENODEV)?
> > 
> 
> > Unfortunately we need to return the error in all other cases. Please
> > take a look at devm_usb_get_phy in dwc2 [1]. AFAIK we don't need to
> > take care of ENXIO in our case.
> 
> A few subsystems have a get_optional() call, e.g.
> devm_phy_optional_get(). It does not return an error when the phy is
> not supposed to exist, but in all other cases, it does.
> 
> Maybe consider adding devm_clk_get_optional()?

The clk API outside of DT doesn't have knowledge of when it's "complete"
to be able to determine whether the clock is not present or temporarily
missing.  I've already NAK'd this suggestion.

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ