diff options
author | Kees Cook <keescook@chromium.org> | 2017-10-20 02:30:38 +0300 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2017-11-03 01:50:34 +0300 |
commit | b7bea32f0cc42b155eac995e60c97cff56390376 (patch) | |
tree | 7870b465cc4af8f38c550ca4712bf39d11b791f6 /arch/arm/mach-footbridge/dc21285.c | |
parent | 2c513d4f7da7d5616d9e19232376edd4e18fef24 (diff) | |
download | linux-b7bea32f0cc42b155eac995e60c97cff56390376.tar.xz |
ARM: footbridge: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.
Cc: Russell King <linux@armlinux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'arch/arm/mach-footbridge/dc21285.c')
-rw-r--r-- | arch/arm/mach-footbridge/dc21285.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/arch/arm/mach-footbridge/dc21285.c b/arch/arm/mach-footbridge/dc21285.c index 96a3d73ef4bf..8407e4a07c77 100644 --- a/arch/arm/mach-footbridge/dc21285.c +++ b/arch/arm/mach-footbridge/dc21285.c @@ -136,19 +136,14 @@ struct pci_ops dc21285_ops = { static struct timer_list serr_timer; static struct timer_list perr_timer; -static void dc21285_enable_error(unsigned long __data) +static void dc21285_enable_error(struct timer_list *timer) { - switch (__data) { - case IRQ_PCI_SERR: - del_timer(&serr_timer); - break; - - case IRQ_PCI_PERR: - del_timer(&perr_timer); - break; - } + del_timer(timer); - enable_irq(__data); + if (timer == &serr_timer) + enable_irq(IRQ_PCI_SERR) + else if (timer == &perr_timer) + enable_irq(IRQ_PCI_PERR); } /* @@ -323,13 +318,8 @@ void __init dc21285_preinit(void) *CSR_PCICMD = (*CSR_PCICMD & 0xffff) | PCICMD_ERROR_BITS; } - init_timer(&serr_timer); - init_timer(&perr_timer); - - serr_timer.data = IRQ_PCI_SERR; - serr_timer.function = dc21285_enable_error; - perr_timer.data = IRQ_PCI_PERR; - perr_timer.function = dc21285_enable_error; + timer_setup(&serr_timer, dc21285_enable_error, 0); + timer_setup(&perr_timer, dc21285_enable_error, 0); /* * We don't care if these fail. |