drivers/staging/gpib/include/amcc5920.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
During the initial checkpatch cleanup, when removing blanks
after open parentheses, a minus sign in the argument of a shift
operation was deleted by mistake. This transformed a pre-decrement
operation into a negation.
The result of a negative shift is undefined and a warning was
signalled by sparse.
Restore the pre-decrement operation.
Fixes: 6c52d5e3cde2 ("staging: gpib: Add common include files for GPIB drivers")
Signed-off-by: Dave Penkler <dpenkler@gmail.com>
---
drivers/staging/gpib/include/amcc5920.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/gpib/include/amcc5920.h b/drivers/staging/gpib/include/amcc5920.h
index 766b3799223f..7a88bd282feb 100644
--- a/drivers/staging/gpib/include/amcc5920.h
+++ b/drivers/staging/gpib/include/amcc5920.h
@@ -22,7 +22,7 @@ static const int bits_per_region = 8;
static inline uint32_t amcc_wait_state_bits(unsigned int region, unsigned int num_wait_states)
{
- return (num_wait_states & 0x7) << (-region * bits_per_region);
+ return (num_wait_states & 0x7) << (--region * bits_per_region);
};
enum amcc_prefetch_bits {
--
2.47.1
On Thu, 16 Jan 2025 12:00:14 +0100
Dave Penkler <dpenkler@gmail.com> wrote:
> During the initial checkpatch cleanup, when removing blanks
> after open parentheses, a minus sign in the argument of a shift
> operation was deleted by mistake. This transformed a pre-decrement
> operation into a negation.
>
> The result of a negative shift is undefined and a warning was
> signalled by sparse.
>
> Restore the pre-decrement operation.
>
> Fixes: 6c52d5e3cde2 ("staging: gpib: Add common include files for GPIB drivers")
> Signed-off-by: Dave Penkler <dpenkler@gmail.com>
> ---
> drivers/staging/gpib/include/amcc5920.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/gpib/include/amcc5920.h b/drivers/staging/gpib/include/amcc5920.h
> index 766b3799223f..7a88bd282feb 100644
> --- a/drivers/staging/gpib/include/amcc5920.h
> +++ b/drivers/staging/gpib/include/amcc5920.h
> @@ -22,7 +22,7 @@ static const int bits_per_region = 8;
>
> static inline uint32_t amcc_wait_state_bits(unsigned int region, unsigned int num_wait_states)
> {
> - return (num_wait_states & 0x7) << (-region * bits_per_region);
> + return (num_wait_states & 0x7) << (--region * bits_per_region);
It would be much better to use (region - 1).
David
> };
>
> enum amcc_prefetch_bits {
On Thu, Jan 16, 2025 at 10:40:03PM +0000, David Laight wrote:
> On Thu, 16 Jan 2025 12:00:14 +0100
> Dave Penkler <dpenkler@gmail.com> wrote:
>
> > During the initial checkpatch cleanup, when removing blanks
> > after open parentheses, a minus sign in the argument of a shift
> > operation was deleted by mistake. This transformed a pre-decrement
> > operation into a negation.
> >
> > The result of a negative shift is undefined and a warning was
> > signalled by sparse.
> >
> > Restore the pre-decrement operation.
> >
> > Fixes: 6c52d5e3cde2 ("staging: gpib: Add common include files for GPIB drivers")
> > Signed-off-by: Dave Penkler <dpenkler@gmail.com>
> > ---
> > drivers/staging/gpib/include/amcc5920.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/staging/gpib/include/amcc5920.h b/drivers/staging/gpib/include/amcc5920.h
> > index 766b3799223f..7a88bd282feb 100644
> > --- a/drivers/staging/gpib/include/amcc5920.h
> > +++ b/drivers/staging/gpib/include/amcc5920.h
> > @@ -22,7 +22,7 @@ static const int bits_per_region = 8;
> >
> > static inline uint32_t amcc_wait_state_bits(unsigned int region, unsigned int num_wait_states)
> > {
> > - return (num_wait_states & 0x7) << (-region * bits_per_region);
> > + return (num_wait_states & 0x7) << (--region * bits_per_region);
>
> It would be much better to use (region - 1).
Hi,
You are right. I will send a separate patch to change this instance and
all the others in the file.
cheers,
-dave
© 2016 - 2026 Red Hat, Inc.