@@ -992,7 +992,7 @@ static int alc269_resume(struct hda_codec *codec)
992
992
msleep (150 );
993
993
}
994
994
995
- codec -> patch_ops . init (codec );
995
+ snd_hda_codec_init (codec );
996
996
997
997
if (spec -> codec_variant == ALC269_TYPE_ALC269VB )
998
998
alc269vb_toggle_power_output (codec , 1 );
@@ -7842,19 +7842,19 @@ static void alc269_fill_coef(struct hda_codec *codec)
7842
7842
alc_update_coef_idx (codec , 0x4 , 0 , 1 <<11 );
7843
7843
}
7844
7844
7845
- static void alc269_free (struct hda_codec * codec )
7845
+ static void alc269_remove (struct hda_codec * codec )
7846
7846
{
7847
7847
struct alc_spec * spec = codec -> spec ;
7848
7848
7849
7849
if (spec )
7850
7850
hda_component_manager_free (& spec -> comps , & comp_master_ops );
7851
7851
7852
- alc_free (codec );
7852
+ snd_hda_gen_remove (codec );
7853
7853
}
7854
7854
7855
7855
/*
7856
7856
*/
7857
- static int patch_alc269 (struct hda_codec * codec )
7857
+ static int alc269_probe (struct hda_codec * codec , const struct hda_device_id * id )
7858
7858
{
7859
7859
struct alc_spec * spec ;
7860
7860
int err ;
@@ -7868,9 +7868,6 @@ static int patch_alc269(struct hda_codec *codec)
7868
7868
codec -> power_save_node = 0 ;
7869
7869
spec -> en_3kpull_low = true;
7870
7870
7871
- codec -> patch_ops .suspend = alc269_suspend ;
7872
- codec -> patch_ops .resume = alc269_resume ;
7873
- codec -> patch_ops .free = alc269_free ;
7874
7871
spec -> shutup = alc_default_shutup ;
7875
7872
spec -> init_hook = alc_default_init ;
7876
7873
@@ -8068,56 +8065,69 @@ static int patch_alc269(struct hda_codec *codec)
8068
8065
return 0 ;
8069
8066
8070
8067
error :
8071
- alc_free (codec );
8068
+ alc269_remove (codec );
8072
8069
return err ;
8073
8070
}
8074
8071
8072
+ static const struct hda_codec_ops alc269_codec_ops = {
8073
+ .probe = alc269_probe ,
8074
+ .remove = alc269_remove ,
8075
+ .build_controls = alc_build_controls ,
8076
+ .build_pcms = snd_hda_gen_build_pcms ,
8077
+ .init = alc_init ,
8078
+ .unsol_event = snd_hda_jack_unsol_event ,
8079
+ .suspend = alc269_suspend ,
8080
+ .resume = alc269_resume ,
8081
+ .check_power_status = snd_hda_gen_check_power_status ,
8082
+ .stream_pm = snd_hda_gen_stream_pm ,
8083
+ };
8084
+
8075
8085
/*
8076
8086
* driver entries
8077
8087
*/
8078
8088
static const struct hda_device_id snd_hda_id_alc269 [] = {
8079
- HDA_CODEC_ENTRY (0x10ec0215 , "ALC215" , patch_alc269 ),
8080
- HDA_CODEC_ENTRY (0x10ec0221 , "ALC221" , patch_alc269 ),
8081
- HDA_CODEC_ENTRY (0x10ec0222 , "ALC222" , patch_alc269 ),
8082
- HDA_CODEC_ENTRY (0x10ec0225 , "ALC225" , patch_alc269 ),
8083
- HDA_CODEC_ENTRY (0x10ec0230 , "ALC236" , patch_alc269 ),
8084
- HDA_CODEC_ENTRY (0x10ec0231 , "ALC231" , patch_alc269 ),
8085
- HDA_CODEC_ENTRY (0x10ec0233 , "ALC233" , patch_alc269 ),
8086
- HDA_CODEC_ENTRY (0x10ec0234 , "ALC234" , patch_alc269 ),
8087
- HDA_CODEC_ENTRY (0x10ec0235 , "ALC233" , patch_alc269 ),
8088
- HDA_CODEC_ENTRY (0x10ec0236 , "ALC236" , patch_alc269 ),
8089
- HDA_CODEC_ENTRY (0x10ec0245 , "ALC245" , patch_alc269 ),
8090
- HDA_CODEC_ENTRY (0x10ec0255 , "ALC255" , patch_alc269 ),
8091
- HDA_CODEC_ENTRY (0x10ec0256 , "ALC256" , patch_alc269 ),
8092
- HDA_CODEC_ENTRY (0x10ec0257 , "ALC257" , patch_alc269 ),
8093
- HDA_CODEC_ENTRY (0x10ec0269 , "ALC269" , patch_alc269 ),
8094
- HDA_CODEC_ENTRY (0x10ec0270 , "ALC270" , patch_alc269 ),
8095
- HDA_CODEC_ENTRY (0x10ec0274 , "ALC274" , patch_alc269 ),
8096
- HDA_CODEC_ENTRY (0x10ec0275 , "ALC275" , patch_alc269 ),
8097
- HDA_CODEC_ENTRY (0x10ec0276 , "ALC276" , patch_alc269 ),
8098
- HDA_CODEC_ENTRY (0x10ec0280 , "ALC280" , patch_alc269 ),
8099
- HDA_CODEC_ENTRY (0x10ec0282 , "ALC282" , patch_alc269 ),
8100
- HDA_CODEC_ENTRY (0x10ec0283 , "ALC283" , patch_alc269 ),
8101
- HDA_CODEC_ENTRY (0x10ec0284 , "ALC284" , patch_alc269 ),
8102
- HDA_CODEC_ENTRY (0x10ec0285 , "ALC285" , patch_alc269 ),
8103
- HDA_CODEC_ENTRY (0x10ec0286 , "ALC286" , patch_alc269 ),
8104
- HDA_CODEC_ENTRY (0x10ec0287 , "ALC287" , patch_alc269 ),
8105
- HDA_CODEC_ENTRY (0x10ec0288 , "ALC288" , patch_alc269 ),
8106
- HDA_CODEC_ENTRY (0x10ec0289 , "ALC289" , patch_alc269 ),
8107
- HDA_CODEC_ENTRY (0x10ec0290 , "ALC290" , patch_alc269 ),
8108
- HDA_CODEC_ENTRY (0x10ec0292 , "ALC292" , patch_alc269 ),
8109
- HDA_CODEC_ENTRY (0x10ec0293 , "ALC293" , patch_alc269 ),
8110
- HDA_CODEC_ENTRY (0x10ec0294 , "ALC294" , patch_alc269 ),
8111
- HDA_CODEC_ENTRY (0x10ec0295 , "ALC295" , patch_alc269 ),
8112
- HDA_CODEC_ENTRY (0x10ec0298 , "ALC298" , patch_alc269 ),
8113
- HDA_CODEC_ENTRY (0x10ec0299 , "ALC299" , patch_alc269 ),
8114
- HDA_CODEC_ENTRY (0x10ec0300 , "ALC300" , patch_alc269 ),
8115
- HDA_CODEC_ENTRY (0x10ec0623 , "ALC623" , patch_alc269 ),
8116
- HDA_CODEC_ENTRY (0x10ec0700 , "ALC700" , patch_alc269 ),
8117
- HDA_CODEC_ENTRY (0x10ec0701 , "ALC701" , patch_alc269 ),
8118
- HDA_CODEC_ENTRY (0x10ec0703 , "ALC703" , patch_alc269 ),
8119
- HDA_CODEC_ENTRY (0x10ec0711 , "ALC711" , patch_alc269 ),
8120
- HDA_CODEC_ENTRY (0x19e58326 , "HW8326" , patch_alc269 ),
8089
+ HDA_CODEC_ID (0x10ec0215 , "ALC215" ),
8090
+ HDA_CODEC_ID (0x10ec0221 , "ALC221" ),
8091
+ HDA_CODEC_ID (0x10ec0222 , "ALC222" ),
8092
+ HDA_CODEC_ID (0x10ec0225 , "ALC225" ),
8093
+ HDA_CODEC_ID (0x10ec0230 , "ALC236" ),
8094
+ HDA_CODEC_ID (0x10ec0231 , "ALC231" ),
8095
+ HDA_CODEC_ID (0x10ec0233 , "ALC233" ),
8096
+ HDA_CODEC_ID (0x10ec0234 , "ALC234" ),
8097
+ HDA_CODEC_ID (0x10ec0235 , "ALC233" ),
8098
+ HDA_CODEC_ID (0x10ec0236 , "ALC236" ),
8099
+ HDA_CODEC_ID (0x10ec0245 , "ALC245" ),
8100
+ HDA_CODEC_ID (0x10ec0255 , "ALC255" ),
8101
+ HDA_CODEC_ID (0x10ec0256 , "ALC256" ),
8102
+ HDA_CODEC_ID (0x10ec0257 , "ALC257" ),
8103
+ HDA_CODEC_ID (0x10ec0269 , "ALC269" ),
8104
+ HDA_CODEC_ID (0x10ec0270 , "ALC270" ),
8105
+ HDA_CODEC_ID (0x10ec0274 , "ALC274" ),
8106
+ HDA_CODEC_ID (0x10ec0275 , "ALC275" ),
8107
+ HDA_CODEC_ID (0x10ec0276 , "ALC276" ),
8108
+ HDA_CODEC_ID (0x10ec0280 , "ALC280" ),
8109
+ HDA_CODEC_ID (0x10ec0282 , "ALC282" ),
8110
+ HDA_CODEC_ID (0x10ec0283 , "ALC283" ),
8111
+ HDA_CODEC_ID (0x10ec0284 , "ALC284" ),
8112
+ HDA_CODEC_ID (0x10ec0285 , "ALC285" ),
8113
+ HDA_CODEC_ID (0x10ec0286 , "ALC286" ),
8114
+ HDA_CODEC_ID (0x10ec0287 , "ALC287" ),
8115
+ HDA_CODEC_ID (0x10ec0288 , "ALC288" ),
8116
+ HDA_CODEC_ID (0x10ec0289 , "ALC289" ),
8117
+ HDA_CODEC_ID (0x10ec0290 , "ALC290" ),
8118
+ HDA_CODEC_ID (0x10ec0292 , "ALC292" ),
8119
+ HDA_CODEC_ID (0x10ec0293 , "ALC293" ),
8120
+ HDA_CODEC_ID (0x10ec0294 , "ALC294" ),
8121
+ HDA_CODEC_ID (0x10ec0295 , "ALC295" ),
8122
+ HDA_CODEC_ID (0x10ec0298 , "ALC298" ),
8123
+ HDA_CODEC_ID (0x10ec0299 , "ALC299" ),
8124
+ HDA_CODEC_ID (0x10ec0300 , "ALC300" ),
8125
+ HDA_CODEC_ID (0x10ec0623 , "ALC623" ),
8126
+ HDA_CODEC_ID (0x10ec0700 , "ALC700" ),
8127
+ HDA_CODEC_ID (0x10ec0701 , "ALC701" ),
8128
+ HDA_CODEC_ID (0x10ec0703 , "ALC703" ),
8129
+ HDA_CODEC_ID (0x10ec0711 , "ALC711" ),
8130
+ HDA_CODEC_ID (0x19e58326 , "HW8326" ),
8121
8131
{} /* terminator */
8122
8132
};
8123
8133
MODULE_DEVICE_TABLE (hdaudio , snd_hda_id_alc269 );
@@ -8129,6 +8139,7 @@ MODULE_IMPORT_NS("SND_HDA_SCODEC_COMPONENT");
8129
8139
8130
8140
static struct hda_codec_driver alc269_driver = {
8131
8141
.id = snd_hda_id_alc269 ,
8142
+ .ops = & alc269_codec_ops ,
8132
8143
};
8133
8144
8134
8145
module_hda_codec_driver (alc269_driver );
0 commit comments