]> git.karo-electronics.de Git - linux-beck.git/blobdiff - arch/powerpc/kernel/sysfs.c
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-beck.git] / arch / powerpc / kernel / sysfs.c
index 5e7c1655f13a20c1cb6b1305f25f51add0966bc9..883e74c0d1b3b53b8a5cd1a003bc4ae30d0659f1 100644 (file)
@@ -18,6 +18,7 @@
 #include <asm/machdep.h>
 #include <asm/smp.h>
 #include <asm/pmc.h>
+#include <asm/system.h>
 
 #include "cacheinfo.h"
 
@@ -51,6 +52,7 @@ static ssize_t store_smt_snooze_delay(struct device *dev,
                return -EINVAL;
 
        per_cpu(smt_snooze_delay, cpu->dev.id) = snooze;
+       update_smt_snooze_delay(snooze);
 
        return count;
 }
@@ -177,11 +179,13 @@ SYSFS_PMCSETUP(mmcra, SPRN_MMCRA);
 SYSFS_PMCSETUP(purr, SPRN_PURR);
 SYSFS_PMCSETUP(spurr, SPRN_SPURR);
 SYSFS_PMCSETUP(dscr, SPRN_DSCR);
+SYSFS_PMCSETUP(pir, SPRN_PIR);
 
 static DEVICE_ATTR(mmcra, 0600, show_mmcra, store_mmcra);
 static DEVICE_ATTR(spurr, 0600, show_spurr, NULL);
 static DEVICE_ATTR(dscr, 0600, show_dscr, store_dscr);
 static DEVICE_ATTR(purr, 0600, show_purr, store_purr);
+static DEVICE_ATTR(pir, 0400, show_pir, NULL);
 
 unsigned long dscr_default = 0;
 EXPORT_SYMBOL(dscr_default);
@@ -391,6 +395,9 @@ static void __cpuinit register_cpu_online(unsigned int cpu)
 
        if (cpu_has_feature(CPU_FTR_DSCR))
                device_create_file(s, &dev_attr_dscr);
+
+       if (cpu_has_feature(CPU_FTR_PPCAS_ARCH_V2))
+               device_create_file(s, &dev_attr_pir);
 #endif /* CONFIG_PPC64 */
 
        cacheinfo_cpu_online(cpu);
@@ -461,6 +468,9 @@ static void unregister_cpu_online(unsigned int cpu)
 
        if (cpu_has_feature(CPU_FTR_DSCR))
                device_remove_file(s, &dev_attr_dscr);
+
+       if (cpu_has_feature(CPU_FTR_PPCAS_ARCH_V2))
+               device_remove_file(s, &dev_attr_pir);
 #endif /* CONFIG_PPC64 */
 
        cacheinfo_cpu_offline(cpu);