static const struct snd_pcm_ops snd_ad1889_playback_ops = {
        .open = snd_ad1889_playback_open,
        .close = snd_ad1889_playback_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .prepare = snd_ad1889_playback_prepare,
        .trigger = snd_ad1889_playback_trigger,
        .pointer = snd_ad1889_playback_pointer, 
 static const struct snd_pcm_ops snd_ad1889_capture_ops = {
        .open = snd_ad1889_capture_open,
        .close = snd_ad1889_capture_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .prepare = snd_ad1889_capture_prepare,
        .trigger = snd_ad1889_capture_trigger,
        .pointer = snd_ad1889_capture_pointer, 
 
 static const struct snd_pcm_ops snd_ali_playback_ops = {
        .open =         snd_ali_playback_open,
        .close =        snd_ali_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_ali_playback_hw_params,
        .hw_free =      snd_ali_playback_hw_free,
        .prepare =      snd_ali_playback_prepare,
 static const struct snd_pcm_ops snd_ali_capture_ops = {
        .open =         snd_ali_capture_open,
        .close =        snd_ali_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_ali_prepare,
        .trigger =      snd_ali_trigger,
        .pointer =      snd_ali_pointer,
 static const struct snd_pcm_ops snd_ali_modem_playback_ops = {
        .open =         snd_ali_modem_playback_open,
        .close =        snd_ali_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_ali_modem_hw_params,
        .prepare =      snd_ali_prepare,
        .trigger =      snd_ali_trigger,
 static const struct snd_pcm_ops snd_ali_modem_capture_ops = {
        .open =         snd_ali_modem_capture_open,
        .close =        snd_ali_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_ali_modem_hw_params,
        .prepare =      snd_ali_prepare,
        .trigger =      snd_ali_trigger,
 
 static const struct snd_pcm_ops snd_als300_playback_ops = {
        .open =         snd_als300_playback_open,
        .close =        snd_als300_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_als300_playback_prepare,
        .trigger =      snd_als300_trigger,
        .pointer =      snd_als300_pointer,
 static const struct snd_pcm_ops snd_als300_capture_ops = {
        .open =         snd_als300_capture_open,
        .close =        snd_als300_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_als300_capture_prepare,
        .trigger =      snd_als300_trigger,
        .pointer =      snd_als300_pointer,
 
 static const struct snd_pcm_ops snd_als4000_playback_ops = {
        .open =         snd_als4000_playback_open,
        .close =        snd_als4000_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_als4000_playback_prepare,
        .trigger =      snd_als4000_playback_trigger,
        .pointer =      snd_als4000_playback_pointer
 static const struct snd_pcm_ops snd_als4000_capture_ops = {
        .open =         snd_als4000_capture_open,
        .close =        snd_als4000_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_als4000_capture_prepare,
        .trigger =      snd_als4000_capture_trigger,
        .pointer =      snd_als4000_capture_pointer
 
 static const struct snd_pcm_ops snd_vortex_playback_ops = {
        .open = snd_vortex_pcm_open,
        .close = snd_vortex_pcm_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = snd_vortex_pcm_hw_params,
        .hw_free = snd_vortex_pcm_hw_free,
        .prepare = snd_vortex_pcm_prepare,
 
 static const struct snd_pcm_ops snd_aw2_playback_ops = {
        .open = snd_aw2_pcm_playback_open,
        .close = snd_aw2_pcm_playback_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .prepare = snd_aw2_pcm_prepare_playback,
        .trigger = snd_aw2_pcm_trigger_playback,
        .pointer = snd_aw2_pcm_pointer_playback,
 static const struct snd_pcm_ops snd_aw2_capture_ops = {
        .open = snd_aw2_pcm_capture_open,
        .close = snd_aw2_pcm_capture_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .prepare = snd_aw2_pcm_prepare_capture,
        .trigger = snd_aw2_pcm_trigger_capture,
        .pointer = snd_aw2_pcm_pointer_capture,
 
 static const struct snd_pcm_ops snd_azf3328_playback_ops = {
        .open =         snd_azf3328_pcm_playback_open,
        .close =        snd_azf3328_pcm_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_azf3328_pcm_prepare,
        .trigger =      snd_azf3328_pcm_trigger,
        .pointer =      snd_azf3328_pcm_pointer
 static const struct snd_pcm_ops snd_azf3328_capture_ops = {
        .open =         snd_azf3328_pcm_capture_open,
        .close =        snd_azf3328_pcm_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_azf3328_pcm_prepare,
        .trigger =      snd_azf3328_pcm_trigger,
        .pointer =      snd_azf3328_pcm_pointer
 static const struct snd_pcm_ops snd_azf3328_i2s_out_ops = {
        .open =         snd_azf3328_pcm_i2s_out_open,
        .close =        snd_azf3328_pcm_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_azf3328_pcm_prepare,
        .trigger =      snd_azf3328_pcm_trigger,
        .pointer =      snd_azf3328_pcm_pointer
 
 static const struct snd_pcm_ops snd_bt87x_pcm_ops = {
        .open = snd_bt87x_pcm_open,
        .close = snd_bt87x_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = snd_bt87x_hw_params,
        .hw_free = snd_bt87x_hw_free,
        .prepare = snd_bt87x_prepare,
 
 static const struct snd_pcm_ops snd_ca0106_playback_front_ops = {
        .open =        snd_ca0106_pcm_open_playback_front,
        .close =       snd_ca0106_pcm_close_playback,
-       .ioctl =       snd_pcm_lib_ioctl,
        .prepare =     snd_ca0106_pcm_prepare_playback,
        .trigger =     snd_ca0106_pcm_trigger_playback,
        .pointer =     snd_ca0106_pcm_pointer_playback,
 static const struct snd_pcm_ops snd_ca0106_capture_0_ops = {
        .open =        snd_ca0106_pcm_open_0_capture,
        .close =       snd_ca0106_pcm_close_capture,
-       .ioctl =       snd_pcm_lib_ioctl,
        .prepare =     snd_ca0106_pcm_prepare_capture,
        .trigger =     snd_ca0106_pcm_trigger_capture,
        .pointer =     snd_ca0106_pcm_pointer_capture,
 static const struct snd_pcm_ops snd_ca0106_capture_1_ops = {
        .open =        snd_ca0106_pcm_open_1_capture,
        .close =       snd_ca0106_pcm_close_capture,
-       .ioctl =       snd_pcm_lib_ioctl,
        .prepare =     snd_ca0106_pcm_prepare_capture,
        .trigger =     snd_ca0106_pcm_trigger_capture,
        .pointer =     snd_ca0106_pcm_pointer_capture,
 static const struct snd_pcm_ops snd_ca0106_capture_2_ops = {
        .open =        snd_ca0106_pcm_open_2_capture,
        .close =       snd_ca0106_pcm_close_capture,
-       .ioctl =       snd_pcm_lib_ioctl,
        .prepare =     snd_ca0106_pcm_prepare_capture,
        .trigger =     snd_ca0106_pcm_trigger_capture,
        .pointer =     snd_ca0106_pcm_pointer_capture,
 static const struct snd_pcm_ops snd_ca0106_capture_3_ops = {
        .open =        snd_ca0106_pcm_open_3_capture,
        .close =       snd_ca0106_pcm_close_capture,
-       .ioctl =       snd_pcm_lib_ioctl,
        .prepare =     snd_ca0106_pcm_prepare_capture,
        .trigger =     snd_ca0106_pcm_trigger_capture,
        .pointer =     snd_ca0106_pcm_pointer_capture,
 static const struct snd_pcm_ops snd_ca0106_playback_center_lfe_ops = {
         .open =         snd_ca0106_pcm_open_playback_center_lfe,
         .close =        snd_ca0106_pcm_close_playback,
-        .ioctl =        snd_pcm_lib_ioctl,
         .prepare =      snd_ca0106_pcm_prepare_playback,     
         .trigger =      snd_ca0106_pcm_trigger_playback,  
         .pointer =      snd_ca0106_pcm_pointer_playback, 
 static const struct snd_pcm_ops snd_ca0106_playback_unknown_ops = {
         .open =         snd_ca0106_pcm_open_playback_unknown,
         .close =        snd_ca0106_pcm_close_playback,
-        .ioctl =        snd_pcm_lib_ioctl,
         .prepare =      snd_ca0106_pcm_prepare_playback,     
         .trigger =      snd_ca0106_pcm_trigger_playback,  
         .pointer =      snd_ca0106_pcm_pointer_playback, 
 static const struct snd_pcm_ops snd_ca0106_playback_rear_ops = {
         .open =         snd_ca0106_pcm_open_playback_rear,
         .close =        snd_ca0106_pcm_close_playback,
-        .ioctl =        snd_pcm_lib_ioctl,
         .prepare =      snd_ca0106_pcm_prepare_playback,     
         .trigger =      snd_ca0106_pcm_trigger_playback,  
         .pointer =      snd_ca0106_pcm_pointer_playback, 
 
 static const struct snd_pcm_ops snd_cmipci_playback_ops = {
        .open =         snd_cmipci_playback_open,
        .close =        snd_cmipci_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_free =      snd_cmipci_playback_hw_free,
        .prepare =      snd_cmipci_playback_prepare,
        .trigger =      snd_cmipci_playback_trigger,
 static const struct snd_pcm_ops snd_cmipci_capture_ops = {
        .open =         snd_cmipci_capture_open,
        .close =        snd_cmipci_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_cmipci_capture_prepare,
        .trigger =      snd_cmipci_capture_trigger,
        .pointer =      snd_cmipci_capture_pointer,
 static const struct snd_pcm_ops snd_cmipci_playback2_ops = {
        .open =         snd_cmipci_playback2_open,
        .close =        snd_cmipci_playback2_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_cmipci_playback2_hw_params,
        .hw_free =      snd_cmipci_playback2_hw_free,
        .prepare =      snd_cmipci_capture_prepare,     /* channel B */
 static const struct snd_pcm_ops snd_cmipci_playback_spdif_ops = {
        .open =         snd_cmipci_playback_spdif_open,
        .close =        snd_cmipci_playback_spdif_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_free =      snd_cmipci_playback_hw_free,
        .prepare =      snd_cmipci_playback_spdif_prepare,      /* set up rate */
        .trigger =      snd_cmipci_playback_trigger,
 static const struct snd_pcm_ops snd_cmipci_capture_spdif_ops = {
        .open =         snd_cmipci_capture_spdif_open,
        .close =        snd_cmipci_capture_spdif_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_free =      snd_cmipci_capture_spdif_hw_free,
        .prepare =      snd_cmipci_capture_spdif_prepare,
        .trigger =      snd_cmipci_capture_trigger,
 
 static const struct snd_pcm_ops snd_cs4281_playback_ops = {
        .open =         snd_cs4281_playback_open,
        .close =        snd_cs4281_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_cs4281_playback_prepare,
        .trigger =      snd_cs4281_trigger,
        .pointer =      snd_cs4281_pointer,
 static const struct snd_pcm_ops snd_cs4281_capture_ops = {
        .open =         snd_cs4281_capture_open,
        .close =        snd_cs4281_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_cs4281_capture_prepare,
        .trigger =      snd_cs4281_trigger,
        .pointer =      snd_cs4281_pointer,
 
 static const struct snd_pcm_ops snd_cs46xx_playback_rear_ops = {
        .open =                 snd_cs46xx_playback_open_rear,
        .close =                snd_cs46xx_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_playback_indirect_rear_ops = {
        .open =                 snd_cs46xx_playback_open_rear,
        .close =                snd_cs46xx_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_playback_clfe_ops = {
        .open =                 snd_cs46xx_playback_open_clfe,
        .close =                snd_cs46xx_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_playback_indirect_clfe_ops = {
        .open =                 snd_cs46xx_playback_open_clfe,
        .close =                snd_cs46xx_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_playback_iec958_ops = {
        .open =                 snd_cs46xx_playback_open_iec958,
        .close =                snd_cs46xx_playback_close_iec958,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_playback_indirect_iec958_ops = {
        .open =                 snd_cs46xx_playback_open_iec958,
        .close =                snd_cs46xx_playback_close_iec958,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_playback_ops = {
        .open =                 snd_cs46xx_playback_open,
        .close =                snd_cs46xx_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_playback_indirect_ops = {
        .open =                 snd_cs46xx_playback_open,
        .close =                snd_cs46xx_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_playback_hw_params,
        .hw_free =              snd_cs46xx_playback_hw_free,
        .prepare =              snd_cs46xx_playback_prepare,
 static const struct snd_pcm_ops snd_cs46xx_capture_ops = {
        .open =                 snd_cs46xx_capture_open,
        .close =                snd_cs46xx_capture_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_capture_hw_params,
        .hw_free =              snd_cs46xx_capture_hw_free,
        .prepare =              snd_cs46xx_capture_prepare,
 static const struct snd_pcm_ops snd_cs46xx_capture_indirect_ops = {
        .open =                 snd_cs46xx_capture_open,
        .close =                snd_cs46xx_capture_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_cs46xx_capture_hw_params,
        .hw_free =              snd_cs46xx_capture_hw_free,
        .prepare =              snd_cs46xx_capture_prepare,
 
 static const struct snd_pcm_ops snd_cs5535audio_playback_ops = {
        .open =         snd_cs5535audio_playback_open,
        .close =        snd_cs5535audio_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_cs5535audio_hw_params,
        .hw_free =      snd_cs5535audio_hw_free,
        .prepare =      snd_cs5535audio_playback_prepare,
 static const struct snd_pcm_ops snd_cs5535audio_capture_ops = {
        .open =         snd_cs5535audio_capture_open,
        .close =        snd_cs5535audio_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_cs5535audio_hw_params,
        .hw_free =      snd_cs5535audio_hw_free,
        .prepare =      snd_cs5535audio_capture_prepare,
 
 static const struct snd_pcm_ops ct_pcm_playback_ops = {
        .open           = ct_pcm_playback_open,
        .close          = ct_pcm_playback_close,
-       .ioctl          = snd_pcm_lib_ioctl,
        .hw_params      = ct_pcm_hw_params,
        .hw_free        = ct_pcm_hw_free,
        .prepare        = ct_pcm_playback_prepare,
 static const struct snd_pcm_ops ct_pcm_capture_ops = {
        .open           = ct_pcm_capture_open,
        .close          = ct_pcm_capture_close,
-       .ioctl          = snd_pcm_lib_ioctl,
        .hw_params      = ct_pcm_hw_params,
        .hw_free        = ct_pcm_hw_free,
        .prepare        = ct_pcm_capture_prepare,
 
 static const struct snd_pcm_ops analog_playback_ops = {
        .open = pcm_analog_out_open,
        .close = pcm_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = pcm_analog_out_hw_params,
        .hw_free = pcm_hw_free,
        .prepare = pcm_prepare,
 static const struct snd_pcm_ops analog_capture_ops = {
        .open = pcm_analog_in_open,
        .close = pcm_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = pcm_analog_in_hw_params,
        .hw_free = pcm_hw_free,
        .prepare = pcm_prepare,
 static const struct snd_pcm_ops digital_playback_ops = {
        .open = pcm_digital_out_open,
        .close = pcm_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = pcm_digital_out_hw_params,
        .hw_free = pcm_hw_free,
        .prepare = pcm_prepare,
 static const struct snd_pcm_ops digital_capture_ops = {
        .open = pcm_digital_in_open,
        .close = pcm_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = pcm_digital_in_hw_params,
        .hw_free = pcm_hw_free,
        .prepare = pcm_prepare,
 
 static const struct snd_pcm_ops snd_emu10k1x_playback_ops = {
        .open =        snd_emu10k1x_playback_open,
        .close =       snd_emu10k1x_playback_close,
-       .ioctl =       snd_pcm_lib_ioctl,
        .hw_params =   snd_emu10k1x_pcm_hw_params,
        .hw_free =     snd_emu10k1x_pcm_hw_free,
        .prepare =     snd_emu10k1x_pcm_prepare,
 static const struct snd_pcm_ops snd_emu10k1x_capture_ops = {
        .open =        snd_emu10k1x_pcm_open_capture,
        .close =       snd_emu10k1x_pcm_close_capture,
-       .ioctl =       snd_pcm_lib_ioctl,
        .hw_params =   snd_emu10k1x_pcm_hw_params_capture,
        .hw_free =     snd_emu10k1x_pcm_hw_free_capture,
        .prepare =     snd_emu10k1x_pcm_prepare_capture,
 
 static const struct snd_pcm_ops snd_emu10k1_playback_ops = {
        .open =                 snd_emu10k1_playback_open,
        .close =                snd_emu10k1_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_emu10k1_playback_hw_params,
        .hw_free =              snd_emu10k1_playback_hw_free,
        .prepare =              snd_emu10k1_playback_prepare,
 static const struct snd_pcm_ops snd_emu10k1_capture_ops = {
        .open =                 snd_emu10k1_capture_open,
        .close =                snd_emu10k1_capture_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .prepare =              snd_emu10k1_capture_prepare,
        .trigger =              snd_emu10k1_capture_trigger,
        .pointer =              snd_emu10k1_capture_pointer,
 static const struct snd_pcm_ops snd_emu10k1_efx_playback_ops = {
        .open =                 snd_emu10k1_efx_playback_open,
        .close =                snd_emu10k1_efx_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_emu10k1_playback_hw_params,
        .hw_free =              snd_emu10k1_efx_playback_hw_free,
        .prepare =              snd_emu10k1_efx_playback_prepare,
 static const struct snd_pcm_ops snd_emu10k1_capture_mic_ops = {
        .open =                 snd_emu10k1_capture_mic_open,
        .close =                snd_emu10k1_capture_mic_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .prepare =              snd_emu10k1_capture_prepare,
        .trigger =              snd_emu10k1_capture_trigger,
        .pointer =              snd_emu10k1_capture_pointer,
 static const struct snd_pcm_ops snd_emu10k1_capture_efx_ops = {
        .open =                 snd_emu10k1_capture_efx_open,
        .close =                snd_emu10k1_capture_efx_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .prepare =              snd_emu10k1_capture_prepare,
        .trigger =              snd_emu10k1_capture_trigger,
        .pointer =              snd_emu10k1_capture_pointer,
 static const struct snd_pcm_ops snd_emu10k1_fx8010_playback_ops = {
        .open =                 snd_emu10k1_fx8010_playback_open,
        .close =                snd_emu10k1_fx8010_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_free =              snd_emu10k1_fx8010_playback_hw_free,
        .prepare =              snd_emu10k1_fx8010_playback_prepare,
        .trigger =              snd_emu10k1_fx8010_playback_trigger,
 
 static const struct snd_pcm_ops snd_p16v_playback_front_ops = {
        .open =        snd_p16v_pcm_open_playback_front,
        .close =       snd_p16v_pcm_close_playback,
-       .ioctl =       snd_pcm_lib_ioctl,
        .prepare =     snd_p16v_pcm_prepare_playback,
        .trigger =     snd_p16v_pcm_trigger_playback,
        .pointer =     snd_p16v_pcm_pointer_playback,
 static const struct snd_pcm_ops snd_p16v_capture_ops = {
        .open =        snd_p16v_pcm_open_capture,
        .close =       snd_p16v_pcm_close_capture,
-       .ioctl =       snd_pcm_lib_ioctl,
        .prepare =     snd_p16v_pcm_prepare_capture,
        .trigger =     snd_p16v_pcm_trigger_capture,
        .pointer =     snd_p16v_pcm_pointer_capture,
 
 static const struct snd_pcm_ops snd_ensoniq_playback1_ops = {
        .open =         snd_ensoniq_playback1_open,
        .close =        snd_ensoniq_playback1_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_ensoniq_playback1_prepare,
        .trigger =      snd_ensoniq_trigger,
        .pointer =      snd_ensoniq_playback1_pointer,
 static const struct snd_pcm_ops snd_ensoniq_playback2_ops = {
        .open =         snd_ensoniq_playback2_open,
        .close =        snd_ensoniq_playback2_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_ensoniq_playback2_prepare,
        .trigger =      snd_ensoniq_trigger,
        .pointer =      snd_ensoniq_playback2_pointer,
 static const struct snd_pcm_ops snd_ensoniq_capture_ops = {
        .open =         snd_ensoniq_capture_open,
        .close =        snd_ensoniq_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_ensoniq_capture_prepare,
        .trigger =      snd_ensoniq_trigger,
        .pointer =      snd_ensoniq_capture_pointer,
 
 static const struct snd_pcm_ops snd_es1938_playback_ops = {
        .open =         snd_es1938_playback_open,
        .close =        snd_es1938_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_es1938_playback_prepare,
        .trigger =      snd_es1938_playback_trigger,
        .pointer =      snd_es1938_playback_pointer,
 static const struct snd_pcm_ops snd_es1938_capture_ops = {
        .open =         snd_es1938_capture_open,
        .close =        snd_es1938_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_es1938_capture_prepare,
        .trigger =      snd_es1938_capture_trigger,
        .pointer =      snd_es1938_capture_pointer,
 
 static const struct snd_pcm_ops snd_es1968_playback_ops = {
        .open =         snd_es1968_playback_open,
        .close =        snd_es1968_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_es1968_hw_params,
        .hw_free =      snd_es1968_hw_free,
        .prepare =      snd_es1968_pcm_prepare,
 static const struct snd_pcm_ops snd_es1968_capture_ops = {
        .open =         snd_es1968_capture_open,
        .close =        snd_es1968_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_es1968_hw_params,
        .hw_free =      snd_es1968_hw_free,
        .prepare =      snd_es1968_pcm_prepare,
 
 static const struct snd_pcm_ops snd_fm801_playback_ops = {
        .open =         snd_fm801_playback_open,
        .close =        snd_fm801_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_fm801_playback_prepare,
        .trigger =      snd_fm801_playback_trigger,
        .pointer =      snd_fm801_playback_pointer,
 static const struct snd_pcm_ops snd_fm801_capture_ops = {
        .open =         snd_fm801_capture_open,
        .close =        snd_fm801_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_fm801_capture_prepare,
        .trigger =      snd_fm801_capture_trigger,
        .pointer =      snd_fm801_capture_pointer,
 
 static const struct snd_pcm_ops azx_pcm_ops = {
        .open = azx_pcm_open,
        .close = azx_pcm_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = azx_pcm_hw_params,
        .hw_free = azx_pcm_hw_free,
        .prepare = azx_pcm_prepare,
 
 static const struct snd_pcm_ops snd_ice1712_playback_ops = {
        .open =         snd_ice1712_playback_open,
        .close =        snd_ice1712_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_ice1712_playback_prepare,
        .trigger =      snd_ice1712_playback_trigger,
        .pointer =      snd_ice1712_playback_pointer,
 static const struct snd_pcm_ops snd_ice1712_playback_ds_ops = {
        .open =         snd_ice1712_playback_ds_open,
        .close =        snd_ice1712_playback_ds_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_ice1712_playback_ds_prepare,
        .trigger =      snd_ice1712_playback_ds_trigger,
        .pointer =      snd_ice1712_playback_ds_pointer,
 static const struct snd_pcm_ops snd_ice1712_capture_ops = {
        .open =         snd_ice1712_capture_open,
        .close =        snd_ice1712_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_ice1712_capture_prepare,
        .trigger =      snd_ice1712_capture_trigger,
        .pointer =      snd_ice1712_capture_pointer,
 static const struct snd_pcm_ops snd_ice1712_playback_pro_ops = {
        .open =         snd_ice1712_playback_pro_open,
        .close =        snd_ice1712_playback_pro_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_ice1712_playback_pro_hw_params,
        .prepare =      snd_ice1712_playback_pro_prepare,
        .trigger =      snd_ice1712_pro_trigger,
 static const struct snd_pcm_ops snd_ice1712_capture_pro_ops = {
        .open =         snd_ice1712_capture_pro_open,
        .close =        snd_ice1712_capture_pro_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_ice1712_capture_pro_hw_params,
        .prepare =      snd_ice1712_capture_pro_prepare,
        .trigger =      snd_ice1712_pro_trigger,
 
 static const struct snd_pcm_ops snd_vt1724_playback_pro_ops = {
        .open =         snd_vt1724_playback_pro_open,
        .close =        snd_vt1724_playback_pro_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_vt1724_pcm_hw_params,
        .hw_free =      snd_vt1724_pcm_hw_free,
        .prepare =      snd_vt1724_playback_pro_prepare,
 static const struct snd_pcm_ops snd_vt1724_capture_pro_ops = {
        .open =         snd_vt1724_capture_pro_open,
        .close =        snd_vt1724_capture_pro_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_vt1724_pcm_hw_params,
        .hw_free =      snd_vt1724_pcm_hw_free,
        .prepare =      snd_vt1724_pcm_prepare,
 static const struct snd_pcm_ops snd_vt1724_playback_spdif_ops = {
        .open =         snd_vt1724_playback_spdif_open,
        .close =        snd_vt1724_playback_spdif_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_vt1724_pcm_hw_params,
        .hw_free =      snd_vt1724_pcm_hw_free,
        .prepare =      snd_vt1724_playback_spdif_prepare,
 static const struct snd_pcm_ops snd_vt1724_capture_spdif_ops = {
        .open =         snd_vt1724_capture_spdif_open,
        .close =        snd_vt1724_capture_spdif_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_vt1724_pcm_hw_params,
        .hw_free =      snd_vt1724_pcm_hw_free,
        .prepare =      snd_vt1724_pcm_prepare,
 static const struct snd_pcm_ops snd_vt1724_playback_indep_ops = {
        .open =         snd_vt1724_playback_indep_open,
        .close =        snd_vt1724_playback_indep_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_vt1724_pcm_hw_params,
        .hw_free =      snd_vt1724_pcm_hw_free,
        .prepare =      snd_vt1724_playback_indep_prepare,
 
 static const struct snd_pcm_ops lola_pcm_ops = {
        .open = lola_pcm_open,
        .close = lola_pcm_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = lola_pcm_hw_params,
        .hw_free = lola_pcm_hw_free,
        .prepare = lola_pcm_prepare,
 
 static const struct snd_pcm_ops lx_ops_playback = {
        .open      = lx_pcm_open,
        .close     = lx_pcm_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .prepare   = lx_pcm_prepare,
        .hw_params = lx_pcm_hw_params_playback,
        .hw_free   = lx_pcm_hw_free,
 static const struct snd_pcm_ops lx_ops_capture = {
        .open      = lx_pcm_open,
        .close     = lx_pcm_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .prepare   = lx_pcm_prepare,
        .hw_params = lx_pcm_hw_params_capture,
        .hw_free   = lx_pcm_hw_free,
 
 static const struct snd_pcm_ops snd_m3_playback_ops = {
        .open =         snd_m3_playback_open,
        .close =        snd_m3_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_m3_pcm_hw_params,
        .hw_free =      snd_m3_pcm_hw_free,
        .prepare =      snd_m3_pcm_prepare,
 static const struct snd_pcm_ops snd_m3_capture_ops = {
        .open =         snd_m3_capture_open,
        .close =        snd_m3_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_m3_pcm_hw_params,
        .hw_free =      snd_m3_pcm_hw_free,
        .prepare =      snd_m3_pcm_prepare,
 
 static const struct snd_pcm_ops snd_mixart_playback_ops = {
        .open      = snd_mixart_playback_open,
        .close     = snd_mixart_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .prepare   = snd_mixart_prepare,
        .hw_params = snd_mixart_hw_params,
        .hw_free   = snd_mixart_hw_free,
 static const struct snd_pcm_ops snd_mixart_capture_ops = {
        .open      = snd_mixart_capture_open,
        .close     = snd_mixart_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .prepare   = snd_mixart_prepare,
        .hw_params = snd_mixart_hw_params,
        .hw_free   = snd_mixart_hw_free,
 
 static const struct snd_pcm_ops snd_nm256_playback_ops = {
        .open =         snd_nm256_playback_open,
        .close =        snd_nm256_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_nm256_pcm_hw_params,
        .prepare =      snd_nm256_pcm_prepare,
        .trigger =      snd_nm256_playback_trigger,
 static const struct snd_pcm_ops snd_nm256_capture_ops = {
        .open =         snd_nm256_capture_open,
        .close =        snd_nm256_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_nm256_pcm_hw_params,
        .prepare =      snd_nm256_pcm_prepare,
        .trigger =      snd_nm256_capture_trigger,
 
 static const struct snd_pcm_ops oxygen_rec_a_ops = {
        .open      = oxygen_rec_a_open,
        .close     = oxygen_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .hw_params = oxygen_rec_a_hw_params,
        .hw_free   = oxygen_hw_free,
        .prepare   = oxygen_prepare,
 static const struct snd_pcm_ops oxygen_rec_b_ops = {
        .open      = oxygen_rec_b_open,
        .close     = oxygen_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .hw_params = oxygen_rec_b_hw_params,
        .hw_free   = oxygen_hw_free,
        .prepare   = oxygen_prepare,
 static const struct snd_pcm_ops oxygen_rec_c_ops = {
        .open      = oxygen_rec_c_open,
        .close     = oxygen_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .hw_params = oxygen_rec_c_hw_params,
        .hw_free   = oxygen_hw_free,
        .prepare   = oxygen_prepare,
 static const struct snd_pcm_ops oxygen_spdif_ops = {
        .open      = oxygen_spdif_open,
        .close     = oxygen_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .hw_params = oxygen_spdif_hw_params,
        .hw_free   = oxygen_spdif_hw_free,
        .prepare   = oxygen_prepare,
 static const struct snd_pcm_ops oxygen_multich_ops = {
        .open      = oxygen_multich_open,
        .close     = oxygen_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .hw_params = oxygen_multich_hw_params,
        .hw_free   = oxygen_hw_free,
        .prepare   = oxygen_prepare,
 static const struct snd_pcm_ops oxygen_ac97_ops = {
        .open      = oxygen_ac97_open,
        .close     = oxygen_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .hw_params = oxygen_hw_params,
        .hw_free   = oxygen_hw_free,
        .prepare   = oxygen_prepare,
 
 static const struct snd_pcm_ops pcxhr_ops = {
        .open      = pcxhr_open,
        .close     = pcxhr_close,
-       .ioctl     = snd_pcm_lib_ioctl,
        .prepare   = pcxhr_prepare,
        .hw_params = pcxhr_hw_params,
        .trigger   = pcxhr_trigger,
 
 static const struct snd_pcm_ops snd_riptide_playback_ops = {
        .open = snd_riptide_playback_open,
        .close = snd_riptide_playback_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = snd_riptide_hw_params,
        .hw_free = snd_riptide_hw_free,
        .prepare = snd_riptide_prepare,
 static const struct snd_pcm_ops snd_riptide_capture_ops = {
        .open = snd_riptide_capture_open,
        .close = snd_riptide_capture_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = snd_riptide_hw_params,
        .hw_free = snd_riptide_hw_free,
        .prepare = snd_riptide_prepare,
 
 static const struct snd_pcm_ops snd_rme32_playback_spdif_ops = {
        .open =         snd_rme32_playback_spdif_open,
        .close =        snd_rme32_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_playback_hw_params,
        .prepare =      snd_rme32_playback_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 static const struct snd_pcm_ops snd_rme32_capture_spdif_ops = {
        .open =         snd_rme32_capture_spdif_open,
        .close =        snd_rme32_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_capture_hw_params,
        .prepare =      snd_rme32_capture_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 static const struct snd_pcm_ops snd_rme32_playback_adat_ops = {
        .open =         snd_rme32_playback_adat_open,
        .close =        snd_rme32_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_playback_hw_params,
        .prepare =      snd_rme32_playback_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 static const struct snd_pcm_ops snd_rme32_capture_adat_ops = {
        .open =         snd_rme32_capture_adat_open,
        .close =        snd_rme32_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_capture_hw_params,
        .prepare =      snd_rme32_capture_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 static const struct snd_pcm_ops snd_rme32_playback_spdif_fd_ops = {
        .open =         snd_rme32_playback_spdif_open,
        .close =        snd_rme32_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_playback_hw_params,
        .prepare =      snd_rme32_playback_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 static const struct snd_pcm_ops snd_rme32_capture_spdif_fd_ops = {
        .open =         snd_rme32_capture_spdif_open,
        .close =        snd_rme32_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_capture_hw_params,
        .prepare =      snd_rme32_capture_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 static const struct snd_pcm_ops snd_rme32_playback_adat_fd_ops = {
        .open =         snd_rme32_playback_adat_open,
        .close =        snd_rme32_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_playback_hw_params,
        .prepare =      snd_rme32_playback_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 static const struct snd_pcm_ops snd_rme32_capture_adat_fd_ops = {
        .open =         snd_rme32_capture_adat_open,
        .close =        snd_rme32_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme32_capture_hw_params,
        .prepare =      snd_rme32_capture_prepare,
        .trigger =      snd_rme32_pcm_trigger,
 
 static const struct snd_pcm_ops snd_rme96_playback_spdif_ops = {
        .open =         snd_rme96_playback_spdif_open,
        .close =        snd_rme96_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme96_playback_hw_params,
        .prepare =      snd_rme96_playback_prepare,
        .trigger =      snd_rme96_playback_trigger,
 static const struct snd_pcm_ops snd_rme96_capture_spdif_ops = {
        .open =         snd_rme96_capture_spdif_open,
        .close =        snd_rme96_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme96_capture_hw_params,
        .prepare =      snd_rme96_capture_prepare,
        .trigger =      snd_rme96_capture_trigger,
 static const struct snd_pcm_ops snd_rme96_playback_adat_ops = {
        .open =         snd_rme96_playback_adat_open,
        .close =        snd_rme96_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme96_playback_hw_params,
        .prepare =      snd_rme96_playback_prepare,
        .trigger =      snd_rme96_playback_trigger,
 static const struct snd_pcm_ops snd_rme96_capture_adat_ops = {
        .open =         snd_rme96_capture_adat_open,
        .close =        snd_rme96_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_rme96_capture_hw_params,
        .prepare =      snd_rme96_capture_prepare,
        .trigger =      snd_rme96_capture_trigger,
 
 static const struct snd_pcm_ops sis_playback_ops = {
        .open = sis_playback_open,
        .close = sis_substream_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .prepare = sis_pcm_playback_prepare,
        .trigger = sis_pcm_trigger,
        .pointer = sis_pcm_pointer,
 static const struct snd_pcm_ops sis_capture_ops = {
        .open = sis_capture_open,
        .close = sis_substream_close,
-       .ioctl = snd_pcm_lib_ioctl,
        .hw_params = sis_capture_hw_params,
        .prepare = sis_pcm_capture_prepare,
        .trigger = sis_pcm_trigger,
 
 static const struct snd_pcm_ops snd_sonicvibes_playback_ops = {
        .open =         snd_sonicvibes_playback_open,
        .close =        snd_sonicvibes_playback_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_sonicvibes_playback_prepare,
        .trigger =      snd_sonicvibes_playback_trigger,
        .pointer =      snd_sonicvibes_playback_pointer,
 static const struct snd_pcm_ops snd_sonicvibes_capture_ops = {
        .open =         snd_sonicvibes_capture_open,
        .close =        snd_sonicvibes_capture_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .prepare =      snd_sonicvibes_capture_prepare,
        .trigger =      snd_sonicvibes_capture_trigger,
        .pointer =      snd_sonicvibes_capture_pointer,
 
 static const struct snd_pcm_ops snd_ymfpci_playback_ops = {
        .open =                 snd_ymfpci_playback_open,
        .close =                snd_ymfpci_playback_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_ymfpci_playback_hw_params,
        .hw_free =              snd_ymfpci_playback_hw_free,
        .prepare =              snd_ymfpci_playback_prepare,
 static const struct snd_pcm_ops snd_ymfpci_capture_rec_ops = {
        .open =                 snd_ymfpci_capture_rec_open,
        .close =                snd_ymfpci_capture_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_free =              snd_ymfpci_capture_hw_free,
        .prepare =              snd_ymfpci_capture_prepare,
        .trigger =              snd_ymfpci_capture_trigger,
 static const struct snd_pcm_ops snd_ymfpci_capture_ac97_ops = {
        .open =                 snd_ymfpci_capture_ac97_open,
        .close =                snd_ymfpci_capture_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_free =              snd_ymfpci_capture_hw_free,
        .prepare =              snd_ymfpci_capture_prepare,
        .trigger =              snd_ymfpci_capture_trigger,
 static const struct snd_pcm_ops snd_ymfpci_playback_spdif_ops = {
        .open =                 snd_ymfpci_playback_spdif_open,
        .close =                snd_ymfpci_playback_spdif_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_ymfpci_playback_hw_params,
        .hw_free =              snd_ymfpci_playback_hw_free,
        .prepare =              snd_ymfpci_playback_prepare,
 static const struct snd_pcm_ops snd_ymfpci_playback_4ch_ops = {
        .open =                 snd_ymfpci_playback_4ch_open,
        .close =                snd_ymfpci_playback_4ch_close,
-       .ioctl =                snd_pcm_lib_ioctl,
        .hw_params =            snd_ymfpci_playback_hw_params,
        .hw_free =              snd_ymfpci_playback_hw_free,
        .prepare =              snd_ymfpci_playback_prepare,