2019-02-25 14:06:00

by J. Neuschäfer

[permalink] [raw]
Subject: [PATCH] div64.h: Fix description of do_div parameter

Contrary to the description, the first parameter (n) should not be
passed as a pointer, but directly as an lvalue. This is possible because
do_div is a macro.

Signed-off-by: Jonathan Neuschäfer <[email protected]>
---
include/asm-generic/div64.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/asm-generic/div64.h b/include/asm-generic/div64.h
index dc9726fdac8f..b2a9c74efa55 100644
--- a/include/asm-generic/div64.h
+++ b/include/asm-generic/div64.h
@@ -28,12 +28,12 @@

/**
* do_div - returns 2 values: calculate remainder and update new dividend
- * @n: pointer to uint64_t dividend (will be updated)
+ * @n: uint64_t dividend (will be updated)
* @base: uint32_t divisor
*
* Summary:
- * ``uint32_t remainder = *n % base;``
- * ``*n = *n / base;``
+ * ``uint32_t remainder = n % base;``
+ * ``n = n / base;``
*
* Return: (uint32_t)remainder
*
--
2.20.1



2019-02-25 15:20:02

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] div64.h: Fix description of do_div parameter

Hi Jonathan,

On Mon, Feb 25, 2019 at 3:05 PM Jonathan Neuschäfer
<[email protected]> wrote:
> Contrary to the description, the first parameter (n) should not be
> passed as a pointer, but directly as an lvalue. This is possible because
> do_div is a macro.
>
> Signed-off-by: Jonathan Neuschäfer <[email protected]>

Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <[email protected]>

Shouldn't the "semantics" at the top of include/asm-generic/div64.h be
updated, too?

As this can't be expressed in a C function, perhaps that should be done
using C++ syntax, like

uint32_t do_div(uint64_t &n, uint32_t base)
{
...
}

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2019-02-25 15:53:38

by J. Neuschäfer

[permalink] [raw]
Subject: Re: [PATCH] div64.h: Fix description of do_div parameter

On Mon, Feb 25, 2019 at 04:19:02PM +0100, Geert Uytterhoeven wrote:
> Hi Jonathan,
>
> On Mon, Feb 25, 2019 at 3:05 PM Jonathan Neuschäfer
> <[email protected]> wrote:
> > Contrary to the description, the first parameter (n) should not be
> > passed as a pointer, but directly as an lvalue. This is possible because
> > do_div is a macro.
> >
> > Signed-off-by: Jonathan Neuschäfer <[email protected]>
>
> Thanks for your patch!
>
> Reviewed-by: Geert Uytterhoeven <[email protected]>
>
> Shouldn't the "semantics" at the top of include/asm-generic/div64.h be
> updated, too?

Arguably, it's semantically close enough. I'm not sure.

> As this can't be expressed in a C function, perhaps that should be done
> using C++ syntax, like
>
> uint32_t do_div(uint64_t &n, uint32_t base)
> {
> ...
> }

That might confuse some people who aren't expecting C++ syntax.
I'll leave this as is, because I can't decide wether this is an
improvement.


Thanks,
Jonathan Neuschäfer


Attachments:
(No filename) (1.02 kB)
signature.asc (849.00 B)
Download all attachments