powerpc/mm: Don't use pmd_val, pud_val and pgd_val as lvalue
We convert them static inline function here as we did with pte_val in the previous patch Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
10bd3808df
commit
f281b5d50c
@@ -110,10 +110,10 @@ unsigned long __init mmu_mapin_ram(unsigned long top)
|
||||
unsigned long val = p | _PMD_SIZE_16M | _PAGE_EXEC | _PAGE_HWWRITE;
|
||||
|
||||
pmdp = pmd_offset(pud_offset(pgd_offset_k(v), v), v);
|
||||
pmd_val(*pmdp++) = val;
|
||||
pmd_val(*pmdp++) = val;
|
||||
pmd_val(*pmdp++) = val;
|
||||
pmd_val(*pmdp++) = val;
|
||||
*pmdp++ = __pmd(val);
|
||||
*pmdp++ = __pmd(val);
|
||||
*pmdp++ = __pmd(val);
|
||||
*pmdp++ = __pmd(val);
|
||||
|
||||
v += LARGE_PAGE_SIZE_16M;
|
||||
p += LARGE_PAGE_SIZE_16M;
|
||||
@@ -125,7 +125,7 @@ unsigned long __init mmu_mapin_ram(unsigned long top)
|
||||
unsigned long val = p | _PMD_SIZE_4M | _PAGE_EXEC | _PAGE_HWWRITE;
|
||||
|
||||
pmdp = pmd_offset(pud_offset(pgd_offset_k(v), v), v);
|
||||
pmd_val(*pmdp) = val;
|
||||
*pmdp = __pmd(val);
|
||||
|
||||
v += LARGE_PAGE_SIZE_4M;
|
||||
p += LARGE_PAGE_SIZE_4M;
|
||||
|
@@ -759,22 +759,20 @@ void hpte_do_hugepage_flush(struct mm_struct *mm, unsigned long addr,
|
||||
|
||||
static pmd_t pmd_set_protbits(pmd_t pmd, pgprot_t pgprot)
|
||||
{
|
||||
pmd_val(pmd) |= pgprot_val(pgprot);
|
||||
return pmd;
|
||||
return __pmd(pmd_val(pmd) | pgprot_val(pgprot));
|
||||
}
|
||||
|
||||
pmd_t pfn_pmd(unsigned long pfn, pgprot_t pgprot)
|
||||
{
|
||||
pmd_t pmd;
|
||||
unsigned long pmdv;
|
||||
/*
|
||||
* For a valid pte, we would have _PAGE_PRESENT always
|
||||
* set. We use this to check THP page at pmd level.
|
||||
* leaf pte for huge page, bottom two bits != 00
|
||||
*/
|
||||
pmd_val(pmd) = pfn << PTE_RPN_SHIFT;
|
||||
pmd_val(pmd) |= _PAGE_THP_HUGE;
|
||||
pmd = pmd_set_protbits(pmd, pgprot);
|
||||
return pmd;
|
||||
pmdv = pfn << PTE_RPN_SHIFT;
|
||||
pmdv |= _PAGE_THP_HUGE;
|
||||
return pmd_set_protbits(__pmd(pmdv), pgprot);
|
||||
}
|
||||
|
||||
pmd_t mk_pmd(struct page *page, pgprot_t pgprot)
|
||||
@@ -784,10 +782,11 @@ pmd_t mk_pmd(struct page *page, pgprot_t pgprot)
|
||||
|
||||
pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
|
||||
{
|
||||
unsigned long pmdv;
|
||||
|
||||
pmd_val(pmd) &= _HPAGE_CHG_MASK;
|
||||
pmd = pmd_set_protbits(pmd, newprot);
|
||||
return pmd;
|
||||
pmdv = pmd_val(pmd);
|
||||
pmdv &= _HPAGE_CHG_MASK;
|
||||
return pmd_set_protbits(__pmd(pmdv), newprot);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user