Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1449583 > unrolled thread

[PATCH 1/3] mdacon: align code in mda_detect properly

Started byJiri Slaby <jslaby@suse.cz>
First post2016-07-25 17:30 +0200
Last post2016-07-29 13:00 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/3] mdacon: align code in mda_detect properly Jiri Slaby <jslaby@suse.cz> - 2016-07-25 17:30 +0200
    [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function Jiri Slaby <jslaby@suse.cz> - 2016-07-25 17:30 +0200
      Re: [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function Joe Perches <joe@perches.com> - 2016-07-25 18:10 +0200
        Re: [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function Jiri Slaby <jslaby@suse.cz> - 2016-07-29 13:00 +0200

#1449583 — [PATCH 1/3] mdacon: align code in mda_detect properly

FromJiri Slaby <jslaby@suse.cz>
Date2016-07-25 17:30 +0200
Subject[PATCH 1/3] mdacon: align code in mda_detect properly
Message-ID<rYPZo-6e9-27@gated-at.bofh.it>
This is just a whitespace cleanup. The code was a mess having multiple
commands on one line like:
scr_writew(0xAA55, p); if (scr_readw(p) == 0xAA55) count++;

Indent that properly and make it nicer for reading.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/video/console/mdacon.c | 60 ++++++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 25 deletions(-)

diff --git a/drivers/video/console/mdacon.c b/drivers/video/console/mdacon.c
index bacbb044d77c..64c2c5e8d00b 100644
--- a/drivers/video/console/mdacon.c
+++ b/drivers/video/console/mdacon.c
@@ -208,10 +208,17 @@ static int mda_detect(void)
 	p = (u16 *) mda_vram_base;
 	q = (u16 *) (mda_vram_base + 0x01000);
 
-	p_save = scr_readw(p); q_save = scr_readw(q);
+	p_save = scr_readw(p);
+	q_save = scr_readw(q);
+
+	scr_writew(0xAA55, p);
+	if (scr_readw(p) == 0xAA55)
+		count++;
+
+	scr_writew(0x55AA, p);
+	if (scr_readw(p) == 0x55AA)
+		count++;
 
-	scr_writew(0xAA55, p); if (scr_readw(p) == 0xAA55) count++;
-	scr_writew(0x55AA, p); if (scr_readw(p) == 0x55AA) count++;
 	scr_writew(p_save, p);
 
 	if (count != 2) {
@@ -220,13 +227,18 @@ static int mda_detect(void)
 
 	/* check if we have 4K or 8K */
 
-	scr_writew(0xA55A, q); scr_writew(0x0000, p);
-	if (scr_readw(q) == 0xA55A) count++;
+	scr_writew(0xA55A, q);
+	scr_writew(0x0000, p);
+	if (scr_readw(q) == 0xA55A)
+		count++;
 	
-	scr_writew(0x5AA5, q); scr_writew(0x0000, p);
-	if (scr_readw(q) == 0x5AA5) count++;
+	scr_writew(0x5AA5, q);
+	scr_writew(0x0000, p);
+	if (scr_readw(q) == 0x5AA5)
+		count++;
 
-	scr_writew(p_save, p); scr_writew(q_save, q);
+	scr_writew(p_save, p);
+	scr_writew(q_save, q);
 	
 	if (count == 4) {
 		mda_vram_len = 0x02000;
@@ -240,14 +252,12 @@ static int mda_detect(void)
 	/* Edward: These two mess `tests' mess up my cursor on bootup */
 
 	/* cursor low register */
-	if (! test_mda_b(0x66, 0x0f)) {
+	if (!test_mda_b(0x66, 0x0f))
 		return 0;
-	}
 
 	/* cursor low register */
-	if (! test_mda_b(0x99, 0x0f)) {
+	if (!test_mda_b(0x99, 0x0f))
 		return 0;
-	}
 #endif
 
 	/* See if the card is a Hercules, by checking whether the vsync
@@ -257,25 +267,25 @@ static int mda_detect(void)
 	
 	p_save = q_save = inb_p(mda_status_port) & MDA_STATUS_VSYNC;
 
-	for (count=0; count < 50000 && p_save == q_save; count++) {
+	for (count = 0; count < 50000 && p_save == q_save; count++) {
 		q_save = inb(mda_status_port) & MDA_STATUS_VSYNC;
 		udelay(2);
 	}
 
 	if (p_save != q_save) {
 		switch (inb_p(mda_status_port) & 0x70) {
-			case 0x10:
-				mda_type = TYPE_HERCPLUS;
-				mda_type_name = "HerculesPlus";
-				break;
-			case 0x50:
-				mda_type = TYPE_HERCCOLOR;
-				mda_type_name = "HerculesColor";
-				break;
-			default:
-				mda_type = TYPE_HERC;
-				mda_type_name = "Hercules";
-				break;
+		case 0x10:
+			mda_type = TYPE_HERCPLUS;
+			mda_type_name = "HerculesPlus";
+			break;
+		case 0x50:
+			mda_type = TYPE_HERCCOLOR;
+			mda_type_name = "HerculesColor";
+			break;
+		default:
+			mda_type = TYPE_HERC;
+			mda_type_name = "Hercules";
+			break;
 		}
 	}
 
-- 
2.9.2

[toc] | [next] | [standalone]


#1449585 — [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function

FromJiri Slaby <jslaby@suse.cz>
Date2016-07-25 17:30 +0200
Subject[PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function
Message-ID<rYPZp-6e9-57@gated-at.bofh.it>
In reply to#1449583
MDA_ADDR is one of those macros which could be an inline function. So
convert MDA_ADDR to mda_addr.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/video/console/mdacon.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/video/console/mdacon.c b/drivers/video/console/mdacon.c
index 814606bd26d1..24fe55134eb5 100644
--- a/drivers/video/console/mdacon.c
+++ b/drivers/video/console/mdacon.c
@@ -420,17 +420,20 @@ static void mdacon_invert_region(struct vc_data *c, u16 *p, int count)
 	}
 }
 
-#define MDA_ADDR(x, y)  (mda_vram_base + (y)*mda_num_columns + (x))
+static inline u16 *mda_addr(unsigned int x, unsigned int y)
+{
+	return mda_vram_base + y * mda_num_columns + x;
+}
 
 static void mdacon_putc(struct vc_data *c, int ch, int y, int x)
 {
-	scr_writew(mda_convert_attr(ch), MDA_ADDR(x, y));
+	scr_writew(mda_convert_attr(ch), mda_addr(x, y));
 }
 
 static void mdacon_putcs(struct vc_data *c, const unsigned short *s,
 		         int count, int y, int x)
 {
-	u16 *dest = MDA_ADDR(x, y);
+	u16 *dest = mda_addr(x, y);
 
 	for (; count > 0; count--) {
 		scr_writew(mda_convert_attr(scr_readw(s++)), dest++);
@@ -440,7 +443,7 @@ static void mdacon_putcs(struct vc_data *c, const unsigned short *s,
 static void mdacon_clear(struct vc_data *c, int y, int x, 
 			  int height, int width)
 {
-	u16 *dest = MDA_ADDR(x, y);
+	u16 *dest = mda_addr(x, y);
 	u16 eattr = mda_convert_attr(c->vc_video_erase_char);
 
 	if (width <= 0 || height <= 0)
@@ -511,16 +514,16 @@ static int mdacon_scroll(struct vc_data *c, int t, int b, int dir, int lines)
 	switch (dir) {
 
 	case SM_UP:
-		scr_memmovew(MDA_ADDR(0,t), MDA_ADDR(0,t+lines),
+		scr_memmovew(mda_addr(0, t), mda_addr(0, t + lines),
 				(b-t-lines)*mda_num_columns*2);
-		scr_memsetw(MDA_ADDR(0,b-lines), eattr,
+		scr_memsetw(mda_addr(0, b - lines), eattr,
 				lines*mda_num_columns*2);
 		break;
 
 	case SM_DOWN:
-		scr_memmovew(MDA_ADDR(0,t+lines), MDA_ADDR(0,t),
+		scr_memmovew(mda_addr(0, t + lines), mda_addr(0, t),
 				(b-t-lines)*mda_num_columns*2);
-		scr_memsetw(MDA_ADDR(0,t), eattr, lines*mda_num_columns*2);
+		scr_memsetw(mda_addr(0, t), eattr, lines*mda_num_columns*2);
 		break;
 	}
 
-- 
2.9.2

[toc] | [prev] | [next] | [standalone]


#1449628 — Re: [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function

FromJoe Perches <joe@perches.com>
Date2016-07-25 18:10 +0200
SubjectRe: [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function
Message-ID<rYQC6-6GE-27@gated-at.bofh.it>
In reply to#1449585
On Mon, 2016-07-25 at 17:24 +0200, Jiri Slaby wrote:
> MDA_ADDR is one of those macros which could be an inline function. So
> convert MDA_ADDR to mda_addr.
> 
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> ---
>  drivers/video/console/mdacon.c | 19 +++++++++++--------
>  1 file changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/video/console/mdacon.c b/drivers/video/console/mdacon.c
> index 814606bd26d1..24fe55134eb5 100644
> --- a/drivers/video/console/mdacon.c
> +++ b/drivers/video/console/mdacon.c
> @@ -420,17 +420,20 @@ static void mdacon_invert_region(struct vc_data *c, u16 *p, int count)
>  	}
>  }
>  
> -#define MDA_ADDR(x, y)  (mda_vram_base + (y)*mda_num_columns + (x))
> +static inline u16 *mda_addr(unsigned int x, unsigned int y)

Are you sure about the unsigned?
All of the changed use are taking int

> +{
> +	return mda_vram_base + y * mda_num_columns + x;
> +}
>  
>  static void mdacon_putc(struct vc_data *c, int ch, int y, int x)
>  {
> -	scr_writew(mda_convert_attr(ch), MDA_ADDR(x, y));
> +	scr_writew(mda_convert_attr(ch), mda_addr(x, y));
>  }
>  
>  static void mdacon_putcs(struct vc_data *c, const unsigned short *s,
>  		         int count, int y, int x)
>  {
> -	u16 *dest = MDA_ADDR(x, y);
> +	u16 *dest = mda_addr(x, y);
>  
>  	for (; count > 0; count--) {
>  		scr_writew(mda_convert_attr(scr_readw(s++)), dest++);
> @@ -440,7 +443,7 @@ static void mdacon_putcs(struct vc_data *c, const unsigned short *s,
>  static void mdacon_clear(struct vc_data *c, int y, int x, 
>  			  int height, int width)
>  {
> -	u16 *dest = MDA_ADDR(x, y);
> +	u16 *dest = mda_addr(x, y);
>  	u16 eattr = mda_convert_attr(c->vc_video_erase_char);
>  
>  	if (width <= 0 || height <= 0)
> @@ -511,16 +514,16 @@ static int mdacon_scroll(struct vc_data *c, int t, int b, int dir, int lines)
>  	switch (dir) {
>  
>  	case SM_UP:
> -		scr_memmovew(MDA_ADDR(0,t), MDA_ADDR(0,t+lines),
> +		scr_memmovew(mda_addr(0, t), mda_addr(0, t + lines),
>  				(b-t-lines)*mda_num_columns*2);
> -		scr_memsetw(MDA_ADDR(0,b-lines), eattr,
> +		scr_memsetw(mda_addr(0, b - lines), eattr,
>  				lines*mda_num_columns*2);
>  		break;
>  
>  	case SM_DOWN:
> -		scr_memmovew(MDA_ADDR(0,t+lines), MDA_ADDR(0,t),
> +		scr_memmovew(mda_addr(0, t + lines), mda_addr(0, t),
>  				(b-t-lines)*mda_num_columns*2);
> -		scr_memsetw(MDA_ADDR(0,t), eattr, lines*mda_num_columns*2);
> +		scr_memsetw(mda_addr(0, t), eattr, lines*mda_num_columns*2);
>  		break;
>  	}
>  

[toc] | [prev] | [next] | [standalone]


#1452379 — Re: [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function

FromJiri Slaby <jslaby@suse.cz>
Date2016-07-29 13:00 +0200
SubjectRe: [PATCH 3/3] mdacon: replace MDA_ADDR macro by inline function
Message-ID<s0dGi-3xr-9@gated-at.bofh.it>
In reply to#1449628
On 07/25/2016, 06:04 PM, Joe Perches wrote:
> On Mon, 2016-07-25 at 17:24 +0200, Jiri Slaby wrote:
>> MDA_ADDR is one of those macros which could be an inline function. So
>> convert MDA_ADDR to mda_addr.
>>
>> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
>> ---
>>  drivers/video/console/mdacon.c | 19 +++++++++++--------
>>  1 file changed, 11 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/video/console/mdacon.c b/drivers/video/console/mdacon.c
>> index 814606bd26d1..24fe55134eb5 100644
>> --- a/drivers/video/console/mdacon.c
>> +++ b/drivers/video/console/mdacon.c
>> @@ -420,17 +420,20 @@ static void mdacon_invert_region(struct vc_data *c, u16 *p, int count)
>>  	}
>>  }
>>  
>> -#define MDA_ADDR(x, y)  (mda_vram_base + (y)*mda_num_columns + (x))
>> +static inline u16 *mda_addr(unsigned int x, unsigned int y)
> 
> Are you sure about the unsigned?
> All of the changed use are taking int

Yeah, they are really absolute x and y coordinates.

thanks,
-- 
js
suse labs

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web