avoid spurious "may be used uninitialized" warning
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 25 Dec 2016 22:56:58 +0000 (14:56 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 25 Dec 2016 22:56:58 +0000 (14:56 -0800)
The timer type simplifications caused a new gcc warning:

  drivers/base/power/domain.c: In function ‘genpd_runtime_suspend’:
  drivers/base/power/domain.c:562:14: warning: ‘time_start’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     elapsed_ns = ktime_to_ns(ktime_sub(ktime_get(), time_start));

despite the actual use of "time_start" not having changed in any way.
It appears that simply changing the type of ktime_t from a union to a
plain scalar type made gcc check the use.

The variable wasn't actually used uninitialized, but gcc apparently
failed to notice that the conditional around the use was exactly the
same as the conditional around the initialization of that variable.

Add an unnecessary initialization just to shut up the compiler.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/base/power/domain.c

index 5711708..a5e1262 100644 (file)
@@ -544,6 +544,7 @@ static int genpd_runtime_suspend(struct device *dev)
                return -EBUSY;
 
        /* Measure suspend latency. */
+       time_start = 0;
        if (runtime_pm)
                time_start = ktime_get();