All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations
@ 2015-09-30  8:21 Neil Armstrong
  2015-09-30 21:28 ` Andrew Lunn
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Neil Armstrong @ 2015-09-30  8:21 UTC (permalink / raw)
  To: David S. Miller, Jesper Dangaard Brouer; +Cc: netdev, linux-kernel

To simplify and prevent memory leakage when unbinding, use
the devm_ memory allocation calls.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
 net/dsa/dsa.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index c59fa5d..98f94c2 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -305,7 +305,7 @@ static int dsa_switch_setup_one(struct dsa_switch *ds, struct device *parent)
 	if (ret < 0)
 		goto out;

-	ds->slave_mii_bus = mdiobus_alloc();
+	ds->slave_mii_bus = devm_mdiobus_alloc(parent);
 	if (ds->slave_mii_bus == NULL) {
 		ret = -ENOMEM;
 		goto out;
@@ -400,7 +400,7 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,
 	/*
 	 * Allocate and initialise switch state.
 	 */
-	ds = kzalloc(sizeof(*ds) + drv->priv_size, GFP_KERNEL);
+	ds = devm_kzalloc(parent, sizeof(*ds) + drv->priv_size, GFP_KERNEL);
 	if (ds == NULL)
 		return ERR_PTR(-ENOMEM);

@@ -883,7 +883,7 @@ static int dsa_probe(struct platform_device *pdev)
 		goto out;
 	}

-	dst = kzalloc(sizeof(*dst), GFP_KERNEL);
+	dst = devm_kzalloc(&pdev->dev, sizeof(*dst), GFP_KERNEL);
 	if (dst == NULL) {
 		dev_put(dev);
 		ret = -ENOMEM;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations
  2015-09-30  8:21 [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations Neil Armstrong
@ 2015-09-30 21:28 ` Andrew Lunn
  2015-09-30 21:34 ` Fabio Estevam
  2015-09-30 21:45 ` Florian Fainelli
  2 siblings, 0 replies; 5+ messages in thread
From: Andrew Lunn @ 2015-09-30 21:28 UTC (permalink / raw)
  To: Neil Armstrong
  Cc: David S. Miller, Jesper Dangaard Brouer, netdev, linux-kernel

Hi Neil

I tested all three patches on a board with three switches.

1) Normal boot
2) Bad address set for the 3rd switch so that it was not found, so
   causing the probe to fail.

No regressions observed. 

Tested-by: Andrew Lunn <andrew@lunn.ch>

As Florian said, this is going in the right direction for modular DSA,
but still quite a way to go...

    Thanks
	Andrew

On Wed, Sep 30, 2015 at 10:21:08AM +0200, Neil Armstrong wrote:
> To simplify and prevent memory leakage when unbinding, use
> the devm_ memory allocation calls.
> 
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  net/dsa/dsa.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
> index c59fa5d..98f94c2 100644
> --- a/net/dsa/dsa.c
> +++ b/net/dsa/dsa.c
> @@ -305,7 +305,7 @@ static int dsa_switch_setup_one(struct dsa_switch *ds, struct device *parent)
>  	if (ret < 0)
>  		goto out;
> 
> -	ds->slave_mii_bus = mdiobus_alloc();
> +	ds->slave_mii_bus = devm_mdiobus_alloc(parent);
>  	if (ds->slave_mii_bus == NULL) {
>  		ret = -ENOMEM;
>  		goto out;
> @@ -400,7 +400,7 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,
>  	/*
>  	 * Allocate and initialise switch state.
>  	 */
> -	ds = kzalloc(sizeof(*ds) + drv->priv_size, GFP_KERNEL);
> +	ds = devm_kzalloc(parent, sizeof(*ds) + drv->priv_size, GFP_KERNEL);
>  	if (ds == NULL)
>  		return ERR_PTR(-ENOMEM);
> 
> @@ -883,7 +883,7 @@ static int dsa_probe(struct platform_device *pdev)
>  		goto out;
>  	}
> 
> -	dst = kzalloc(sizeof(*dst), GFP_KERNEL);
> +	dst = devm_kzalloc(&pdev->dev, sizeof(*dst), GFP_KERNEL);
>  	if (dst == NULL) {
>  		dev_put(dev);
>  		ret = -ENOMEM;
> -- 
> 1.9.1
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations
  2015-09-30  8:21 [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations Neil Armstrong
  2015-09-30 21:28 ` Andrew Lunn
@ 2015-09-30 21:34 ` Fabio Estevam
  2015-09-30 21:40   ` Florian Fainelli
  2015-09-30 21:45 ` Florian Fainelli
  2 siblings, 1 reply; 5+ messages in thread
From: Fabio Estevam @ 2015-09-30 21:34 UTC (permalink / raw)
  To: Neil Armstrong
  Cc: David S. Miller, Jesper Dangaard Brouer, netdev, linux-kernel,
	Andrew Lunn

On Wed, Sep 30, 2015 at 5:21 AM, Neil Armstrong <narmstrong@baylibre.com> wrote:
> To simplify and prevent memory leakage when unbinding, use
> the devm_ memory allocation calls.
>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  net/dsa/dsa.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
> index c59fa5d..98f94c2 100644
> --- a/net/dsa/dsa.c
> +++ b/net/dsa/dsa.c
> @@ -305,7 +305,7 @@ static int dsa_switch_setup_one(struct dsa_switch *ds, struct device *parent)
>         if (ret < 0)
>                 goto out;
>
> -       ds->slave_mii_bus = mdiobus_alloc();
> +       ds->slave_mii_bus = devm_mdiobus_alloc(parent);
>         if (ds->slave_mii_bus == NULL) {
>                 ret = -ENOMEM;
>                 goto out;
> @@ -400,7 +400,7 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,
>         /*
>          * Allocate and initialise switch state.
>          */
> -       ds = kzalloc(sizeof(*ds) + drv->priv_size, GFP_KERNEL);
> +       ds = devm_kzalloc(parent, sizeof(*ds) + drv->priv_size, GFP_KERNEL);

Shouldn't devm_ functions be called only from probe and remove functions?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations
  2015-09-30 21:34 ` Fabio Estevam
@ 2015-09-30 21:40   ` Florian Fainelli
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2015-09-30 21:40 UTC (permalink / raw)
  To: Fabio Estevam, Neil Armstrong
  Cc: David S. Miller, Jesper Dangaard Brouer, netdev, linux-kernel,
	Andrew Lunn

On 30/09/15 14:34, Fabio Estevam wrote:
> On Wed, Sep 30, 2015 at 5:21 AM, Neil Armstrong <narmstrong@baylibre.com> wrote:
>> To simplify and prevent memory leakage when unbinding, use
>> the devm_ memory allocation calls.
>>
>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
>> ---
>>  net/dsa/dsa.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
>> index c59fa5d..98f94c2 100644
>> --- a/net/dsa/dsa.c
>> +++ b/net/dsa/dsa.c
>> @@ -305,7 +305,7 @@ static int dsa_switch_setup_one(struct dsa_switch *ds, struct device *parent)
>>         if (ret < 0)
>>                 goto out;
>>
>> -       ds->slave_mii_bus = mdiobus_alloc();
>> +       ds->slave_mii_bus = devm_mdiobus_alloc(parent);
>>         if (ds->slave_mii_bus == NULL) {
>>                 ret = -ENOMEM;
>>                 goto out;
>> @@ -400,7 +400,7 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,
>>         /*
>>          * Allocate and initialise switch state.
>>          */
>> -       ds = kzalloc(sizeof(*ds) + drv->priv_size, GFP_KERNEL);
>> +       ds = devm_kzalloc(parent, sizeof(*ds) + drv->priv_size, GFP_KERNEL);
> 
> Shouldn't devm_ functions be called only from probe and remove functions?

That's the case AFAICT, the call chain looks like this:

dsa_probe()
	-> dsa_setup_dst()
		-> dsa_switch_setup()
			-> dsa_switch_setup_one()
-- 
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations
  2015-09-30  8:21 [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations Neil Armstrong
  2015-09-30 21:28 ` Andrew Lunn
  2015-09-30 21:34 ` Fabio Estevam
@ 2015-09-30 21:45 ` Florian Fainelli
  2 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2015-09-30 21:45 UTC (permalink / raw)
  To: Neil Armstrong, David S. Miller, Jesper Dangaard Brouer
  Cc: netdev, linux-kernel, andrew

On 30/09/15 01:21, Neil Armstrong wrote:
> To simplify and prevent memory leakage when unbinding, use
> the devm_ memory allocation calls.
> 
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>

For this entire series, on BCM7445 (using bcm_sf2)

Tested-by: Florian Fainelli <f.fainelli@gmail.com>

Thanks!
-- 
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-09-30 21:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-30  8:21 [RFC PATCH 1/3] net: dsa: Use devm_ prefixed allocations Neil Armstrong
2015-09-30 21:28 ` Andrew Lunn
2015-09-30 21:34 ` Fabio Estevam
2015-09-30 21:40   ` Florian Fainelli
2015-09-30 21:45 ` Florian Fainelli

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.