linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [Outreachy kernel] [PATCH v3] staging: sm750fb: Code readability is improved
  2017-03-19 13:19 [PATCH v3] staging: sm750fb: Code readability is improved Arushi Singhal
@ 2017-03-19 13:11 ` Julia Lawall
  2017-03-19 14:04   ` Geert Uytterhoeven
  0 siblings, 1 reply; 4+ messages in thread
From: Julia Lawall @ 2017-03-19 13:11 UTC (permalink / raw)
  To: Arushi Singhal
  Cc: sudipm.mukherjee, Teddy Wang, Greg Kroah-Hartman, linux-fbdev,
	devel, linux-kernel, outreachy-kernel



On Sun, 19 Mar 2017, Arushi Singhal wrote:

> New variables are added to make the code more readable.
>
> Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
> ---
>  changes in v3
>  -try to make the code much more readable.
>
>  drivers/staging/sm750fb/ddk750_mode.c | 61 ++++++++++++++++++++---------------
>  1 file changed, 35 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/staging/sm750fb/ddk750_mode.c b/drivers/staging/sm750fb/ddk750_mode.c
> index eea5aef2956f..5f18ce4d10de 100644
> --- a/drivers/staging/sm750fb/ddk750_mode.c
> +++ b/drivers/staging/sm750fb/ddk750_mode.c
> @@ -81,33 +81,42 @@ static int programModeRegisters(mode_parameter_t *pModeParam, struct pll_value *
>  	if (pll->clockType = SECONDARY_PLL) {
>  		/* programe secondary pixel clock */
>  		poke32(CRT_PLL_CTRL, sm750_format_pll_reg(pll));
> -		poke32(CRT_HORIZONTAL_TOTAL,
> -		       (((pModeParam->horizontal_total - 1) <<
> -			 CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT) &
> -			CRT_HORIZONTAL_TOTAL_TOTAL_MASK) |
> -		       ((pModeParam->horizontal_display_end - 1) &
> -			CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK));
> -
> -		poke32(CRT_HORIZONTAL_SYNC,
> -		       ((pModeParam->horizontal_sync_width <<
> -			 CRT_HORIZONTAL_SYNC_WIDTH_SHIFT) &
> -			CRT_HORIZONTAL_SYNC_WIDTH_MASK) |
> -		       ((pModeParam->horizontal_sync_start - 1) &
> -			CRT_HORIZONTAL_SYNC_START_MASK));
>
> -		poke32(CRT_VERTICAL_TOTAL,
> -		       (((pModeParam->vertical_total - 1) <<
> -			 CRT_VERTICAL_TOTAL_TOTAL_SHIFT) &
> -			CRT_VERTICAL_TOTAL_TOTAL_MASK) |
> -		       ((pModeParam->vertical_display_end - 1) &
> -			CRT_VERTICAL_TOTAL_DISPLAY_END_MASK));
> -
> -		poke32(CRT_VERTICAL_SYNC,
> -		       ((pModeParam->vertical_sync_height <<
> -			 CRT_VERTICAL_SYNC_HEIGHT_SHIFT) &
> -			CRT_VERTICAL_SYNC_HEIGHT_MASK) |
> -		       ((pModeParam->vertical_sync_start - 1) &
> -			CRT_VERTICAL_SYNC_START_MASK));
> +		unsigned int a = (pModeParam->horizontal_total - 1) <<
> +				CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT;
> +		unsigned int b = a & CRT_HORIZONTAL_TOTAL_TOTAL_MASK;
> +		unsigned int c = (pModeParam->horizontal_display_end - 1) &
> +				CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK;
> +		unsigned int temp = b | c;
> +
> +		poke32(CRT_HORIZONTAL_TOTAL, temp);
> +
> +		unsigned int a = (pModeParam->horizontal_sync_width <<
> +				CRT_HORIZONTAL_SYNC_WIDTH_SHIFT);
> +		unsigned int b = a & CRT_HORIZONTAL_SYNC_WIDTH_MASK;
> +		unsigned int c = (pModeParam->horizontal_sync_start - 1) &
> +				CRT_HORIZONTAL_SYNC_START_MASK;
> +		unsigned int temp = b | c;

This is back to the original incorrect solution.  You can't declare
variables on the fly in Linux code.  Variables have to be declared at the
top of a block.

But you can reuse the same variables over and over, if no one cares about
their previous values.

julia


> +
> +		poke32(CRT_HORIZONTAL_SYNC, temp);
> +
> +		unsigned int a = (pModeParam->vertical_total - 1) <<
> +				CRT_VERTICAL_TOTAL_TOTAL_SHIFT;
> +		unsigned int b = a & CRT_VERTICAL_TOTAL_TOTAL_MASK;
> +		unsigned int c = (pModeParam->vertical_display_end - 1) &
> +				CRT_VERTICAL_TOTAL_DISPLAY_END_MASK;
> +		unsigned int temp = b | c;
> +
> +		poke32(CRT_VERTICAL_TOTAL, temp);
> +
> +		unsigned int a = pModeParam->vertical_sync_height <<
> +				CRT_VERTICAL_SYNC_HEIGHT_SHIFT;
> +		unsigned int b = a & CRT_VERTICAL_SYNC_HEIGHT_MASK;
> +		unsigned int c = (pModeParam->vertical_sync_start - 1) &
> +				CRT_VERTICAL_SYNC_START_MASK;
> +		unsigned int temp = b | c;
> +
> +		poke32(CRT_VERTICAL_SYNC, temp);
>
>  		tmp = DISPLAY_CTRL_TIMING | DISPLAY_CTRL_PLANE;
>  		if (pModeParam->vertical_sync_polarity)
> --
> 2.11.0
>
> --
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com.
> To post to this group, send email to outreachy-kernel@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20170319130744.GA24605%40arushi-HP-Pavilion-Notebook.
> For more options, visit https://groups.google.com/d/optout.
>

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

* [PATCH v3] staging: sm750fb: Code readability is improved
@ 2017-03-19 13:19 Arushi Singhal
  2017-03-19 13:11 ` [Outreachy kernel] " Julia Lawall
  0 siblings, 1 reply; 4+ messages in thread
From: Arushi Singhal @ 2017-03-19 13:19 UTC (permalink / raw)
  To: sudipm.mukherjee
  Cc: Teddy Wang, Greg Kroah-Hartman, linux-fbdev, devel, linux-kernel,
	outreachy-kernel

New variables are added to make the code more readable.

Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
---
 changes in v3
 -try to make the code much more readable.
 
 drivers/staging/sm750fb/ddk750_mode.c | 61 ++++++++++++++++++++---------------
 1 file changed, 35 insertions(+), 26 deletions(-)

diff --git a/drivers/staging/sm750fb/ddk750_mode.c b/drivers/staging/sm750fb/ddk750_mode.c
index eea5aef2956f..5f18ce4d10de 100644
--- a/drivers/staging/sm750fb/ddk750_mode.c
+++ b/drivers/staging/sm750fb/ddk750_mode.c
@@ -81,33 +81,42 @@ static int programModeRegisters(mode_parameter_t *pModeParam, struct pll_value *
 	if (pll->clockType = SECONDARY_PLL) {
 		/* programe secondary pixel clock */
 		poke32(CRT_PLL_CTRL, sm750_format_pll_reg(pll));
-		poke32(CRT_HORIZONTAL_TOTAL,
-		       (((pModeParam->horizontal_total - 1) <<
-			 CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT) &
-			CRT_HORIZONTAL_TOTAL_TOTAL_MASK) |
-		       ((pModeParam->horizontal_display_end - 1) &
-			CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK));
-
-		poke32(CRT_HORIZONTAL_SYNC,
-		       ((pModeParam->horizontal_sync_width <<
-			 CRT_HORIZONTAL_SYNC_WIDTH_SHIFT) &
-			CRT_HORIZONTAL_SYNC_WIDTH_MASK) |
-		       ((pModeParam->horizontal_sync_start - 1) &
-			CRT_HORIZONTAL_SYNC_START_MASK));
 
-		poke32(CRT_VERTICAL_TOTAL,
-		       (((pModeParam->vertical_total - 1) <<
-			 CRT_VERTICAL_TOTAL_TOTAL_SHIFT) &
-			CRT_VERTICAL_TOTAL_TOTAL_MASK) |
-		       ((pModeParam->vertical_display_end - 1) &
-			CRT_VERTICAL_TOTAL_DISPLAY_END_MASK));
-
-		poke32(CRT_VERTICAL_SYNC,
-		       ((pModeParam->vertical_sync_height <<
-			 CRT_VERTICAL_SYNC_HEIGHT_SHIFT) &
-			CRT_VERTICAL_SYNC_HEIGHT_MASK) |
-		       ((pModeParam->vertical_sync_start - 1) &
-			CRT_VERTICAL_SYNC_START_MASK));
+		unsigned int a = (pModeParam->horizontal_total - 1) <<
+				CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT;
+		unsigned int b = a & CRT_HORIZONTAL_TOTAL_TOTAL_MASK;
+		unsigned int c = (pModeParam->horizontal_display_end - 1) &
+				CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK;
+		unsigned int temp = b | c;
+
+		poke32(CRT_HORIZONTAL_TOTAL, temp);
+
+		unsigned int a = (pModeParam->horizontal_sync_width <<
+				CRT_HORIZONTAL_SYNC_WIDTH_SHIFT);
+		unsigned int b = a & CRT_HORIZONTAL_SYNC_WIDTH_MASK;
+		unsigned int c = (pModeParam->horizontal_sync_start - 1) &
+				CRT_HORIZONTAL_SYNC_START_MASK;
+		unsigned int temp = b | c;
+
+		poke32(CRT_HORIZONTAL_SYNC, temp);
+
+		unsigned int a = (pModeParam->vertical_total - 1) <<
+				CRT_VERTICAL_TOTAL_TOTAL_SHIFT;
+		unsigned int b = a & CRT_VERTICAL_TOTAL_TOTAL_MASK;
+		unsigned int c = (pModeParam->vertical_display_end - 1) &
+				CRT_VERTICAL_TOTAL_DISPLAY_END_MASK;
+		unsigned int temp = b | c;
+
+		poke32(CRT_VERTICAL_TOTAL, temp);
+
+		unsigned int a = pModeParam->vertical_sync_height <<
+				CRT_VERTICAL_SYNC_HEIGHT_SHIFT;
+		unsigned int b = a & CRT_VERTICAL_SYNC_HEIGHT_MASK;
+		unsigned int c = (pModeParam->vertical_sync_start - 1) &
+				CRT_VERTICAL_SYNC_START_MASK;
+		unsigned int temp = b | c;
+
+		poke32(CRT_VERTICAL_SYNC, temp);
 
 		tmp = DISPLAY_CTRL_TIMING | DISPLAY_CTRL_PLANE;
 		if (pModeParam->vertical_sync_polarity)
-- 
2.11.0


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

* Re: [Outreachy kernel] [PATCH v3] staging: sm750fb: Code readability is improved
  2017-03-19 13:11 ` [Outreachy kernel] " Julia Lawall
@ 2017-03-19 14:04   ` Geert Uytterhoeven
       [not found]     ` <CA+XqjF87GbaU4jkF1cCskbLnf=ev5vYHmB67gOrApg9vOgYEsQ@mail.gmail.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Geert Uytterhoeven @ 2017-03-19 14:04 UTC (permalink / raw)
  To: Julia Lawall
  Cc: Arushi Singhal, Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman,
	Linux Fbdev development list, driverdevel,
	linux-kernel@vger.kernel.org, outreachy-kernel

On Sun, Mar 19, 2017 at 2:11 PM, Julia Lawall <julia.lawall@lip6.fr> wrote:
> On Sun, 19 Mar 2017, Arushi Singhal wrote:
>> New variables are added to make the code more readable.
>>
>> Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
>> ---
>>  changes in v3
>>  -try to make the code much more readable.
>>
>>  drivers/staging/sm750fb/ddk750_mode.c | 61 ++++++++++++++++++++---------------
>>  1 file changed, 35 insertions(+), 26 deletions(-)
>>
>> diff --git a/drivers/staging/sm750fb/ddk750_mode.c b/drivers/staging/sm750fb/ddk750_mode.c
>> index eea5aef2956f..5f18ce4d10de 100644
>> --- a/drivers/staging/sm750fb/ddk750_mode.c
>> +++ b/drivers/staging/sm750fb/ddk750_mode.c
>> @@ -81,33 +81,42 @@ static int programModeRegisters(mode_parameter_t *pModeParam, struct pll_value *
>>       if (pll->clockType = SECONDARY_PLL) {
>>               /* programe secondary pixel clock */
>>               poke32(CRT_PLL_CTRL, sm750_format_pll_reg(pll));
>> -             poke32(CRT_HORIZONTAL_TOTAL,
>> -                    (((pModeParam->horizontal_total - 1) <<
>> -                      CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT) &
>> -                     CRT_HORIZONTAL_TOTAL_TOTAL_MASK) |
>> -                    ((pModeParam->horizontal_display_end - 1) &
>> -                     CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK));
>> -
>> -             poke32(CRT_HORIZONTAL_SYNC,
>> -                    ((pModeParam->horizontal_sync_width <<
>> -                      CRT_HORIZONTAL_SYNC_WIDTH_SHIFT) &
>> -                     CRT_HORIZONTAL_SYNC_WIDTH_MASK) |
>> -                    ((pModeParam->horizontal_sync_start - 1) &
>> -                     CRT_HORIZONTAL_SYNC_START_MASK));
>>
>> -             poke32(CRT_VERTICAL_TOTAL,
>> -                    (((pModeParam->vertical_total - 1) <<
>> -                      CRT_VERTICAL_TOTAL_TOTAL_SHIFT) &
>> -                     CRT_VERTICAL_TOTAL_TOTAL_MASK) |
>> -                    ((pModeParam->vertical_display_end - 1) &
>> -                     CRT_VERTICAL_TOTAL_DISPLAY_END_MASK));
>> -
>> -             poke32(CRT_VERTICAL_SYNC,
>> -                    ((pModeParam->vertical_sync_height <<
>> -                      CRT_VERTICAL_SYNC_HEIGHT_SHIFT) &
>> -                     CRT_VERTICAL_SYNC_HEIGHT_MASK) |
>> -                    ((pModeParam->vertical_sync_start - 1) &
>> -                     CRT_VERTICAL_SYNC_START_MASK));
>> +             unsigned int a = (pModeParam->horizontal_total - 1) <<
>> +                             CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT;
>> +             unsigned int b = a & CRT_HORIZONTAL_TOTAL_TOTAL_MASK;
>> +             unsigned int c = (pModeParam->horizontal_display_end - 1) &
>> +                             CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK;
>> +             unsigned int temp = b | c;
>> +
>> +             poke32(CRT_HORIZONTAL_TOTAL, temp);
>> +
>> +             unsigned int a = (pModeParam->horizontal_sync_width <<
>> +                             CRT_HORIZONTAL_SYNC_WIDTH_SHIFT);
>> +             unsigned int b = a & CRT_HORIZONTAL_SYNC_WIDTH_MASK;
>> +             unsigned int c = (pModeParam->horizontal_sync_start - 1) &
>> +                             CRT_HORIZONTAL_SYNC_START_MASK;
>> +             unsigned int temp = b | c;
>
> This is back to the original incorrect solution.  You can't declare
> variables on the fly in Linux code.  Variables have to be declared at the
> top of a block.

Arushi: have you tried to compile this?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [Outreachy kernel] [PATCH v3] staging: sm750fb: Code readability is improved
       [not found]     ` <CA+XqjF87GbaU4jkF1cCskbLnf=ev5vYHmB67gOrApg9vOgYEsQ@mail.gmail.com>
@ 2017-03-19 16:05       ` Geert Uytterhoeven
  0 siblings, 0 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2017-03-19 16:05 UTC (permalink / raw)
  To: Arushi Singhal
  Cc: Julia Lawall, Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman,
	Linux Fbdev development list, driverdevel,
	linux-kernel@vger.kernel.org, outreachy-kernel

On Sun, Mar 19, 2017 at 4:52 PM, Arushi Singhal
<arushisinghal19971997@gmail.com> wrote:
> On Sun, Mar 19, 2017 at 7:34 PM, Geert Uytterhoeven <geert@linux-m68k.org>
> wrote:
>>
>> On Sun, Mar 19, 2017 at 2:11 PM, Julia Lawall <julia.lawall@lip6.fr>
>> wrote:
>> > On Sun, 19 Mar 2017, Arushi Singhal wrote:
>> >> New variables are added to make the code more readable.
>> >>
>> >> Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
>> >> ---
>> >>  changes in v3
>> >>  -try to make the code much more readable.
>> >>
>> >>  drivers/staging/sm750fb/ddk750_mode.c | 61
>> >> ++++++++++++++++++++---------------
>> >>  1 file changed, 35 insertions(+), 26 deletions(-)
>> >>
>> >> diff --git a/drivers/staging/sm750fb/ddk750_mode.c
>> >> b/drivers/staging/sm750fb/ddk750_mode.c
>> >> index eea5aef2956f..5f18ce4d10de 100644
>> >> --- a/drivers/staging/sm750fb/ddk750_mode.c
>> >> +++ b/drivers/staging/sm750fb/ddk750_mode.c
>> >> @@ -81,33 +81,42 @@ static int programModeRegisters(mode_parameter_t
>> >> *pModeParam, struct pll_value *
>> >>       if (pll->clockType = SECONDARY_PLL) {
>> >>               /* programe secondary pixel clock */
>> >>               poke32(CRT_PLL_CTRL, sm750_format_pll_reg(pll));
>> >> -             poke32(CRT_HORIZONTAL_TOTAL,
>> >> -                    (((pModeParam->horizontal_total - 1) <<
>> >> -                      CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT) &
>> >> -                     CRT_HORIZONTAL_TOTAL_TOTAL_MASK) |
>> >> -                    ((pModeParam->horizontal_display_end - 1) &
>> >> -                     CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK));
>> >> -
>> >> -             poke32(CRT_HORIZONTAL_SYNC,
>> >> -                    ((pModeParam->horizontal_sync_width <<
>> >> -                      CRT_HORIZONTAL_SYNC_WIDTH_SHIFT) &
>> >> -                     CRT_HORIZONTAL_SYNC_WIDTH_MASK) |
>> >> -                    ((pModeParam->horizontal_sync_start - 1) &
>> >> -                     CRT_HORIZONTAL_SYNC_START_MASK));
>> >>
>> >> -             poke32(CRT_VERTICAL_TOTAL,
>> >> -                    (((pModeParam->vertical_total - 1) <<
>> >> -                      CRT_VERTICAL_TOTAL_TOTAL_SHIFT) &
>> >> -                     CRT_VERTICAL_TOTAL_TOTAL_MASK) |
>> >> -                    ((pModeParam->vertical_display_end - 1) &
>> >> -                     CRT_VERTICAL_TOTAL_DISPLAY_END_MASK));
>> >> -
>> >> -             poke32(CRT_VERTICAL_SYNC,
>> >> -                    ((pModeParam->vertical_sync_height <<
>> >> -                      CRT_VERTICAL_SYNC_HEIGHT_SHIFT) &
>> >> -                     CRT_VERTICAL_SYNC_HEIGHT_MASK) |
>> >> -                    ((pModeParam->vertical_sync_start - 1) &
>> >> -                     CRT_VERTICAL_SYNC_START_MASK));
>> >> +             unsigned int a = (pModeParam->horizontal_total - 1) <<
>> >> +                             CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT;
>> >> +             unsigned int b = a & CRT_HORIZONTAL_TOTAL_TOTAL_MASK;
>> >> +             unsigned int c = (pModeParam->horizontal_display_end - 1)
>> >> &
>> >> +                             CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK;
>> >> +             unsigned int temp = b | c;
>> >> +
>> >> +             poke32(CRT_HORIZONTAL_TOTAL, temp);
>> >> +
>> >> +             unsigned int a = (pModeParam->horizontal_sync_width <<
>> >> +                             CRT_HORIZONTAL_SYNC_WIDTH_SHIFT);
>> >> +             unsigned int b = a & CRT_HORIZONTAL_SYNC_WIDTH_MASK;
>> >> +             unsigned int c = (pModeParam->horizontal_sync_start - 1)
>> >> &
>> >> +                             CRT_HORIZONTAL_SYNC_START_MASK;
>> >> +             unsigned int temp = b | c;
>> >
>> > This is back to the original incorrect solution.  You can't declare
>> > variables on the fly in Linux code.  Variables have to be declared at
>> > the
>> > top of a block.
>>
>> Arushi: have you tried to compile this?
>
> Yes.
> It's not showing any error.

No, not an error.

> Is it not fine when you compiled :( ?

 But you did introduce warnings, like:

drivers/staging/sm750fb/ddk750_mode.c: In function 'programModeRegisters':
drivers/staging/sm750fb/ddk750_mode.c:87:3: warning: ISO C90 forbids
mixed declarations and code [-Wdeclaration-after-statement]

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

end of thread, other threads:[~2017-03-19 16:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-19 13:19 [PATCH v3] staging: sm750fb: Code readability is improved Arushi Singhal
2017-03-19 13:11 ` [Outreachy kernel] " Julia Lawall
2017-03-19 14:04   ` Geert Uytterhoeven
     [not found]     ` <CA+XqjF87GbaU4jkF1cCskbLnf=ev5vYHmB67gOrApg9vOgYEsQ@mail.gmail.com>
2017-03-19 16:05       ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).