diff mbox series

MIPS: SGI-IP30: Free some unused memory

Message ID f9475119cf8d7dc51f9f993ab6a4de40a2735ca1.1650720466.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State Accepted
Commit fd27234f24ae11bd6a79234d9d30033152342085
Headers show
Series MIPS: SGI-IP30: Free some unused memory | expand

Commit Message

Christophe JAILLET April 23, 2022, 1:27 p.m. UTC
platform_device_add_data() duplicates the memory it is passed. So we can
free some memory to save a few bytes that would remain unused otherwise.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 arch/mips/sgi-ip30/ip30-xtalk.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Thomas Bogendoerfer April 26, 2022, 2:32 p.m. UTC | #1
On Sat, Apr 23, 2022 at 03:27:58PM +0200, Christophe JAILLET wrote:
> platform_device_add_data() duplicates the memory it is passed. So we can
> free some memory to save a few bytes that would remain unused otherwise.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
>  arch/mips/sgi-ip30/ip30-xtalk.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/mips/sgi-ip30/ip30-xtalk.c b/arch/mips/sgi-ip30/ip30-xtalk.c
> index 8a2894645529..8129524421cb 100644
> --- a/arch/mips/sgi-ip30/ip30-xtalk.c
> +++ b/arch/mips/sgi-ip30/ip30-xtalk.c
> @@ -63,6 +63,8 @@ static void bridge_platform_create(int widget, int masterwid)
>  	}
>  	platform_device_add_resources(pdev, &w1_res, 1);
>  	platform_device_add_data(pdev, wd, sizeof(*wd));
> +	/* platform_device_add_data() duplicates the data */
> +	kfree(wd);
>  	platform_device_add(pdev);
>  
>  	bd = kzalloc(sizeof(*bd), GFP_KERNEL);
> @@ -92,6 +94,8 @@ static void bridge_platform_create(int widget, int masterwid)
>  	bd->io_offset	= IP30_SWIN_BASE(widget);
>  
>  	platform_device_add_data(pdev, bd, sizeof(*bd));
> +	/* platform_device_add_data() duplicates the data */
> +	kfree(bd);
>  	platform_device_add(pdev);
>  	pr_info("xtalk:%x bridge widget\n", widget);
>  	return;
> -- 
> 2.32.0

applied to mips-next.

Thomas.
diff mbox series

Patch

diff --git a/arch/mips/sgi-ip30/ip30-xtalk.c b/arch/mips/sgi-ip30/ip30-xtalk.c
index 8a2894645529..8129524421cb 100644
--- a/arch/mips/sgi-ip30/ip30-xtalk.c
+++ b/arch/mips/sgi-ip30/ip30-xtalk.c
@@ -63,6 +63,8 @@  static void bridge_platform_create(int widget, int masterwid)
 	}
 	platform_device_add_resources(pdev, &w1_res, 1);
 	platform_device_add_data(pdev, wd, sizeof(*wd));
+	/* platform_device_add_data() duplicates the data */
+	kfree(wd);
 	platform_device_add(pdev);
 
 	bd = kzalloc(sizeof(*bd), GFP_KERNEL);
@@ -92,6 +94,8 @@  static void bridge_platform_create(int widget, int masterwid)
 	bd->io_offset	= IP30_SWIN_BASE(widget);
 
 	platform_device_add_data(pdev, bd, sizeof(*bd));
+	/* platform_device_add_data() duplicates the data */
+	kfree(bd);
 	platform_device_add(pdev);
 	pr_info("xtalk:%x bridge widget\n", widget);
 	return;