forked from Minki/linux
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: Kumar Gala <galak@kernel.crashing.org> Cc: Tejun Heo <htejun@gmail.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
a4ca661742
commit
4f452e8aa4
@ -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)
|
|||||||
*
|
*
|
||||||
* 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);
|
|||||||
* 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;
|
||||||
|
Loading…
Reference in New Issue
Block a user