rivafb/nvidiafb: Various cleanups
PATCH 4/7 rivafb/nvidiafb: Various cleanups
From: Jean Delvare <[email protected]>
Various cleanups to rivafb/nvidiafb's I2C code:
* Drop useless par->bus.
* Refactor I2C bus deletion code.
* Drop useless variable initialization.
* Remove unneeded include of <linux/i2c-id.h>.
* Simplify +1/-1.
* Add __devinit tags where possible.
[adaplas]
The varible initialization are not useless. However, rivafb must check if i2c bus are created properly before reading the EDID block.
---
drivers/video/nvidia/nv_i2c.c | 20 +++++++------------- drivers/video/nvidia/nv_type.h | 2 -- drivers/video/riva/fbdev.c | 4 ++-- drivers/video/riva/rivafb-i2c.c | 31 ++++++++++++++----------------- drivers/video/riva/rivafb.h | 2 -- 5 files changed, 23 insertions(+), 36 deletions(-)
drivers/video/nvidia/nv_i2c.c +7 -13
@@ -127,8 +127,6 @@ static int nvidia_setup_i2c_bus(struct nvoid nvidia_create_i2c_busses (struct nvidia_par *par) { - par->bus =3 ; - par->chan[0 ].par = par; par->chan[1 ].par = par; par->chan[2 ].par = par;
@@ -145,18 +143,14 @@ void nvidia_create_i2c_busses(struct nvivoid nvidia_delete_i2c_busses (struct nvidia_par *par) { -if (par->chan[0 ].par) -i2c_del_adapter (&par->chan[0 ].adapter); - par->chan[0 ].par =NULL ; - -if (par->chan[1 ].par) -i2c_del_adapter (&par->chan[1 ].adapter); - par->chan[1 ].par =NULL ; - -if (par->chan[2 ].par) -i2c_del_adapter (&par->chan[2 ].adapter); - par->chan[2 ].par =NULL ; +int i; +for (i =0 ; i <3 ; i++) { +if (!par->chan[i].par) +continue ; +i2c_del_adapter (&par->chan[i].adapter); + par->chan[i].par =NULL ; + } }int nvidia_probe_i2c_connector (struct fb_info *info,int conn,u8 **out_edid)
drivers/video/nvidia/nv_type.h +0 -2
@@ -4,7 +4,6 @@ #define __NV_TYPE_H__#include <linux/fb.h> #include <linux/types.h> #include <linux/i2c.h> -#include <linux/i2c-id.h> #include <linux/i2c-algo-bit.h> #define NV_ARCH_04 0x04
@@ -100,7 +99,6 @@ struct nvidia_par {u32 Architecture;u32 CursorStart;int Chipset; -int bus;unsigned long FbAddress;u8 __iomem *FbStart;u32 FbMapSize;
drivers/video/riva/fbdev.c +2 -2
@@ -1788,10 +1788,10 @@ static int __devinit riva_get_EDID_i2c(sNVTRACE_ENTER ();riva_create_i2c_busses (par); -for (i =0 ; i < par->bus; i++) { +for (i =0 ; i <3 ; i++) {if (!par->chan[i].par)continue ; -riva_probe_i2c_connector (par, i+1 , &par->EDID); +riva_probe_i2c_connector (par, i, &par->EDID);if (par->EDID && !fb_parse_edid (par->EDID, &var)) {printk (PFX "Found EDID Block from BUS %i\n" , i);break ;
drivers/video/riva/rivafb-i2c.c +14 -17
@@ -88,8 +88,9 @@ static int riva_gpio_getsda(void* data)return val; } -static int riva_setup_i2c_bus (struct riva_i2c_chan *chan,const char *name, -unsigned int i2c_class) +static int __devinit riva_setup_i2c_bus (struct riva_i2c_chan *chan, +const char *name, +unsigned int i2c_class) {int rc;
@@ -126,10 +127,8 @@ static int riva_setup_i2c_bus(struct rivreturn rc; } -void riva_create_i2c_busses (struct riva_par *par) +void __devinit riva_create_i2c_busses (struct riva_par *par) { - par->bus =3 ; - par->chan[0 ].par = par; par->chan[1 ].par = par; par->chan[2 ].par = par;
@@ -144,24 +143,22 @@ void riva_create_i2c_busses(struct riva_void riva_delete_i2c_busses (struct riva_par *par) { -if (par->chan[0 ].par) -i2c_del_adapter (&par->chan[0 ].adapter); - par->chan[0 ].par =NULL ; - -if (par->chan[1 ].par) -i2c_del_adapter (&par->chan[1 ].adapter); - par->chan[1 ].par =NULL ; +int i; -if (par->chan[2 ].par) -i2c_del_adapter (&par->chan[2 ].adapter); - par->chan[2 ].par =NULL ; +for (i =0 ; i <3 ; i++) { +if (!par->chan[i].par) +continue ; +i2c_del_adapter (&par->chan[i].adapter); + par->chan[i].par =NULL ; + } } -int riva_probe_i2c_connector (struct riva_par *par,int conn,u8 **out_edid) +int __devinit riva_probe_i2c_connector (struct riva_par *par,int conn,u8 **out_edid) {u8 *edid =NULL ; - edid =fb_ddc_read (&par->chan[conn-1 ].adapter); +if (par->chan[conn].par) + edid =fb_ddc_read (&par->chan[conn].adapter);if (out_edid) *out_edid = edid;
drivers/video/riva/rivafb.h +0 -2
@@ -4,7 +4,6 @@ #define __RIVAFB_H#include <linux/fb.h> #include <video/vga.h> #include <linux/i2c.h> -#include <linux/i2c-id.h> #include <linux/i2c-algo-bit.h> #include "riva_hw.h"
@@ -61,7 +60,6 @@ #endifBool SecondCRTC;int FlatPanel;struct pci_dev *pdev; -int bus;int cursor_reset;#ifdef CONFIG_MTRR struct {int vram;int vram_valid; } mtrr;
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV