+++ /dev/null
-From 3860dbedc2641348c1b6a2d7cdfd0e069d3cc01e Mon Sep 17 00:00:00 2001
-From: Guo Ren <ren_guo@c-sky.com>
-Date: Tue, 8 Jan 2019 20:31:43 +0800
-Subject: csky: fixup compile error with pte_alloc
-
-[ Upstream commit 2a60aa14a9a0333b3eef58150bc1ef654f7321ef ]
-
-Commit: 4cf58924951e remove the address argument of pte_alloc without
-modify csky related code. linux-5.0-rc1 compile failed with csky.
-
-Remove the unnecessary address testing in pte_alloc().
-
-Signed-off-by: Guo Ren <ren_guo@c-sky.com>
-Cc: Joel Fernandes (Google) <joel@joelfernandes.org>
-Cc: Guenter Roeck <linux@roeck-us.net>
-Cc: Arnd Bergmann <arnd@arndb.de>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/csky/include/asm/pgalloc.h | 43 ++++++++++++++-------------------
- 1 file changed, 18 insertions(+), 25 deletions(-)
-
-diff --git a/arch/csky/include/asm/pgalloc.h b/arch/csky/include/asm/pgalloc.h
-index bf4f4a0e140e..d213bb47b717 100644
---- a/arch/csky/include/asm/pgalloc.h
-+++ b/arch/csky/include/asm/pgalloc.h
-@@ -24,41 +24,34 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
-
- extern void pgd_init(unsigned long *p);
-
--static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
-- unsigned long address)
-+static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
- {
- pte_t *pte;
-- unsigned long *kaddr, i;
-+ unsigned long i;
-
-- pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_RETRY_MAYFAIL,
-- PTE_ORDER);
-- kaddr = (unsigned long *)pte;
-- if (address & 0x80000000)
-- for (i = 0; i < (PAGE_SIZE/4); i++)
-- *(kaddr + i) = 0x1;
-- else
-- clear_page(kaddr);
-+ pte = (pte_t *) __get_free_page(GFP_KERNEL);
-+ if (!pte)
-+ return NULL;
-+
-+ for (i = 0; i < PAGE_SIZE/sizeof(pte_t); i++)
-+ (pte + i)->pte_low = _PAGE_GLOBAL;
-
- return pte;
- }
-
--static inline struct page *pte_alloc_one(struct mm_struct *mm,
-- unsigned long address)
-+static inline struct page *pte_alloc_one(struct mm_struct *mm)
- {
- struct page *pte;
-- unsigned long *kaddr, i;
--
-- pte = alloc_pages(GFP_KERNEL | __GFP_RETRY_MAYFAIL, PTE_ORDER);
-- if (pte) {
-- kaddr = kmap_atomic(pte);
-- if (address & 0x80000000) {
-- for (i = 0; i < (PAGE_SIZE/4); i++)
-- *(kaddr + i) = 0x1;
-- } else
-- clear_page(kaddr);
-- kunmap_atomic(kaddr);
-- pgtable_page_ctor(pte);
-+
-+ pte = alloc_pages(GFP_KERNEL | __GFP_ZERO, 0);
-+ if (!pte)
-+ return NULL;
-+
-+ if (!pgtable_page_ctor(pte)) {
-+ __free_page(pte);
-+ return NULL;
- }
-+
- return pte;
- }
-
---
-2.19.1
-