usb: chipidea: Reallocate regmap only if lpm is detected
authorChris Ruehl <chris.ruehl@gtsys.com.hk>
Fri, 6 Dec 2013 08:35:12 +0000 (16:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2013 02:02:54 +0000 (18:02 -0800)
The regmap only needs to reallocate if the hw_read on the CAP register shows
lpm is used. Therefore the if() statement check the change.

Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/core.c

index 5d8981c..5075407 100644 (file)
@@ -208,7 +208,8 @@ static int hw_device_init(struct ci_hdrc *ci, void __iomem *base)
        reg = hw_read(ci, CAP_HCCPARAMS, HCCPARAMS_LEN) >>
                __ffs(HCCPARAMS_LEN);
        ci->hw_bank.lpm  = reg;
-       hw_alloc_regmap(ci, !!reg);
+       if (reg)
+               hw_alloc_regmap(ci, !!reg);
        ci->hw_bank.size = ci->hw_bank.op - ci->hw_bank.abs;
        ci->hw_bank.size += OP_LAST;
        ci->hw_bank.size /= sizeof(u32);