Current rcar-phy driver used iowerite32/ioread32,
but it cause compile error on some architectures.
This patch used writel/readl and HAS_IOMEM to solve this issue.

drivers/usb/phy/rcar-phy.c: In function 'rcar_usb_phy_init':
drivers/usb/phy/rcar-phy.c:75:3: error: implicit declaration of function\
        'iowrite32' [-Werror=implicit-function-declaration]
drivers/usb/phy/rcar-phy.c:83:4: error: implicit declaration of function\
        'ioread32' [-Werror=implicit-function-declaration]

Signed-off-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
---
>> Felipe

Sorry for late response.
Does this patch solve the issue ?

 drivers/usb/phy/Kconfig    |    1 +
 drivers/usb/phy/rcar-phy.c |   26 +++++++++++++-------------
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
index 7eb73c5..39f920b 100644
--- a/drivers/usb/phy/Kconfig
+++ b/drivers/usb/phy/Kconfig
@@ -36,6 +36,7 @@ config MV_U3D_PHY
 config USB_RCAR_PHY
        tristate "Renesas R-Car USB phy support"
        depends on USB || USB_GADGET
+       depends on HAS_IOMEM
        select USB_OTG_UTILS
        help
          Say Y here to add support for the Renesas R-Car USB phy driver.
diff --git a/drivers/usb/phy/rcar-phy.c b/drivers/usb/phy/rcar-phy.c
index 792f505..0096660c 100644
--- a/drivers/usb/phy/rcar-phy.c
+++ b/drivers/usb/phy/rcar-phy.c
@@ -72,15 +72,15 @@ static int rcar_usb_phy_init(struct usb_phy *phy)
                 */
 
                /* (1) USB-PHY standby release */
-               iowrite32(PHY_ENB, (reg0 + USBPCTRL1));
+               writel(PHY_ENB, (reg0 + USBPCTRL1));
 
                /* (2) start USB-PHY internal PLL */
-               iowrite32(PHY_ENB | PLL_ENB, (reg0 + USBPCTRL1));
+               writel(PHY_ENB | PLL_ENB, (reg0 + USBPCTRL1));
 
                /* (3) USB module status check */
                for (i = 0; i < 1024; i++) {
                        udelay(10);
-                       val = ioread32(reg0 + USBST);
+                       val = readl(reg0 + USBST);
                        if (val == (ST_ACT | ST_PLL))
                                break;
                }
@@ -91,10 +91,10 @@ static int rcar_usb_phy_init(struct usb_phy *phy)
                }
 
                /* (4) USB-PHY reset clear */
-               iowrite32(PHY_ENB | PLL_ENB | PHY_RST, (reg0 + USBPCTRL1));
+               writel(PHY_ENB | PLL_ENB | PHY_RST, (reg0 + USBPCTRL1));
 
                /* set platform specific port settings */
-               iowrite32(0x00000000, (reg0 + USBPCTRL0));
+               writel(0x00000000, (reg0 + USBPCTRL0));
 
                /*
                 * EHCI IP internal buffer setting
@@ -103,21 +103,21 @@ static int rcar_usb_phy_init(struct usb_phy *phy)
                 * These are recommended value of a datasheet
                 * see [USB :: EHCI internal buffer setting]
                 */
-               iowrite32(0x00ff0040, (reg0 + EIIBC1));
-               iowrite32(0x00ff0040, (reg1 + EIIBC1));
+               writel(0x00ff0040, (reg0 + EIIBC1));
+               writel(0x00ff0040, (reg1 + EIIBC1));
 
-               iowrite32(0x00000001, (reg0 + EIIBC2));
-               iowrite32(0x00000001, (reg1 + EIIBC2));
+               writel(0x00000001, (reg0 + EIIBC2));
+               writel(0x00000001, (reg1 + EIIBC2));
 
                /*
                 * Bus alignment settings
                 */
 
                /* (1) EHCI bus alignment (little endian) */
-               iowrite32(0x00000000, (reg0 + USBEH0));
+               writel(0x00000000, (reg0 + USBEH0));
 
                /* (1) OHCI bus alignment (little endian) */
-               iowrite32(0x00000000, (reg0 + USBOH0));
+               writel(0x00000000, (reg0 + USBOH0));
        }
 
 phy_init_end:
@@ -135,8 +135,8 @@ static void rcar_usb_phy_shutdown(struct usb_phy *phy)
        spin_lock_irqsave(&priv->lock, flags);
 
        if (priv->counter-- == 1) { /* last user */
-               iowrite32(0x00000000, (reg0 + USBPCTRL0));
-               iowrite32(0x00000000, (reg0 + USBPCTRL1));
+               writel(0x00000000, (reg0 + USBPCTRL0));
+               writel(0x00000000, (reg0 + USBPCTRL1));
        }
 
        spin_unlock_irqrestore(&priv->lock, flags);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to