Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1263016
| From | Andy Shevchenko <andy.shevchenko@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 3/4] scsi: fix compiler warning for sg |
| Date | 2015-11-05 09:50 +0100 |
| Message-ID | <qrop4-4fa-13@gated-at.bofh.it> (permalink) |
| References | <qrkEO-1Qt-9@gated-at.bofh.it> <qrkEO-1Qt-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Nov 5, 2015 at 6:46 AM, Sinan Kaya <okaya@codeaurora.org> wrote:
> The MULDIV macro has been designed for small
> numbers. It emits an overflow warning on 64 bit
> systems. This patch places type casts in the
> parameters to fix the compiler warning.
>
> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> ---
> drivers/scsi/sg.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
> index 9d7b7db..eb2739d 100644
> --- a/drivers/scsi/sg.c
> +++ b/drivers/scsi/sg.c
> @@ -88,7 +88,10 @@ static void sg_proc_cleanup(void);
> * Of course an overflow is inavoidable if the result of muldiv doesn't fit
> * in 32 bits.
> */
> -#define MULDIV(X,MUL,DIV) ((((X % DIV) * MUL) / DIV) + ((X / DIV) * MUL))
> +static inline u64 MULDIV(u64 X, u32 MUL, u32 DIV)
> +{
> + return ((((X % DIV) * MUL) / DIV) + ((X / DIV) * MUL));
> +}
Like kbuild bot already told you it would be nice to think of 32-bit
architectures.
Moreover we have mult_frac() macro already for 32-bit numbers.
For 64 bit numbers you need to do do_div().
Like:
static inline u64 mult_frac64(u64 x, u32 m, u32 n)
{
u64 ret;
ret = do_div(x, n);
return ret * m;
}
>
> #define SG_DEFAULT_TIMEOUT MULDIV(SG_DEFAULT_TIMEOUT_USER, HZ, USER_HZ)
>
> --
> Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 3/4] scsi: fix compiler warning for sg Sinan Kaya <okaya@codeaurora.org> - 2015-11-05 05:50 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg kbuild test robot <lkp@intel.com> - 2015-11-05 06:50 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg kbuild test robot <lkp@intel.com> - 2015-11-05 08:00 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg kbuild test robot <lkp@intel.com> - 2015-11-05 08:10 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-05 09:50 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Sinan Kaya <okaya@codeaurora.org> - 2015-11-05 16:20 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Timur Tabi <timur@codeaurora.org> - 2015-11-05 16:30 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-05 19:10 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Sinan Kaya <okaya@codeaurora.org> - 2015-11-05 19:40 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-05 20:40 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-05 21:00 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Sinan Kaya <okaya@codeaurora.org> - 2015-11-05 21:20 +0100
Re: [PATCH 3/4] scsi: fix compiler warning for sg Sinan Kaya <okaya@codeaurora.org> - 2015-11-09 02:20 +0100
csiph-web