提交 4f452e8a 编写于 作者: K Kumar Gala 提交者: Greg Kroah-Hartman

devres: support addresses greater than an unsigned long via dev_ioremap

Use a resource_size_t instead of unsigned long since some arch's are
capable of having ioremap deal with addresses greater than the size of a
unsigned long.
Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
Cc: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 a4ca6617
...@@ -58,9 +58,9 @@ static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr) ...@@ -58,9 +58,9 @@ static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr)
} }
#endif #endif
void __iomem * devm_ioremap(struct device *dev, unsigned long offset, void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
unsigned long size); unsigned long size);
void __iomem * devm_ioremap_nocache(struct device *dev, unsigned long offset, void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
unsigned long size); unsigned long size);
void devm_iounmap(struct device *dev, void __iomem *addr); void devm_iounmap(struct device *dev, void __iomem *addr);
int check_signature(const volatile void __iomem *io_addr, int check_signature(const volatile void __iomem *io_addr,
......
...@@ -20,7 +20,7 @@ static int devm_ioremap_match(struct device *dev, void *res, void *match_data) ...@@ -20,7 +20,7 @@ static int devm_ioremap_match(struct device *dev, void *res, void *match_data)
* *
* Managed ioremap(). Map is automatically unmapped on driver detach. * Managed ioremap(). Map is automatically unmapped on driver detach.
*/ */
void __iomem *devm_ioremap(struct device *dev, unsigned long offset, void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
unsigned long size) unsigned long size)
{ {
void __iomem **ptr, *addr; void __iomem **ptr, *addr;
...@@ -49,7 +49,7 @@ EXPORT_SYMBOL(devm_ioremap); ...@@ -49,7 +49,7 @@ EXPORT_SYMBOL(devm_ioremap);
* Managed ioremap_nocache(). Map is automatically unmapped on driver * Managed ioremap_nocache(). Map is automatically unmapped on driver
* detach. * detach.
*/ */
void __iomem *devm_ioremap_nocache(struct device *dev, unsigned long offset, void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
unsigned long size) unsigned long size)
{ {
void __iomem **ptr, *addr; void __iomem **ptr, *addr;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册