Skip to contentSkip to conversation

net: fsl_pq_mdio: use platform_{get,set}_drvdata()

PATCH Superseded Libo Chen 2 participants 5 messages Aug 12, 2013 – Aug 15, 2013

Subsystems (2)

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore

Libo Chen

author
#0 lore raw

PATCH 1/8 net: fsl_pq_mdio: use platform_{get,set}_drvdata()

Use the wrapper functions for getting and setting the driver data using platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev, so we can directly pass a struct platform_device.

---
 drivers/net/ethernet/freescale/fsl_pq_mdio.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/net/ethernet/freescale/fsl_pq_mdio.c +1 -2
index c93a056..995a3ab 100644
@@ -409,7 +409,7 @@ static int fsl_pq_mdio_probe(struct platform_device *pdev)
 	priv->regs = priv->map + data->mii_offset;
 
 	new_bus->parent = &pdev->dev;
-	dev_set_drvdata(&pdev->dev, new_bus);
+	platform_set_drvdata(pdev, new_bus);
 
 	if (data->get_tbipa) {
 		for_each_child_of_node(np, tbi) {
@@ -468,7 +468,6 @@ static int fsl_pq_mdio_remove(struct platform_device *pdev)
 
 	mdiobus_unregister(bus);
 
-	dev_set_drvdata(device, NULL);
 
 	iounmap(priv->map);
 	mdiobus_free(bus);
Signature · 1 line
1.7.1
#1 lore raw

Hello.

Quoted 13 lines · Libo Chen

Use the wrapper functions for getting and setting the driver data using platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev, so we can directly pass a struct platform_device.

---
  drivers/net/ethernet/freescale/fsl_pq_mdio.c |    3 +--
  1 files changed, 1 insertions(+), 2 deletions(-)
drivers/net/ethernet/freescale/fsl_pq_mdio.c +0 -0
index c93a056..995a3ab 100644

[...]

drivers/net/ethernet/freescale/fsl_pq_mdio.c static int fsl_pq_mdio_remove(struct platform_device *pdev) · line 471

Quoted 5 lines
drivers/net/ethernet/freescale/fsl_pq_mdio.c +0 -1
@@ -468,7 +468,6 @@ static int fsl_pq_mdio_remove(struct platform_device *pdev)
 
  	mdiobus_unregister(bus);
 
-	dev_set_drvdata(device, NULL);

You don't mention this in the changelog.

WBR, Sergei

author
#2 lore raw

PATCH RESEND 1/8 net: fsl_pq_mdio: use platform_{get,set}_drvdata()

In reply to Libo Chen

We can use the wrapper functions platform_{get,set}_drvdata() instead of dev_{get,set}_drvdata() with &pdev->dev, it is convenient for user.

Also, unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure.

---
 drivers/net/ethernet/freescale/fsl_pq_mdio.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/net/ethernet/freescale/fsl_pq_mdio.c +1 -2
index c93a056..995a3ab 100644
@@ -409,7 +409,7 @@ static int fsl_pq_mdio_probe(struct platform_device *pdev)
 	priv->regs = priv->map + data->mii_offset;
 
 	new_bus->parent = &pdev->dev;
-	dev_set_drvdata(&pdev->dev, new_bus);
+	platform_set_drvdata(pdev, new_bus);
 
 	if (data->get_tbipa) {
 		for_each_child_of_node(np, tbi) {
@@ -468,7 +468,6 @@ static int fsl_pq_mdio_remove(struct platform_device *pdev)
 
 	mdiobus_unregister(bus);
 
-	dev_set_drvdata(device, NULL);
 
 	iounmap(priv->map);
 	mdiobus_free(bus);
Signature · 1 line
1.7.1
#3 lore raw

Hello.

Quoted 5 lines · Libo Chen

We can use the wrapper functions platform_{get,set}_drvdata() instead of dev_{get,set}_drvdata() with &pdev->dev, it is convenient for user.

Also, unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure.

You misunderstood. That's a material for 2 separate patch sets (or maybe
single patches, since multiple files can be collapsed in a single patch).

Quoted 1 line

WBR, Sergei

author
#4 lore raw
Quoted 4 lines · Sergei Shtylyov

Hello.

On 08/14/2013 07:39 AM, Libo Chen wrote:

Quoted 8 lines
Quoted 5 lines

We can use the wrapper functions platform_{get,set}_drvdata() instead of dev_{get,set}_drvdata() with &pdev->dev, it is convenient for user.

Also, unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure.

You misunderstood. That's a material for 2 separate patch sets (or maybe single patches, since multiple files can be collapsed in a single patch).

okay, thanks.

Libo

Quoted 6 lines
Quoted 1 line

WBR, Sergei