[PATCH] ppc: remove unused devm_ioremap_prot
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sun May 26 08:44:35 EST 2013
On Sat, 2013-05-25 at 12:54 -0400, Kyle McMartin wrote:
> Added in 2008, but has never had any in-tree users, and no other
> architectures provide it. Also remove the header includes that
> the commit b41e5fff added to asm/io.h, and add an include of mutex.h
> for asm/eeh.h, which relied on io.h including device.h to provide
> it.
>
> Tested ppc64_defconfig in an xcompiler, and it passed... no promises
> I didn't introduce a header mess on some random variant though.
>
> Signed-off-by: Kyle McMartin <kyle at redhat.com>
It's not used ... yet. It's needed if we ever are to implement
something like devm_ioremap_wc(). I suspect if things like framebuffer
or even IB drivers start using devm this will be needed.
Any specific reason why you want to take it out ?
Cheers,
Ben.
> +++ b/arch/powerpc/include/asm/eeh.h
> @@ -23,6 +23,7 @@
>
> #include <linux/init.h>
> #include <linux/list.h>
> +#include <linux/mutex.h>
> #include <linux/string.h>
>
> struct pci_dev;
> diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h
> index dd15e5e..ab503b6 100644
> --- a/arch/powerpc/include/asm/io.h
> +++ b/arch/powerpc/include/asm/io.h
> @@ -24,9 +24,6 @@ extern struct pci_dev *isa_bridge_pcidev;
> #define arch_has_dev_port() (isa_bridge_pcidev != NULL)
> #endif
>
> -#include <linux/device.h>
> -#include <linux/io.h>
> -
> #include <linux/compiler.h>
> #include <asm/page.h>
> #include <asm/byteorder.h>
> @@ -791,9 +788,6 @@ static inline void * bus_to_virt(unsigned long address)
>
> #define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set)
>
> -void __iomem *devm_ioremap_prot(struct device *dev, resource_size_t offset,
> - size_t size, unsigned long flags);
> -
> #endif /* __KERNEL__ */
>
> #endif /* _ASM_POWERPC_IO_H */
> diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
> index 4504332..bda49b4 100644
> --- a/arch/powerpc/lib/Makefile
> +++ b/arch/powerpc/lib/Makefile
> @@ -12,7 +12,6 @@ CFLAGS_REMOVE_feature-fixups.o = -pg
> obj-y := string.o alloc.o \
> checksum_$(CONFIG_WORD_SIZE).o crtsavres.o
> obj-$(CONFIG_PPC32) += div64.o copy_32.o
> -obj-$(CONFIG_HAS_IOMEM) += devres.o
>
> obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \
> memcpy_64.o usercopy_64.o mem_64.o string.o \
> diff --git a/arch/powerpc/lib/devres.c b/arch/powerpc/lib/devres.c
> deleted file mode 100644
> index 8df55fc..0000000
> --- a/arch/powerpc/lib/devres.c
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -/*
> - * Copyright (C) 2008 Freescale Semiconductor, Inc.
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * as published by the Free Software Foundation; either version
> - * 2 of the License, or (at your option) any later version.
> - */
> -
> -#include <linux/device.h> /* devres_*(), devm_ioremap_release() */
> -#include <linux/gfp.h>
> -#include <linux/io.h> /* ioremap_prot() */
> -#include <linux/export.h> /* EXPORT_SYMBOL() */
> -
> -/**
> - * devm_ioremap_prot - Managed ioremap_prot()
> - * @dev: Generic device to remap IO address for
> - * @offset: BUS offset to map
> - * @size: Size of map
> - * @flags: Page flags
> - *
> - * Managed ioremap_prot(). Map is automatically unmapped on driver
> - * detach.
> - */
> -void __iomem *devm_ioremap_prot(struct device *dev, resource_size_t offset,
> - size_t size, unsigned long flags)
> -{
> - void __iomem **ptr, *addr;
> -
> - ptr = devres_alloc(devm_ioremap_release, sizeof(*ptr), GFP_KERNEL);
> - if (!ptr)
> - return NULL;
> -
> - addr = ioremap_prot(offset, size, flags);
> - if (addr) {
> - *ptr = addr;
> - devres_add(dev, ptr);
> - } else
> - devres_free(ptr);
> -
> - return addr;
> -}
> -EXPORT_SYMBOL(devm_ioremap_prot);
More information about the Linuxppc-dev
mailing list