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

Commit a0be2f79 authored by Atsushi Nemoto's avatar Atsushi Nemoto Committed by Ralf Baechle
Browse files

[MIPS] Drop __init from init_8259A()



init_8259A() is called from i8259A_resume() so should not be marked as
__init.  And add some tests for whether 8259A was already initialized
or not.

Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent a9b69d0c
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
 * moves to arch independent land
 */

static int i8259A_auto_eoi;
static int i8259A_auto_eoi = -1;
DEFINE_SPINLOCK(i8259A_lock);
/* some platforms call this... */
void mask_and_ack_8259A(unsigned int);
@@ -216,6 +216,7 @@ void mask_and_ack_8259A(unsigned int irq)

static int i8259A_resume(struct sys_device *dev)
{
	if (i8259A_auto_eoi >= 0)
		init_8259A(i8259A_auto_eoi);
	return 0;
}
@@ -226,8 +227,10 @@ static int i8259A_shutdown(struct sys_device *dev)
	 * the kernel initialization code can get it
	 * out of.
	 */
	if (i8259A_auto_eoi >= 0) {
		outb(0xff, PIC_MASTER_IMR);	/* mask all of 8259A-1 */
		outb(0xff, PIC_SLAVE_IMR);	/* mask all of 8259A-1 */
	}
	return 0;
}

@@ -252,7 +255,7 @@ static int __init i8259A_init_sysfs(void)

device_initcall(i8259A_init_sysfs);

void __init init_8259A(int auto_eoi)
void init_8259A(int auto_eoi)
{
	unsigned long flags;