[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <201401091105.20727.arnd@arndb.de>
Date: Thu, 9 Jan 2014 11:05:20 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Roger Quadros <rogerq@...com>
Cc: Kishon Vijay Abraham I <kishon@...com>, tj@...nel.org,
sergei.shtylyov@...entembedded.com, b.zolnierkie@...sung.com,
hdegoede@...hat.com, linux-ide@...r.kernel.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
Balaji T K <balajitk@...com>
Subject: Re: [PATCH v3 2/3] ata: ahci_platform: Manage SATA PHY
On Thursday 09 January 2014, Roger Quadros wrote:
> >> if (!IS_ERR(hpriv->phy)) {
> >> rc = phy_init(hpriv->phy);
> >> if (rc)
> >> goto disable_unprepare_clk;
> >>
> >> rc = phy_power_on(hpriv->phy);
> >> if (rc) {
> >> phy_exit(hpriv->phy);
> >> goto disable_unprepare_clk;
> >> }
> >> }
> >
> > As I said, I'd prefer to set hpriv->phy to NULL in case of -ENODEV,
> > but functionally it seems right (with the fixup from your other mail).
> >
>
> Why do you prefer setting hpriv->phy to NULL instead of using IS_ERR() check
> before hpriv->phy is used?
> The latter seems to be the norm at least among clock framework users.
Two reasons:
1. It feels more natural to read "if (clk)" in driver code as a check for
"a clock exists" than "if (!IS_ERR(clk))".
2. It clarifies that this code path is only there to check for the
clk-not-present case, not for other errors.
Obviously the first check after clk_get needs to be IS_ERR() because that
is the documented interface, but then you should decide on the action
based on the specific error.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists