From: Stephen Rothwell Date: Wed, 31 Oct 2012 02:53:54 +0000 (+1100) Subject: Merge remote-tracking branch 'tip/auto-latest' X-Git-Tag: next-20121031~36 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4effc2fe237d7db44d3a9f3f6812c2e85c5e9abd;p=karo-tx-linux.git Merge remote-tracking branch 'tip/auto-latest' --- 4effc2fe237d7db44d3a9f3f6812c2e85c5e9abd diff --cc MAINTAINERS index 2959636f7777,31c4b278ff55..7631ed82aefa --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -2699,21 -2707,12 +2699,21 @@@ F: include/linux/edac. EDAC-AMD64 M: Doug Thompson - M: Borislav Petkov + M: Borislav Petkov L: linux-edac@vger.kernel.org W: bluesmoke.sourceforge.net - S: Supported + S: Maintained F: drivers/edac/amd64_edac* +EDAC-CAVIUM +M: Ralf Baechle +M: David Daney +L: linux-edac@vger.kernel.org +L: linux-mips@linux-mips.org +W: bluesmoke.sourceforge.net +S: Supported +F: drivers/edac/octeon_edac* + EDAC-E752X M: Mark Gross M: Doug Thompson diff --cc arch/s390/include/asm/pgtable.h index 0eefb9e192d1,098fc5a6bd52..5c7dbd490633 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h @@@ -1258,17 -1240,31 +1258,30 @@@ static inline void set_pmd_at(struct mm *pmdp = entry; } + static inline pgprot_t pmd_pgprot(pmd_t pmd) + { + pgprot_t prot = PAGE_RW; + + if (pmd_val(pmd) & _SEGMENT_ENTRY_RO) { + if (pmd_val(pmd) & _SEGMENT_ENTRY_INV) + prot = PAGE_NONE; + else + prot = PAGE_RO; + } + return prot; + } + static inline unsigned long massage_pgprot_pmd(pgprot_t pgprot) { - unsigned long pgprot_pmd = 0; - - if (pgprot_val(pgprot) & _PAGE_INVALID) { - if (pgprot_val(pgprot) & _PAGE_SWT) - pgprot_pmd |= _HPAGE_TYPE_NONE; - pgprot_pmd |= _SEGMENT_ENTRY_INV; - } - if (pgprot_val(pgprot) & _PAGE_RO) - pgprot_pmd |= _SEGMENT_ENTRY_RO; - return pgprot_pmd; + /* + * pgprot is PAGE_NONE, PAGE_RO, or PAGE_RW (see __Pxxx / __Sxxx) + * Convert to segment table entry format. + */ + if (pgprot_val(pgprot) == pgprot_val(PAGE_NONE)) + return pgprot_val(SEGMENT_NONE); + if (pgprot_val(pgprot) == pgprot_val(PAGE_RO)) + return pgprot_val(SEGMENT_RO); + return pgprot_val(SEGMENT_RW); } static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)