dmaengine: iop-adma: make array 'handler' static const, makes object smaller
diff mbox series

Message ID 20190905163726.19690-1-colin.king@canonical.com
State Accepted
Headers show
Series
  • dmaengine: iop-adma: make array 'handler' static const, makes object smaller
Related show

Commit Message

Colin King Sept. 5, 2019, 4:37 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Don't populate the array 'handler' on the stack but instead make it
static const. Makes the object code smaller by 80 bytes.

Before:
   text	   data	    bss	    dec	    hex	filename
  38225	   9084	     64	  47373	   b90d	drivers/dma/iop-adma.o

After:
   text	   data	    bss	    dec	    hex	filename
  38081	   9148	     64	  47293	   b8bd	drivers/dma/iop-adma.o

(gcc version 9.2.1, amd64)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/dma/iop-adma.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Vinod Koul Sept. 25, 2019, 8:43 p.m. UTC | #1
On 05-09-19, 17:37, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Don't populate the array 'handler' on the stack but instead make it
> static const. Makes the object code smaller by 80 bytes.
> 
> Before:
>    text	   data	    bss	    dec	    hex	filename
>   38225	   9084	     64	  47373	   b90d	drivers/dma/iop-adma.o
> 
> After:
>    text	   data	    bss	    dec	    hex	filename
>   38081	   9148	     64	  47293	   b8bd	drivers/dma/iop-adma.o
> 
> (gcc version 9.2.1, amd64)
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  drivers/dma/iop-adma.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
> index a3f942a6a946..4dc5478fc156 100644
> --- a/drivers/dma/iop-adma.c
> +++ b/drivers/dma/iop-adma.c
> @@ -1359,9 +1359,11 @@ static int iop_adma_probe(struct platform_device *pdev)
>  	iop_adma_device_clear_err_status(iop_chan);
>  
>  	for (i = 0; i < 3; i++) {
> -		irq_handler_t handler[] = { iop_adma_eot_handler,
> -					iop_adma_eoc_handler,
> -					iop_adma_err_handler };
> +		static const irq_handler_t handler[] = {
> +			iop_adma_eot_handler,
> +			iop_adma_eoc_handler,
> +			iop_adma_err_handler

would it not be more apt to declare the handler outside the loop!

> +		};
>  		int irq = platform_get_irq(pdev, i);
>  		if (irq < 0) {
>  			ret = -ENXIO;
> -- 
> 2.20.1
Colin King Sept. 25, 2019, 8:46 p.m. UTC | #2
On 25/09/2019 21:43, Vinod Koul wrote:
> On 05-09-19, 17:37, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> Don't populate the array 'handler' on the stack but instead make it
>> static const. Makes the object code smaller by 80 bytes.
>>
>> Before:
>>    text	   data	    bss	    dec	    hex	filename
>>   38225	   9084	     64	  47373	   b90d	drivers/dma/iop-adma.o
>>
>> After:
>>    text	   data	    bss	    dec	    hex	filename
>>   38081	   9148	     64	  47293	   b8bd	drivers/dma/iop-adma.o
>>
>> (gcc version 9.2.1, amd64)
>>
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>> ---
>>  drivers/dma/iop-adma.c | 8 +++++---
>>  1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
>> index a3f942a6a946..4dc5478fc156 100644
>> --- a/drivers/dma/iop-adma.c
>> +++ b/drivers/dma/iop-adma.c
>> @@ -1359,9 +1359,11 @@ static int iop_adma_probe(struct platform_device *pdev)
>>  	iop_adma_device_clear_err_status(iop_chan);
>>  
>>  	for (i = 0; i < 3; i++) {
>> -		irq_handler_t handler[] = { iop_adma_eot_handler,
>> -					iop_adma_eoc_handler,
>> -					iop_adma_err_handler };
>> +		static const irq_handler_t handler[] = {
>> +			iop_adma_eot_handler,
>> +			iop_adma_eoc_handler,
>> +			iop_adma_err_handler
> 
> would it not be more apt to declare the handler outside the loop!

Originally yes, but now it's static, no.

> 
>> +		};
>>  		int irq = platform_get_irq(pdev, i);
>>  		if (irq < 0) {
>>  			ret = -ENXIO;
>> -- 
>> 2.20.1
>
Vinod Koul Oct. 14, 2019, 8:28 a.m. UTC | #3
On 05-09-19, 17:37, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Don't populate the array 'handler' on the stack but instead make it
> static const. Makes the object code smaller by 80 bytes.
> 
> Before:
>    text	   data	    bss	    dec	    hex	filename
>   38225	   9084	     64	  47373	   b90d	drivers/dma/iop-adma.o
> 
> After:
>    text	   data	    bss	    dec	    hex	filename
>   38081	   9148	     64	  47293	   b8bd	drivers/dma/iop-adma.o
> 
> (gcc version 9.2.1, amd64)

Applied, thanks

Patch
diff mbox series

diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
index a3f942a6a946..4dc5478fc156 100644
--- a/drivers/dma/iop-adma.c
+++ b/drivers/dma/iop-adma.c
@@ -1359,9 +1359,11 @@  static int iop_adma_probe(struct platform_device *pdev)
 	iop_adma_device_clear_err_status(iop_chan);
 
 	for (i = 0; i < 3; i++) {
-		irq_handler_t handler[] = { iop_adma_eot_handler,
-					iop_adma_eoc_handler,
-					iop_adma_err_handler };
+		static const irq_handler_t handler[] = {
+			iop_adma_eot_handler,
+			iop_adma_eoc_handler,
+			iop_adma_err_handler
+		};
 		int irq = platform_get_irq(pdev, i);
 		if (irq < 0) {
 			ret = -ENXIO;