Lines Matching defs:codec
3 * Apple Onboard Audio driver for tas codec
11 * - This codec driver doesn't honour the 'connected'
17 * the input. This should also be a codec-dependent
18 * flag, maybe the codec should have 3 different
49 * codec to refine the transfer_info items in the
54 * a 'clock group id' value so the codec can
71 MODULE_DESCRIPTION("tas codec driver for snd-aoa");
79 #define PFX "snd-aoa-codec-tas: "
83 struct aoa_codec codec;
96 * codec init/suspend/resume */
102 static struct tas *codec_to_tas(struct aoa_codec *codec)
104 return container_of(codec, struct tas, codec);
674 tas->codec.gpio->methods->all_amps_off(tas->codec.gpio);
676 tas->codec.gpio->methods->set_hw_reset(tas->codec.gpio, 0);
678 tas->codec.gpio->methods->set_hw_reset(tas->codec.gpio, 1);
680 tas->codec.gpio->methods->set_hw_reset(tas->codec.gpio, 0);
682 tas->codec.gpio->methods->all_amps_restore(tas->codec.gpio);
720 tas->codec.gpio->methods->all_amps_off(tas->codec.gpio);
724 /* Clocks are back, re-init the codec */
730 tas->codec.gpio->methods->all_amps_restore(tas->codec.gpio);
756 /* reset codec */
795 static int tas_init_codec(struct aoa_codec *codec)
797 struct tas *tas = codec_to_tas(codec);
800 if (!tas->codec.gpio || !tas->codec.gpio->methods) {
814 if (tas->codec.soundbus_dev->attach_codec(tas->codec.soundbus_dev,
863 tas->codec.soundbus_dev->detach_codec(tas->codec.soundbus_dev, tas);
868 static void tas_exit_codec(struct aoa_codec *codec)
870 struct tas *tas = codec_to_tas(codec);
872 if (!tas->codec.soundbus_dev)
874 tas->codec.soundbus_dev->detach_codec(tas->codec.soundbus_dev, tas);
895 strscpy(tas->codec.name, "tas", MAX_CODEC_NAME_LEN);
896 tas->codec.owner = THIS_MODULE;
897 tas->codec.init = tas_init_codec;
898 tas->codec.exit = tas_exit_codec;
899 tas->codec.node = of_node_get(node);
901 if (aoa_codec_register(&tas->codec)) {
905 "snd-aoa-codec-tas: tas found, addr 0x%02x on %pOF\n",
919 aoa_codec_unregister(&tas->codec);
920 of_node_put(tas->codec.node);
922 /* power down codec chip */