[PATCH] hci_{read,write}l() does force casts to wrong type for no reason
readl() et.al. expect iomem pointer, so WTF force-cast it to normal one???
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
index ec0da03..46fa57a 100644
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -677,10 +677,10 @@
{
#ifdef CONFIG_USB_EHCI_BIG_ENDIAN_MMIO
return ehci_big_endian_mmio(ehci) ?
- readl_be((__force u32 *)regs) :
- readl((__force u32 *)regs);
+ readl_be(regs) :
+ readl(regs);
#else
- return readl((__force u32 *)regs);
+ return readl(regs);
#endif
}
@@ -689,10 +689,10 @@
{
#ifdef CONFIG_USB_EHCI_BIG_ENDIAN_MMIO
ehci_big_endian_mmio(ehci) ?
- writel_be(val, (__force u32 *)regs) :
- writel(val, (__force u32 *)regs);
+ writel_be(val, regs) :
+ writel(val, regs);
#else
- writel(val, (__force u32 *)regs);
+ writel(val, regs);
#endif
}