Lines Matching refs:mix

67 static int daca_set_volume(struct pmac_daca *mix)  in daca_set_volume()  argument
71 if (! mix->i2c.client) in daca_set_volume()
74 if (mix->left_vol > DACA_VOL_MAX) in daca_set_volume()
77 data[0] = mix->left_vol; in daca_set_volume()
78 if (mix->right_vol > DACA_VOL_MAX) in daca_set_volume()
81 data[1] = mix->right_vol; in daca_set_volume()
82 data[1] |= mix->deemphasis ? 0x40 : 0; in daca_set_volume()
83 if (i2c_smbus_write_block_data(mix->i2c.client, DACA_REG_AVOL, in daca_set_volume()
99 struct pmac_daca *mix; in daca_get_deemphasis() local
100 if (! (mix = chip->mixer_data)) in daca_get_deemphasis()
102 ucontrol->value.integer.value[0] = mix->deemphasis ? 1 : 0; in daca_get_deemphasis()
110 struct pmac_daca *mix; in daca_put_deemphasis() local
113 if (! (mix = chip->mixer_data)) in daca_put_deemphasis()
115 change = mix->deemphasis != ucontrol->value.integer.value[0]; in daca_put_deemphasis()
117 mix->deemphasis = !!ucontrol->value.integer.value[0]; in daca_put_deemphasis()
118 daca_set_volume(mix); in daca_put_deemphasis()
138 struct pmac_daca *mix; in daca_get_volume() local
139 if (! (mix = chip->mixer_data)) in daca_get_volume()
141 ucontrol->value.integer.value[0] = mix->left_vol; in daca_get_volume()
142 ucontrol->value.integer.value[1] = mix->right_vol; in daca_get_volume()
150 struct pmac_daca *mix; in daca_put_volume() local
154 if (! (mix = chip->mixer_data)) in daca_put_volume()
160 change = mix->left_vol != vol[0] || in daca_put_volume()
161 mix->right_vol != vol[1]; in daca_put_volume()
163 mix->left_vol = vol[0]; in daca_put_volume()
164 mix->right_vol = vol[1]; in daca_put_volume()
165 daca_set_volume(mix); in daca_put_volume()
177 struct pmac_daca *mix; in daca_get_amp() local
178 if (! (mix = chip->mixer_data)) in daca_get_amp()
180 ucontrol->value.integer.value[0] = mix->amp_on ? 1 : 0; in daca_get_amp()
188 struct pmac_daca *mix; in daca_put_amp() local
191 if (! (mix = chip->mixer_data)) in daca_put_amp()
193 change = mix->amp_on != ucontrol->value.integer.value[0]; in daca_put_amp()
195 mix->amp_on = !!ucontrol->value.integer.value[0]; in daca_put_amp()
196 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG, in daca_put_amp()
197 mix->amp_on ? 0x05 : 0x04); in daca_put_amp()
227 struct pmac_daca *mix = chip->mixer_data; in daca_resume() local
228 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_SR, 0x08); in daca_resume()
229 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG, in daca_resume()
230 mix->amp_on ? 0x05 : 0x04); in daca_resume()
231 daca_set_volume(mix); in daca_resume()
238 struct pmac_daca *mix = chip->mixer_data; in daca_cleanup() local
239 if (! mix) in daca_cleanup()
241 snd_pmac_keywest_cleanup(&mix->i2c); in daca_cleanup()
242 kfree(mix); in daca_cleanup()
250 struct pmac_daca *mix; in snd_pmac_daca_init() local
254 mix = kzalloc(sizeof(*mix), GFP_KERNEL); in snd_pmac_daca_init()
255 if (! mix) in snd_pmac_daca_init()
257 chip->mixer_data = mix; in snd_pmac_daca_init()
259 mix->amp_on = 1; /* default on */ in snd_pmac_daca_init()
261 mix->i2c.addr = DACA_I2C_ADDR; in snd_pmac_daca_init()
262 mix->i2c.init_client = daca_init_client; in snd_pmac_daca_init()
263 mix->i2c.name = "DACA"; in snd_pmac_daca_init()
264 if ((err = snd_pmac_keywest_init(&mix->i2c)) < 0) in snd_pmac_daca_init()