ALSA: hdspm - Drop duplicate code in hdspm_set_system_clock_mode()

hdspm_set_system_clock_mode() is almost a one-by-one copy of
hdspm_set_toggle_setting(). To improve code quality, remove the
duplication.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Adrian Knoth 2013-07-05 11:27:56 +02:00 committed by Takashi Iwai
parent ce13f3f33a
commit 34be7ebbb4

View file

@ -995,6 +995,7 @@ static inline void snd_hdspm_initialize_midi_flush(struct hdspm *hdspm);
static inline int hdspm_get_pll_freq(struct hdspm *hdspm);
static int hdspm_update_simple_mixer_controls(struct hdspm *hdspm);
static int hdspm_autosync_ref(struct hdspm *hdspm);
static int hdspm_set_toggle_setting(struct hdspm *hdspm, u32 regmask, int out);
static int snd_hdspm_set_defaults(struct hdspm *hdspm);
static int hdspm_system_clock_mode(struct hdspm *hdspm);
static void hdspm_set_sgbuf(struct hdspm *hdspm,
@ -2384,26 +2385,10 @@ static int hdspm_system_clock_mode(struct hdspm *hdspm)
**/
static void hdspm_set_system_clock_mode(struct hdspm *hdspm, int mode)
{
switch (hdspm->io_type) {
case AIO:
case RayDAT:
if (0 == mode)
hdspm->settings_register |= HDSPM_c0Master;
else
hdspm->settings_register &= ~HDSPM_c0Master;
hdspm_write(hdspm, HDSPM_WR_SETTINGS, hdspm->settings_register);
break;
default:
if (0 == mode)
hdspm->control_register |= HDSPM_ClockModeMaster;
else
hdspm->control_register &= ~HDSPM_ClockModeMaster;
hdspm_write(hdspm, HDSPM_controlRegister,
hdspm->control_register);
}
hdspm_set_toggle_setting(hdspm,
(hdspm_is_raydat_or_aio(hdspm)) ?
HDSPM_c0Master : HDSPM_ClockModeMaster,
(0 == mode));
}