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

Commit c288bf25 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven
Browse files

m68k/irq: Rename irq_controller to irq_chip



Make it more similar to the genirq version:
  - Remove lock (unused as we don't do SMP anyway),
  - Prepend methods with irq_,
  - Make irq_startup() return unsigned int.

Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 3ec7215e
Loading
Loading
Loading
Loading
+4 −5
Original line number Original line Diff line number Diff line
@@ -52,11 +52,10 @@ static irqreturn_t ami_int3(int irq, void *dev_id);
static irqreturn_t ami_int4(int irq, void *dev_id);
static irqreturn_t ami_int4(int irq, void *dev_id);
static irqreturn_t ami_int5(int irq, void *dev_id);
static irqreturn_t ami_int5(int irq, void *dev_id);


static struct irq_controller amiga_irq_controller = {
static struct irq_chip amiga_irq_chip = {
	.name		= "amiga",
	.name		= "amiga",
	.lock		= __SPIN_LOCK_UNLOCKED(amiga_irq_controller.lock),
	.irq_enable	= amiga_enable_irq,
	.enable		= amiga_enable_irq,
	.irq_disable	= amiga_disable_irq,
	.disable	= amiga_disable_irq,
};
};


/*
/*
@@ -81,7 +80,7 @@ void __init amiga_init_IRQ(void)
	if (request_irq(IRQ_AUTO_5, ami_int5, 0, "int5", NULL))
	if (request_irq(IRQ_AUTO_5, ami_int5, 0, "int5", NULL))
		pr_err("Couldn't register int%d\n", 5);
		pr_err("Couldn't register int%d\n", 5);


	m68k_setup_irq_controller(&amiga_irq_controller, IRQ_USER, AMI_STD_IRQS);
	m68k_setup_irq_chip(&amiga_irq_chip, IRQ_USER, AMI_STD_IRQS);


	/* turn off PCMCIA interrupts */
	/* turn off PCMCIA interrupts */
	if (AMIGAHW_PRESENT(PCMCIA))
	if (AMIGAHW_PRESENT(PCMCIA))
+8 −10
Original line number Original line Diff line number Diff line
@@ -121,11 +121,10 @@ static void cia_disable_irq(unsigned int irq)
		cia_able_irq(&ciaa_base, 1 << (irq - IRQ_AMIGA_CIAA));
		cia_able_irq(&ciaa_base, 1 << (irq - IRQ_AMIGA_CIAA));
}
}


static struct irq_controller cia_irq_controller = {
static struct irq_chip cia_irq_chip = {
	.name		= "cia",
	.name		= "cia",
	.lock		= __SPIN_LOCK_UNLOCKED(cia_irq_controller.lock),
	.irq_enable	= cia_enable_irq,
	.enable		= cia_enable_irq,
	.irq_disable	= cia_disable_irq,
	.disable	= cia_disable_irq,
};
};


/*
/*
@@ -158,23 +157,22 @@ static void auto_disable_irq(unsigned int irq)
	}
	}
}
}


static struct irq_controller auto_irq_controller = {
static struct irq_chip auto_irq_chip = {
	.name		= "auto",
	.name		= "auto",
	.lock		= __SPIN_LOCK_UNLOCKED(auto_irq_controller.lock),
	.irq_enable	= auto_enable_irq,
	.enable		= auto_enable_irq,
	.irq_disable	= auto_disable_irq,
	.disable	= auto_disable_irq,
};
};


void __init cia_init_IRQ(struct ciabase *base)
void __init cia_init_IRQ(struct ciabase *base)
{
{
	m68k_setup_irq_controller(&cia_irq_controller, base->cia_irq, CIA_IRQS);
	m68k_setup_irq_chip(&cia_irq_chip, base->cia_irq, CIA_IRQS);


	/* clear any pending interrupt and turn off all interrupts */
	/* clear any pending interrupt and turn off all interrupts */
	cia_set_irq(base, CIA_ICR_ALL);
	cia_set_irq(base, CIA_ICR_ALL);
	cia_able_irq(base, CIA_ICR_ALL);
	cia_able_irq(base, CIA_ICR_ALL);


	/* override auto int and install CIA handler */
	/* override auto int and install CIA handler */
	m68k_setup_irq_controller(&auto_irq_controller, base->handler_irq, 1);
	m68k_setup_irq_chip(&auto_irq_chip, base->handler_irq, 1);
	m68k_irq_startup(base->handler_irq);
	m68k_irq_startup(base->handler_irq);
	if (request_irq(base->handler_irq, cia_handler, IRQF_SHARED,
	if (request_irq(base->handler_irq, cia_handler, IRQF_SHARED,
			base->name, base))
			base->name, base))
+5 −6
Original line number Original line Diff line number Diff line
@@ -12,7 +12,7 @@ void dn_process_int(unsigned int irq, struct pt_regs *fp)
	*(volatile unsigned char *)(picb)=0x20;
	*(volatile unsigned char *)(picb)=0x20;
}
}


int apollo_irq_startup(unsigned int irq)
unsigned int apollo_irq_startup(unsigned int irq)
{
{
	if (irq < 8)
	if (irq < 8)
		*(volatile unsigned char *)(pica+1) &= ~(1 << irq);
		*(volatile unsigned char *)(pica+1) &= ~(1 << irq);
@@ -29,16 +29,15 @@ void apollo_irq_shutdown(unsigned int irq)
		*(volatile unsigned char *)(picb+1) |= (1 << (irq - 8));
		*(volatile unsigned char *)(picb+1) |= (1 << (irq - 8));
}
}


static struct irq_controller apollo_irq_controller = {
static struct irq_chip apollo_irq_chip = {
	.name           = "apollo",
	.name           = "apollo",
	.lock           = __SPIN_LOCK_UNLOCKED(apollo_irq_controller.lock),
	.irq_startup    = apollo_irq_startup,
	.startup        = apollo_irq_startup,
	.irq_shutdown   = apollo_irq_shutdown,
	.shutdown       = apollo_irq_shutdown,
};
};




void __init dn_init_IRQ(void)
void __init dn_init_IRQ(void)
{
{
	m68k_setup_user_interrupt(VEC_USER + 96, 16, dn_process_int);
	m68k_setup_user_interrupt(VEC_USER + 96, 16, dn_process_int);
	m68k_setup_irq_controller(&apollo_irq_controller, IRQ_APOLLO, 16);
	m68k_setup_irq_chip(&apollo_irq_chip, IRQ_APOLLO, 16);
}
}
+7 −8
Original line number Original line Diff line number Diff line
@@ -320,7 +320,7 @@ extern void atari_microwire_cmd(int cmd);


extern int atari_SCC_reset_done;
extern int atari_SCC_reset_done;


static int atari_startup_irq(unsigned int irq)
static unsigned int atari_startup_irq(unsigned int irq)
{
{
	m68k_irq_startup(irq);
	m68k_irq_startup(irq);
	atari_turnon_irq(irq);
	atari_turnon_irq(irq);
@@ -338,13 +338,12 @@ static void atari_shutdown_irq(unsigned int irq)
	    vectors[VEC_INT4] = falcon_hblhandler;
	    vectors[VEC_INT4] = falcon_hblhandler;
}
}


static struct irq_controller atari_irq_controller = {
static struct irq_chip atari_irq_chip = {
	.name		= "atari",
	.name		= "atari",
	.lock		= __SPIN_LOCK_UNLOCKED(atari_irq_controller.lock),
	.irq_startup	= atari_startup_irq,
	.startup	= atari_startup_irq,
	.irq_shutdown	= atari_shutdown_irq,
	.shutdown	= atari_shutdown_irq,
	.irq_enable	= atari_enable_irq,
	.enable		= atari_enable_irq,
	.irq_disable	= atari_disable_irq,
	.disable	= atari_disable_irq,
};
};


/*
/*
@@ -361,7 +360,7 @@ static struct irq_controller atari_irq_controller = {
void __init atari_init_IRQ(void)
void __init atari_init_IRQ(void)
{
{
	m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER, NULL);
	m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER, NULL);
	m68k_setup_irq_controller(&atari_irq_controller, 1, NUM_ATARI_SOURCES - 1);
	m68k_setup_irq_chip(&atari_irq_chip, 1, NUM_ATARI_SOURCES - 1);


	/* Initialize the MFP(s) */
	/* Initialize the MFP(s) */


+7 −8
Original line number Original line Diff line number Diff line
@@ -93,16 +93,15 @@ struct irq_handler {
	const char	*devname;
	const char	*devname;
};
};


struct irq_controller {
struct irq_chip {
	const char *name;
	const char *name;
	spinlock_t lock;
	unsigned int (*irq_startup)(unsigned int irq);
	int (*startup)(unsigned int irq);
	void (*irq_shutdown)(unsigned int irq);
	void (*shutdown)(unsigned int irq);
	void (*irq_enable)(unsigned int irq);
	void (*enable)(unsigned int irq);
	void (*irq_disable)(unsigned int irq);
	void (*disable)(unsigned int irq);
};
};


extern int m68k_irq_startup(unsigned int);
extern unsigned int m68k_irq_startup(unsigned int);
extern void m68k_irq_shutdown(unsigned int);
extern void m68k_irq_shutdown(unsigned int);


/*
/*
@@ -113,7 +112,7 @@ extern irq_node_t *new_irq_node(void);
extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_regs *));
extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_regs *));
extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
				      void (*handler)(unsigned int, struct pt_regs *));
				      void (*handler)(unsigned int, struct pt_regs *));
extern void m68k_setup_irq_controller(struct irq_controller *, unsigned int, unsigned int);
extern void m68k_setup_irq_chip(struct irq_chip *, unsigned int, unsigned int);


asmlinkage void m68k_handle_int(unsigned int);
asmlinkage void m68k_handle_int(unsigned int);
asmlinkage void __m68k_handle_int(unsigned int, struct pt_regs *);
asmlinkage void __m68k_handle_int(unsigned int, struct pt_regs *);
Loading