[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC 1/4] x86/ioemul: address MISRA C:2012 Rule 9.3



On Tue, 24 Oct 2023, Jan Beulich wrote:
> On 24.10.2023 16:31, Nicola Vetrini wrote:
> > Partially explicitly initalized .matches arrays result in violations
> > of Rule 9.3; this is resolved by using designated initializers,
> > which is permitted by the Rule.
> > 
> > Mechanical changes.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
> 
> While not overly bad, I'm still not really seeing the improvement.
> Yet aiui changes induced by Misra are supposed to improve things in
> some direction?
 
I think the improvement is clarity, in the sense that the designated
initializers make it clearer that the array may be sparsely initialized
and that the remaining elements should be initialized to zero
automatically.
 

> > --- a/xen/arch/x86/ioport_emulate.c
> > +++ b/xen/arch/x86/ioport_emulate.c
> > @@ -44,57 +44,57 @@ static const struct dmi_system_id __initconstrel 
> > ioport_quirks_tbl[] = {
> >      {
> >          .ident = "HP ProLiant DL3xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL3"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL3"),
> >          },
> >      },
> >      {
> >          .ident = "HP ProLiant DL5xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5"),
> >          },
> >      },
> >      {
> >          .ident = "HP ProLiant DL7xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL7"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL7"),
> >          },
> >      },
> >      {
> >          .ident = "HP ProLiant ML3xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML3"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML3"),
> >          },
> >      },
> >      {
> >          .ident = "HP ProLiant ML5xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML5"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML5"),
> >          },
> >      },
> >      {
> >          .ident = "HP ProLiant BL2xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL2"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL2"),
> >          },
> >      },
> >      {
> >          .ident = "HP ProLiant BL4xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL4"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL4"),
> >          },
> >      },
> >      {
> >          .ident = "HP ProLiant BL6xx",
> >          .matches = {
> > -            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > -            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL6"),
> > +            [0] = DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > +            [1] = DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL6"),
> >          },
> >      },
> >      { }
> > --
> > 2.34.1
> 



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.