[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aAezGqdN9weTxv8_@smile.fi.intel.com>
Date: Tue, 22 Apr 2025 18:17:46 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Aditya Garg <gargaditya08@...e.com>, Hector Martin <marcan@...can.st>,
alyssa@...enzweig.io, Petr Mladek <pmladek@...e.com>,
Sven Peter <sven@...npeter.dev>,
Thomas Zimmermann <tzimmermann@...e.de>,
Aun-Ali Zaidi <admin@...eit.net>,
Maxime Ripard <mripard@...nel.org>, airlied@...hat.com,
Simona Vetter <simona@...ll.ch>,
Steven Rostedt <rostedt@...dmis.org>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Sergey Senozhatsky <senozhatsky@...omium.org>,
Jonathan Corbet <corbet@....net>,
Andrew Morton <akpm@...ux-foundation.org>, apw@...onical.com,
joe@...ches.com, dwaipayanray1@...il.com, lukas.bulwahn@...il.com,
Kees Cook <kees@...nel.org>, tamird@...il.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
dri-devel@...ts.freedesktop.org, linux-doc@...r.kernel.org,
Asahi Linux Mailing List <asahi@...ts.linux.dev>,
netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH v4 1/3] lib/vsprintf: Add support for generic FourCCs by
extending %p4cc
On Tue, Apr 22, 2025 at 12:32:42PM +0200, Geert Uytterhoeven wrote:
> On Tue, 22 Apr 2025 at 12:16, Andy Shevchenko
> <andriy.shevchenko@...ux.intel.com> wrote:
> > On Tue, Apr 22, 2025 at 10:43:59AM +0200, Geert Uytterhoeven wrote:
> > > On Tue, 22 Apr 2025 at 10:30, Aditya Garg <gargaditya08@...e.com> wrote:
> > > > On 22-04-2025 01:37 pm, Geert Uytterhoeven wrote:
> > > > > On Tue, 8 Apr 2025 at 08:48, Aditya Garg <gargaditya08@...e.com> wrote:
...
> > > > Originally, it was %p4cr (reverse-endian), but on the request of the
> > > > maintainers, it was changed to %p4cn.
> > >
> > > Ah, I found it[1]:
> > >
> > > | so, it needs more information that this mimics htonl() / ntohl() for
> > > networking.
> > >
> > > IMHO this does not mimic htonl(), as htonl() is a no-op on big-endian.
> > > while %p4ch and %p4cl yield different results on big-endian.
> > >
> > > > So here network means reverse of host, not strictly big-endian.
> > >
> > > Please don't call it "network byte order" if that does not have the same
> > > meaning as in the network subsystem.
> > >
> > > Personally, I like "%p4r" (reverse) more...
> > > (and "%p4ch" might mean human-readable ;-)
> >
> > It will confuse the reader. h/r is not very established pair. If you really
> > wont see h/n, better to drop them completely for now then. Because I'm against
> > h/r pair.
>
> I am not against h/n in se, but I am against bad/confusing naming.
> The big question is: should it print
> (A) the value in network byte order, or
> (B) the reverse of host byte order?
>
> If the answer is (A), I see no real reason to have %p4n, as %p4b prints
> the exact same thing. Moreover, it leaves us without a portable
> way to print values in reverse without the caller doing an explicit
> __swab32() (which is not compatible with the %p pass-by-pointer
> calling convention).
>
> If the answer is (B), "%p4n using network byte order" is bad/confusing
> naming.
Other %p extensions that have R/r for "reversed" do not have any H/h part for
"host". That's why if we want reversed, than don't use the host, it should be
default. As I said, I think the best is to remove these for now,
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists