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

Commit 4f452e8a authored by Kumar Gala's avatar Kumar Gala Committed by Greg Kroah-Hartman
Browse files

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: default avatarKumar Gala <galak@kernel.crashing.org>
Cc: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a4ca6617
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -58,9 +58,9 @@ static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr)
}
#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);
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);
void devm_iounmap(struct device *dev, void __iomem *addr);
int check_signature(const volatile void __iomem *io_addr,
+2 −2
Original line number Diff line number Diff line
@@ -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.
 */
void __iomem *devm_ioremap(struct device *dev, unsigned long offset,
void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
			   unsigned long size)
{
	void __iomem **ptr, *addr;
@@ -49,7 +49,7 @@ EXPORT_SYMBOL(devm_ioremap);
 * Managed ioremap_nocache().  Map is automatically unmapped on driver
 * 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)
{
	void __iomem **ptr, *addr;