Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc1a8e52 authored by Francisco Jerez's avatar Francisco Jerez Committed by Ingo Molnar
Browse files

x86: Fix the address space annotations of iomap_atomic_prot_pfn()



This patch fixes the sparse warnings when the return pointer of
iomap_atomic_prot_pfn() is used as an argument of iowrite32()
and friends.

Signed-off-by: default avatarFrancisco Jerez <currojerez@riseup.net>
LKML-Reference: <1283633804-11749-1-git-send-email-currojerez@riseup.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent b7d46089
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -26,11 +26,11 @@
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include <asm/tlbflush.h>


void *
void __iomem *
iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot);
iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot);


void
void
iounmap_atomic(void *kvaddr, enum km_type type);
iounmap_atomic(void __iomem *kvaddr, enum km_type type);


int
int
iomap_create_wc(resource_size_t base, unsigned long size, pgprot_t *prot);
iomap_create_wc(resource_size_t base, unsigned long size, pgprot_t *prot);
+3 −3
Original line number Original line Diff line number Diff line
@@ -74,7 +74,7 @@ void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)
/*
/*
 * Map 'pfn' using fixed map 'type' and protections 'prot'
 * Map 'pfn' using fixed map 'type' and protections 'prot'
 */
 */
void *
void __iomem *
iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)
iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)
{
{
	/*
	/*
@@ -86,12 +86,12 @@ iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)
	if (!pat_enabled && pgprot_val(prot) == pgprot_val(PAGE_KERNEL_WC))
	if (!pat_enabled && pgprot_val(prot) == pgprot_val(PAGE_KERNEL_WC))
		prot = PAGE_KERNEL_UC_MINUS;
		prot = PAGE_KERNEL_UC_MINUS;


	return kmap_atomic_prot_pfn(pfn, type, prot);
	return (void __force __iomem *) kmap_atomic_prot_pfn(pfn, type, prot);
}
}
EXPORT_SYMBOL_GPL(iomap_atomic_prot_pfn);
EXPORT_SYMBOL_GPL(iomap_atomic_prot_pfn);


void
void
iounmap_atomic(void *kvaddr, enum km_type type)
iounmap_atomic(void __iomem *kvaddr, enum km_type type)
{
{
	unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK;
	unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK;
	enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id();
	enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id();