x86: mpparse: clean up code by introducing a few helper functions, fix

Impact: fix boot crash

This fixes commit a683027856.

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Cc: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <1237403503.22438.21.camel@ht.satnam>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Ingo Molnar 2009-03-19 08:50:35 +01:00
parent a683027856
commit c58603e81b

View file

@ -319,23 +319,23 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
case MP_PROCESSOR: case MP_PROCESSOR:
/* ACPI may have already provided this data */ /* ACPI may have already provided this data */
if (!acpi_lapic) if (!acpi_lapic)
MP_processor_info((struct mpc_cpu *)&mpt); MP_processor_info((struct mpc_cpu *)mpt);
skip_entry(&mpt, &count, sizeof(struct mpc_cpu)); skip_entry(&mpt, &count, sizeof(struct mpc_cpu));
break; break;
case MP_BUS: case MP_BUS:
MP_bus_info((struct mpc_bus *)&mpt); MP_bus_info((struct mpc_bus *)mpt);
skip_entry(&mpt, &count, sizeof(struct mpc_bus)); skip_entry(&mpt, &count, sizeof(struct mpc_bus));
break; break;
case MP_IOAPIC: case MP_IOAPIC:
MP_ioapic_info((struct mpc_ioapic *)&mpt); MP_ioapic_info((struct mpc_ioapic *)mpt);
skip_entry(&mpt, &count, sizeof(struct mpc_ioapic)); skip_entry(&mpt, &count, sizeof(struct mpc_ioapic));
break; break;
case MP_INTSRC: case MP_INTSRC:
MP_intsrc_info((struct mpc_intsrc *)&mpt); MP_intsrc_info((struct mpc_intsrc *)mpt);
skip_entry(&mpt, &count, sizeof(struct mpc_intsrc)); skip_entry(&mpt, &count, sizeof(struct mpc_intsrc));
break; break;
case MP_LINTSRC: case MP_LINTSRC:
MP_lintsrc_info((struct mpc_lintsrc *)&mpt); MP_lintsrc_info((struct mpc_lintsrc *)mpt);
skip_entry(&mpt, &count, sizeof(struct mpc_lintsrc)); skip_entry(&mpt, &count, sizeof(struct mpc_lintsrc));
break; break;
default: default:
@ -902,7 +902,7 @@ static int __init replace_intsrc_all(struct mpc_table *mpc,
skip_entry(&mpt, &count, sizeof(struct mpc_ioapic)); skip_entry(&mpt, &count, sizeof(struct mpc_ioapic));
break; break;
case MP_INTSRC: case MP_INTSRC:
check_irq_src((struct mpc_intsrc *)&mpt, &nr_m_spare); check_irq_src((struct mpc_intsrc *)mpt, &nr_m_spare);
skip_entry(&mpt, &count, sizeof(struct mpc_intsrc)); skip_entry(&mpt, &count, sizeof(struct mpc_intsrc));
break; break;
case MP_LINTSRC: case MP_LINTSRC: