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 - 2025 Red Hat, Inc.