Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc/kvm: Remove problematic BUILD_BUG_ON statement
powerpc/pci: Fix regression in powerpc MSI-X
powerpc: Avoid giving out RTC dates below EPOCH
powerpc/mm: Remove debug context clamping from nohash code
powerpc: Cleanup Kconfig selection of hugetlbfs support

+34 -6
+4
arch/powerpc/Kconfig
··· 414 414 config ARCH_POPULATES_NODE_MAP 415 415 def_bool y 416 416 417 + config SYS_SUPPORTS_HUGETLBFS 418 + def_bool y 419 + depends on PPC_BOOK3S_64 420 + 417 421 source "mm/Kconfig" 418 422 419 423 config ARCH_MEMORY_PROBE
+14 -1
arch/powerpc/kernel/time.c
··· 777 777 return ppc_md.set_rtc_time(&tm); 778 778 } 779 779 780 - void read_persistent_clock(struct timespec *ts) 780 + static void __read_persistent_clock(struct timespec *ts) 781 781 { 782 782 struct rtc_time tm; 783 783 static int first = 1; ··· 800 800 return; 801 801 } 802 802 ppc_md.get_rtc_time(&tm); 803 + 803 804 ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, 804 805 tm.tm_hour, tm.tm_min, tm.tm_sec); 806 + } 807 + 808 + void read_persistent_clock(struct timespec *ts) 809 + { 810 + __read_persistent_clock(ts); 811 + 812 + /* Sanitize it in case real time clock is set below EPOCH */ 813 + if (ts->tv_sec < 0) { 814 + ts->tv_sec = 0; 815 + ts->tv_nsec = 0; 816 + } 817 + 805 818 } 806 819 807 820 /* clocksource code */
+4
arch/powerpc/kvm/timing.h
··· 48 48 static inline void kvmppc_account_exit_stat(struct kvm_vcpu *vcpu, int type) 49 49 { 50 50 /* type has to be known at build time for optimization */ 51 + 52 + /* The BUILD_BUG_ON below breaks in funny ways, commented out 53 + * for now ... -BenH 51 54 BUILD_BUG_ON(__builtin_constant_p(type)); 55 + */ 52 56 switch (type) { 53 57 case EXT_INTR_EXITS: 54 58 vcpu->stat.ext_intr_exits++;
+2 -2
arch/powerpc/mm/mmu_context_nohash.c
··· 25 25 * also clear mm->cpu_vm_mask bits when processes are migrated 26 26 */ 27 27 28 - #define DEBUG_MAP_CONSISTENCY 29 - #define DEBUG_CLAMP_LAST_CONTEXT 31 28 + //#define DEBUG_MAP_CONSISTENCY 29 + //#define DEBUG_CLAMP_LAST_CONTEXT 31 30 30 //#define DEBUG_HARDER 31 31 32 32 /* We don't use DEBUG because it tends to be compiled in always nowadays
-2
arch/powerpc/platforms/pseries/msi.c
··· 432 432 /* Read config space back so we can restore after reset */ 433 433 read_msi_msg(virq, &msg); 434 434 entry->msg = msg; 435 - 436 - unmask_msi_irq(virq); 437 435 } 438 436 439 437 return 0;
+9
arch/powerpc/platforms/pseries/xics.c
··· 18 18 #include <linux/init.h> 19 19 #include <linux/radix-tree.h> 20 20 #include <linux/cpu.h> 21 + #include <linux/msi.h> 21 22 #include <linux/of.h> 22 23 23 24 #include <asm/firmware.h> ··· 220 219 221 220 static unsigned int xics_startup(unsigned int virq) 222 221 { 222 + /* 223 + * The generic MSI code returns with the interrupt disabled on the 224 + * card, using the MSI mask bits. Firmware doesn't appear to unmask 225 + * at that level, so we do it here by hand. 226 + */ 227 + if (irq_to_desc(virq)->msi_desc) 228 + unmask_msi_irq(virq); 229 + 223 230 /* unmask it */ 224 231 xics_unmask_irq(virq); 225 232 return 0;
+1 -1
fs/Kconfig
··· 135 135 136 136 config HUGETLBFS 137 137 bool "HugeTLB file system support" 138 - depends on X86 || IA64 || PPC_BOOK3S_64 || SPARC64 || (S390 && 64BIT) || \ 138 + depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \ 139 139 SYS_SUPPORTS_HUGETLBFS || BROKEN 140 140 help 141 141 hugetlbfs is a filesystem backing for HugeTLB pages, based on