rivafb/nvidiafb: Enable hardware monitoring
PATCH 2/7 rivafb/nvidiafb: Enable hardware monitoring
From: Jean Delvare <khali@linux-fr>
Let the hardware monitoring drivers probe the second rivafb/nvidiafb I2C bus for devices.
---
drivers/video/nvidia/nv_i2c.c | 10 ++++++---- drivers/video/riva/rivafb-i2c.c | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-)
drivers/video/nvidia/nv_i2c.c +6 -4
@@ -86,13 +86,15 @@ static int nvidia_gpio_getsda(void *datareturn val; } -static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name) +static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_NVIDIA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pci_dev->dev; chan->algo.setsda = nvidia_gpio_setsda;
@@ -132,13 +134,13 @@ void nvidia_create_i2c_busses(struct nvi par->chan[2 ].par = par; par->chan[0 ].ddc_base =0x36 ; -nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ); +nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ,I2C_CLASS_HWMON ); par->chan[1 ].ddc_base =0x3e ; -nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #1" ); +nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #0" ,1 ); par->chan[2 ].ddc_base =0x50 ; -nvidia_setup_i2c_bus (&par->chan[2 ],"nvidia #2" ); +nvidia_setup_i2c_bus (&par->chan[2 ],"nvidia #2" ,0 ); }void nvidia_delete_i2c_busses (struct nvidia_par *par)
drivers/video/riva/rivafb-i2c.c +6 -4
@@ -88,13 +88,15 @@ static int riva_gpio_getsda(void* data)return val; } -static int riva_setup_i2c_bus (struct riva_i2c_chan *chan,const char *name) +static int riva_setup_i2c_bus (struct riva_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_RIVA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pdev->dev; chan->algo.setsda = riva_gpio_setsda;
@@ -135,9 +137,9 @@ void riva_create_i2c_busses(struct riva_ par->chan[0 ].ddc_base =0x3e ; par->chan[1 ].ddc_base =0x36 ; par->chan[2 ].ddc_base =0x50 ; -riva_setup_i2c_bus (&par->chan[0 ],"BUS1" ); -riva_setup_i2c_bus (&par->chan[1 ],"BUS2" ); -riva_setup_i2c_bus (&par->chan[2 ],"BUS3" ); +riva_setup_i2c_bus (&par->chan[0 ],"BUS1" ,0 ); +riva_setup_i2c_bus (&par->chan[1 ],"BUS2" ,I2C_CLASS_HWMON ); +riva_setup_i2c_bus (&par->chan[2 ],"BUS3" ,0 ); }void riva_delete_i2c_busses (struct riva_par *par)
-------------------------------------------------------------------------
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
Hi Antonino,
Quoted 35 lines · Antonino A. Daplas
From: Jean Delvare <khali@linux-fr>
Let the hardware monitoring drivers probe the second rivafb/nvidiafb I2C bus for devices.
Signed-off-by Jean Delvare <khali@linux-fr>Signed-off-by Antonino Daplas <[email protected]>---
drivers/video/nvidia/nv_i2c.c | 10 ++++++---- drivers/video/riva/rivafb-i2c.c | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-)drivers/video/nvidia/nv_i2c.c +3
-1@@ -86,13 +86,15 @@ static int nvidia_gpio_getsda(void *datareturn val; } -static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name) +static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_NVIDIA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pci_dev->dev; chan->algo.setsda = nvidia_gpio_setsda;
drivers/video/nvidia/nv_i2c.c void nvidia_create_i2c_busses(struct nvi · line 140
Quoted 9 lines
drivers/video/nvidia/nv_i2c.c +2
-2@@ -132,13 +134,13 @@ void nvidia_create_i2c_busses(struct nvi par->chan[2 ].par = par; par->chan[0 ].ddc_base =0x36 ; -nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ); +nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ,I2C_CLASS_HWMON ); par->chan[1 ].ddc_base =0x3e ; -nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #1" ); +nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #0" ,1 );
Err, this is not correct, and not what my original patch did.
Quoted 41 lines
drivers/video/nvidia/nv_i2c.c +1
-1par->chan[2 ].ddc_base =0x50 ; -nvidia_setup_i2c_bus (&par->chan[2 ],"nvidia #2" ); +nvidia_setup_i2c_bus (&par->chan[2 ],"nvidia #2" ,0 ); }void nvidia_delete_i2c_busses (struct nvidia_par *par)drivers/video/riva/rivafb-i2c.c +6
-4@@ -88,13 +88,15 @@ static int riva_gpio_getsda(void* data)return val; } -static int riva_setup_i2c_bus (struct riva_i2c_chan *chan,const char *name) +static int riva_setup_i2c_bus (struct riva_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_RIVA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pdev->dev; chan->algo.setsda = riva_gpio_setsda;@@ -135,9 +137,9 @@ void riva_create_i2c_busses(struct riva_ par->chan[0 ].ddc_base =0x3e ; par->chan[1 ].ddc_base =0x36 ; par->chan[2 ].ddc_base =0x50 ; -riva_setup_i2c_bus (&par->chan[0 ],"BUS1" ); -riva_setup_i2c_bus (&par->chan[1 ],"BUS2" ); -riva_setup_i2c_bus (&par->chan[2 ],"BUS3" ); +riva_setup_i2c_bus (&par->chan[0 ],"BUS1" ,0 ); +riva_setup_i2c_bus (&par->chan[1 ],"BUS2" ,I2C_CLASS_HWMON ); +riva_setup_i2c_bus (&par->chan[2 ],"BUS3" ,0 ); }void riva_delete_i2c_busses (struct riva_par *par)
Signature · 7 lines
Jean Delvare ------------------------------------------------------------------------- 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
Quoted 44 lines · Jean Delvare
Hi Antonino,
Quoted 41 lines · Antonino A. Daplas
From: Jean Delvare <khali@linux-fr>
Let the hardware monitoring drivers probe the second rivafb/nvidiafb I2C bus for devices.
Signed-off-by Jean Delvare <khali@linux-fr>Signed-off-by Antonino Daplas <[email protected]>---
drivers/video/nvidia/nv_i2c.c | 10 ++++++---- drivers/video/riva/rivafb-i2c.c | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-)drivers/video/nvidia/nv_i2c.c +4
-2@@ -86,13 +86,15 @@ static int nvidia_gpio_getsda(void *datareturn val; } -static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name) +static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_NVIDIA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pci_dev->dev; chan->algo.setsda = nvidia_gpio_setsda;@@ -132,13 +134,13 @@ void nvidia_create_i2c_busses(struct nvi par->chan[2 ].par = par; par->chan[0 ].ddc_base =0x36 ; -nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ); +nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ,I2C_CLASS_HWMON );
Quoted 5 lines
drivers/video/nvidia/nv_i2c.c void nvidia_create_i2c_busses(struct nvi · line 140
Quoted 3 lines
drivers/video/nvidia/nv_i2c.c +1
-1par->chan[1 ].ddc_base =0x3e ; -nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #1" ); +nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #0" ,1 );Err, this is not correct, and not what my original patch did.
I submitted a previous patch to akpm where I reversed the order of assignment of the ddc_bases (from 0x3e, 0x36 to 0x36, 0x3e). Just made your patch match that.
Tony
-------------------------------------------------------------------------
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
Quoted 44 lines · Jean Delvare
Hi Antonino,
Quoted 41 lines · Antonino A. Daplas
From: Jean Delvare <khali@linux-fr>
Let the hardware monitoring drivers probe the second rivafb/nvidiafb I2C bus for devices.
Signed-off-by Jean Delvare <khali@linux-fr>Signed-off-by Antonino Daplas <[email protected]>---
drivers/video/nvidia/nv_i2c.c | 10 ++++++---- drivers/video/riva/rivafb-i2c.c | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-)drivers/video/nvidia/nv_i2c.c +4
-2@@ -86,13 +86,15 @@ static int nvidia_gpio_getsda(void *datareturn val; } -static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name) +static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_NVIDIA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pci_dev->dev; chan->algo.setsda = nvidia_gpio_setsda;@@ -132,13 +134,13 @@ void nvidia_create_i2c_busses(struct nvi par->chan[2 ].par = par; par->chan[0 ].ddc_base =0x36 ; -nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ); +nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ,I2C_CLASS_HWMON );
Quoted 5 lines
drivers/video/nvidia/nv_i2c.c void nvidia_create_i2c_busses(struct nvi · line 140
Quoted 3 lines
drivers/video/nvidia/nv_i2c.c +1
-1par->chan[1 ].ddc_base =0x3e ; -nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #1" ); +nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #0" ,1 );Err, this is not correct, and not what my original patch did.
Oops, yeah, I just made a typo :-(. I will submit a follow-up patch.
Tony
-------------------------------------------------------------------------
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
PATCH RESEND 2/7 rivafb/nvidiafb: Enable hardware monitoring
In reply to Jean DelvareFrom: Jean Delvare <khali@linux-fr>
Let the hardware monitoring drivers probe the second rivafb/nvidiafb I2C bus for devices.
---
Quoted 5 lines
Review
Quoted 3 lines
par->chan[1].ddc_base = 0x3e;(quoted diff) +1
-1- nvidia_setup_i2c_bus(&par->chan[1], "nvidia #1"); + nvidia_setup_i2c_bus(&par->chan[1], "nvidia #0", 1);Err, this is not correct, and not what my original patch did.
Andrew, please use this instead. Fixes a stupid typo I made.
Tony
drivers/video/nvidia/nv_i2c.c | 10 ++++++---- drivers/video/riva/rivafb-i2c.c | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-)
drivers/video/nvidia/nv_i2c.c +6 -4
@@ -86,13 +86,15 @@ static int nvidia_gpio_getsda(void *datareturn val; } -static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name) +static int nvidia_setup_i2c_bus (struct nvidia_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_NVIDIA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pci_dev->dev; chan->algo.setsda = nvidia_gpio_setsda;
@@ -132,13 +134,13 @@ void nvidia_create_i2c_busses(struct nvi par->chan[2 ].par = par; par->chan[0 ].ddc_base =0x36 ; -nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ); +nvidia_setup_i2c_bus (&par->chan[0 ],"nvidia #0" ,I2C_CLASS_HWMON ); par->chan[1 ].ddc_base =0x3e ; -nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #1" ); +nvidia_setup_i2c_bus (&par->chan[1 ],"nvidia #1" ,0 ); par->chan[2 ].ddc_base =0x50 ; -nvidia_setup_i2c_bus (&par->chan[2 ],"nvidia #2" ); +nvidia_setup_i2c_bus (&par->chan[2 ],"nvidia #2" ,0 ); }void nvidia_delete_i2c_busses (struct nvidia_par *par)
drivers/video/riva/rivafb-i2c.c +6 -4
@@ -88,13 +88,15 @@ static int riva_gpio_getsda(void* data)return val; } -static int riva_setup_i2c_bus (struct riva_i2c_chan *chan,const char *name) +static int riva_setup_i2c_bus (struct riva_i2c_chan *chan,const char *name, +unsigned int i2c_class) {int rc;strcpy (chan->adapter.name, name); chan->adapter.owner =THIS_MODULE ; chan->adapter.id =I2C_HW_B_RIVA ; + chan->adapter.class = i2c_class; chan->adapter.algo_data = &chan->algo; chan->adapter.dev.parent = &chan->par->pdev->dev; chan->algo.setsda = riva_gpio_setsda;
@@ -135,9 +137,9 @@ void riva_create_i2c_busses(struct riva_ par->chan[0 ].ddc_base =0x3e ; par->chan[1 ].ddc_base =0x36 ; par->chan[2 ].ddc_base =0x50 ; -riva_setup_i2c_bus (&par->chan[0 ],"BUS1" ); -riva_setup_i2c_bus (&par->chan[1 ],"BUS2" ); -riva_setup_i2c_bus (&par->chan[2 ],"BUS3" ); +riva_setup_i2c_bus (&par->chan[0 ],"BUS1" ,0 ); +riva_setup_i2c_bus (&par->chan[1 ],"BUS2" ,I2C_CLASS_HWMON ); +riva_setup_i2c_bus (&par->chan[2 ],"BUS3" ,0 ); }void riva_delete_i2c_busses (struct riva_par *par)
-------------------------------------------------------------------------
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