Browse Source

CLOCKSOURCE: mips-gic: Add missing error returns checks

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>
Ezequiel Garcia 10 years ago
parent
commit
f95ac8558b
1 changed files with 13 additions and 3 deletions
  1. 13 3
      drivers/clocksource/mips-gic-timer.c

+ 13 - 3
drivers/clocksource/mips-gic-timer.c

@@ -100,12 +100,18 @@ static struct notifier_block gic_cpu_nb = {
 
 
 static int gic_clockevent_init(void)
 static int gic_clockevent_init(void)
 {
 {
+	int ret;
+
 	if (!cpu_has_counter || !gic_frequency)
 	if (!cpu_has_counter || !gic_frequency)
 		return -ENXIO;
 		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));
 	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)
 static void __init __gic_clocksource_init(void)
 {
 {
+	int ret;
+
 	/* Set clocksource mask. */
 	/* Set clocksource mask. */
 	gic_clocksource.mask = CLOCKSOURCE_MASK(gic_get_count_width());
 	gic_clocksource.mask = CLOCKSOURCE_MASK(gic_get_count_width());
 
 
 	/* Calculate a somewhat reasonable rating value. */
 	/* Calculate a somewhat reasonable rating value. */
 	gic_clocksource.rating = 200 + gic_frequency / 10000000;
 	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();
 	gic_clockevent_init();