CLOCKSOURCE: mips-gic: Add missing error returns checks
authorEzequiel Garcia <ezequiel.garcia@imgtec.com>
Mon, 27 Jul 2015 14:00:13 +0000 (15:00 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 3 Sep 2015 10:08:06 +0000 (12:08 +0200)
This commit adds the required checks on the functions that return
an error. Some of them are not critical, so only a warning is
printed.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
Reviewed-by: Andrew Bresticker <abrestic@chromium.org>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: James Hartley <James.Hartley@imgtec.com>
Cc: Govindraj Raja <Govindraj.Raja@imgtec.com>
Cc: Damien Horsley <Damien.Horsley@imgtec.com>
Cc: James Hogan <James.Hogan@imgtec.com>
Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Patchwork: https://patchwork.linux-mips.org/patch/10780/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/clocksource/mips-gic-timer.c

index 913585d93466af0f19a4cb54f2fe1eb3241bb8ce..c4352f078492384d83f6fb66f3379152bc581721 100644 (file)
@@ -100,12 +100,18 @@ static struct notifier_block gic_cpu_nb = {
 
 static int gic_clockevent_init(void)
 {
+       int ret;
+
        if (!cpu_has_counter || !gic_frequency)
                return -ENXIO;
 
-       setup_percpu_irq(gic_timer_irq, &gic_compare_irqaction);
+       ret = setup_percpu_irq(gic_timer_irq, &gic_compare_irqaction);
+       if (ret < 0)
+               return ret;
 
-       register_cpu_notifier(&gic_cpu_nb);
+       ret = register_cpu_notifier(&gic_cpu_nb);
+       if (ret < 0)
+               pr_warn("GIC: Unable to register CPU notifier\n");
 
        gic_clockevent_cpu_init(this_cpu_ptr(&gic_clockevent_device));
 
@@ -125,13 +131,17 @@ static struct clocksource gic_clocksource = {
 
 static void __init __gic_clocksource_init(void)
 {
+       int ret;
+
        /* Set clocksource mask. */
        gic_clocksource.mask = CLOCKSOURCE_MASK(gic_get_count_width());
 
        /* Calculate a somewhat reasonable rating value. */
        gic_clocksource.rating = 200 + gic_frequency / 10000000;
 
-       clocksource_register_hz(&gic_clocksource, gic_frequency);
+       ret = clocksource_register_hz(&gic_clocksource, gic_frequency);
+       if (ret < 0)
+               pr_warn("GIC: Unable to register clocksource\n");
 
        gic_clockevent_init();