Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f880ec78 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

x86: ioapic: Use new setup function in pre_init_apic_IRQ0()



Remove the duplicated code and call the function. It does not matter
whether we allocated the cfg before calling setup_local_APIC() and we
can set the irq chip and handler after that as well.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent ff973d04
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -4103,20 +4103,15 @@ void __init mp_register_ioapic(int id, u32 address, u32 gsi_base)
/* Enable IOAPIC early just for system timer */
void __init pre_init_apic_IRQ0(void)
{
	struct irq_cfg *cfg;
	struct io_apic_irq_attr attr = { 0, 0, 0, 0 };

	printk(KERN_INFO "Early APIC setup for system timer0\n");
#ifndef CONFIG_SMP
	physid_set_mask_of_physid(boot_cpu_physical_apicid,
					 &phys_cpu_present_map);
#endif
	/* Make sure the irq descriptor is set up */
	cfg = alloc_irq_and_cfg_at(0, 0);

	setup_local_APIC();

	add_pin_to_irq_node(cfg, 0, 0, 0);
	io_apic_setup_irq_pin(0, 0, &attr);
	set_irq_chip_and_handler_name(0, &ioapic_chip, handle_edge_irq, "edge");

	setup_ioapic_irq(0, 0, 0, cfg, 0, 0);
}