From: "Marek Behún" <kabel@kernel.org>
To: Lee Jones <lee@kernel.org>
Cc: Pavel Machek <pavel@ucw.cz>, linux-leds@vger.kernel.org
Subject: Re: [PATCH v3 6/6] leds: turris-omnia: add support for enabling/disabling HW gamma correction
Date: Mon, 21 Aug 2023 12:46:11 +0200 [thread overview]
Message-ID: <20230821124611.56bc70c3@dellmb> (raw)
In-Reply-To: <20230818103003.GS986605@google.com>
On Fri, 18 Aug 2023 11:30:03 +0100
Lee Jones <lee@kernel.org> wrote:
> > -static int omnia_cmd_read(const struct i2c_client *client, u8 cmd)
> > +static int omnia_cmd_read_raw(struct i2c_adapter *adapter, u8 addr, u8 cmd,
> > + void *reply, size_t len)
> > {
> > struct i2c_msg msgs[2];
> > - u8 reply;
> > int ret;
> >
> > - msgs[0].addr = client->addr;
> > + msgs[0].addr = addr;
> > msgs[0].flags = 0;
> > msgs[0].len = 1;
> > msgs[0].buf = &cmd;
> > - msgs[1].addr = client->addr;
> > + msgs[1].addr = addr;
> > msgs[1].flags = I2C_M_RD;
> > - msgs[1].len = 1;
> > - msgs[1].buf = &reply;
> > + msgs[1].len = len;
> > + msgs[1].buf = reply;
> >
> > - ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
> > + ret = i2c_transfer(adapter, msgs, ARRAY_SIZE(msgs));
> > if (likely(ret == ARRAY_SIZE(msgs)))
> > - return reply;
> > + return 0;
>
> Why not return ret and use that throughout?
>
> > else if (ret < 0)
> > return ret;
> > else
> > return -EIO;
> > }
>
As I explained to your similar question in your reply to patch 2/6
https://lore.kernel.org/linux-leds/20230821120136.130cc916@dellmb/T/#me5782c9896bc3d994cb36e8b5485d6368cd92da0
the reason I normalize to zero is because of the intended semantics of
these functions: return 0 on success, -errno on error.
If instead in omnia_cmd_read() and omnia_cmd_write() I simply return
the return value of the underlying functions, which are
i2c_transfer() for omnia_cmd_read()
i2c_master_send() for omnia_cmd_write()
the semantics would be inconsistent, because:
i2c_transfer() returns the number of successful I2C transfers,
i2c_manster_send() returns the number of written bytes over I2C.
Nonetheless, if you insist on this change, I will do it. Reluctantly
and with a silent protest, but I will not argue further, since I want
this functionality in upstream more than to argue over nitpicks :-)
Marek
next prev parent reply other threads:[~2023-08-21 10:46 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-02 16:07 [PATCH v3 0/6] leds: turris-omnia: updates Marek Behún
2023-08-02 16:07 ` [PATCH v3 1/6] leds: turris-omnia: drop unnecessary mutex locking Marek Behún
2023-08-18 8:09 ` Lee Jones
2023-08-18 9:23 ` (subset) " Lee Jones
2023-08-02 16:07 ` [PATCH v3 2/6] leds: turris-omnia: do not use SMBUS calls Marek Behún
2023-08-18 8:08 ` Lee Jones
2023-08-21 10:01 ` Marek Behún
2023-08-21 12:45 ` Lee Jones
2023-08-02 16:07 ` [PATCH v3 3/6] leds: turris-omnia: use sysfs_emit() instead of sprintf() Marek Behún
2023-08-18 9:18 ` (subset) " Lee Jones
2023-08-02 16:07 ` [PATCH v3 4/6] leds: turris-omnia: make set_brightness() more efficient Marek Behún
2023-08-18 9:42 ` Lee Jones
2023-08-21 10:14 ` Marek Behún
2023-08-21 12:39 ` Lee Jones
2023-08-02 16:07 ` [PATCH v3 5/6] leds: turris-omnia: support HW controlled mode via private trigger Marek Behún
2023-08-02 16:13 ` Marek Behún
2023-08-18 8:00 ` Lee Jones
2023-08-18 21:12 ` Jacek Anaszewski
2023-08-21 8:15 ` Lee Jones
2023-08-18 9:09 ` Lee Jones
2023-08-21 10:34 ` Marek Behún
2023-08-21 12:36 ` Lee Jones
2023-08-02 16:07 ` [PATCH v3 6/6] leds: turris-omnia: add support for enabling/disabling HW gamma correction Marek Behún
2023-08-18 10:30 ` Lee Jones
2023-08-21 10:46 ` Marek Behún [this message]
2023-08-21 12:26 ` Lee Jones
2023-08-14 7:33 ` [PATCH v3 0/6] leds: turris-omnia: updates Marek Behún
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=20230821124611.56bc70c3@dellmb \
--to=kabel@kernel.org \
--cc=lee@kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@ucw.cz \
/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