From: yinbo.zhu <yinbo....@nxp.com>

Remove USB errata checking code from driver. Applicability of erratum
is retrieved by reading corresponding property in device tree.
This property is written during device tree fixup.

Signed-off-by: Ramneek Mehresh <ramneek.mehr...@freescale.com>
Signed-off-by: Nikhil Badola <nikhil.bad...@freescale.com>
Signed-off-by: yinbo.zhu <yinbo....@nxp.com>
Signed-off-by: Ran Wang <ran.wan...@nxp.com>
---
 drivers/usb/host/ehci-fsl.c      |    7 +------
 drivers/usb/host/fsl-mph-dr-of.c |    6 ++++++
 include/linux/fsl_devices.h      |    7 ++++---
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 59ebe1b..2aa408a 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -304,14 +304,9 @@ static int ehci_fsl_usb_setup(struct ehci_hcd *ehci)
                        return -EINVAL;
 
        if (pdata->operating_mode == FSL_USB2_MPH_HOST) {
-               unsigned int chip, rev, svr;
-
-               svr = mfspr(SPRN_SVR);
-               chip = svr >> 16;
-               rev = (svr >> 4) & 0xf;
 
                /* Deal with USB Erratum #14 on MPC834x Rev 1.0 & 1.1 chips */
-               if ((rev == 1) && (chip >= 0x8050) && (chip <= 0x8055))
+               if (pdata->has_fsl_erratum_14 == 1)
                        ehci->has_fsl_port_bug = 1;
 
                if (pdata->port_enables & FSL_USB2_PORT0_ENABLED)
diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c
index 677f9d5..4f8b8a0 100644
--- a/drivers/usb/host/fsl-mph-dr-of.c
+++ b/drivers/usb/host/fsl-mph-dr-of.c
@@ -225,6 +225,12 @@ static int fsl_usb2_mph_dr_of_probe(struct platform_device 
*ofdev)
        pdata->has_fsl_erratum_a005697 =
                of_property_read_bool(np, "fsl,usb_erratum-a005697");
 
+       if (of_get_property(np, "fsl,usb_erratum_14", NULL))
+               pdata->has_fsl_erratum_14 = 1;
+       else
+               pdata->has_fsl_erratum_14 = 0;
+
+
        /*
         * Determine whether phy_clk_valid needs to be checked
         * by reading property in device tree
diff --git a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h
index 60cef82..7aa51bc 100644
--- a/include/linux/fsl_devices.h
+++ b/include/linux/fsl_devices.h
@@ -98,10 +98,11 @@ struct fsl_usb2_platform_data {
 
        unsigned        suspended:1;
        unsigned        already_suspended:1;
-       unsigned        has_fsl_erratum_a007792:1;
-       unsigned        has_fsl_erratum_a005275:1;
+       unsigned    has_fsl_erratum_a007792:1;
+       unsigned    has_fsl_erratum_14:1;
+       unsigned    has_fsl_erratum_a005275:1;
        unsigned        has_fsl_erratum_a005697:1;
-       unsigned        check_phy_clk_valid:1;
+       unsigned    check_phy_clk_valid:1;
 
        /* register save area for suspend/resume */
        u32             pm_command;
-- 
1.7.1

Reply via email to