X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fppc%2Fpmac.h;h=a699b01210ee116c585b20d2727cd9bbcfeb1a44;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=252ea0311ecb3a3176b57c2d453b390ab26b1d3b;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/sound/ppc/pmac.h b/sound/ppc/pmac.h index 252ea0311..a699b0121 100644 --- a/sound/ppc/pmac.h +++ b/sound/ppc/pmac.h @@ -61,7 +61,7 @@ typedef struct snd_pmac_dbdma pmac_dbdma_t; */ struct snd_pmac_dbdma { unsigned long addr; - struct dbdma_cmd *cmds; + struct dbdma_cmd __iomem *cmds; void *space; int size; }; @@ -80,11 +80,11 @@ struct snd_pmac_stream { int nperiods, cur_period; pmac_dbdma_t cmd; - volatile struct dbdma_regs *dma; + volatile struct dbdma_regs __iomem *dma; snd_pcm_substream_t *substream; - unsigned int cur_freqs; /* currently available frequences */ + unsigned int cur_freqs; /* currently available frequencies */ unsigned int cur_formats; /* currently available formats */ }; @@ -130,12 +130,12 @@ struct snd_pmac { int format; /* current format */ spinlock_t reg_lock; - volatile struct awacs_regs *awacs; + volatile struct awacs_regs __iomem *awacs; int awacs_reg[8]; /* register cache */ unsigned int hp_stat_mask; - unsigned char *latch_base; - unsigned char *macio_base; + unsigned char __iomem *latch_base; + unsigned char __iomem *macio_base; pmac_stream_t playback; pmac_stream_t capture; @@ -155,6 +155,7 @@ struct snd_pmac { void (*mixer_free)(pmac_t *); snd_kcontrol_t *master_sw_ctl; snd_kcontrol_t *speaker_sw_ctl; + snd_kcontrol_t *drc_sw_ctl; /* only used for tumbler -ReneR */ snd_kcontrol_t *hp_detect_ctl; /* lowlevel callbacks */ @@ -173,6 +174,12 @@ struct snd_pmac { int snd_pmac_new(snd_card_t *card, pmac_t **chip_return); int snd_pmac_pcm_new(pmac_t *chip); int snd_pmac_attach_beep(pmac_t *chip); +void snd_pmac_detach_beep(pmac_t *chip); +void snd_pmac_beep_stop(pmac_t *chip); +unsigned int snd_pmac_rate_index(pmac_t *chip, pmac_stream_t *rec, unsigned int rate); + +void snd_pmac_beep_dma_start(pmac_t *chip, int bytes, unsigned long addr, int speed); +void snd_pmac_beep_dma_stop(pmac_t *chip); /* initialize mixer */ int snd_pmac_awacs_init(pmac_t *chip); @@ -192,8 +199,6 @@ typedef struct snd_pmac_keywest { int snd_pmac_keywest_init(pmac_keywest_t *i2c); void snd_pmac_keywest_cleanup(pmac_keywest_t *i2c); -#define snd_pmac_keywest_write(i2c,cmd,len,data) i2c_smbus_write_block_data((i2c)->client, cmd, len, data) -#define snd_pmac_keywest_write_byte(i2c,cmd,data) i2c_smbus_write_byte_data((i2c)->client, cmd, data) /* misc */ int snd_pmac_boolean_stereo_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo); @@ -206,9 +211,4 @@ int snd_pmac_add_automute(pmac_t *chip); schedule_timeout(((msec) * HZ + 999) / 1000);\ } while (0) -#ifndef PMAC_SUPPORT_PCM_BEEP -#define snd_pmac_attach_beep(chip) 0 -#define snd_pmac_beep_stop(chip) /**/ -#endif - #endif /* __PMAC_H */