[PATCH 27/30] viafb: replace inb/outb

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jonathan Corbet
Date: Wednesday, April 28, 2010 - 3:17 pm

From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>

viafb: replace inb/outb

This patch replaces occurences of inb/outb with via_write_reg and
via_write_reg_mask where this is possible to improve code
readability.

Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
---
 drivers/video/via/hw.c |   22 +++++++---------------
 1 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c
index d474fbe..b2bb24e 100644
--- a/drivers/video/via/hw.c
+++ b/drivers/video/via/hw.c
@@ -1008,16 +1008,12 @@ void viafb_load_reg(int timing_value, int viafb_load_reg_num,
 void viafb_write_regx(struct io_reg RegTable[], int ItemNum)
 {
 	int i;
-	unsigned char RegTemp;
 
 	/*DEBUG_MSG(KERN_INFO "Table Size : %x!!\n",ItemNum ); */
 
-	for (i = 0; i < ItemNum; i++) {
-		outb(RegTable[i].index, RegTable[i].port);
-		RegTemp = inb(RegTable[i].port + 1);
-		RegTemp = (RegTemp & (~RegTable[i].mask)) | RegTable[i].value;
-		outb(RegTemp, RegTable[i].port + 1);
-	}
+	for (i = 0; i < ItemNum; i++)
+		via_write_reg_mask(RegTable[i].port, RegTable[i].index,
+			RegTable[i].value, RegTable[i].mask);
 }
 
 void viafb_load_fetch_count_reg(int h_addr, int bpp_byte, int set_iga)
@@ -2130,10 +2126,8 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
 	outb(VPIT.Misc, VIAWMisc);
 
 	/* Write Sequencer */
-	for (i = 1; i <= StdSR; i++) {
-		outb(i, VIASR);
-		outb(VPIT.SR[i - 1], VIASR + 1);
-	}
+	for (i = 1; i <= StdSR; i++)
+		via_write_reg(VIASR, i, VPIT.SR[i - 1]);
 
 	viafb_write_reg_mask(0x15, VIASR, 0xA2, 0xA2);
 	viafb_set_iga_path();
@@ -2142,10 +2136,8 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
 	viafb_fill_crtc_timing(crt_timing, vmode_tbl, video_bpp / 8, IGA1);
 
 	/* Write Graphic Controller */
-	for (i = 0; i < StdGR; i++) {
-		outb(i, VIAGR);
-		outb(VPIT.GR[i], VIAGR + 1);
-	}
+	for (i = 0; i < StdGR; i++)
+		via_write_reg(VIAGR, i, VPIT.GR[i]);
 
 	/* Write Attribute Controller */
 	for (i = 0; i < StdAR; i++) {
-- 
1.7.0.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] Second OLPC Viafb series, v2, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 02/30] viafb: use proper pci config API, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 04/30] viafb: Retain GEMODE reserved bits, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 05/30] viafb: Unify duplicated set_bpp() code, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 12/30] viafb: Move core stuff into via-core.c, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 13/30] viafb: Separate global and fb-specific data, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 14/30] viafb: add a driver for GPIO lines, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 15/30] viafb: package often used basic io functions, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 19/30] viafb: Introduce viafb_find_i2c_adapter(), Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 20/30] via: Rationalize vt1636 detection, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 22/30] viafb: Add a simple VX855 DMA engine driver, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 25/30] viafb: unify modesetting functions, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 27/30] viafb: replace inb/outb, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 28/30] viafb: improve misc register handling, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 29/30] viafb: fix proc entry removal, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
[PATCH 30/30] viafb: make procfs entries optional, Jonathan Corbet, (Wed Apr 28, 3:17 pm)
Re: [RFC] Second OLPC Viafb series, v2, Bruno Prémont, (Thu Apr 29, 10:26 am)
Re: [RFC] Second OLPC Viafb series, v2, Jonathan Corbet, (Fri Apr 30, 8:39 am)
Re: [PATCH 13/30] viafb: Separate global and fb-specific data, Florian Tobias Schan ..., (Fri Apr 30, 11:07 am)
Re: [PATCH 13/30] viafb: Separate global and fb-specific data, Jonathan Corbet, (Fri Apr 30, 11:22 am)
Re: [PATCH 13/30] viafb: Separate global and fb-specific data, Florian Tobias Schan ..., (Fri Apr 30, 11:43 am)
Re: [PATCH 02/30] viafb: use proper pci config API, Florian Tobias Schan ..., (Sat May 1, 7:01 am)
Re: [PATCH 12/30] viafb: Move core stuff into via-core.c, Florian Tobias Schan ..., (Sat May 1, 8:02 am)
Re: [PATCH 12/30] viafb: Move core stuff into via-core.c, Jonathan Corbet, (Sat May 1, 8:08 am)
Re: [PATCH 12/30] viafb: Move core stuff into via-core.c, Florian Tobias Schan ..., (Sat May 1, 8:29 am)
Re: [RFC] Second OLPC Viafb series, v2, Florian Tobias Schan ..., (Sat May 1, 2:28 pm)
Re: [RFC] Second OLPC Viafb series, v2, Jonathan Corbet, (Sat May 1, 3:57 pm)
Re: [PATCH 24/30] viafb: Add a driver for the video captur ..., Florian Tobias Schan ..., (Sat May 1, 6:18 pm)
Re: [PATCH 02/30] viafb: use proper pci config API, Jonathan Corbet, (Mon May 3, 7:37 pm)