percpu: add __percpu sparse annotations to what's left
authorTejun Heo <tj@kernel.org>
Tue, 2 Feb 2010 05:39:15 +0000 (14:39 +0900)
committerTejun Heo <tj@kernel.org>
Wed, 17 Feb 2010 02:17:38 +0000 (11:17 +0900)
Add __percpu sparse annotations to places which didn't make it in one
of the previous patches.  All converions are trivial.

These annotations are to make sparse consider percpu variables to be
in a different address space and warn if accessed without going
through percpu accessors.  This patch doesn't affect normal builds.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Borislav Petkov <borislav.petkov@amd.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Neil Brown <neilb@suse.de>
crypto/cryptd.c
drivers/acpi/processor_perflib.c
drivers/dma/dmaengine.c
drivers/edac/amd64_edac.c
drivers/md/raid5.c
drivers/md/raid5.h
include/acpi/processor.h
include/linux/dmaengine.h

index 704c141..ef71318 100644 (file)
@@ -31,7 +31,7 @@ struct cryptd_cpu_queue {
 };
 
 struct cryptd_queue {
-       struct cryptd_cpu_queue *cpu_queue;
+       struct cryptd_cpu_queue __percpu *cpu_queue;
 };
 
 struct cryptd_instance_ctx {
index 2cabadc..8c6a649 100644 (file)
@@ -557,7 +557,7 @@ end:
 }
 
 int acpi_processor_preregister_performance(
-               struct acpi_processor_performance *performance)
+               struct acpi_processor_performance __percpu *performance)
 {
        int count, count_target;
        int retval = 0;
index 6f51a0a..4eadd98 100644 (file)
@@ -284,7 +284,7 @@ struct dma_chan_tbl_ent {
 /**
  * channel_table - percpu lookup table for memory-to-memory offload providers
  */
-static struct dma_chan_tbl_ent *channel_table[DMA_TX_TYPE_END];
+static struct dma_chan_tbl_ent __percpu *channel_table[DMA_TX_TYPE_END];
 
 static int __init dma_channel_table_init(void)
 {
index 000dc67..7b36c88 100644 (file)
@@ -13,7 +13,7 @@ module_param(report_gart_errors, int, 0644);
 static int ecc_enable_override;
 module_param(ecc_enable_override, int, 0644);
 
-static struct msr *msrs;
+static struct msr __percpu *msrs;
 
 /* Lookup table for all possible MC control instances */
 struct amd64_pvt;
index e84204e..77cb3ab 100644 (file)
@@ -4680,7 +4680,7 @@ static int raid5_alloc_percpu(raid5_conf_t *conf)
 {
        unsigned long cpu;
        struct page *spare_page;
-       struct raid5_percpu *allcpus;
+       struct raid5_percpu __percpu *allcpus;
        void *scribble;
        int err;
 
index dd70835..0f86f5e 100644 (file)
@@ -405,7 +405,7 @@ struct raid5_private_data {
                                              * lists and performing address
                                              * conversions
                                              */
-       } *percpu;
+       } __percpu *percpu;
        size_t                  scribble_len; /* size of scribble region must be
                                               * associated with conf to handle
                                               * cpu hotplug while reshaping
index 0ea5ef4..477544f 100644 (file)
@@ -238,7 +238,7 @@ struct acpi_processor_errata {
 
 extern int acpi_processor_preregister_performance(struct
                                                  acpi_processor_performance
-                                                 *performance);
+                                                 __percpu *performance);
 
 extern int acpi_processor_register_performance(struct acpi_processor_performance
                                               *performance, unsigned int cpu);
index 7878498..21fd9b7 100644 (file)
@@ -162,7 +162,7 @@ struct dma_chan {
        struct dma_chan_dev *dev;
 
        struct list_head device_node;
-       struct dma_chan_percpu *local;
+       struct dma_chan_percpu __percpu *local;
        int client_count;
        int table_count;
        void *private;