- Several bug-fixes for cdns3 imx driver
- Update Peter Chen and Roger Quadros email address -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEDaZUZmFxRG/wNThrSFkpgVDWcbsFAl/3rWoACgkQSFkpgVDW cbtT8Qf+MRUKuYV4G3ae6gzWeSTd4A3h/EkXD4jgzIonj8KvvH2XCBTOrgi+/Or6 oi8xLqMtSrGBGgrtU0O3txUveCkHKG90kLQuUJwD3v5ywKNitZMpwkMjbD5uMt2S tABTo5foAR6RjnKrhLy7XtbncsFatmyne/O+z+PKYhb+jByOM3BDjKsHv4wyiE/a kt8raVIUeJMQ3OUmfSwYRhnRPU7sbZIYERsZk8ElPqqZ6GfFFWB7N0KT0C8i2T6n 10wo4SwENHG89VvjCGzK1PCGlj85lFyJzmqHrgRF5d5lJx4ZCUeEYiKwMqxiQ2Zr 1f7IlK/SpE5RvfUXfFByotF28bVkIw== =KBmG -----END PGP SIGNATURE----- Merge tag 'usb-v5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-linus Peter writes: - Several bug-fixes for cdns3 imx driver - Update Peter Chen and Roger Quadros email address * tag 'usb-v5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb: MAINTAINERS: update Peter Chen's email address MAINTAINERS: Update address for Cadence USB3 driver usb: cdns3: imx: improve driver .remove API usb: cdns3: imx: fix can't create core device the second time issue usb: cdns3: imx: fix writing read-only memory issue
This commit is contained in:
commit
2eda61a850
@ -3881,7 +3881,7 @@ F: Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt
|
|||||||
F: drivers/mtd/nand/raw/cadence-nand-controller.c
|
F: drivers/mtd/nand/raw/cadence-nand-controller.c
|
||||||
|
|
||||||
CADENCE USB3 DRD IP DRIVER
|
CADENCE USB3 DRD IP DRIVER
|
||||||
M: Peter Chen <peter.chen@nxp.com>
|
M: Peter Chen <peter.chen@kernel.org>
|
||||||
M: Pawel Laszczak <pawell@cadence.com>
|
M: Pawel Laszczak <pawell@cadence.com>
|
||||||
R: Roger Quadros <rogerq@kernel.org>
|
R: Roger Quadros <rogerq@kernel.org>
|
||||||
R: Aswath Govindraju <a-govindraju@ti.com>
|
R: Aswath Govindraju <a-govindraju@ti.com>
|
||||||
@ -4163,7 +4163,7 @@ S: Maintained
|
|||||||
F: Documentation/translations/zh_CN/
|
F: Documentation/translations/zh_CN/
|
||||||
|
|
||||||
CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER
|
CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER
|
||||||
M: Peter Chen <Peter.Chen@nxp.com>
|
M: Peter Chen <peter.chen@kernel.org>
|
||||||
L: linux-usb@vger.kernel.org
|
L: linux-usb@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
|
||||||
@ -18417,7 +18417,7 @@ F: Documentation/usb/ohci.rst
|
|||||||
F: drivers/usb/host/ohci*
|
F: drivers/usb/host/ohci*
|
||||||
|
|
||||||
USB OTG FSM (Finite State Machine)
|
USB OTG FSM (Finite State Machine)
|
||||||
M: Peter Chen <Peter.Chen@nxp.com>
|
M: Peter Chen <peter.chen@kernel.org>
|
||||||
L: linux-usb@vger.kernel.org
|
L: linux-usb@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
|
||||||
|
@ -185,7 +185,11 @@ static int cdns_imx_probe(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
data->num_clks = ARRAY_SIZE(imx_cdns3_core_clks);
|
data->num_clks = ARRAY_SIZE(imx_cdns3_core_clks);
|
||||||
data->clks = (struct clk_bulk_data *)imx_cdns3_core_clks;
|
data->clks = devm_kmemdup(dev, imx_cdns3_core_clks,
|
||||||
|
sizeof(imx_cdns3_core_clks), GFP_KERNEL);
|
||||||
|
if (!data->clks)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
ret = devm_clk_bulk_get(dev, data->num_clks, data->clks);
|
ret = devm_clk_bulk_get(dev, data->num_clks, data->clks);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
@ -214,20 +218,16 @@ err:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cdns_imx_remove_core(struct device *dev, void *data)
|
|
||||||
{
|
|
||||||
struct platform_device *pdev = to_platform_device(dev);
|
|
||||||
|
|
||||||
platform_device_unregister(pdev);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cdns_imx_remove(struct platform_device *pdev)
|
static int cdns_imx_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
|
struct cdns_imx *data = dev_get_drvdata(dev);
|
||||||
|
|
||||||
device_for_each_child(dev, NULL, cdns_imx_remove_core);
|
pm_runtime_get_sync(dev);
|
||||||
|
of_platform_depopulate(dev);
|
||||||
|
clk_bulk_disable_unprepare(data->num_clks, data->clks);
|
||||||
|
pm_runtime_disable(dev);
|
||||||
|
pm_runtime_put_noidle(dev);
|
||||||
platform_set_drvdata(pdev, NULL);
|
platform_set_drvdata(pdev, NULL);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user