The variable 'msec' declared in the macro shadows the local
variable in 'ehci_dbgp_bios_handoff', but to prevent any
future clashes with other functions the macro is converted to
a static inline function.
No functional change.
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
xen/include/xen/delay.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
index 9d70ef035f..9150226271 100644
--- a/xen/include/xen/delay.h
+++ b/xen/include/xen/delay.h
@@ -4,7 +4,11 @@
/* Copyright (C) 1993 Linus Torvalds */
#include <asm/delay.h>
-#define mdelay(n) (\
- {unsigned long msec=(n); while (msec--) udelay(1000);})
+
+static inline void mdelay(unsigned long msec)
+{
+ while ( msec-- )
+ udelay(1000);
+}
#endif /* defined(_LINUX_DELAY_H) */
--
2.34.1
> On 9 Aug 2023, at 08:55, Nicola Vetrini <nicola.vetrini@bugseng.com> wrote:
>
> The variable 'msec' declared in the macro shadows the local
> variable in 'ehci_dbgp_bios_handoff', but to prevent any
> future clashes with other functions the macro is converted to
> a static inline function.
>
> No functional change.
>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> xen/include/xen/delay.h | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
> index 9d70ef035f..9150226271 100644
> --- a/xen/include/xen/delay.h
> +++ b/xen/include/xen/delay.h
> @@ -4,7 +4,11 @@
> /* Copyright (C) 1993 Linus Torvalds */
>
> #include <asm/delay.h>
> -#define mdelay(n) (\
> - {unsigned long msec=(n); while (msec--) udelay(1000);})
> +
> +static inline void mdelay(unsigned long msec)
> +{
> + while ( msec-- )
Does misra allows to modify the function parameters? (Truly asking because IDK)
> + udelay(1000);
> +}
>
> #endif /* defined(_LINUX_DELAY_H) */
> --
> 2.34.1
>
>
On 09/08/2023 15:56, Luca Fancellu wrote:
>> On 9 Aug 2023, at 08:55, Nicola Vetrini <nicola.vetrini@bugseng.com>
>> wrote:
>>
>> The variable 'msec' declared in the macro shadows the local
>> variable in 'ehci_dbgp_bios_handoff', but to prevent any
>> future clashes with other functions the macro is converted to
>> a static inline function.
>>
>> No functional change.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> xen/include/xen/delay.h | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
>> index 9d70ef035f..9150226271 100644
>> --- a/xen/include/xen/delay.h
>> +++ b/xen/include/xen/delay.h
>> @@ -4,7 +4,11 @@
>> /* Copyright (C) 1993 Linus Torvalds */
>>
>> #include <asm/delay.h>
>> -#define mdelay(n) (\
>> - {unsigned long msec=(n); while (msec--) udelay(1000);})
>> +
>> +static inline void mdelay(unsigned long msec)
>> +{
>> + while ( msec-- )
>
> Does misra allows to modify the function parameters? (Truly asking
> because IDK)
>
I checked: there's an advisory (R17.8) that disallows this, but since
advisories (apart from
a couple of selected ones) are not taken into consideration for
compliance, so it's not a big deal.
Even less so since it's not a pointer type.
--
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)
Hi Nicola, On 09/08/2023 08:55, Nicola Vetrini wrote: > The variable 'msec' declared in the macro shadows the local > variable in 'ehci_dbgp_bios_handoff', but to prevent any > future clashes with other functions the macro is converted to > a static inline function. > > No functional change. > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> Reviewed-by: Julien Grall <jgrall@amazon.com> Cheers, -- Julien Grall
© 2016 - 2026 Red Hat, Inc.