[XEN PATCH] ns16550: remove partial explicit initializer

Nicola Vetrini posted 1 patch 4 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/89f9aebddac56c034aace59c5b910ad4bef701c5.1701793717.git.nicola.vetrini@bugseng.com
xen/drivers/char/ns16550.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[XEN PATCH] ns16550: remove partial explicit initializer
Posted by Nicola Vetrini 4 months, 3 weeks ago
The initializer of 'ns16550_com' violates MISRA C Rule 9.3
because it explicitly initializes only the first element of the array,
but the semantics is the same if the explicit initialization is
omitted.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
In the context of the rule ("Arrays shall not be partially initialized"),
the initialization shall either be fully explicit or implicit.
---
 xen/drivers/char/ns16550.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index ddf2a48be6e7..a21c1d8c3402 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -73,7 +73,7 @@ static struct ns16550 {
     bool msi;
     const struct ns16550_config_param *param; /* Points into .init.*! */
 #endif
-} ns16550_com[2] = { { 0 } };
+} ns16550_com[2] = { };
 
 #ifdef NS16550_PCI
 struct ns16550_config {
-- 
2.34.1
Re: [XEN PATCH] ns16550: remove partial explicit initializer
Posted by Jan Beulich 4 months, 3 weeks ago
On 05.12.2023 17:31, Nicola Vetrini wrote:
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -73,7 +73,7 @@ static struct ns16550 {

With the variable even being static, ...

>      bool msi;
>      const struct ns16550_config_param *param; /* Points into .init.*! */
>  #endif
> -} ns16550_com[2] = { { 0 } };
> +} ns16550_com[2] = { };

... what use is the initializer in the first place?

Jan
Re: [XEN PATCH] ns16550: remove partial explicit initializer
Posted by Nicola Vetrini 4 months, 3 weeks ago
On 2023-12-06 10:01, Jan Beulich wrote:
> On 05.12.2023 17:31, Nicola Vetrini wrote:
>> --- a/xen/drivers/char/ns16550.c
>> +++ b/xen/drivers/char/ns16550.c
>> @@ -73,7 +73,7 @@ static struct ns16550 {
> 
> With the variable even being static, ...
> 
>>      bool msi;
>>      const struct ns16550_config_param *param; /* Points into .init.*! 
>> */
>>  #endif
>> -} ns16550_com[2] = { { 0 } };
>> +} ns16550_com[2] = { };
> 
> ... what use is the initializer in the first place?
> 
> Jan

I understood it as a visual cue that the array was initialized, as it 
was before. I don't have a specific preference one way or another, but I 
see this has already been committed.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)
Re: [XEN PATCH] ns16550: remove partial explicit initializer
Posted by Andrew Cooper 4 months, 3 weeks ago
On 05/12/2023 4:31 pm, Nicola Vetrini wrote:
> The initializer of 'ns16550_com' violates MISRA C Rule 9.3
> because it explicitly initializes only the first element of the array,
> but the semantics is the same if the explicit initialization is
> omitted.
>
> No functional change.
>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>