2018-11-21 14:56:51

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 00/19] mailbox: Device-managed registration

From: Thierry Reding <[email protected]>

Hi,

This series of patches adds device-managed registration functions for
mailbox controllers. A number of drivers can be simplified by making use
of this new API both in the error cleanup paths in their probe functions
and in the driver remove implementation.

In addition to adding the new API this series converts all drivers to
use it. There is also an additional cleanup patch for the mtk-cmdq
driver that removes some calls to devm_kfree() that are not needed.

Thierry

Thierry Reding (19):
mailbox: Add device-managed registration functions
mailbox: arm-mhu: Use device-managed registration API
mailbox: bcm2835: Use device-managed registration API
mailbox: bcm-flexrm: Use device-managed registration API
mailbox: bcm-pdc: Use device-managed registration API
mailbox: hi3660: Use device-managed registration API
mailbox: hi6220: Use device-managed registration API
mailbox: imx: Use device-managed registration API
mailbox: altera: Use device-managed registration API
mailbox: sti: Use device-managed registration API
mailbox: xgene-slimpro: Use device-managed registration API
mailbox: mtk-cmdq: Use device-managed registration API
mailbox: mtk-cmdq: Remove needless devm_kfree() calls
mailbox: omap: Use device-managed registration API
mailbox: platform-mhu: Use device-managed registration API
mailbox: qcom-apcs: Use device-managed registration API
mailbox: rockchip: Use device-managed registration API
mailbox: stm32-ipcc: Use device-managed registration API
mailbox: ti-msgmgr: Use device-managed registration API

drivers/mailbox/arm_mhu.c | 12 +----
drivers/mailbox/bcm-flexrm-mailbox.c | 4 +-
drivers/mailbox/bcm-pdc-mailbox.c | 4 +-
drivers/mailbox/bcm2835-mailbox.c | 10 +---
drivers/mailbox/hi3660-mailbox.c | 11 +---
drivers/mailbox/hi6220-mailbox.c | 11 +---
drivers/mailbox/imx-mailbox.c | 3 +-
drivers/mailbox/mailbox-altera.c | 15 +-----
drivers/mailbox/mailbox-sti.c | 13 +----
drivers/mailbox/mailbox-xgene-slimpro.c | 11 +---
drivers/mailbox/mailbox.c | 70 +++++++++++++++++++++++++
drivers/mailbox/mtk-cmdq-mailbox.c | 11 +---
drivers/mailbox/omap-mailbox.c | 4 +-
drivers/mailbox/platform_mhu.c | 12 +----
drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 +-
drivers/mailbox/rockchip-mailbox.c | 15 +-----
drivers/mailbox/stm32-ipcc.c | 4 +-
drivers/mailbox/ti-msgmgr.c | 13 +----
include/linux/mailbox_controller.h | 5 ++
19 files changed, 92 insertions(+), 139 deletions(-)

--
2.19.1



2018-11-21 14:56:55

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 18/19] mailbox: stm32-ipcc: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/stm32-ipcc.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/mailbox/stm32-ipcc.c b/drivers/mailbox/stm32-ipcc.c
index 533b0da5235d..a338bd4cd7db 100644
--- a/drivers/mailbox/stm32-ipcc.c
+++ b/drivers/mailbox/stm32-ipcc.c
@@ -299,7 +299,7 @@ static int stm32_ipcc_probe(struct platform_device *pdev)
for (i = 0; i < ipcc->controller.num_chans; i++)
ipcc->controller.chans[i].con_priv = (void *)i;

- ret = mbox_controller_register(&ipcc->controller);
+ ret = devm_mbox_controller_register(dev, &ipcc->controller);
if (ret)
goto err_irq_wkp;

@@ -329,8 +329,6 @@ static int stm32_ipcc_remove(struct platform_device *pdev)
{
struct stm32_ipcc *ipcc = platform_get_drvdata(pdev);

- mbox_controller_unregister(&ipcc->controller);
-
if (ipcc->wkp)
dev_pm_clear_wake_irq(&pdev->dev);

--
2.19.1


2018-11-21 14:56:57

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 17/19] mailbox: rockchip: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/rockchip-mailbox.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/mailbox/rockchip-mailbox.c b/drivers/mailbox/rockchip-mailbox.c
index d702a204f5c1..f24a77b1a0ff 100644
--- a/drivers/mailbox/rockchip-mailbox.c
+++ b/drivers/mailbox/rockchip-mailbox.c
@@ -247,28 +247,15 @@ static int rockchip_mbox_probe(struct platform_device *pdev)
mb->chans[i].msg = NULL;
}

- ret = mbox_controller_register(&mb->mbox);
+ ret = devm_mbox_controller_register(&pdev->dev, &mb->mbox);
if (ret < 0)
dev_err(&pdev->dev, "Failed to register mailbox: %d\n", ret);

return ret;
}

-static int rockchip_mbox_remove(struct platform_device *pdev)
-{
- struct rockchip_mbox *mb = platform_get_drvdata(pdev);
-
- if (!mb)
- return -EINVAL;
-
- mbox_controller_unregister(&mb->mbox);
-
- return 0;
-}
-
static struct platform_driver rockchip_mbox_driver = {
.probe = rockchip_mbox_probe,
- .remove = rockchip_mbox_remove,
.driver = {
.name = "rockchip-mailbox",
.of_match_table = of_match_ptr(rockchip_mbox_of_match),
--
2.19.1


2018-11-21 14:57:50

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 07/19] mailbox: hi6220: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/hi6220-mailbox.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/mailbox/hi6220-mailbox.c b/drivers/mailbox/hi6220-mailbox.c
index 4fa9803cd204..c32cbfaf223a 100644
--- a/drivers/mailbox/hi6220-mailbox.c
+++ b/drivers/mailbox/hi6220-mailbox.c
@@ -349,7 +349,7 @@ static int hi6220_mbox_probe(struct platform_device *pdev)
mbox->controller.txpoll_period = 5;
}

- err = mbox_controller_register(&mbox->controller);
+ err = devm_mbox_controller_register(dev, &mbox->controller);
if (err) {
dev_err(dev, "Failed to register mailbox %d\n", err);
return err;
@@ -360,14 +360,6 @@ static int hi6220_mbox_probe(struct platform_device *pdev)
return 0;
}

-static int hi6220_mbox_remove(struct platform_device *pdev)
-{
- struct hi6220_mbox *mbox = platform_get_drvdata(pdev);
-
- mbox_controller_unregister(&mbox->controller);
- return 0;
-}
-
static struct platform_driver hi6220_mbox_driver = {
.driver = {
.name = "hi6220-mbox",
@@ -375,7 +367,6 @@ static struct platform_driver hi6220_mbox_driver = {
.of_match_table = hi6220_mbox_of_match,
},
.probe = hi6220_mbox_probe,
- .remove = hi6220_mbox_remove,
};

static int __init hi6220_mbox_init(void)
--
2.19.1


2018-11-21 14:57:59

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 04/19] mailbox: bcm-flexrm: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/bcm-flexrm-mailbox.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/mailbox/bcm-flexrm-mailbox.c b/drivers/mailbox/bcm-flexrm-mailbox.c
index d7a8ed7d8097..d713271ebf7c 100644
--- a/drivers/mailbox/bcm-flexrm-mailbox.c
+++ b/drivers/mailbox/bcm-flexrm-mailbox.c
@@ -1665,7 +1665,7 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
mbox->controller.chans[index].con_priv = &mbox->rings[index];

/* Register mailbox controller */
- ret = mbox_controller_register(&mbox->controller);
+ ret = devm_mbox_controller_register(dev, &mbox->controller);
if (ret)
goto fail_free_debugfs_root;

@@ -1691,8 +1691,6 @@ static int flexrm_mbox_remove(struct platform_device *pdev)
struct device *dev = &pdev->dev;
struct flexrm_mbox *mbox = platform_get_drvdata(pdev);

- mbox_controller_unregister(&mbox->controller);
-
debugfs_remove_recursive(mbox->root);

platform_msi_domain_free_irqs(dev);
--
2.19.1


2018-11-21 14:58:01

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 14/19] mailbox: omap: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/omap-mailbox.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c
index db66e952a871..7e54ebb7defe 100644
--- a/drivers/mailbox/omap-mailbox.c
+++ b/drivers/mailbox/omap-mailbox.c
@@ -486,7 +486,7 @@ static int omap_mbox_register(struct omap_mbox_device *mdev)
list_add(&mdev->elem, &omap_mbox_devices);
mutex_unlock(&omap_mbox_devices_lock);

- ret = mbox_controller_register(&mdev->controller);
+ ret = devm_mbox_controller_register(&mdev->controller);

err_out:
if (ret) {
@@ -508,8 +508,6 @@ static int omap_mbox_unregister(struct omap_mbox_device *mdev)
list_del(&mdev->elem);
mutex_unlock(&omap_mbox_devices_lock);

- mbox_controller_unregister(&mdev->controller);
-
mboxes = mdev->mboxes;
for (i = 0; mboxes[i]; i++)
device_unregister(mboxes[i]->dev);
--
2.19.1


2018-11-21 14:58:09

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 05/19] mailbox: bcm-pdc: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/bcm-pdc-mailbox.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/mailbox/bcm-pdc-mailbox.c b/drivers/mailbox/bcm-pdc-mailbox.c
index 4fe7be0bdd11..ccf3d62af7e7 100644
--- a/drivers/mailbox/bcm-pdc-mailbox.c
+++ b/drivers/mailbox/bcm-pdc-mailbox.c
@@ -1471,7 +1471,7 @@ static int pdc_mb_init(struct pdc_state *pdcs)
mbc->chans[chan_index].con_priv = pdcs;

/* Register mailbox controller */
- err = mbox_controller_register(mbc);
+ err = devm_mbox_controller_register(dev, mbc);
if (err) {
dev_crit(dev,
"Failed to register PDC mailbox controller. Error %d.",
@@ -1641,8 +1641,6 @@ static int pdc_remove(struct platform_device *pdev)

pdc_hw_disable(pdcs);

- mbox_controller_unregister(&pdcs->mbc);
-
dma_pool_destroy(pdcs->rx_buf_pool);
dma_pool_destroy(pdcs->ring_pool);
return 0;
--
2.19.1


2018-11-21 14:58:10

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 02/19] mailbox: arm-mhu: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/arm_mhu.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/mailbox/arm_mhu.c b/drivers/mailbox/arm_mhu.c
index 99befa76e37c..64d85c6a2bdf 100644
--- a/drivers/mailbox/arm_mhu.c
+++ b/drivers/mailbox/arm_mhu.c
@@ -152,7 +152,7 @@ static int mhu_probe(struct amba_device *adev, const struct amba_id *id)

amba_set_drvdata(adev, mhu);

- err = mbox_controller_register(&mhu->mbox);
+ err = devm_mbox_controller_register(dev, &mhu->mbox);
if (err) {
dev_err(dev, "Failed to register mailboxes %d\n", err);
return err;
@@ -162,15 +162,6 @@ static int mhu_probe(struct amba_device *adev, const struct amba_id *id)
return 0;
}

-static int mhu_remove(struct amba_device *adev)
-{
- struct arm_mhu *mhu = amba_get_drvdata(adev);
-
- mbox_controller_unregister(&mhu->mbox);
-
- return 0;
-}
-
static struct amba_id mhu_ids[] = {
{
.id = 0x1bb098,
@@ -186,7 +177,6 @@ static struct amba_driver arm_mhu_driver = {
},
.id_table = mhu_ids,
.probe = mhu_probe,
- .remove = mhu_remove,
};
module_amba_driver(arm_mhu_driver);

--
2.19.1


2018-11-21 14:58:10

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 03/19] mailbox: bcm2835: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/bcm2835-mailbox.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/mailbox/bcm2835-mailbox.c b/drivers/mailbox/bcm2835-mailbox.c
index e92bbc533821..d48f67b25567 100644
--- a/drivers/mailbox/bcm2835-mailbox.c
+++ b/drivers/mailbox/bcm2835-mailbox.c
@@ -178,7 +178,7 @@ static int bcm2835_mbox_probe(struct platform_device *pdev)
if (!mbox->controller.chans)
return -ENOMEM;

- ret = mbox_controller_register(&mbox->controller);
+ ret = devm_mbox_controller_register(dev, &mbox->controller);
if (ret)
return ret;

@@ -188,13 +188,6 @@ static int bcm2835_mbox_probe(struct platform_device *pdev)
return ret;
}

-static int bcm2835_mbox_remove(struct platform_device *pdev)
-{
- struct bcm2835_mbox *mbox = platform_get_drvdata(pdev);
- mbox_controller_unregister(&mbox->controller);
- return 0;
-}
-
static const struct of_device_id bcm2835_mbox_of_match[] = {
{ .compatible = "brcm,bcm2835-mbox", },
{},
@@ -207,7 +200,6 @@ static struct platform_driver bcm2835_mbox_driver = {
.of_match_table = bcm2835_mbox_of_match,
},
.probe = bcm2835_mbox_probe,
- .remove = bcm2835_mbox_remove,
};
module_platform_driver(bcm2835_mbox_driver);

--
2.19.1


2018-11-21 14:58:16

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 01/19] mailbox: Add device-managed registration functions

From: Thierry Reding <[email protected]>

Add device-managed equivalents of the mbox_controller_register() and
mbox_controller_unregister() functions that can be used to have the
devres infrastructure automatically unregister mailbox controllers on
driver probe failure or driver removal. This can help remove a lot of
boiler plate code from drivers.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/mailbox.c | 70 ++++++++++++++++++++++++++++++
include/linux/mailbox_controller.h | 5 +++
2 files changed, 75 insertions(+)

diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c
index 674b35f402f5..eb781e2b19cb 100644
--- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c
@@ -515,3 +515,73 @@ void mbox_controller_unregister(struct mbox_controller *mbox)
mutex_unlock(&con_mutex);
}
EXPORT_SYMBOL_GPL(mbox_controller_unregister);
+
+static void __devm_mbox_controller_unregister(struct device *dev, void *res)
+{
+ struct mbox_controller *mbox = res;
+
+ mbox_controller_unregister(mbox);
+}
+
+static int devm_mbox_controller_match(struct device *dev, void *res, void *data)
+{
+ struct mbox_controller **mbox = res;
+
+ if (WARN_ON(!mbox || !*mbox))
+ return 0;
+
+ return *mbox == data;
+}
+
+/**
+ * devm_mbox_controller_register() - managed mbox_controller_register()
+ * @dev: device owning the mailbox controller being registered
+ * @mbox: mailbox controller being registered
+ *
+ * This function adds a device-managed resource that will make sure that the
+ * mailbox controller, which is registered using mbox_controller_register()
+ * as part of this function, will be unregistered along with the rest of
+ * device-managed resources upon driver probe failure or driver removal.
+ *
+ * Returns 0 on success or a negative error code on failure.
+ */
+int devm_mbox_controller_register(struct device *dev,
+ struct mbox_controller *mbox)
+{
+ struct mbox_controller **ptr;
+ int err;
+
+ ptr = devres_alloc(__devm_mbox_controller_unregister, sizeof(*ptr),
+ GFP_KERNEL);
+ if (!ptr)
+ return -ENOMEM;
+
+ err = mbox_controller_register(mbox);
+ if (err < 0) {
+ devres_free(ptr);
+ return err;
+ }
+
+ devres_add(dev, ptr);
+ *ptr = mbox;
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(devm_mbox_controller_register);
+
+/**
+ * devm_mbox_controller_unregister() - managed mbox_controller_unregister()
+ * @dev: device owning the mailbox controller being unregistered
+ * @mbox: mailbox controller being unregistered
+ *
+ * This function unregisters the mailbox controller and removes the device-
+ * managed resource that was set up to automatically unregister the mailbox
+ * controller on driver probe failure or driver removal. It's typically not
+ * necessary to call this function.
+ */
+void devm_mbox_controller_unregister(struct device *dev, struct mbox_controller *mbox)
+{
+ WARN_ON(devres_release(dev, __devm_mbox_controller_unregister,
+ devm_mbox_controller_match, mbox));
+}
+EXPORT_SYMBOL_GPL(devm_mbox_controller_unregister);
diff --git a/include/linux/mailbox_controller.h b/include/linux/mailbox_controller.h
index 74deadb42d76..9b0b21207345 100644
--- a/include/linux/mailbox_controller.h
+++ b/include/linux/mailbox_controller.h
@@ -131,4 +131,9 @@ void mbox_controller_unregister(struct mbox_controller *mbox); /* can sleep */
void mbox_chan_received_data(struct mbox_chan *chan, void *data); /* atomic */
void mbox_chan_txdone(struct mbox_chan *chan, int r); /* atomic */

+int devm_mbox_controller_register(struct device *dev,
+ struct mbox_controller *mbox);
+void devm_mbox_controller_unregister(struct device *dev,
+ struct mbox_controller *mbox);
+
#endif /* __MAILBOX_CONTROLLER_H */
--
2.19.1


2018-11-21 14:58:24

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 08/19] mailbox: imx: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/imx-mailbox.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
index 363d35d5e49d..774362a05159 100644
--- a/drivers/mailbox/imx-mailbox.c
+++ b/drivers/mailbox/imx-mailbox.c
@@ -324,14 +324,13 @@ static int imx_mu_probe(struct platform_device *pdev)

imx_mu_init_generic(priv);

- return mbox_controller_register(&priv->mbox);
+ return devm_mbox_controller_register(dev, &priv->mbox);
}

static int imx_mu_remove(struct platform_device *pdev)
{
struct imx_mu_priv *priv = platform_get_drvdata(pdev);

- mbox_controller_unregister(&priv->mbox);
clk_disable_unprepare(priv->clk);

return 0;
--
2.19.1


2018-11-21 14:58:33

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 19/19] mailbox: ti-msgmgr: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/ti-msgmgr.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/mailbox/ti-msgmgr.c b/drivers/mailbox/ti-msgmgr.c
index 713d701b6568..1be1f432d6a5 100644
--- a/drivers/mailbox/ti-msgmgr.c
+++ b/drivers/mailbox/ti-msgmgr.c
@@ -817,26 +817,15 @@ static int ti_msgmgr_probe(struct platform_device *pdev)
mbox->of_xlate = ti_msgmgr_of_xlate;

platform_set_drvdata(pdev, inst);
- ret = mbox_controller_register(mbox);
+ ret = devm_mbox_controller_register(dev, mbox);
if (ret)
dev_err(dev, "Failed to register mbox_controller(%d)\n", ret);

return ret;
}

-static int ti_msgmgr_remove(struct platform_device *pdev)
-{
- struct ti_msgmgr_inst *inst;
-
- inst = platform_get_drvdata(pdev);
- mbox_controller_unregister(&inst->mbox);
-
- return 0;
-}
-
static struct platform_driver ti_msgmgr_driver = {
.probe = ti_msgmgr_probe,
- .remove = ti_msgmgr_remove,
.driver = {
.name = "ti-msgmgr",
.of_match_table = of_match_ptr(ti_msgmgr_of_match),
--
2.19.1


2018-11-21 17:42:31

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 10/19] mailbox: sti: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/mailbox-sti.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/mailbox/mailbox-sti.c b/drivers/mailbox/mailbox-sti.c
index 779d41262ef0..adf82b85dbb2 100644
--- a/drivers/mailbox/mailbox-sti.c
+++ b/drivers/mailbox/mailbox-sti.c
@@ -462,7 +462,7 @@ static int sti_mbox_probe(struct platform_device *pdev)
mbox->chans = chans;
mbox->num_chans = STI_MBOX_CHAN_MAX;

- ret = mbox_controller_register(mbox);
+ ret = devm_mbox_controller_register(&pdev->dev, mbox);
if (ret)
return ret;

@@ -480,7 +480,6 @@ static int sti_mbox_probe(struct platform_device *pdev)
IRQF_ONESHOT, mdev->name, mdev);
if (ret) {
dev_err(&pdev->dev, "Can't claim IRQ %d\n", irq);
- mbox_controller_unregister(mbox);
return -EINVAL;
}

@@ -489,18 +488,8 @@ static int sti_mbox_probe(struct platform_device *pdev)
return 0;
}

-static int sti_mbox_remove(struct platform_device *pdev)
-{
- struct sti_mbox_device *mdev = platform_get_drvdata(pdev);
-
- mbox_controller_unregister(mdev->mbox);
-
- return 0;
-}
-
static struct platform_driver sti_mbox_driver = {
.probe = sti_mbox_probe,
- .remove = sti_mbox_remove,
.driver = {
.name = "sti-mailbox",
.of_match_table = sti_mailbox_match,
--
2.19.1


2018-11-21 17:53:16

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 06/19] mailbox: hi3660: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/hi3660-mailbox.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/mailbox/hi3660-mailbox.c b/drivers/mailbox/hi3660-mailbox.c
index 3eea6b642484..17ccf69c4f4f 100644
--- a/drivers/mailbox/hi3660-mailbox.c
+++ b/drivers/mailbox/hi3660-mailbox.c
@@ -267,7 +267,7 @@ static int hi3660_mbox_probe(struct platform_device *pdev)
for (ch = 0; ch < MBOX_CHAN_MAX; ch++)
chan[ch].con_priv = (void *)ch;

- err = mbox_controller_register(&mbox->controller);
+ err = devm_mbox_controller_register(dev, &mbox->controller);
if (err) {
dev_err(dev, "Failed to register mailbox %d\n", err);
return err;
@@ -278,17 +278,8 @@ static int hi3660_mbox_probe(struct platform_device *pdev)
return 0;
}

-static int hi3660_mbox_remove(struct platform_device *pdev)
-{
- struct hi3660_mbox *mbox = platform_get_drvdata(pdev);
-
- mbox_controller_unregister(&mbox->controller);
- return 0;
-}
-
static struct platform_driver hi3660_mbox_driver = {
.probe = hi3660_mbox_probe,
- .remove = hi3660_mbox_remove,
.driver = {
.name = "hi3660-mbox",
.of_match_table = hi3660_mbox_of_match,
--
2.19.1


2018-11-21 17:53:42

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 09/19] mailbox: altera: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/mailbox-altera.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/mailbox/mailbox-altera.c b/drivers/mailbox/mailbox-altera.c
index bcb29df9549e..397e25ddae29 100644
--- a/drivers/mailbox/mailbox-altera.c
+++ b/drivers/mailbox/mailbox-altera.c
@@ -341,7 +341,7 @@ static int altera_mbox_probe(struct platform_device *pdev)
}
}

- ret = mbox_controller_register(&mbox->controller);
+ ret = devm_mbox_controller_register(&pdev->dev, &mbox->controller);
if (ret) {
dev_err(&pdev->dev, "Register mailbox failed\n");
goto err;
@@ -352,18 +352,6 @@ static int altera_mbox_probe(struct platform_device *pdev)
return ret;
}

-static int altera_mbox_remove(struct platform_device *pdev)
-{
- struct altera_mbox *mbox = platform_get_drvdata(pdev);
-
- if (!mbox)
- return -EINVAL;
-
- mbox_controller_unregister(&mbox->controller);
-
- return 0;
-}
-
static const struct of_device_id altera_mbox_match[] = {
{ .compatible = "altr,mailbox-1.0" },
{ /* Sentinel */ }
@@ -373,7 +361,6 @@ MODULE_DEVICE_TABLE(of, altera_mbox_match);

static struct platform_driver altera_mbox_driver = {
.probe = altera_mbox_probe,
- .remove = altera_mbox_remove,
.driver = {
.name = DRIVER_NAME,
.of_match_table = altera_mbox_match,
--
2.19.1


2018-11-21 17:56:44

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 11/19] mailbox: xgene-slimpro: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/mailbox-xgene-slimpro.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/mailbox/mailbox-xgene-slimpro.c b/drivers/mailbox/mailbox-xgene-slimpro.c
index b8b2b3533f46..8f397da1150b 100644
--- a/drivers/mailbox/mailbox-xgene-slimpro.c
+++ b/drivers/mailbox/mailbox-xgene-slimpro.c
@@ -224,7 +224,7 @@ static int slimpro_mbox_probe(struct platform_device *pdev)
ctx->mb_ctrl.ops = &slimpro_mbox_ops;
ctx->mb_ctrl.num_chans = i;

- rc = mbox_controller_register(&ctx->mb_ctrl);
+ rc = devm_mbox_controller_register(&pdev->dev, &ctx->mb_ctrl);
if (rc) {
dev_err(&pdev->dev,
"APM X-Gene SLIMpro MailBox register failed:%d\n", rc);
@@ -235,14 +235,6 @@ static int slimpro_mbox_probe(struct platform_device *pdev)
return 0;
}

-static int slimpro_mbox_remove(struct platform_device *pdev)
-{
- struct slimpro_mbox *smb = platform_get_drvdata(pdev);
-
- mbox_controller_unregister(&smb->mb_ctrl);
- return 0;
-}
-
static const struct of_device_id slimpro_of_match[] = {
{.compatible = "apm,xgene-slimpro-mbox" },
{ },
@@ -259,7 +251,6 @@ MODULE_DEVICE_TABLE(acpi, slimpro_acpi_ids);

static struct platform_driver slimpro_mbox_driver = {
.probe = slimpro_mbox_probe,
- .remove = slimpro_mbox_remove,
.driver = {
.name = "xgene-slimpro-mbox",
.of_match_table = of_match_ptr(slimpro_of_match),
--
2.19.1


2018-11-21 17:56:48

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 12/19] mailbox: mtk-cmdq: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/mtk-cmdq-mailbox.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index f7cc29c00302..d9c3ec3667a8 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -337,7 +337,6 @@ static int cmdq_remove(struct platform_device *pdev)
{
struct cmdq *cmdq = platform_get_drvdata(pdev);

- mbox_controller_unregister(&cmdq->mbox);
clk_unprepare(cmdq->clock);

if (cmdq->mbox.chans)
@@ -524,7 +523,7 @@ static int cmdq_probe(struct platform_device *pdev)
cmdq->mbox.chans[i].con_priv = (void *)&cmdq->thread[i];
}

- err = mbox_controller_register(&cmdq->mbox);
+ err = devm_mbox_controller_register(dev, &cmdq->mbox);
if (err < 0) {
dev_err(dev, "failed to register mailbox: %d\n", err);
return err;
--
2.19.1


2018-11-21 17:56:59

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 13/19] mailbox: mtk-cmdq: Remove needless devm_kfree() calls

From: Thierry Reding <[email protected]>

Memory allocated through device-managed functions doesn't need to be
explicitly freed, so these calls can be removed.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/mtk-cmdq-mailbox.c | 8 --------
1 file changed, 8 deletions(-)

diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index d9c3ec3667a8..22811784dc7d 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -339,14 +339,6 @@ static int cmdq_remove(struct platform_device *pdev)

clk_unprepare(cmdq->clock);

- if (cmdq->mbox.chans)
- devm_kfree(&pdev->dev, cmdq->mbox.chans);
-
- if (cmdq->thread)
- devm_kfree(&pdev->dev, cmdq->thread);
-
- devm_kfree(&pdev->dev, cmdq);
-
return 0;
}

--
2.19.1


2018-11-21 17:57:09

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 15/19] mailbox: platform-mhu: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/platform_mhu.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/mailbox/platform_mhu.c b/drivers/mailbox/platform_mhu.c
index e13201a5cec6..d2502c5be130 100644
--- a/drivers/mailbox/platform_mhu.c
+++ b/drivers/mailbox/platform_mhu.c
@@ -163,7 +163,7 @@ static int platform_mhu_probe(struct platform_device *pdev)

platform_set_drvdata(pdev, mhu);

- err = mbox_controller_register(&mhu->mbox);
+ err = devm_mbox_controller_register(dev, &mhu->mbox);
if (err) {
dev_err(dev, "Failed to register mailboxes %d\n", err);
return err;
@@ -173,15 +173,6 @@ static int platform_mhu_probe(struct platform_device *pdev)
return 0;
}

-static int platform_mhu_remove(struct platform_device *pdev)
-{
- struct platform_mhu *mhu = platform_get_drvdata(pdev);
-
- mbox_controller_unregister(&mhu->mbox);
-
- return 0;
-}
-
static const struct of_device_id platform_mhu_dt_ids[] = {
{ .compatible = "amlogic,meson-gxbb-mhu", },
{ /* sentinel */ },
@@ -190,7 +181,6 @@ MODULE_DEVICE_TABLE(of, platform_mhu_dt_ids);

static struct platform_driver platform_mhu_driver = {
.probe = platform_mhu_probe,
- .remove = platform_mhu_remove,
.driver = {
.name = "platform-mhu",
.of_match_table = platform_mhu_dt_ids,
--
2.19.1


2018-11-21 17:57:20

by Thierry Reding

[permalink] [raw]
Subject: [PATCH 16/19] mailbox: qcom-apcs: Use device-managed registration API

From: Thierry Reding <[email protected]>

Get rid of some boilerplate driver removal code by using the newly added
device-managed registration API.

Signed-off-by: Thierry Reding <[email protected]>
---
drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
index aed23ac9550d..3cf2937be149 100644
--- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c
+++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
@@ -91,7 +91,7 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev)
apcs->mbox.chans = apcs->mbox_chans;
apcs->mbox.num_chans = ARRAY_SIZE(apcs->mbox_chans);

- ret = mbox_controller_register(&apcs->mbox);
+ ret = devm_mbox_controller_register(&pdev->dev, &apcs->mbox);
if (ret) {
dev_err(&pdev->dev, "failed to register APCS IPC controller\n");
return ret;
@@ -115,7 +115,6 @@ static int qcom_apcs_ipc_remove(struct platform_device *pdev)
struct qcom_apcs_ipc *apcs = platform_get_drvdata(pdev);
struct platform_device *clk = apcs->clk;

- mbox_controller_unregister(&apcs->mbox);
platform_device_unregister(clk);

return 0;
--
2.19.1


2018-11-28 09:41:20

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 00/19] mailbox: Device-managed registration

On Wed, Nov 21, 2018 at 03:54:10PM +0100, Thierry Reding wrote:
> From: Thierry Reding <[email protected]>
>
> Hi,
>
> This series of patches adds device-managed registration functions for
> mailbox controllers. A number of drivers can be simplified by making use
> of this new API both in the error cleanup paths in their probe functions
> and in the driver remove implementation.
>
> In addition to adding the new API this series converts all drivers to
> use it. There is also an additional cleanup patch for the mtk-cmdq
> driver that removes some calls to devm_kfree() that are not needed.
>
> Thierry
>
> Thierry Reding (19):
> mailbox: Add device-managed registration functions
> mailbox: arm-mhu: Use device-managed registration API
> mailbox: bcm2835: Use device-managed registration API
> mailbox: bcm-flexrm: Use device-managed registration API
> mailbox: bcm-pdc: Use device-managed registration API
> mailbox: hi3660: Use device-managed registration API
> mailbox: hi6220: Use device-managed registration API
> mailbox: imx: Use device-managed registration API
> mailbox: altera: Use device-managed registration API
> mailbox: sti: Use device-managed registration API
> mailbox: xgene-slimpro: Use device-managed registration API
> mailbox: mtk-cmdq: Use device-managed registration API
> mailbox: mtk-cmdq: Remove needless devm_kfree() calls
> mailbox: omap: Use device-managed registration API
> mailbox: platform-mhu: Use device-managed registration API
> mailbox: qcom-apcs: Use device-managed registration API
> mailbox: rockchip: Use device-managed registration API
> mailbox: stm32-ipcc: Use device-managed registration API
> mailbox: ti-msgmgr: Use device-managed registration API
>
> drivers/mailbox/arm_mhu.c | 12 +----
> drivers/mailbox/bcm-flexrm-mailbox.c | 4 +-
> drivers/mailbox/bcm-pdc-mailbox.c | 4 +-
> drivers/mailbox/bcm2835-mailbox.c | 10 +---
> drivers/mailbox/hi3660-mailbox.c | 11 +---
> drivers/mailbox/hi6220-mailbox.c | 11 +---
> drivers/mailbox/imx-mailbox.c | 3 +-
> drivers/mailbox/mailbox-altera.c | 15 +-----
> drivers/mailbox/mailbox-sti.c | 13 +----
> drivers/mailbox/mailbox-xgene-slimpro.c | 11 +---
> drivers/mailbox/mailbox.c | 70 +++++++++++++++++++++++++
> drivers/mailbox/mtk-cmdq-mailbox.c | 11 +---
> drivers/mailbox/omap-mailbox.c | 4 +-
> drivers/mailbox/platform_mhu.c | 12 +----
> drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 +-
> drivers/mailbox/rockchip-mailbox.c | 15 +-----
> drivers/mailbox/stm32-ipcc.c | 4 +-
> drivers/mailbox/ti-msgmgr.c | 13 +----
> include/linux/mailbox_controller.h | 5 ++
> 19 files changed, 92 insertions(+), 139 deletions(-)

Hi Jassi,

any comments on this?

Thierry


Attachments:
(No filename) (2.86 kB)
signature.asc (849.00 B)
Download all attachments

2018-12-05 16:16:42

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 00/19] mailbox: Device-managed registration

On Wed, Nov 28, 2018 at 10:39:50AM +0100, Thierry Reding wrote:
> On Wed, Nov 21, 2018 at 03:54:10PM +0100, Thierry Reding wrote:
> > From: Thierry Reding <[email protected]>
> >
> > Hi,
> >
> > This series of patches adds device-managed registration functions for
> > mailbox controllers. A number of drivers can be simplified by making use
> > of this new API both in the error cleanup paths in their probe functions
> > and in the driver remove implementation.
> >
> > In addition to adding the new API this series converts all drivers to
> > use it. There is also an additional cleanup patch for the mtk-cmdq
> > driver that removes some calls to devm_kfree() that are not needed.
> >
> > Thierry
> >
> > Thierry Reding (19):
> > mailbox: Add device-managed registration functions
> > mailbox: arm-mhu: Use device-managed registration API
> > mailbox: bcm2835: Use device-managed registration API
> > mailbox: bcm-flexrm: Use device-managed registration API
> > mailbox: bcm-pdc: Use device-managed registration API
> > mailbox: hi3660: Use device-managed registration API
> > mailbox: hi6220: Use device-managed registration API
> > mailbox: imx: Use device-managed registration API
> > mailbox: altera: Use device-managed registration API
> > mailbox: sti: Use device-managed registration API
> > mailbox: xgene-slimpro: Use device-managed registration API
> > mailbox: mtk-cmdq: Use device-managed registration API
> > mailbox: mtk-cmdq: Remove needless devm_kfree() calls
> > mailbox: omap: Use device-managed registration API
> > mailbox: platform-mhu: Use device-managed registration API
> > mailbox: qcom-apcs: Use device-managed registration API
> > mailbox: rockchip: Use device-managed registration API
> > mailbox: stm32-ipcc: Use device-managed registration API
> > mailbox: ti-msgmgr: Use device-managed registration API
> >
> > drivers/mailbox/arm_mhu.c | 12 +----
> > drivers/mailbox/bcm-flexrm-mailbox.c | 4 +-
> > drivers/mailbox/bcm-pdc-mailbox.c | 4 +-
> > drivers/mailbox/bcm2835-mailbox.c | 10 +---
> > drivers/mailbox/hi3660-mailbox.c | 11 +---
> > drivers/mailbox/hi6220-mailbox.c | 11 +---
> > drivers/mailbox/imx-mailbox.c | 3 +-
> > drivers/mailbox/mailbox-altera.c | 15 +-----
> > drivers/mailbox/mailbox-sti.c | 13 +----
> > drivers/mailbox/mailbox-xgene-slimpro.c | 11 +---
> > drivers/mailbox/mailbox.c | 70 +++++++++++++++++++++++++
> > drivers/mailbox/mtk-cmdq-mailbox.c | 11 +---
> > drivers/mailbox/omap-mailbox.c | 4 +-
> > drivers/mailbox/platform_mhu.c | 12 +----
> > drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 +-
> > drivers/mailbox/rockchip-mailbox.c | 15 +-----
> > drivers/mailbox/stm32-ipcc.c | 4 +-
> > drivers/mailbox/ti-msgmgr.c | 13 +----
> > include/linux/mailbox_controller.h | 5 ++
> > 19 files changed, 92 insertions(+), 139 deletions(-)
>
> Hi Jassi,
>
> any comments on this?

Ping!

Thierry


Attachments:
(No filename) (3.06 kB)
signature.asc (849.00 B)
Download all attachments

2018-12-07 04:11:00

by Jassi Brar

[permalink] [raw]
Subject: Re: [PATCH 00/19] mailbox: Device-managed registration

On Wed, Dec 5, 2018 at 10:14 AM Thierry Reding <[email protected]> wrote:
>
> On Wed, Nov 28, 2018 at 10:39:50AM +0100, Thierry Reding wrote:
> > On Wed, Nov 21, 2018 at 03:54:10PM +0100, Thierry Reding wrote:
> > > From: Thierry Reding <[email protected]>
> > >
> > > Hi,
> > >
> > > This series of patches adds device-managed registration functions for
> > > mailbox controllers. A number of drivers can be simplified by making use
> > > of this new API both in the error cleanup paths in their probe functions
> > > and in the driver remove implementation.
> > >
> > > In addition to adding the new API this series converts all drivers to
> > > use it. There is also an additional cleanup patch for the mtk-cmdq
> > > driver that removes some calls to devm_kfree() that are not needed.
> > >
> > > Thierry
> > >
> > > Thierry Reding (19):
> > > mailbox: Add device-managed registration functions
> > > mailbox: arm-mhu: Use device-managed registration API
> > > mailbox: bcm2835: Use device-managed registration API
> > > mailbox: bcm-flexrm: Use device-managed registration API
> > > mailbox: bcm-pdc: Use device-managed registration API
> > > mailbox: hi3660: Use device-managed registration API
> > > mailbox: hi6220: Use device-managed registration API
> > > mailbox: imx: Use device-managed registration API
> > > mailbox: altera: Use device-managed registration API
> > > mailbox: sti: Use device-managed registration API
> > > mailbox: xgene-slimpro: Use device-managed registration API
> > > mailbox: mtk-cmdq: Use device-managed registration API
> > > mailbox: mtk-cmdq: Remove needless devm_kfree() calls
> > > mailbox: omap: Use device-managed registration API
> > > mailbox: platform-mhu: Use device-managed registration API
> > > mailbox: qcom-apcs: Use device-managed registration API
> > > mailbox: rockchip: Use device-managed registration API
> > > mailbox: stm32-ipcc: Use device-managed registration API
> > > mailbox: ti-msgmgr: Use device-managed registration API
> > >
> > > drivers/mailbox/arm_mhu.c | 12 +----
> > > drivers/mailbox/bcm-flexrm-mailbox.c | 4 +-
> > > drivers/mailbox/bcm-pdc-mailbox.c | 4 +-
> > > drivers/mailbox/bcm2835-mailbox.c | 10 +---
> > > drivers/mailbox/hi3660-mailbox.c | 11 +---
> > > drivers/mailbox/hi6220-mailbox.c | 11 +---
> > > drivers/mailbox/imx-mailbox.c | 3 +-
> > > drivers/mailbox/mailbox-altera.c | 15 +-----
> > > drivers/mailbox/mailbox-sti.c | 13 +----
> > > drivers/mailbox/mailbox-xgene-slimpro.c | 11 +---
> > > drivers/mailbox/mailbox.c | 70 +++++++++++++++++++++++++
> > > drivers/mailbox/mtk-cmdq-mailbox.c | 11 +---
> > > drivers/mailbox/omap-mailbox.c | 4 +-
> > > drivers/mailbox/platform_mhu.c | 12 +----
> > > drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 +-
> > > drivers/mailbox/rockchip-mailbox.c | 15 +-----
> > > drivers/mailbox/stm32-ipcc.c | 4 +-
> > > drivers/mailbox/ti-msgmgr.c | 13 +----
> > > include/linux/mailbox_controller.h | 5 ++
> > > 19 files changed, 92 insertions(+), 139 deletions(-)
> >
> > Hi Jassi,
> >
> > any comments on this?
>
> Ping!
>
This change was due for some time now and is most welcome. Thanks.
Sorry, for late reply (I have been busy with my move to another city).

Thanks.

2018-12-11 17:07:44

by Jassi Brar

[permalink] [raw]
Subject: Re: [PATCH 00/19] mailbox: Device-managed registration

On Wed, Nov 21, 2018 at 8:24 PM Thierry Reding <[email protected]> wrote:
>
> From: Thierry Reding <[email protected]>
>
> Hi,
>
> This series of patches adds device-managed registration functions for
> mailbox controllers. A number of drivers can be simplified by making use
> of this new API both in the error cleanup paths in their probe functions
> and in the driver remove implementation.
>
> In addition to adding the new API this series converts all drivers to
> use it. There is also an additional cleanup patch for the mtk-cmdq
> driver that removes some calls to devm_kfree() that are not needed.
>
Any Acked/Reviewed/Tested-by would have been great, but I see no
driver author is CC'ed. Do you want to loop in authors too?

Thanks.

2018-12-17 14:43:58

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 00/19] mailbox: Device-managed registration

On Tue, Dec 11, 2018 at 10:34:59PM +0530, Jassi Brar wrote:
> On Wed, Nov 21, 2018 at 8:24 PM Thierry Reding <[email protected]> wrote:
> >
> > From: Thierry Reding <[email protected]>
> >
> > Hi,
> >
> > This series of patches adds device-managed registration functions for
> > mailbox controllers. A number of drivers can be simplified by making use
> > of this new API both in the error cleanup paths in their probe functions
> > and in the driver remove implementation.
> >
> > In addition to adding the new API this series converts all drivers to
> > use it. There is also an additional cleanup patch for the mtk-cmdq
> > driver that removes some calls to devm_kfree() that are not needed.
> >
> Any Acked/Reviewed/Tested-by would have been great, but I see no
> driver author is CC'ed. Do you want to loop in authors too?

I didn't think that was necessary because it's a pretty mechanical
change. But I can resend with all the authors in Cc.

Thierry


Attachments:
(No filename) (990.00 B)
signature.asc (849.00 B)
Download all attachments

2018-12-17 17:45:07

by Jassi Brar

[permalink] [raw]
Subject: Re: [PATCH 00/19] mailbox: Device-managed registration

On Mon, Dec 17, 2018 at 8:35 AM Thierry Reding <[email protected]> wrote:
>
> On Tue, Dec 11, 2018 at 10:34:59PM +0530, Jassi Brar wrote:
> > On Wed, Nov 21, 2018 at 8:24 PM Thierry Reding <[email protected]> wrote:
> > >
> > > From: Thierry Reding <[email protected]>
> > >
> > > Hi,
> > >
> > > This series of patches adds device-managed registration functions for
> > > mailbox controllers. A number of drivers can be simplified by making use
> > > of this new API both in the error cleanup paths in their probe functions
> > > and in the driver remove implementation.
> > >
> > > In addition to adding the new API this series converts all drivers to
> > > use it. There is also an additional cleanup patch for the mtk-cmdq
> > > driver that removes some calls to devm_kfree() that are not needed.
> > >
> > Any Acked/Reviewed/Tested-by would have been great, but I see no
> > driver author is CC'ed. Do you want to loop in authors too?
>
> I didn't think that was necessary because it's a pretty mechanical
> change. But I can resend with all the authors in Cc.
>
Yes please. The authors should atleast be notified of the change, if
not asked for review.

Thanks.