* [PATCH net-next 0/2] net: mdio-ipq8064: simplify with devm
@ 2024-11-17 21:31 Rosen Penev
2024-11-17 21:31 ` [PATCH net-next 1/2] net: mdio-ipq8064: use platform_get_resource Rosen Penev
2024-11-17 21:31 ` [PATCH net-next 2/2] net: mdio-ipq8064: remove _remove function Rosen Penev
0 siblings, 2 replies; 4+ messages in thread
From: Rosen Penev @ 2024-11-17 21:31 UTC (permalink / raw)
To: netdev
Cc: Andrew Lunn, ansuelsmth, Heiner Kallweit, Russell King,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list
Makes probe simpler and easier to reason about.
Rosen Penev (2):
net: mdio-ipq8064: use platform_get_resource
net: mdio-ipq8064: remove _remove function
drivers/net/mdio/mdio-ipq8064.c | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)
--
2.47.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next 1/2] net: mdio-ipq8064: use platform_get_resource
2024-11-17 21:31 [PATCH net-next 0/2] net: mdio-ipq8064: simplify with devm Rosen Penev
@ 2024-11-17 21:31 ` Rosen Penev
2024-11-17 21:31 ` [PATCH net-next 2/2] net: mdio-ipq8064: remove _remove function Rosen Penev
1 sibling, 0 replies; 4+ messages in thread
From: Rosen Penev @ 2024-11-17 21:31 UTC (permalink / raw)
To: netdev
Cc: Andrew Lunn, ansuelsmth, Heiner Kallweit, Russell King,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list
There's no need to get the of_node explicitly. platform_get_resource
already does this.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/net/mdio/mdio-ipq8064.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mdio/mdio-ipq8064.c b/drivers/net/mdio/mdio-ipq8064.c
index 6253a9ab8b69..e3d311ce3810 100644
--- a/drivers/net/mdio/mdio-ipq8064.c
+++ b/drivers/net/mdio/mdio-ipq8064.c
@@ -111,15 +111,16 @@ ipq8064_mdio_probe(struct platform_device *pdev)
{
struct device_node *np = pdev->dev.of_node;
struct ipq8064_mdio *priv;
- struct resource res;
+ struct resource *res;
struct mii_bus *bus;
void __iomem *base;
int ret;
- if (of_address_to_resource(np, 0, &res))
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!res)
return -ENOMEM;
- base = devm_ioremap(&pdev->dev, res.start, resource_size(&res));
+ base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
if (!base)
return -ENOMEM;
--
2.47.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH net-next 2/2] net: mdio-ipq8064: remove _remove function
2024-11-17 21:31 [PATCH net-next 0/2] net: mdio-ipq8064: simplify with devm Rosen Penev
2024-11-17 21:31 ` [PATCH net-next 1/2] net: mdio-ipq8064: use platform_get_resource Rosen Penev
@ 2024-11-17 21:31 ` Rosen Penev
1 sibling, 0 replies; 4+ messages in thread
From: Rosen Penev @ 2024-11-17 21:31 UTC (permalink / raw)
To: netdev
Cc: Andrew Lunn, ansuelsmth, Heiner Kallweit, Russell King,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list
Change of_mdiobus_register to devm_mdiobus_register as devm allows
removing the _remove function as well as slightly cleaning up the probe
function.
Regular mdiobus_register is fine here as the platform device's of_node
is used. Removes two variables from _probe.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/net/mdio/mdio-ipq8064.c | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/drivers/net/mdio/mdio-ipq8064.c b/drivers/net/mdio/mdio-ipq8064.c
index e3d311ce3810..9f13e16edb17 100644
--- a/drivers/net/mdio/mdio-ipq8064.c
+++ b/drivers/net/mdio/mdio-ipq8064.c
@@ -109,12 +109,10 @@ static const struct regmap_config ipq8064_mdio_regmap_config = {
static int
ipq8064_mdio_probe(struct platform_device *pdev)
{
- struct device_node *np = pdev->dev.of_node;
struct ipq8064_mdio *priv;
struct resource *res;
struct mii_bus *bus;
void __iomem *base;
- int ret;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
@@ -140,19 +138,7 @@ ipq8064_mdio_probe(struct platform_device *pdev)
if (IS_ERR(priv->base))
return PTR_ERR(priv->base);
- ret = of_mdiobus_register(bus, np);
- if (ret)
- return ret;
-
- platform_set_drvdata(pdev, bus);
- return 0;
-}
-
-static void ipq8064_mdio_remove(struct platform_device *pdev)
-{
- struct mii_bus *bus = platform_get_drvdata(pdev);
-
- mdiobus_unregister(bus);
+ return devm_mdiobus_register(&pdev->dev, bus);
}
static const struct of_device_id ipq8064_mdio_dt_ids[] = {
@@ -163,7 +149,6 @@ MODULE_DEVICE_TABLE(of, ipq8064_mdio_dt_ids);
static struct platform_driver ipq8064_mdio_driver = {
.probe = ipq8064_mdio_probe,
- .remove = ipq8064_mdio_remove,
.driver = {
.name = "ipq8064-mdio",
.of_match_table = ipq8064_mdio_dt_ids,
--
2.47.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCHv2 net-next 0/2] simplify with devm
@ 2024-12-03 22:16 Rosen Penev
2024-12-03 22:16 ` [PATCH net-next 2/2] net: mdio-ipq8064: remove _remove function Rosen Penev
0 siblings, 1 reply; 4+ messages in thread
From: Rosen Penev @ 2024-12-03 22:16 UTC (permalink / raw)
To: netdev
Cc: Andrew Lunn, ansuelsmth, Heiner Kallweit, Russell King,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list
Makes probe simpler and easier to reason about.
v2: Just resent.
Rosen Penev (2):
net: mdio-ipq8064: use platform_get_resource
net: mdio-ipq8064: remove _remove function
drivers/net/mdio/mdio-ipq8064.c | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)
--
2.47.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next 2/2] net: mdio-ipq8064: remove _remove function
2024-12-03 22:16 [PATCHv2 net-next 0/2] simplify with devm Rosen Penev
@ 2024-12-03 22:16 ` Rosen Penev
0 siblings, 0 replies; 4+ messages in thread
From: Rosen Penev @ 2024-12-03 22:16 UTC (permalink / raw)
To: netdev
Cc: Andrew Lunn, ansuelsmth, Heiner Kallweit, Russell King,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list
Change of_mdiobus_register to devm_mdiobus_register as devm allows
removing the _remove function as well as slightly cleaning up the probe
function.
Regular mdiobus_register is fine here as the platform device's of_node
is used. Removes two variables from _probe.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/net/mdio/mdio-ipq8064.c | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/drivers/net/mdio/mdio-ipq8064.c b/drivers/net/mdio/mdio-ipq8064.c
index e3d311ce3810..9f13e16edb17 100644
--- a/drivers/net/mdio/mdio-ipq8064.c
+++ b/drivers/net/mdio/mdio-ipq8064.c
@@ -109,12 +109,10 @@ static const struct regmap_config ipq8064_mdio_regmap_config = {
static int
ipq8064_mdio_probe(struct platform_device *pdev)
{
- struct device_node *np = pdev->dev.of_node;
struct ipq8064_mdio *priv;
struct resource *res;
struct mii_bus *bus;
void __iomem *base;
- int ret;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
@@ -140,19 +138,7 @@ ipq8064_mdio_probe(struct platform_device *pdev)
if (IS_ERR(priv->base))
return PTR_ERR(priv->base);
- ret = of_mdiobus_register(bus, np);
- if (ret)
- return ret;
-
- platform_set_drvdata(pdev, bus);
- return 0;
-}
-
-static void ipq8064_mdio_remove(struct platform_device *pdev)
-{
- struct mii_bus *bus = platform_get_drvdata(pdev);
-
- mdiobus_unregister(bus);
+ return devm_mdiobus_register(&pdev->dev, bus);
}
static const struct of_device_id ipq8064_mdio_dt_ids[] = {
@@ -163,7 +149,6 @@ MODULE_DEVICE_TABLE(of, ipq8064_mdio_dt_ids);
static struct platform_driver ipq8064_mdio_driver = {
.probe = ipq8064_mdio_probe,
- .remove = ipq8064_mdio_remove,
.driver = {
.name = "ipq8064-mdio",
.of_match_table = ipq8064_mdio_dt_ids,
--
2.47.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-12-03 22:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-17 21:31 [PATCH net-next 0/2] net: mdio-ipq8064: simplify with devm Rosen Penev
2024-11-17 21:31 ` [PATCH net-next 1/2] net: mdio-ipq8064: use platform_get_resource Rosen Penev
2024-11-17 21:31 ` [PATCH net-next 2/2] net: mdio-ipq8064: remove _remove function Rosen Penev
-- strict thread matches above, loose matches on Subject: below --
2024-12-03 22:16 [PATCHv2 net-next 0/2] simplify with devm Rosen Penev
2024-12-03 22:16 ` [PATCH net-next 2/2] net: mdio-ipq8064: remove _remove function Rosen Penev
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.