[Fwd: [PATCH] mm: make HASHED_PAGE_VIRTUAL page_address' structpage argument const.]

From: Ian Campbell
Date: Wed Aug 17 2011 - 08:49:20 EST


(resending with correct LKML address this time. Apologies for the noise)

-------- Forwarded Message --------
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
To: linux@xxxxxxxxxxxxxxx <linux@xxxxxxxxxxxxxxx>
Cc: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>, Andrea Arcangeli
<aarcange@xxxxxxxxxx>, Rik van Riel <riel@xxxxxxxxxx>, Michel Lespinasse
<walken@xxxxxxxxxx>, Mel Gorman <mel@xxxxxxxxx>, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx>, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx>
Subject: [PATCH] mm: make HASHED_PAGE_VIRTUAL page_address' struct page
argument const.
Date: Wed, 17 Aug 2011 13:45:09 +0100

Followup to 33dd4e0ec911 "mm: make some struct page's const" which missed the
HASHED_PAGE_VIRTUAL case.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
---
include/linux/hash.h | 2 +-
include/linux/mm.h | 2 +-
mm/highmem.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/hash.h b/include/linux/hash.h
index 06d25c1..b80506b 100644
--- a/include/linux/hash.h
+++ b/include/linux/hash.h
@@ -63,7 +63,7 @@ static inline u32 hash_32(u32 val, unsigned int bits)
return hash >> (32 - bits);
}

-static inline unsigned long hash_ptr(void *ptr, unsigned int bits)
+static inline unsigned long hash_ptr(const void *ptr, unsigned int bits)
{
return hash_long((unsigned long)ptr, bits);
}
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 70116f5..12793b6 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -741,7 +741,7 @@ static __always_inline void *lowmem_page_address(const struct page *page)
#endif

#if defined(HASHED_PAGE_VIRTUAL)
-void *page_address(struct page *page);
+void *page_address(const struct page *page);
void set_page_address(struct page *page, void *virtual);
void page_address_init(void);
#endif
diff --git a/mm/highmem.c b/mm/highmem.c
index 693394d..5ef672c 100644
--- a/mm/highmem.c
+++ b/mm/highmem.c
@@ -326,7 +326,7 @@ static struct page_address_slot {
spinlock_t lock; /* Protect this bucket's list */
} ____cacheline_aligned_in_smp page_address_htable[1<<PA_HASH_ORDER];

-static struct page_address_slot *page_slot(struct page *page)
+static struct page_address_slot *page_slot(const struct page *page)
{
return &page_address_htable[hash_ptr(page, PA_HASH_ORDER)];
}
@@ -337,7 +337,7 @@ static struct page_address_slot *page_slot(struct page *page)
*
* Returns the page's virtual address.
*/
-void *page_address(struct page *page)
+void *page_address(const struct page *page)
{
unsigned long flags;
void *ret;
--
1.7.2.5



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/