2017-07-14 16:35:14

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH] auxdisplay: constify charlcd_ops.

charlcd_ops are not supposed to change at runtime. All functions
working with charlcd_ops provided by <misc/charlcd.h> work with
const charlcd_ops. So mark the non-const structs as const.

File size before:
text data bss dec hex filename
12750 560 362 13672 3568 drivers/auxdisplay/panel.o

File size After adding 'const':
text data bss dec hex filename
12942 368 362 13672 3568 drivers/auxdisplay/panel.o

Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/auxdisplay/panel.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/auxdisplay/panel.c b/drivers/auxdisplay/panel.c
index 7a8b8fb..df126dc 100644
--- a/drivers/auxdisplay/panel.c
+++ b/drivers/auxdisplay/panel.c
@@ -877,21 +877,21 @@ static void lcd_clear_fast_tilcd(struct charlcd *charlcd)
spin_unlock_irq(&pprt_lock);
}

-static struct charlcd_ops charlcd_serial_ops = {
+static const struct charlcd_ops charlcd_serial_ops = {
.write_cmd = lcd_write_cmd_s,
.write_data = lcd_write_data_s,
.clear_fast = lcd_clear_fast_s,
.backlight = lcd_backlight,
};

-static struct charlcd_ops charlcd_parallel_ops = {
+static const struct charlcd_ops charlcd_parallel_ops = {
.write_cmd = lcd_write_cmd_p8,
.write_data = lcd_write_data_p8,
.clear_fast = lcd_clear_fast_p8,
.backlight = lcd_backlight,
};

-static struct charlcd_ops charlcd_tilcd_ops = {
+static const struct charlcd_ops charlcd_tilcd_ops = {
.write_cmd = lcd_write_cmd_tilcd,
.write_data = lcd_write_data_tilcd,
.clear_fast = lcd_clear_fast_tilcd,
--
2.7.4


2017-07-14 16:42:35

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] auxdisplay: constify charlcd_ops.

On Fri, 2017-07-14 at 22:04 +0530, Arvind Yadav wrote:
> charlcd_ops are not supposed to change at runtime. All functions
> working with charlcd_ops provided by <misc/charlcd.h> work with
> const charlcd_ops. So mark the non-const structs as const.
>
> File size before:
>    text    data     bss     dec     hex
> filename
>   12750     560     362   13672    3568
> drivers/auxdisplay/panel.o
>
> File size After adding 'const':
>    text    data     bss     dec     hex
> filename
>   12942     368     362   13672    3568
> drivers/auxdisplay/panel.o
>

Reviewed-by: Andy Shevchenko <[email protected]>

(As long as it has been compile tested)

> Signed-off-by: Arvind Yadav <[email protected]>
> ---
>  drivers/auxdisplay/panel.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/auxdisplay/panel.c b/drivers/auxdisplay/panel.c
> index 7a8b8fb..df126dc 100644
> --- a/drivers/auxdisplay/panel.c
> +++ b/drivers/auxdisplay/panel.c
> @@ -877,21 +877,21 @@ static void lcd_clear_fast_tilcd(struct charlcd
> *charlcd)
>   spin_unlock_irq(&pprt_lock);
>  }
>  
> -static struct charlcd_ops charlcd_serial_ops = {
> +static const struct charlcd_ops charlcd_serial_ops = {
>   .write_cmd = lcd_write_cmd_s,
>   .write_data = lcd_write_data_s,
>   .clear_fast = lcd_clear_fast_s,
>   .backlight = lcd_backlight,
>  };
>  
> -static struct charlcd_ops charlcd_parallel_ops = {
> +static const struct charlcd_ops charlcd_parallel_ops = {
>   .write_cmd = lcd_write_cmd_p8,
>   .write_data = lcd_write_data_p8,
>   .clear_fast = lcd_clear_fast_p8,
>   .backlight = lcd_backlight,
>  };
>  
> -static struct charlcd_ops charlcd_tilcd_ops = {
> +static const struct charlcd_ops charlcd_tilcd_ops = {
>   .write_cmd = lcd_write_cmd_tilcd,
>   .write_data = lcd_write_data_tilcd,
>   .clear_fast = lcd_clear_fast_tilcd,

--
Andy Shevchenko <[email protected]>
Intel Finland Oy