diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-02-07 23:04:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-07 23:33:36 -0500 |
commit | 367636e8a9ef250d5b255f9d299e1c27cb3d7ea3 (patch) | |
tree | 19a8a96154d2a318a2dbd02d5dfab8530e0b8606 /sound/oss | |
parent | fe69102188cde0700cddd8d4cda0b77d68284884 (diff) |
[PATCH] powerpc: Fix sound driver use of i2c
The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
driver that replaces keywest has this bug fixed, thus the sound drivers
must be fixed too.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'sound/oss')
-rw-r--r-- | sound/oss/dmasound/tas_common.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sound/oss/dmasound/tas_common.h b/sound/oss/dmasound/tas_common.h index 3a6d48666db0..0741c28e56ce 100644 --- a/sound/oss/dmasound/tas_common.h +++ b/sound/oss/dmasound/tas_common.h | |||
@@ -178,10 +178,10 @@ tas_write_register( struct tas_data_t *self, | |||
178 | if (write_mode & WRITE_SHADOW) | 178 | if (write_mode & WRITE_SHADOW) |
179 | memcpy(self->shadow[reg_num],data,reg_width); | 179 | memcpy(self->shadow[reg_num],data,reg_width); |
180 | if (write_mode & WRITE_HW) { | 180 | if (write_mode & WRITE_HW) { |
181 | rc=i2c_smbus_write_block_data(self->client, | 181 | rc=i2c_smbus_write_i2c_block_data(self->client, |
182 | reg_num, | 182 | reg_num, |
183 | reg_width, | 183 | reg_width, |
184 | data); | 184 | data); |
185 | if (rc < 0) { | 185 | if (rc < 0) { |
186 | printk("tas: I2C block write failed \n"); | 186 | printk("tas: I2C block write failed \n"); |
187 | return rc; | 187 | return rc; |
@@ -199,10 +199,10 @@ tas_sync_register( struct tas_data_t *self, | |||
199 | 199 | ||
200 | if (reg_width==0 || self==NULL) | 200 | if (reg_width==0 || self==NULL) |
201 | return -EINVAL; | 201 | return -EINVAL; |
202 | rc=i2c_smbus_write_block_data(self->client, | 202 | rc=i2c_smbus_write_i2c_block_data(self->client, |
203 | reg_num, | 203 | reg_num, |
204 | reg_width, | 204 | reg_width, |
205 | self->shadow[reg_num]); | 205 | self->shadow[reg_num]); |
206 | if (rc < 0) { | 206 | if (rc < 0) { |
207 | printk("tas: I2C block write failed \n"); | 207 | printk("tas: I2C block write failed \n"); |
208 | return rc; | 208 | return rc; |