Re: [PATCH 2/8] SFI: include/linux/sfi.h

From: Feng Tang
Date: Tue Jun 23 2009 - 03:49:22 EST


On Tue, 23 Jun 2009 15:28:11 +0800
Ingo Molnar <mingo@xxxxxxx> wrote:

>
> * Len Brown <lenb@xxxxxxxxxx> wrote:
>
> > +/*
> > + * Table structures must be byte-packed to match the SFI
> > specification,
> > + * as they are provided by the BIOS.
> > + */
> > +#pragma pack(1)
>
> We use __attribute__((packed)) for that generally.
>
> > +struct sfi_table_header {
> > + char signature[SFI_SIGNATURE_SIZE];
> > + u32 length;
> > + u8 revision;
> > + u8 checksum;
> > + char oem_id[SFI_OEM_ID_SIZE];
> > + char oem_table_id[SFI_OEM_TABLE_ID_SIZE];
> > +};
>
> Please use more readable structure definitions, such as:
>
> > +struct sfi_table_header {
> > + char signature[SFI_SIGNATURE_SIZE];
> > + u32 length;
> > + u8 revision;
> > + u8 checksum;
> > + char oem_id[SFI_OEM_ID_SIZE];
> > + char
> > oem_table_id[SFI_OEM_TABLE_ID_SIZE]; +};
>
> > +void __init __iomem *
> > +arch_early_ioremap(unsigned long phys, unsigned long size);
> > +void __init arch_early_iounmap(void __iomem *virt, unsigned long
> > size);
>
> Why is this in sfr.h? Should be in a separate series.

Thanks for your great comments, will address them.

For these arch_early_ioremap/arch_early_iounmap API, do you mean we should
put it in a sfi.h under "asm" folder? The reason we put it here is to
give a arch independent API declaration here and let each arch implement
its own func.

Thanks,
Feng

>
> > +static inline int sfi_init_memory_map(void) { return -1; }
> > +static inline int sfi_init(void) { return 0; }
> > +static inline void sfi_init_late(void) {}
>
> Seems half-aligned. Please align consistently, such as:
>
> static inline int sfi_init_memory_map(void) { return -1; }
> static inline int sfi_init(void) { return 0; }
> static inline void sfi_init_late(void) { }
>
> or dont align at all.
>
> Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/