aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kernel/sysfs.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
index e6cd6c990c25..f41aec85aa49 100644
--- a/arch/powerpc/kernel/sysfs.c
+++ b/arch/powerpc/kernel/sysfs.c
@@ -134,17 +134,15 @@ void ppc_enable_pmcs(void)
134} 134}
135EXPORT_SYMBOL(ppc_enable_pmcs); 135EXPORT_SYMBOL(ppc_enable_pmcs);
136 136
137
138#define SYSFS_PMCSETUP(NAME, ADDRESS) \ 137#define SYSFS_PMCSETUP(NAME, ADDRESS) \
139static void read_##NAME(void *val) \ 138static void read_##NAME(void *val) \
140{ \ 139{ \
141 mtspr(ADDRESS, *(unsigned long *)val); \ 140 *(unsigned long *)val = mfspr(ADDRESS); \
142} \ 141} \
143static unsigned long write_##NAME(unsigned long val) \ 142static void write_##NAME(void *val) \
144{ \ 143{ \
145 ppc_enable_pmcs(); \ 144 ppc_enable_pmcs(); \
146 mtspr(ADDRESS, *(unsigned long *)val); \ 145 mtspr(ADDRESS, *(unsigned long *)val); \
147 return 0; \
148} \ 146} \
149static ssize_t show_##NAME(struct sys_device *dev, \ 147static ssize_t show_##NAME(struct sys_device *dev, \
150 struct sysdev_attribute *attr, \ 148 struct sysdev_attribute *attr, \