+static void wm8750_vol_update(struct wm8750_s *s)
+{
+ /* FIXME: multiply all volumes by s->invol[2], s->invol[3] */
+
+ AUD_set_volume_in(*s->in[0], s->mute,
+ s->inmute[0] ? 0 : 0xff,
+ s->inmute[1] ? 0 : 0xff);
+
+ /* FIXME: multiply all volumes by s->outvol[0], s->outvol[1] */
+
+ /* Speaker: LOUT2VOL ROUT2VOL */
+ AUD_set_volume_out(s->dac_voice[0], s->mute,
+ s->outmute[0] ? 0 : WM8750_VOL_TRANSFORM(s->outvol[4]),
+ s->outmute[1] ? 0 : WM8750_VOL_TRANSFORM(s->outvol[5]));
+
+ /* Headphone: LOUT2VOL ROUT2VOL */
+ AUD_set_volume_out(s->dac_voice[1], s->mute,
+ s->outmute[0] ? 0 : WM8750_VOL_TRANSFORM(s->outvol[2]),
+ s->outmute[1] ? 0 : WM8750_VOL_TRANSFORM(s->outvol[3]));
+
+ /* MONOOUT: MONOVOL MONOVOL */
+ AUD_set_volume_out(s->dac_voice[2], s->mute,
+ s->outmute[0] ? 0 : WM8750_VOL_TRANSFORM(s->outvol[6]),
+ s->outmute[1] ? 0 : WM8750_VOL_TRANSFORM(s->outvol[6]));
+}
+