| From foo@baz Sun Aug 26 09:13:00 CEST 2018 |
| From: Randy Dunlap <rdunlap@infradead.org> |
| Date: Sun, 15 Jul 2018 10:37:37 -0700 |
| Subject: usb/phy: fix PPC64 build errors in phy-fsl-usb.c |
| |
| From: Randy Dunlap <rdunlap@infradead.org> |
| |
| [ Upstream commit a39ba90a1cc7010edb0a7132e1b67f3d80b994e9 ] |
| |
| Fix build errors when built for PPC64: |
| These variables are only used on PPC32 so they don't need to be |
| initialized for PPC64. |
| |
| ../drivers/usb/phy/phy-fsl-usb.c: In function 'usb_otg_start': |
| ../drivers/usb/phy/phy-fsl-usb.c:865:3: error: '_fsl_readl' undeclared (first use in this function); did you mean 'fsl_readl'? |
| _fsl_readl = _fsl_readl_be; |
| ../drivers/usb/phy/phy-fsl-usb.c:865:16: error: '_fsl_readl_be' undeclared (first use in this function); did you mean 'fsl_readl'? |
| _fsl_readl = _fsl_readl_be; |
| ../drivers/usb/phy/phy-fsl-usb.c:866:3: error: '_fsl_writel' undeclared (first use in this function); did you mean 'fsl_writel'? |
| _fsl_writel = _fsl_writel_be; |
| ../drivers/usb/phy/phy-fsl-usb.c:866:17: error: '_fsl_writel_be' undeclared (first use in this function); did you mean 'fsl_writel'? |
| _fsl_writel = _fsl_writel_be; |
| ../drivers/usb/phy/phy-fsl-usb.c:868:16: error: '_fsl_readl_le' undeclared (first use in this function); did you mean 'fsl_readl'? |
| _fsl_readl = _fsl_readl_le; |
| ../drivers/usb/phy/phy-fsl-usb.c:869:17: error: '_fsl_writel_le' undeclared (first use in this function); did you mean 'fsl_writel'? |
| _fsl_writel = _fsl_writel_le; |
| |
| and the sysfs "show" function return type should be ssize_t, not int: |
| |
| ../drivers/usb/phy/phy-fsl-usb.c:1042:49: error: initialization of 'ssize_t (*)(struct device *, struct device_attribute *, char *)' {aka 'long int (*)(struct device *, struct device_attribute *, char *)'} from incompatible pointer type 'int (*)(struct device *, struct device_attribute *, char *)' [-Werror=incompatible-pointer-types] |
| static DEVICE_ATTR(fsl_usb2_otg_state, S_IRUGO, show_fsl_usb2_otg_state, NULL); |
| |
| Signed-off-by: Randy Dunlap <rdunlap@infradead.org> |
| Cc: Felipe Balbi <balbi@kernel.org> |
| Cc: linux-usb@vger.kernel.org |
| Cc: Michael Ellerman <mpe@ellerman.id.au> |
| Cc: linuxppc-dev@lists.ozlabs.org |
| Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/usb/phy/phy-fsl-usb.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/phy/phy-fsl-usb.c |
| +++ b/drivers/usb/phy/phy-fsl-usb.c |
| @@ -874,6 +874,7 @@ int usb_otg_start(struct platform_device |
| if (pdata->init && pdata->init(pdev) != 0) |
| return -EINVAL; |
| |
| +#ifdef CONFIG_PPC32 |
| if (pdata->big_endian_mmio) { |
| _fsl_readl = _fsl_readl_be; |
| _fsl_writel = _fsl_writel_be; |
| @@ -881,6 +882,7 @@ int usb_otg_start(struct platform_device |
| _fsl_readl = _fsl_readl_le; |
| _fsl_writel = _fsl_writel_le; |
| } |
| +#endif |
| |
| /* request irq */ |
| p_otg->irq = platform_get_irq(pdev, 0); |
| @@ -971,7 +973,7 @@ int usb_otg_start(struct platform_device |
| /* |
| * state file in sysfs |
| */ |
| -static int show_fsl_usb2_otg_state(struct device *dev, |
| +static ssize_t show_fsl_usb2_otg_state(struct device *dev, |
| struct device_attribute *attr, char *buf) |
| { |
| struct otg_fsm *fsm = &fsl_otg_dev->fsm; |