aboutsummaryrefslogtreecommitdiffstats
path: root/sound/ppc/pmac.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2006-02-07 23:04:18 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-07 23:33:36 -0500
commit367636e8a9ef250d5b255f9d299e1c27cb3d7ea3 (patch)
tree19a8a96154d2a318a2dbd02d5dfab8530e0b8606 /sound/ppc/pmac.c
parentfe69102188cde0700cddd8d4cda0b77d68284884 (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/ppc/pmac.c')
-rw-r--r--sound/ppc/pmac.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c
index 4988f873a7ba..aa57170101fd 100644
--- a/sound/ppc/pmac.c
+++ b/sound/ppc/pmac.c
@@ -66,7 +66,7 @@ static int snd_pmac_dbdma_alloc(struct snd_pmac *chip, struct pmac_dbdma *rec, i
66 66
67static void snd_pmac_dbdma_free(struct snd_pmac *chip, struct pmac_dbdma *rec) 67static void snd_pmac_dbdma_free(struct snd_pmac *chip, struct pmac_dbdma *rec)
68{ 68{
69 if (rec) { 69 if (rec->space) {
70 unsigned int rsize = sizeof(struct dbdma_cmd) * (rec->size + 1); 70 unsigned int rsize = sizeof(struct dbdma_cmd) * (rec->size + 1);
71 71
72 dma_free_coherent(&chip->pdev->dev, rsize, rec->space, rec->dma_base); 72 dma_free_coherent(&chip->pdev->dev, rsize, rec->space, rec->dma_base);
@@ -881,6 +881,7 @@ static int __init snd_pmac_detect(struct snd_pmac *chip)
881 chip->can_capture = 1; 881 chip->can_capture = 1;
882 chip->num_freqs = ARRAY_SIZE(awacs_freqs); 882 chip->num_freqs = ARRAY_SIZE(awacs_freqs);
883 chip->freq_table = awacs_freqs; 883 chip->freq_table = awacs_freqs;
884 chip->pdev = NULL;
884 885
885 chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */ 886 chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */
886 887