ARM: 8964/1: ebsa110: replace setup_irq() by request_irq()
request_irq() is preferred over setup_irq(). Invocations of setup_irq() occur after memory allocators are ready. Per tglx[1], setup_irq() existed in olden days when allocators were not ready by the time early interrupts were initialized. Hence replace setup_irq() by request_irq(). [1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
91274f962e
commit
c51dc14ee6
|
@ -201,17 +201,13 @@ ebsa110_timer_interrupt(int irq, void *dev_id)
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irqaction ebsa110_timer_irq = {
|
|
||||||
.name = "EBSA110 Timer Tick",
|
|
||||||
.flags = IRQF_TIMER | IRQF_IRQPOLL,
|
|
||||||
.handler = ebsa110_timer_interrupt,
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up timer interrupt.
|
* Set up timer interrupt.
|
||||||
*/
|
*/
|
||||||
void __init ebsa110_timer_init(void)
|
void __init ebsa110_timer_init(void)
|
||||||
{
|
{
|
||||||
|
int irq = IRQ_EBSA110_TIMER0;
|
||||||
|
|
||||||
arch_gettimeoffset = ebsa110_gettimeoffset;
|
arch_gettimeoffset = ebsa110_gettimeoffset;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -221,7 +217,9 @@ void __init ebsa110_timer_init(void)
|
||||||
__raw_writeb(COUNT & 0xff, PIT_T1);
|
__raw_writeb(COUNT & 0xff, PIT_T1);
|
||||||
__raw_writeb(COUNT >> 8, PIT_T1);
|
__raw_writeb(COUNT >> 8, PIT_T1);
|
||||||
|
|
||||||
setup_irq(IRQ_EBSA110_TIMER0, &ebsa110_timer_irq);
|
if (request_irq(irq, ebsa110_timer_interrupt, IRQF_TIMER | IRQF_IRQPOLL,
|
||||||
|
"EBSA110 Timer Tick", NULL))
|
||||||
|
pr_err("Failed to request irq %d (EBSA110 Timer Tick)\n", irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct plat_serial8250_port serial_platform_data[] = {
|
static struct plat_serial8250_port serial_platform_data[] = {
|
||||||
|
|
Loading…
Reference in New Issue