Lines Matching refs:pm860x
987 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_pcm_set_dai_fmt() local
997 if (pm860x->dir == PM860X_CLK_DIR_OUT) { in pm860x_pcm_set_dai_fmt()
1003 if (pm860x->dir == PM860X_CLK_DIR_IN) { in pm860x_pcm_set_dai_fmt()
1027 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_set_dai_sysclk() local
1030 pm860x->dir = PM860X_CLK_DIR_OUT; in pm860x_set_dai_sysclk()
1032 pm860x->dir = PM860X_CLK_DIR_IN; in pm860x_set_dai_sysclk()
1094 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_i2s_set_dai_fmt() local
1102 if (pm860x->dir == PM860X_CLK_DIR_OUT) in pm860x_i2s_set_dai_fmt()
1108 if (pm860x->dir == PM860X_CLK_DIR_IN) in pm860x_i2s_set_dai_fmt()
1132 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_set_bias_level() local
1146 pm860x_reg_write(pm860x->i2c, REG_MISC2, data); in pm860x_set_bias_level()
1150 pm860x_reg_write(pm860x->i2c, REG_MISC2, data); in pm860x_set_bias_level()
1156 pm860x_set_bits(pm860x->i2c, REG_MISC2, data, 0); in pm860x_set_bias_level()
1228 struct pm860x_priv *pm860x = data; in pm860x_codec_handler() local
1232 status = pm860x_reg_read(pm860x->i2c, REG_STATUS_1); in pm860x_codec_handler()
1233 shrt = pm860x_reg_read(pm860x->i2c, REG_SHORTS); in pm860x_codec_handler()
1234 mask = pm860x->det.hs_shrt | pm860x->det.hook_det | pm860x->det.lo_shrt in pm860x_codec_handler()
1235 | pm860x->det.hp_det; in pm860x_codec_handler()
1240 trace_snd_soc_jack_irq(dev_name(pm860x->codec->dev)); in pm860x_codec_handler()
1243 if ((pm860x->det.hp_det & SND_JACK_HEADPHONE) in pm860x_codec_handler()
1247 if ((pm860x->det.mic_det & SND_JACK_MICROPHONE) in pm860x_codec_handler()
1251 if (pm860x->det.hs_shrt && (shrt & (SHORT_HS1 | SHORT_HS2))) in pm860x_codec_handler()
1252 report |= pm860x->det.hs_shrt; in pm860x_codec_handler()
1254 if (pm860x->det.hook_det && (status & HOOK_STATUS)) in pm860x_codec_handler()
1255 report |= pm860x->det.hook_det; in pm860x_codec_handler()
1257 if (pm860x->det.lo_shrt && (shrt & (SHORT_LO1 | SHORT_LO2))) in pm860x_codec_handler()
1258 report |= pm860x->det.lo_shrt; in pm860x_codec_handler()
1261 snd_soc_jack_report(pm860x->det.hp_jack, report, mask); in pm860x_codec_handler()
1263 snd_soc_jack_report(pm860x->det.mic_jack, SND_JACK_MICROPHONE, in pm860x_codec_handler()
1266 dev_dbg(pm860x->codec->dev, "headphone report:0x%x, mask:%x\n", in pm860x_codec_handler()
1268 dev_dbg(pm860x->codec->dev, "microphone report:0x%x\n", mic_report); in pm860x_codec_handler()
1276 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_hs_jack_detect() local
1279 pm860x->det.hp_jack = jack; in pm860x_hs_jack_detect()
1280 pm860x->det.hp_det = det; in pm860x_hs_jack_detect()
1281 pm860x->det.hook_det = hook; in pm860x_hs_jack_detect()
1282 pm860x->det.hs_shrt = hs_shrt; in pm860x_hs_jack_detect()
1283 pm860x->det.lo_shrt = lo_shrt; in pm860x_hs_jack_detect()
1286 pm860x_set_bits(pm860x->i2c, REG_HS_DET, in pm860x_hs_jack_detect()
1291 pm860x_set_bits(pm860x->i2c, REG_SHORTS, data, data); in pm860x_hs_jack_detect()
1296 pm860x_set_bits(pm860x->i2c, REG_SHORTS, data, data); in pm860x_hs_jack_detect()
1300 pm860x_codec_handler(0, pm860x); in pm860x_hs_jack_detect()
1308 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_mic_jack_detect() local
1310 pm860x->det.mic_jack = jack; in pm860x_mic_jack_detect()
1311 pm860x->det.mic_det = det; in pm860x_mic_jack_detect()
1314 pm860x_set_bits(pm860x->i2c, REG_MIC_DET, in pm860x_mic_jack_detect()
1318 pm860x_codec_handler(0, pm860x); in pm860x_mic_jack_detect()
1325 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_probe() local
1328 pm860x->codec = codec; in pm860x_probe()
1331 ret = request_threaded_irq(pm860x->irq[i], NULL, in pm860x_probe()
1333 pm860x->name[i], pm860x); in pm860x_probe()
1344 free_irq(pm860x->irq[i], pm860x); in pm860x_probe()
1350 struct pm860x_priv *pm860x = snd_soc_codec_get_drvdata(codec); in pm860x_remove() local
1354 free_irq(pm860x->irq[i], pm860x); in pm860x_remove()
1360 struct pm860x_priv *pm860x = dev_get_drvdata(dev); in pm860x_get_regmap() local
1362 return pm860x->regmap; in pm860x_get_regmap()
1382 struct pm860x_priv *pm860x; in pm860x_codec_probe() local
1386 pm860x = devm_kzalloc(&pdev->dev, sizeof(struct pm860x_priv), in pm860x_codec_probe()
1388 if (pm860x == NULL) in pm860x_codec_probe()
1391 pm860x->chip = chip; in pm860x_codec_probe()
1392 pm860x->i2c = (chip->id == CHIP_PM8607) ? chip->client in pm860x_codec_probe()
1394 pm860x->regmap = (chip->id == CHIP_PM8607) ? chip->regmap in pm860x_codec_probe()
1396 platform_set_drvdata(pdev, pm860x); in pm860x_codec_probe()
1404 pm860x->irq[i] = res->start + chip->irq_base; in pm860x_codec_probe()
1405 strncpy(pm860x->name[i], res->name, MAX_NAME_LEN); in pm860x_codec_probe()