diff options
author | Jean Delvare <khali@linux-fr.org> | 2005-08-11 17:51:10 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-09-05 12:14:32 -0400 |
commit | 1684a984303abbfc39aa8b59b0fe825c717811a9 (patch) | |
tree | 5ba646c7c81f1ed3a2bbc032a412dcff21fc7c37 /drivers/video | |
parent | c7a46533ff7ef9e1c51bae6e54208527c5275b24 (diff) |
[PATCH] I2C: Kill i2c_algorithm.id (6/7)
In theory, there should be no more users of I2C_ALGO_* at this point.
However, it happens that several drivers were using I2C_ALGO_* for
adapter ids, so we need to correct these before we can get rid of all
the I2C_ALGO_* definitions.
Note that this also fixes a bug in media/video/tvaudio.c:
/* don't attach on saa7146 based cards,
because dedicated drivers are used */
if ((adap->id & I2C_ALGO_SAA7146))
return 0;
This test was plain broken, as it would succeed for many more adapters
than just the saa7146: any those id would share at least one bit with
the saa7146 id. We are really lucky that the few other adapters we want
this driver to work with did not fulfill that condition.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/aty/radeon_i2c.c | 2 | ||||
-rw-r--r-- | drivers/video/nvidia/nv_i2c.c | 3 | ||||
-rw-r--r-- | drivers/video/riva/rivafb-i2c.c | 3 | ||||
-rw-r--r-- | drivers/video/savage/savagefb-i2c.c | 3 |
4 files changed, 4 insertions, 7 deletions
diff --git a/drivers/video/aty/radeon_i2c.c b/drivers/video/aty/radeon_i2c.c index 762244164c81..a9d0414e4655 100644 --- a/drivers/video/aty/radeon_i2c.c +++ b/drivers/video/aty/radeon_i2c.c | |||
@@ -75,7 +75,7 @@ static int radeon_setup_i2c_bus(struct radeon_i2c_chan *chan, const char *name) | |||
75 | 75 | ||
76 | strcpy(chan->adapter.name, name); | 76 | strcpy(chan->adapter.name, name); |
77 | chan->adapter.owner = THIS_MODULE; | 77 | chan->adapter.owner = THIS_MODULE; |
78 | chan->adapter.id = I2C_ALGO_ATI; | 78 | chan->adapter.id = I2C_HW_B_RADEON; |
79 | chan->adapter.algo_data = &chan->algo; | 79 | chan->adapter.algo_data = &chan->algo; |
80 | chan->adapter.dev.parent = &chan->rinfo->pdev->dev; | 80 | chan->adapter.dev.parent = &chan->rinfo->pdev->dev; |
81 | chan->algo.setsda = radeon_gpio_setsda; | 81 | chan->algo.setsda = radeon_gpio_setsda; |
diff --git a/drivers/video/nvidia/nv_i2c.c b/drivers/video/nvidia/nv_i2c.c index 3757c1407c19..1a91bffdda26 100644 --- a/drivers/video/nvidia/nv_i2c.c +++ b/drivers/video/nvidia/nv_i2c.c | |||
@@ -90,14 +90,13 @@ static int nvidia_gpio_getsda(void *data) | |||
90 | return val; | 90 | return val; |
91 | } | 91 | } |
92 | 92 | ||
93 | #define I2C_ALGO_NVIDIA 0x0e0000 | ||
94 | static int nvidia_setup_i2c_bus(struct nvidia_i2c_chan *chan, const char *name) | 93 | static int nvidia_setup_i2c_bus(struct nvidia_i2c_chan *chan, const char *name) |
95 | { | 94 | { |
96 | int rc; | 95 | int rc; |
97 | 96 | ||
98 | strcpy(chan->adapter.name, name); | 97 | strcpy(chan->adapter.name, name); |
99 | chan->adapter.owner = THIS_MODULE; | 98 | chan->adapter.owner = THIS_MODULE; |
100 | chan->adapter.id = I2C_ALGO_NVIDIA; | 99 | chan->adapter.id = I2C_HW_B_NVIDIA; |
101 | chan->adapter.algo_data = &chan->algo; | 100 | chan->adapter.algo_data = &chan->algo; |
102 | chan->adapter.dev.parent = &chan->par->pci_dev->dev; | 101 | chan->adapter.dev.parent = &chan->par->pci_dev->dev; |
103 | chan->algo.setsda = nvidia_gpio_setsda; | 102 | chan->algo.setsda = nvidia_gpio_setsda; |
diff --git a/drivers/video/riva/rivafb-i2c.c b/drivers/video/riva/rivafb-i2c.c index da1334dfd51d..77151d8e0766 100644 --- a/drivers/video/riva/rivafb-i2c.c +++ b/drivers/video/riva/rivafb-i2c.c | |||
@@ -92,14 +92,13 @@ static int riva_gpio_getsda(void* data) | |||
92 | return val; | 92 | return val; |
93 | } | 93 | } |
94 | 94 | ||
95 | #define I2C_ALGO_RIVA 0x0e0000 | ||
96 | static int riva_setup_i2c_bus(struct riva_i2c_chan *chan, const char *name) | 95 | static int riva_setup_i2c_bus(struct riva_i2c_chan *chan, const char *name) |
97 | { | 96 | { |
98 | int rc; | 97 | int rc; |
99 | 98 | ||
100 | strcpy(chan->adapter.name, name); | 99 | strcpy(chan->adapter.name, name); |
101 | chan->adapter.owner = THIS_MODULE; | 100 | chan->adapter.owner = THIS_MODULE; |
102 | chan->adapter.id = I2C_ALGO_RIVA; | 101 | chan->adapter.id = I2C_HW_B_RIVA; |
103 | chan->adapter.algo_data = &chan->algo; | 102 | chan->adapter.algo_data = &chan->algo; |
104 | chan->adapter.dev.parent = &chan->par->pdev->dev; | 103 | chan->adapter.dev.parent = &chan->par->pdev->dev; |
105 | chan->algo.setsda = riva_gpio_setsda; | 104 | chan->algo.setsda = riva_gpio_setsda; |
diff --git a/drivers/video/savage/savagefb-i2c.c b/drivers/video/savage/savagefb-i2c.c index 024a0cecff15..847698b5cfe7 100644 --- a/drivers/video/savage/savagefb-i2c.c +++ b/drivers/video/savage/savagefb-i2c.c | |||
@@ -137,7 +137,6 @@ static int prosavage_gpio_getsda(void* data) | |||
137 | return (0 != (GET_CR_DATA(chan->ioaddr) & PROSAVAGE_I2C_SDA_IN)); | 137 | return (0 != (GET_CR_DATA(chan->ioaddr) & PROSAVAGE_I2C_SDA_IN)); |
138 | } | 138 | } |
139 | 139 | ||
140 | #define I2C_ALGO_SAVAGE 0x0f0000 | ||
141 | static int savage_setup_i2c_bus(struct savagefb_i2c_chan *chan, | 140 | static int savage_setup_i2c_bus(struct savagefb_i2c_chan *chan, |
142 | const char *name) | 141 | const char *name) |
143 | { | 142 | { |
@@ -147,7 +146,7 @@ static int savage_setup_i2c_bus(struct savagefb_i2c_chan *chan, | |||
147 | if (add_bus && chan->par) { | 146 | if (add_bus && chan->par) { |
148 | strcpy(chan->adapter.name, name); | 147 | strcpy(chan->adapter.name, name); |
149 | chan->adapter.owner = THIS_MODULE; | 148 | chan->adapter.owner = THIS_MODULE; |
150 | chan->adapter.id = I2C_ALGO_SAVAGE; | 149 | chan->adapter.id = I2C_HW_B_SAVAGE; |
151 | chan->adapter.algo_data = &chan->algo; | 150 | chan->adapter.algo_data = &chan->algo; |
152 | chan->adapter.dev.parent = &chan->par->pcidev->dev; | 151 | chan->adapter.dev.parent = &chan->par->pcidev->dev; |
153 | chan->algo.udelay = 40; | 152 | chan->algo.udelay = 40; |