From: antoine.tenart@bootlin.com (Antoine Tenart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH net-next v2 01/13] net: phy: sfp: make the i2c-bus property really optional
Date: Fri, 4 May 2018 19:19:27 +0200 [thread overview]
Message-ID: <20180504171927.GB13899@kwain> (raw)
In-Reply-To: <fd91699d-c290-8821-b4a6-0789071cfba1@gmail.com>
Hi Florian,
On Fri, May 04, 2018 at 10:03:16AM -0700, Florian Fainelli wrote:
> On 05/04/2018 06:56 AM, Antoine Tenart wrote:
> >
> > static int sfp_read(struct sfp *sfp, bool a2, u8 addr, void *buf, size_t len)
> > {
> > + if (!sfp->read)
> > + return -EOPNOTSUPP;
>
> -ENODEV would be closer to the intended meaning IMHO, those this could
> be argue that this is yet another color to paint the bikeshed with.
I thought about -ENODEV as well, but ended up choosing -EOPNOTSUPP for
some reason. But I'm really fine with both solutions, it really depends
on if we want to return a callback isn't available from a s/w point of
view (-EOPNOTSUPP) or a h/w point of view (-ENODEV).
> > ret = sfp_read(sfp, false, 0, &id, sizeof(id));
> > + if (ret == -EOPNOTSUPP)
> > + return ret;
>
> Can you find a way such that only sfp_sm_mod_probe() needs to check
> whether the sfp read/write operations returned failure and then we just
> make sure the SFP state machine does not make any more progress? Having
> to check the sfp_read()/sfp_write() operations all over the place sounds
> error prone and won't scale in the future.
I tried doing this in this way (only having logic in the probe
function), but that wasn't as simple as this solution and it seemed
quite invasive as these read/write calls can be called from a few
functions but many code paths (as it's a state machine). So I choose the
easiest solution to maintain in the long run, as each future state
machine update could impact this.
Thanks!
Antoine
--
Antoine T?nart, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2018-05-04 17:19 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-04 13:56 [PATCH net-next v2 00/13] net: mvpp2: phylink conversion Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 01/13] net: phy: sfp: make the i2c-bus property really optional Antoine Tenart
2018-05-04 17:03 ` Florian Fainelli
2018-05-04 17:19 ` Antoine Tenart [this message]
2018-05-04 13:56 ` [PATCH net-next v2 02/13] net: phy: sfp: handle non-wired SFP connectors Antoine Tenart
2018-05-04 17:04 ` Florian Fainelli
2018-05-04 17:17 ` Andrew Lunn
2018-05-04 17:23 ` Antoine Tenart
2018-05-05 15:39 ` Thomas Petazzoni
2018-05-05 17:48 ` Andrew Lunn
2018-05-08 11:52 ` Russell King - ARM Linux
2018-05-14 9:26 ` Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 03/13] net: phy: sfp: warn the user when no tx_disable pin is available Antoine Tenart
2018-05-04 17:07 ` Florian Fainelli
2018-05-04 17:14 ` Andrew Lunn
2018-05-05 20:38 ` Florian Fainelli
2018-05-05 20:52 ` Andrew Lunn
2018-05-08 12:45 ` Russell King - ARM Linux
2018-05-08 11:53 ` Russell King - ARM Linux
2018-05-04 13:56 ` [PATCH net-next v2 04/13] net: mvpp2: align the ethtool ops definition Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 05/13] net: mvpp2: phylink support Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 06/13] phy: add 2.5G SGMII mode to the phy_mode enum Antoine Tenart
2018-05-08 12:34 ` Russell King - ARM Linux
2018-05-14 8:37 ` Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 07/13] phy: cp110-comphy: 2.5G SGMII mode Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 08/13] net: mvpp2: 1000baseX support Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 09/13] net: mvpp2: 2500baseX support Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 10/13] arm64: dts: marvell: mcbin: add 10G SFP support Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 11/13] arm64: dts: marvell: mcbin: enable the fourth network interface Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 12/13] arm64: dts: marvell: 7040-db: describe the 10G SFP cage Antoine Tenart
2018-05-04 13:56 ` [PATCH net-next v2 13/13] arm64: dts: marvell: 8040-db: describe the 10G SFP cages Antoine Tenart
2018-05-08 3:18 ` [PATCH net-next v2 00/13] net: mvpp2: phylink conversion David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180504171927.GB13899@kwain \
--to=antoine.tenart@bootlin.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox