Commit 467b10350525e53ddeea0b8de5b8b386a830d2a9

Authored by Adrian Knoth
Committed by Takashi Iwai
1 parent c9e1668c68

ALSA: hdspm - Remove obsolete settings functions

With HDSPM_TOGGLE_SETTING in place, these functions are no longer
required. Removing them makes the code DRY and considerably shorter.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Showing 1 changed file with 0 additions and 393 deletions Side-by-side Diff

sound/pci/rme9652/hdspm.c
... ... @@ -2944,399 +2944,6 @@
2944 2944 return change;
2945 2945 }
2946 2946  
2947   -
2948   -#define HDSPM_LINE_OUT(xname, xindex) \
2949   -{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
2950   - .name = xname, \
2951   - .index = xindex, \
2952   - .info = snd_hdspm_info_line_out, \
2953   - .get = snd_hdspm_get_line_out, \
2954   - .put = snd_hdspm_put_line_out \
2955   -}
2956   -
2957   -static int hdspm_line_out(struct hdspm * hdspm)
2958   -{
2959   - return (hdspm->control_register & HDSPM_LineOut) ? 1 : 0;
2960   -}
2961   -
2962   -
2963   -static int hdspm_set_line_output(struct hdspm * hdspm, int out)
2964   -{
2965   - if (out)
2966   - hdspm->control_register |= HDSPM_LineOut;
2967   - else
2968   - hdspm->control_register &= ~HDSPM_LineOut;
2969   - hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
2970   -
2971   - return 0;
2972   -}
2973   -
2974   -#define snd_hdspm_info_line_out snd_ctl_boolean_mono_info
2975   -
2976   -static int snd_hdspm_get_line_out(struct snd_kcontrol *kcontrol,
2977   - struct snd_ctl_elem_value *ucontrol)
2978   -{
2979   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
2980   -
2981   - spin_lock_irq(&hdspm->lock);
2982   - ucontrol->value.integer.value[0] = hdspm_line_out(hdspm);
2983   - spin_unlock_irq(&hdspm->lock);
2984   - return 0;
2985   -}
2986   -
2987   -static int snd_hdspm_put_line_out(struct snd_kcontrol *kcontrol,
2988   - struct snd_ctl_elem_value *ucontrol)
2989   -{
2990   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
2991   - int change;
2992   - unsigned int val;
2993   -
2994   - if (!snd_hdspm_use_is_exclusive(hdspm))
2995   - return -EBUSY;
2996   - val = ucontrol->value.integer.value[0] & 1;
2997   - spin_lock_irq(&hdspm->lock);
2998   - change = (int) val != hdspm_line_out(hdspm);
2999   - hdspm_set_line_output(hdspm, val);
3000   - spin_unlock_irq(&hdspm->lock);
3001   - return change;
3002   -}
3003   -
3004   -
3005   -#define HDSPM_TX_64(xname, xindex) \
3006   -{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
3007   - .name = xname, \
3008   - .index = xindex, \
3009   - .info = snd_hdspm_info_tx_64, \
3010   - .get = snd_hdspm_get_tx_64, \
3011   - .put = snd_hdspm_put_tx_64 \
3012   -}
3013   -
3014   -static int hdspm_tx_64(struct hdspm * hdspm)
3015   -{
3016   - return (hdspm->control_register & HDSPM_TX_64ch) ? 1 : 0;
3017   -}
3018   -
3019   -static int hdspm_set_tx_64(struct hdspm * hdspm, int out)
3020   -{
3021   - if (out)
3022   - hdspm->control_register |= HDSPM_TX_64ch;
3023   - else
3024   - hdspm->control_register &= ~HDSPM_TX_64ch;
3025   - hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
3026   -
3027   - return 0;
3028   -}
3029   -
3030   -#define snd_hdspm_info_tx_64 snd_ctl_boolean_mono_info
3031   -
3032   -static int snd_hdspm_get_tx_64(struct snd_kcontrol *kcontrol,
3033   - struct snd_ctl_elem_value *ucontrol)
3034   -{
3035   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3036   -
3037   - spin_lock_irq(&hdspm->lock);
3038   - ucontrol->value.integer.value[0] = hdspm_tx_64(hdspm);
3039   - spin_unlock_irq(&hdspm->lock);
3040   - return 0;
3041   -}
3042   -
3043   -static int snd_hdspm_put_tx_64(struct snd_kcontrol *kcontrol,
3044   - struct snd_ctl_elem_value *ucontrol)
3045   -{
3046   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3047   - int change;
3048   - unsigned int val;
3049   -
3050   - if (!snd_hdspm_use_is_exclusive(hdspm))
3051   - return -EBUSY;
3052   - val = ucontrol->value.integer.value[0] & 1;
3053   - spin_lock_irq(&hdspm->lock);
3054   - change = (int) val != hdspm_tx_64(hdspm);
3055   - hdspm_set_tx_64(hdspm, val);
3056   - spin_unlock_irq(&hdspm->lock);
3057   - return change;
3058   -}
3059   -
3060   -
3061   -#define HDSPM_C_TMS(xname, xindex) \
3062   -{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
3063   - .name = xname, \
3064   - .index = xindex, \
3065   - .info = snd_hdspm_info_c_tms, \
3066   - .get = snd_hdspm_get_c_tms, \
3067   - .put = snd_hdspm_put_c_tms \
3068   -}
3069   -
3070   -static int hdspm_c_tms(struct hdspm * hdspm)
3071   -{
3072   - return (hdspm->control_register & HDSPM_clr_tms) ? 1 : 0;
3073   -}
3074   -
3075   -static int hdspm_set_c_tms(struct hdspm * hdspm, int out)
3076   -{
3077   - if (out)
3078   - hdspm->control_register |= HDSPM_clr_tms;
3079   - else
3080   - hdspm->control_register &= ~HDSPM_clr_tms;
3081   - hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
3082   -
3083   - return 0;
3084   -}
3085   -
3086   -#define snd_hdspm_info_c_tms snd_ctl_boolean_mono_info
3087   -
3088   -static int snd_hdspm_get_c_tms(struct snd_kcontrol *kcontrol,
3089   - struct snd_ctl_elem_value *ucontrol)
3090   -{
3091   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3092   -
3093   - spin_lock_irq(&hdspm->lock);
3094   - ucontrol->value.integer.value[0] = hdspm_c_tms(hdspm);
3095   - spin_unlock_irq(&hdspm->lock);
3096   - return 0;
3097   -}
3098   -
3099   -static int snd_hdspm_put_c_tms(struct snd_kcontrol *kcontrol,
3100   - struct snd_ctl_elem_value *ucontrol)
3101   -{
3102   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3103   - int change;
3104   - unsigned int val;
3105   -
3106   - if (!snd_hdspm_use_is_exclusive(hdspm))
3107   - return -EBUSY;
3108   - val = ucontrol->value.integer.value[0] & 1;
3109   - spin_lock_irq(&hdspm->lock);
3110   - change = (int) val != hdspm_c_tms(hdspm);
3111   - hdspm_set_c_tms(hdspm, val);
3112   - spin_unlock_irq(&hdspm->lock);
3113   - return change;
3114   -}
3115   -
3116   -
3117   -#define HDSPM_SAFE_MODE(xname, xindex) \
3118   -{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
3119   - .name = xname, \
3120   - .index = xindex, \
3121   - .info = snd_hdspm_info_safe_mode, \
3122   - .get = snd_hdspm_get_safe_mode, \
3123   - .put = snd_hdspm_put_safe_mode \
3124   -}
3125   -
3126   -static int hdspm_safe_mode(struct hdspm * hdspm)
3127   -{
3128   - return (hdspm->control_register & HDSPM_AutoInp) ? 1 : 0;
3129   -}
3130   -
3131   -static int hdspm_set_safe_mode(struct hdspm * hdspm, int out)
3132   -{
3133   - if (out)
3134   - hdspm->control_register |= HDSPM_AutoInp;
3135   - else
3136   - hdspm->control_register &= ~HDSPM_AutoInp;
3137   - hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
3138   -
3139   - return 0;
3140   -}
3141   -
3142   -#define snd_hdspm_info_safe_mode snd_ctl_boolean_mono_info
3143   -
3144   -static int snd_hdspm_get_safe_mode(struct snd_kcontrol *kcontrol,
3145   - struct snd_ctl_elem_value *ucontrol)
3146   -{
3147   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3148   -
3149   - spin_lock_irq(&hdspm->lock);
3150   - ucontrol->value.integer.value[0] = hdspm_safe_mode(hdspm);
3151   - spin_unlock_irq(&hdspm->lock);
3152   - return 0;
3153   -}
3154   -
3155   -static int snd_hdspm_put_safe_mode(struct snd_kcontrol *kcontrol,
3156   - struct snd_ctl_elem_value *ucontrol)
3157   -{
3158   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3159   - int change;
3160   - unsigned int val;
3161   -
3162   - if (!snd_hdspm_use_is_exclusive(hdspm))
3163   - return -EBUSY;
3164   - val = ucontrol->value.integer.value[0] & 1;
3165   - spin_lock_irq(&hdspm->lock);
3166   - change = (int) val != hdspm_safe_mode(hdspm);
3167   - hdspm_set_safe_mode(hdspm, val);
3168   - spin_unlock_irq(&hdspm->lock);
3169   - return change;
3170   -}
3171   -
3172   -
3173   -#define HDSPM_EMPHASIS(xname, xindex) \
3174   -{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
3175   - .name = xname, \
3176   - .index = xindex, \
3177   - .info = snd_hdspm_info_emphasis, \
3178   - .get = snd_hdspm_get_emphasis, \
3179   - .put = snd_hdspm_put_emphasis \
3180   -}
3181   -
3182   -static int hdspm_emphasis(struct hdspm * hdspm)
3183   -{
3184   - return (hdspm->control_register & HDSPM_Emphasis) ? 1 : 0;
3185   -}
3186   -
3187   -static int hdspm_set_emphasis(struct hdspm * hdspm, int emp)
3188   -{
3189   - if (emp)
3190   - hdspm->control_register |= HDSPM_Emphasis;
3191   - else
3192   - hdspm->control_register &= ~HDSPM_Emphasis;
3193   - hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
3194   -
3195   - return 0;
3196   -}
3197   -
3198   -#define snd_hdspm_info_emphasis snd_ctl_boolean_mono_info
3199   -
3200   -static int snd_hdspm_get_emphasis(struct snd_kcontrol *kcontrol,
3201   - struct snd_ctl_elem_value *ucontrol)
3202   -{
3203   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3204   -
3205   - spin_lock_irq(&hdspm->lock);
3206   - ucontrol->value.enumerated.item[0] = hdspm_emphasis(hdspm);
3207   - spin_unlock_irq(&hdspm->lock);
3208   - return 0;
3209   -}
3210   -
3211   -static int snd_hdspm_put_emphasis(struct snd_kcontrol *kcontrol,
3212   - struct snd_ctl_elem_value *ucontrol)
3213   -{
3214   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3215   - int change;
3216   - unsigned int val;
3217   -
3218   - if (!snd_hdspm_use_is_exclusive(hdspm))
3219   - return -EBUSY;
3220   - val = ucontrol->value.integer.value[0] & 1;
3221   - spin_lock_irq(&hdspm->lock);
3222   - change = (int) val != hdspm_emphasis(hdspm);
3223   - hdspm_set_emphasis(hdspm, val);
3224   - spin_unlock_irq(&hdspm->lock);
3225   - return change;
3226   -}
3227   -
3228   -
3229   -#define HDSPM_DOLBY(xname, xindex) \
3230   -{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
3231   - .name = xname, \
3232   - .index = xindex, \
3233   - .info = snd_hdspm_info_dolby, \
3234   - .get = snd_hdspm_get_dolby, \
3235   - .put = snd_hdspm_put_dolby \
3236   -}
3237   -
3238   -static int hdspm_dolby(struct hdspm * hdspm)
3239   -{
3240   - return (hdspm->control_register & HDSPM_Dolby) ? 1 : 0;
3241   -}
3242   -
3243   -static int hdspm_set_dolby(struct hdspm * hdspm, int dol)
3244   -{
3245   - if (dol)
3246   - hdspm->control_register |= HDSPM_Dolby;
3247   - else
3248   - hdspm->control_register &= ~HDSPM_Dolby;
3249   - hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
3250   -
3251   - return 0;
3252   -}
3253   -
3254   -#define snd_hdspm_info_dolby snd_ctl_boolean_mono_info
3255   -
3256   -static int snd_hdspm_get_dolby(struct snd_kcontrol *kcontrol,
3257   - struct snd_ctl_elem_value *ucontrol)
3258   -{
3259   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3260   -
3261   - spin_lock_irq(&hdspm->lock);
3262   - ucontrol->value.enumerated.item[0] = hdspm_dolby(hdspm);
3263   - spin_unlock_irq(&hdspm->lock);
3264   - return 0;
3265   -}
3266   -
3267   -static int snd_hdspm_put_dolby(struct snd_kcontrol *kcontrol,
3268   - struct snd_ctl_elem_value *ucontrol)
3269   -{
3270   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3271   - int change;
3272   - unsigned int val;
3273   -
3274   - if (!snd_hdspm_use_is_exclusive(hdspm))
3275   - return -EBUSY;
3276   - val = ucontrol->value.integer.value[0] & 1;
3277   - spin_lock_irq(&hdspm->lock);
3278   - change = (int) val != hdspm_dolby(hdspm);
3279   - hdspm_set_dolby(hdspm, val);
3280   - spin_unlock_irq(&hdspm->lock);
3281   - return change;
3282   -}
3283   -
3284   -
3285   -#define HDSPM_PROFESSIONAL(xname, xindex) \
3286   -{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
3287   - .name = xname, \
3288   - .index = xindex, \
3289   - .info = snd_hdspm_info_professional, \
3290   - .get = snd_hdspm_get_professional, \
3291   - .put = snd_hdspm_put_professional \
3292   -}
3293   -
3294   -static int hdspm_professional(struct hdspm * hdspm)
3295   -{
3296   - return (hdspm->control_register & HDSPM_Professional) ? 1 : 0;
3297   -}
3298   -
3299   -static int hdspm_set_professional(struct hdspm * hdspm, int dol)
3300   -{
3301   - if (dol)
3302   - hdspm->control_register |= HDSPM_Professional;
3303   - else
3304   - hdspm->control_register &= ~HDSPM_Professional;
3305   - hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
3306   -
3307   - return 0;
3308   -}
3309   -
3310   -#define snd_hdspm_info_professional snd_ctl_boolean_mono_info
3311   -
3312   -static int snd_hdspm_get_professional(struct snd_kcontrol *kcontrol,
3313   - struct snd_ctl_elem_value *ucontrol)
3314   -{
3315   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3316   -
3317   - spin_lock_irq(&hdspm->lock);
3318   - ucontrol->value.enumerated.item[0] = hdspm_professional(hdspm);
3319   - spin_unlock_irq(&hdspm->lock);
3320   - return 0;
3321   -}
3322   -
3323   -static int snd_hdspm_put_professional(struct snd_kcontrol *kcontrol,
3324   - struct snd_ctl_elem_value *ucontrol)
3325   -{
3326   - struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
3327   - int change;
3328   - unsigned int val;
3329   -
3330   - if (!snd_hdspm_use_is_exclusive(hdspm))
3331   - return -EBUSY;
3332   - val = ucontrol->value.integer.value[0] & 1;
3333   - spin_lock_irq(&hdspm->lock);
3334   - change = (int) val != hdspm_professional(hdspm);
3335   - hdspm_set_professional(hdspm, val);
3336   - spin_unlock_irq(&hdspm->lock);
3337   - return change;
3338   -}
3339   -
3340 2947 #define HDSPM_INPUT_SELECT(xname, xindex) \
3341 2948 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
3342 2949 .name = xname, \