Re: [PATCH 1/1 linux-next] ACPI: processor: use container_of to resolve acpi_madt_local_apic/sapic/x2apic from acpi_subtable_header

From: Rafael J. Wysocki
Date: Thu Sep 25 2014 - 19:28:21 EST


On Sunday, September 14, 2014 03:12:43 PM Fabian Frederick wrote:
> Use container_of instead of casting first structure member.
>
> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>

Queued up for 3.18, thanks!

> ---
>
> Compiled but untested.
>
> drivers/acpi/processor_core.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
> index e32321c..ef58f46 100644
> --- a/drivers/acpi/processor_core.c
> +++ b/drivers/acpi/processor_core.c
> @@ -16,7 +16,7 @@ static int map_lapic_id(struct acpi_subtable_header *entry,
> u32 acpi_id, int *apic_id)
> {
> struct acpi_madt_local_apic *lapic =
> - (struct acpi_madt_local_apic *)entry;
> + container_of(entry, struct acpi_madt_local_apic, header);
>
> if (!(lapic->lapic_flags & ACPI_MADT_ENABLED))
> return -ENODEV;
> @@ -32,7 +32,7 @@ static int map_x2apic_id(struct acpi_subtable_header *entry,
> int device_declaration, u32 acpi_id, int *apic_id)
> {
> struct acpi_madt_local_x2apic *apic =
> - (struct acpi_madt_local_x2apic *)entry;
> + container_of(entry, struct acpi_madt_local_x2apic, header);
>
> if (!(apic->lapic_flags & ACPI_MADT_ENABLED))
> return -ENODEV;
> @@ -49,7 +49,7 @@ static int map_lsapic_id(struct acpi_subtable_header *entry,
> int device_declaration, u32 acpi_id, int *apic_id)
> {
> struct acpi_madt_local_sapic *lsapic =
> - (struct acpi_madt_local_sapic *)entry;
> + container_of(entry, struct acpi_madt_local_sapic, header);
>
> if (!(lsapic->lapic_flags & ACPI_MADT_ENABLED))
> return -ENODEV;
>

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
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/