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/ppc/pmac.c | |
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/ppc/pmac.c')
-rw-r--r-- | sound/ppc/pmac.c | 3 |
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 | ||
67 | static void snd_pmac_dbdma_free(struct snd_pmac *chip, struct pmac_dbdma *rec) | 67 | static 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 | ||