OSDN Git Service

thermal/intel_powerclamp: fix __percpu declaration of worker_data
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
Sat, 19 Jan 2019 16:15:23 +0000 (17:15 +0100)
committerZhang Rui <rui.zhang@intel.com>
Mon, 18 Mar 2019 14:11:06 +0000 (22:11 +0800)
This variable is declared as:
static struct powerclamp_worker_data * __percpu worker_data;
In other words, a percpu pointer to struct ...

But this variable not used like so but as a pointer to a percpu
struct powerclamp_worker_data.

So fix the declaration as:
static struct powerclamp_worker_data __percpu *worker_data;

This also quiets Sparse's warnings from __verify_pcpu_ptr(), like:
  494:49: warning: incorrect type in initializer (different address spaces)
  494:49:    expected void const [noderef] <asn:3> *__vpp_verify
  494:49:    got struct powerclamp_worker_data *

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/intel/intel_powerclamp.c

index 7571f7c..b12ecd4 100644 (file)
@@ -101,7 +101,7 @@ struct powerclamp_worker_data {
        bool clamping;
 };
 
-static struct powerclamp_worker_data * __percpu worker_data;
+static struct powerclamp_worker_data __percpu *worker_data;
 static struct thermal_cooling_device *cooling_dev;
 static unsigned long *cpu_clamping_mask;  /* bit map for tracking per cpu
                                           * clamping kthread worker