diff options
author | Jiri Kosina <jkosina@suse.cz> | 2014-11-20 14:42:02 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2014-11-20 14:42:02 +0100 |
commit | a02001086bbfb4da35d1228bebc2f1b442db455f (patch) | |
tree | 62ab47936cef06fd08657ca5b6cd1df98c19be57 /drivers/usb/chipidea/core.c | |
parent | eff264efeeb0898408e8c9df72d8a32621035bed (diff) | |
parent | fc14f9c1272f62c3e8d01300f52467c0d9af50f9 (diff) |
Merge Linus' tree to be be to apply submitted patches to newer code than
current trivial.git base
Diffstat (limited to 'drivers/usb/chipidea/core.c')
-rw-r--r-- | drivers/usb/chipidea/core.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 619d13e2999..9bdc6bd7343 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -139,6 +139,8 @@ static int hw_alloc_regmap(struct ci_hdrc *ci, bool is_lpm) /** * hw_read_intr_enable: returns interrupt enable register * + * @ci: the controller + * * This function returns register data */ u32 hw_read_intr_enable(struct ci_hdrc *ci) @@ -149,6 +151,8 @@ u32 hw_read_intr_enable(struct ci_hdrc *ci) /** * hw_read_intr_status: returns interrupt status register * + * @ci: the controller + * * This function returns register data */ u32 hw_read_intr_status(struct ci_hdrc *ci) @@ -176,6 +180,8 @@ int hw_port_test_set(struct ci_hdrc *ci, u8 mode) /** * hw_port_test_get: reads port test mode value * + * @ci: the controller + * * This function returns port test mode value */ u8 hw_port_test_get(struct ci_hdrc *ci) @@ -295,7 +301,7 @@ static void hw_phymode_configure(struct ci_hdrc *ci) /** * ci_usb_phy_init: initialize phy according to different phy type * @ci: the controller - * + * * This function returns an error code if usb_phy_init has failed */ static int ci_usb_phy_init(struct ci_hdrc *ci) @@ -473,6 +479,10 @@ static int ci_get_platdata(struct device *dev, PTR_ERR(platdata->reg_vbus)); return PTR_ERR(platdata->reg_vbus); } + /* Get TPL support */ + if (!platdata->tpl_support) + platdata->tpl_support = + of_usb_host_tpl_support(dev->of_node); } if (of_usb_get_maximum_speed(dev->of_node) == USB_SPEED_FULL) @@ -658,7 +668,7 @@ static int ci_hdrc_probe(struct platform_device *pdev) goto deinit_phy; } - if (ci->is_otg) { + if (ci->is_otg && ci->roles[CI_ROLE_GADGET]) { /* Disable and clear all OTG irq */ hw_write_otgsc(ci, OTGSC_INT_EN_BITS | OTGSC_INT_STATUS_BITS, OTGSC_INT_STATUS_BITS); @@ -732,7 +742,6 @@ static int ci_hdrc_remove(struct platform_device *pdev) ci_role_destroy(ci); ci_hdrc_enter_lpm(ci, true); usb_phy_shutdown(ci->transceiver); - kfree(ci->hw_bank.regmap); return 0; } |