From: Oliver Schinagl <oliver+list@schinagl.nl>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Tomasz Figa <tomasz.figa@gmail.com>,
linux-arm-kernel@lists.infradead.org, arnd@arndb.de,
gregkh@linuxfoundation.org, Oliver Schinagl <oliver@schinagl.nl>,
linus.walleij@linaro.org, linux-kernel@vger.kernel.org,
andy.shevchenko@gmail.com, maxime.ripard@free-electrons.com,
linux-sunxi@googlegroups.com
Subject: Re: [PATCH 1/2] Initial support for Allwinner's Security ID fuses
Date: Mon, 17 Jun 2013 13:32:33 +0200 [thread overview]
Message-ID: <51BEF3D1.8050305@schinagl.nl> (raw)
In-Reply-To: <20130617112459.GD2718@n2100.arm.linux.org.uk>
On 17-06-13 13:25, Russell King - ARM Linux wrote:
> On Mon, Jun 17, 2013 at 12:36:47PM +0200, Oliver Schinagl wrote:
>> On 15-06-13 12:28, Tomasz Figa wrote:
>>> What is this version thingy?
>>>
>>> Is there a versioning scheme defined for this driver? Do you expect it to
>>> be changed every modification of this driver?
>>>
>>> I don't see any point of having such thing in a project with a version
>>> control system, where you have all change history.
>> Well we export something to userspace, while trivial there is the
>> possibility it changes over time. Say A40 which outputs 256 bits instead
>> of the current 128 bits. That would validate a bump in version number.
>> It's purely so the user can be aware of differences in the driver. So
>> maybe DRV_A[BP]I_VERSION would be better?
>
> What is better to do is to export such things as properties, or
> design the API in such a way that the length of the ID is reportable.
>
> However, it's actually quite easy to do if you only care about the
> number of bytes - you just arrange for the read() function to return
> the number of bytes read. So in the case of 128 bits available, that's
> 16 bytes, so a read() of the sysfs attribute with a buffer of (say)
> 256 bytes should report only 16 bytes read.
>
> If it were to become 256 bytes later, then the read() would return
> 32 bytes read. So there's no need for any new APIs to do this.
That makes sense for the sysfs bit and as the only user, I guess makes
the version information obsolete for now.
>
> Also, this is over-complicated:
>
> + for (i = 0; i < size; i++) {
> + if ((pos + i) >= SID_SIZE || (pos < 0))
> + break;
> + buf[i] = sunxi_sid_read_byte(sid_reg_base, pos + i);
> + }
>
> Maybe:
> if (pos < 0 || pos >= SID_SIZE)
> return 0;
> if (size > SID_SIZE - pos)
> size = SID_SIZE - pos;
>
> for (i = 0; i < size; i++)
> buf[i] = sunxi_sid_read_byte(sid_reg_base, pos + i);
>
> return size;
>
I do like your approach, but takes a second to read ;) How is it less
complicated though? It's more LOC i suppose. I do appreciate that we
only perform the read function when our size is correct, thus making the
for loop only execute the minimally required code. While in this driver
is insignificant and not important, I am a proponent of it.
Consider it changed.
Will wait a bit for Thomaz to optionally reply and then send yet a
nother version ;)
Thanks for your time,
Oliver
next prev parent reply other threads:[~2013-06-17 11:37 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-14 23:16 [PATCH 0/2] v3 Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-06-14 23:16 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-06-15 2:14 ` Andy Shevchenko
2013-06-15 9:34 ` Oliver Schinagl
2013-06-15 10:28 ` Tomasz Figa
2013-06-17 10:36 ` Oliver Schinagl
2013-06-17 11:25 ` Russell King - ARM Linux
2013-06-17 11:32 ` Oliver Schinagl [this message]
2013-06-17 11:51 ` Maxime Ripard
2013-06-17 12:04 ` Oliver Schinagl
2013-06-17 12:51 ` Tomasz Figa
2013-06-17 13:10 ` Oliver Schinagl
2013-06-17 13:23 ` Tomasz Figa
2013-06-17 13:47 ` Oliver Schinagl
2013-06-14 23:16 ` [PATCH 2/2] Add sunxi-sid to dts for sun4i and sun5i Oliver Schinagl
-- strict thread matches above, loose matches on Subject: below --
2013-08-27 14:13 [PATCHv5 0/2] Driver for Allwinner sunxi Security ID oliver+list
2013-08-27 14:13 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses oliver+list
2013-08-27 15:42 ` Maxime Ripard
2013-06-17 20:59 [PATCH 0/2] v4 Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-06-17 20:59 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-06-17 21:06 ` Tomasz Figa
2013-06-17 22:58 ` Greg KH
2013-06-24 9:29 ` Maxime Ripard
2013-06-24 16:04 ` Greg KH
2013-06-24 17:11 ` Oliver Schinagl
2013-06-24 18:15 ` Greg KH
2013-06-24 21:21 ` Oliver Schinagl
2013-06-24 21:46 ` Greg KH
2013-06-26 8:32 ` Oliver Schinagl
2013-06-26 17:51 ` Greg KH
2013-07-05 7:24 ` Oliver Schinagl
2013-07-06 19:36 ` Greg KH
2013-07-07 0:17 ` Greg KH
2013-06-26 9:10 ` Russell King - ARM Linux
2013-06-26 17:51 ` Greg KH
2013-06-24 21:04 ` Maxime Ripard
2013-06-26 9:22 ` Geert Uytterhoeven
2013-06-26 17:49 ` Greg KH
2013-06-18 5:41 ` Andy Shevchenko
2013-06-02 14:58 [PATCH 0/2] v2 Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-06-02 14:58 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-06-02 15:09 ` Russell King - ARM Linux
2013-06-02 15:21 ` Oliver Schinagl
2013-06-06 19:16 ` Andy Shevchenko
2013-06-10 21:43 ` Oliver Schinagl
2013-06-11 10:51 ` Andy Shevchenko
2013-05-17 13:35 [PATCH 0/2] Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-05-17 13:35 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-05-17 13:45 ` Arnd Bergmann
2013-05-17 18:54 ` Oliver Schinagl
2013-05-17 21:18 ` Maxime Ripard
2013-05-18 17:19 ` Oliver Schinagl
2013-05-19 15:22 ` Maxime Ripard
2013-05-24 21:50 ` Oliver Schinagl
2013-05-25 12:22 ` Maxime Ripard
2013-05-25 19:25 ` Oliver Schinagl
2013-05-26 9:35 ` Maxime Ripard
2013-05-23 7:56 ` Linus Walleij
2013-05-23 8:10 ` Oliver Schinagl
2013-05-23 8:20 ` Linus Walleij
2013-05-23 14:58 ` Maxime Ripard
2013-05-23 15:05 ` Oliver Schinagl
2013-05-23 15:27 ` Maxime Ripard
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=51BEF3D1.8050305@schinagl.nl \
--to=oliver+list@schinagl.nl \
--cc=andy.shevchenko@gmail.com \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=linux@arm.linux.org.uk \
--cc=maxime.ripard@free-electrons.com \
--cc=oliver@schinagl.nl \
--cc=tomasz.figa@gmail.com \
/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
Powered by JetHome