• Home
  • Raw
  • Download

Lines Matching full:arizona

2  * extcon-arizona.c - Extcon driver Wolfson Arizona devices
34 #include <linux/mfd/arizona/core.h>
35 #include <linux/mfd/arizona/pdata.h>
36 #include <linux/mfd/arizona/registers.h>
37 #include <dt-bindings/mfd/arizona.h>
75 struct arizona *arizona; member
154 struct arizona *arizona = info->arizona; in arizona_extcon_hp_clamp() local
159 switch (arizona->type) { in arizona_extcon_hp_clamp()
176 ret = regmap_update_bits(arizona->regmap, in arizona_extcon_hp_clamp()
181 dev_warn(arizona->dev, in arizona_extcon_hp_clamp()
191 snd_soc_dapm_mutex_lock(arizona->dapm); in arizona_extcon_hp_clamp()
193 arizona->hpdet_clamp = clamp; in arizona_extcon_hp_clamp()
197 ret = regmap_update_bits(arizona->regmap, in arizona_extcon_hp_clamp()
202 dev_warn(arizona->dev, in arizona_extcon_hp_clamp()
208 ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1L, in arizona_extcon_hp_clamp()
211 dev_warn(arizona->dev, "Failed to do clamp: %d\n", in arizona_extcon_hp_clamp()
214 ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1R, in arizona_extcon_hp_clamp()
217 dev_warn(arizona->dev, "Failed to do clamp: %d\n", in arizona_extcon_hp_clamp()
223 ret = regmap_update_bits(arizona->regmap, in arizona_extcon_hp_clamp()
226 ARIZONA_OUT1R_ENA, arizona->hp_ena); in arizona_extcon_hp_clamp()
228 dev_warn(arizona->dev, in arizona_extcon_hp_clamp()
233 snd_soc_dapm_mutex_unlock(arizona->dapm); in arizona_extcon_hp_clamp()
238 struct arizona *arizona = info->arizona; in arizona_extcon_set_mode() local
245 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_extcon_set_mode()
249 regmap_update_bits(arizona->regmap, ARIZONA_ACCESSORY_DETECT_MODE_1, in arizona_extcon_set_mode()
254 dev_dbg(arizona->dev, "Set jack polarity to %d\n", mode); in arizona_extcon_set_mode()
273 struct arizona *arizona = info->arizona; in arizona_extcon_pulse_micbias() local
275 struct snd_soc_dapm_context *dapm = arizona->dapm; in arizona_extcon_pulse_micbias()
281 dev_warn(arizona->dev, "Failed to enable %s: %d\n", in arizona_extcon_pulse_micbias()
286 if (!arizona->pdata.micd_force_micbias) { in arizona_extcon_pulse_micbias()
289 dev_warn(arizona->dev, "Failed to disable %s: %d\n", in arizona_extcon_pulse_micbias()
298 struct arizona *arizona = info->arizona; in arizona_start_mic() local
309 dev_err(arizona->dev, in arizona_start_mic()
317 dev_err(arizona->dev, "Failed to enable MICVDD: %d\n", in arizona_start_mic()
322 regmap_write(arizona->regmap, 0x80, 0x3); in arizona_start_mic()
323 regmap_write(arizona->regmap, 0x294, 0); in arizona_start_mic()
324 regmap_write(arizona->regmap, 0x80, 0x0); in arizona_start_mic()
327 if (info->detecting && arizona->pdata.micd_software_compare) in arizona_start_mic()
332 regmap_update_bits(arizona->regmap, in arizona_start_mic()
338 regmap_update_bits_check(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_start_mic()
349 struct arizona *arizona = info->arizona; in arizona_stop_mic() local
351 struct snd_soc_dapm_context *dapm = arizona->dapm; in arizona_stop_mic()
356 regmap_update_bits_check(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_stop_mic()
362 dev_warn(arizona->dev, in arizona_stop_mic()
369 regmap_write(arizona->regmap, 0x80, 0x3); in arizona_stop_mic()
370 regmap_write(arizona->regmap, 0x294, 2); in arizona_stop_mic()
371 regmap_write(arizona->regmap, 0x80, 0x0); in arizona_stop_mic()
376 dev_err(arizona->dev, "Failed to bypass MICVDD: %d\n", in arizona_stop_mic()
411 struct arizona *arizona = info->arizona; in arizona_hpdet_read() local
415 ret = regmap_read(arizona->regmap, ARIZONA_HEADPHONE_DETECT_2, &val); in arizona_hpdet_read()
417 dev_err(arizona->dev, "Failed to read HPDET status: %d\n", in arizona_hpdet_read()
425 dev_err(arizona->dev, "HPDET did not complete: %x\n", in arizona_hpdet_read()
435 dev_err(arizona->dev, "HPDET did not complete: %x\n", in arizona_hpdet_read()
440 ret = regmap_read(arizona->regmap, ARIZONA_HP_DACVAL, &val); in arizona_hpdet_read()
442 dev_err(arizona->dev, "Failed to read HP value: %d\n", in arizona_hpdet_read()
447 regmap_read(arizona->regmap, ARIZONA_HEADPHONE_DETECT_1, in arizona_hpdet_read()
456 dev_dbg(arizona->dev, "Moving to HPDET range %d\n", in arizona_hpdet_read()
458 regmap_update_bits(arizona->regmap, in arizona_hpdet_read()
469 dev_dbg(arizona->dev, "Measurement out of range\n"); in arizona_hpdet_read()
473 dev_dbg(arizona->dev, "HPDET read %d in range %d\n", in arizona_hpdet_read()
483 dev_err(arizona->dev, "HPDET did not complete: %x\n", in arizona_hpdet_read()
492 regmap_read(arizona->regmap, ARIZONA_HEADPHONE_DETECT_1, in arizona_hpdet_read()
501 dev_dbg(arizona->dev, "Moving to HPDET range %d-%d\n", in arizona_hpdet_read()
504 regmap_update_bits(arizona->regmap, in arizona_hpdet_read()
513 dev_dbg(arizona->dev, "Reporting range boundary %d\n", in arizona_hpdet_read()
520 dev_warn(arizona->dev, "Unknown HPDET IP revision %d\n", in arizona_hpdet_read()
525 dev_dbg(arizona->dev, "HP impedance %d ohms\n", val); in arizona_hpdet_read()
532 struct arizona *arizona = info->arizona; in arizona_hpdet_do_id() local
533 int id_gpio = arizona->pdata.hpdet_id_gpio; in arizona_hpdet_do_id()
539 if (arizona->pdata.hpdet_acc_id) { in arizona_hpdet_do_id()
544 dev_dbg(arizona->dev, "Measuring mic\n"); in arizona_hpdet_do_id()
546 regmap_update_bits(arizona->regmap, in arizona_hpdet_do_id()
555 regmap_update_bits(arizona->regmap, in arizona_hpdet_do_id()
562 dev_dbg(arizona->dev, "HPDET measured %d %d\n", in arizona_hpdet_do_id()
570 dev_dbg(arizona->dev, "Retrying high impedance\n"); in arizona_hpdet_do_id()
582 dev_dbg(arizona->dev, "Detected mic\n"); in arizona_hpdet_do_id()
586 dev_dbg(arizona->dev, "Detected headphone\n"); in arizona_hpdet_do_id()
590 regmap_update_bits(arizona->regmap, in arizona_hpdet_do_id()
602 struct arizona *arizona = info->arizona; in arizona_hpdet_irq() local
603 int id_gpio = arizona->pdata.hpdet_id_gpio; in arizona_hpdet_irq()
612 dev_warn(arizona->dev, "Spurious HPDET IRQ\n"); in arizona_hpdet_irq()
620 dev_err(arizona->dev, "Failed to check cable state: %d\n", in arizona_hpdet_irq()
624 dev_dbg(arizona->dev, "Ignoring HPDET for removed cable\n"); in arizona_hpdet_irq()
636 regmap_update_bits(arizona->regmap, in arizona_hpdet_irq()
655 dev_err(arizona->dev, "Failed to report HP/line: %d\n", in arizona_hpdet_irq()
660 regmap_update_bits(arizona->regmap, in arizona_hpdet_irq()
671 regmap_update_bits(arizona->regmap, in arizona_hpdet_irq()
694 struct arizona *arizona = info->arizona; in arizona_identify_headphone() local
700 dev_dbg(arizona->dev, "Starting HPDET\n"); in arizona_identify_headphone()
712 ret = regmap_update_bits(arizona->regmap, in arizona_identify_headphone()
715 arizona->pdata.hpdet_channel); in arizona_identify_headphone()
717 dev_err(arizona->dev, "Failed to set HPDET mode: %d\n", ret); in arizona_identify_headphone()
721 ret = regmap_update_bits(arizona->regmap, ARIZONA_HEADPHONE_DETECT_1, in arizona_identify_headphone()
724 dev_err(arizona->dev, "Can't start HPDETL measurement: %d\n", in arizona_identify_headphone()
732 regmap_update_bits(arizona->regmap, ARIZONA_ACCESSORY_DETECT_MODE_1, in arizona_identify_headphone()
738 dev_err(arizona->dev, "Failed to report headphone: %d\n", ret); in arizona_identify_headphone()
748 struct arizona *arizona = info->arizona; in arizona_start_hpdet_acc_id() local
753 dev_dbg(arizona->dev, "Starting identification via HPDET\n"); in arizona_start_hpdet_acc_id()
762 ret = regmap_update_bits(arizona->regmap, in arizona_start_hpdet_acc_id()
766 arizona->pdata.hpdet_channel); in arizona_start_hpdet_acc_id()
768 dev_err(arizona->dev, "Failed to set HPDET mode: %d\n", ret); in arizona_start_hpdet_acc_id()
772 if (arizona->pdata.hpdet_acc_id_line) { in arizona_start_hpdet_acc_id()
773 ret = regmap_update_bits(arizona->regmap, in arizona_start_hpdet_acc_id()
777 dev_err(arizona->dev, in arizona_start_hpdet_acc_id()
789 regmap_update_bits(arizona->regmap, ARIZONA_ACCESSORY_DETECT_MODE_1, in arizona_start_hpdet_acc_id()
795 dev_err(arizona->dev, "Failed to report headphone: %d\n", ret); in arizona_start_hpdet_acc_id()
808 dev_dbg(info->arizona->dev, "MICD timed out, reporting HP\n"); in arizona_micd_timeout_work()
824 struct arizona *arizona = info->arizona; in arizona_micd_detect() local
835 dev_err(arizona->dev, "Failed to check cable state: %d\n", in arizona_micd_detect()
840 dev_dbg(arizona->dev, "Ignoring MICDET for removed cable\n"); in arizona_micd_detect()
845 if (info->detecting && arizona->pdata.micd_software_compare) { in arizona_micd_detect()
847 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_micd_detect()
849 ret = regmap_read(arizona->regmap, ARIZONA_MIC_DETECT_4, &val); in arizona_micd_detect()
851 dev_err(arizona->dev, in arizona_micd_detect()
858 dev_dbg(arizona->dev, "MICDET_ADCVAL: %x\n", val); in arizona_micd_detect()
877 ret = regmap_read(arizona->regmap, ARIZONA_MIC_DETECT_3, &val); in arizona_micd_detect()
879 dev_err(arizona->dev, in arizona_micd_detect()
885 dev_dbg(arizona->dev, "MICDET: %x\n", val); in arizona_micd_detect()
888 dev_warn(arizona->dev, in arizona_micd_detect()
896 dev_err(arizona->dev, "Failed to get valid MICDET value\n"); in arizona_micd_detect()
903 dev_warn(arizona->dev, "Detected open circuit\n"); in arizona_micd_detect()
921 dev_err(arizona->dev, "Headset report failed: %d\n", in arizona_micd_detect()
927 dev_err(arizona->dev, "Failed to bypass MICVDD: %d\n", in arizona_micd_detect()
942 dev_dbg(arizona->dev, "Detected HP/line\n"); in arizona_micd_detect()
967 dev_dbg(arizona->dev, "Mic button detected\n"); in arizona_micd_detect()
985 dev_dbg(arizona->dev, "Headphone detected\n"); in arizona_micd_detect()
991 dev_warn(arizona->dev, "Button with no mic: %x\n", in arizona_micd_detect()
995 dev_dbg(arizona->dev, "Mic button released\n"); in arizona_micd_detect()
1005 if (arizona->pdata.micd_software_compare) in arizona_micd_detect()
1006 regmap_update_bits(arizona->regmap, in arizona_micd_detect()
1023 struct arizona *arizona = info->arizona; in arizona_micdet() local
1024 int debounce = arizona->pdata.micd_detect_debounce; in arizona_micdet()
1057 struct arizona *arizona = info->arizona; in arizona_hpdet_wait() local
1062 ret = regmap_read(arizona->regmap, ARIZONA_HEADPHONE_DETECT_2, in arizona_hpdet_wait()
1065 dev_err(arizona->dev, in arizona_hpdet_wait()
1084 dev_warn(arizona->dev, "HPDET did not appear to complete\n"); in arizona_hpdet_wait()
1092 struct arizona *arizona = info->arizona; in arizona_jackdet() local
1109 if (arizona->pdata.jd_invert) in arizona_jackdet()
1115 ret = regmap_read(arizona->regmap, ARIZONA_AOD_IRQ_RAW_STATUS, &val); in arizona_jackdet()
1117 dev_err(arizona->dev, "Failed to read jackdet status: %d\n", in arizona_jackdet()
1126 dev_dbg(arizona->dev, "Suppressing duplicate JACKDET\n"); in arizona_jackdet()
1145 dev_dbg(arizona->dev, "Detected jack\n"); in arizona_jackdet()
1150 dev_err(arizona->dev, "Mechanical report failed: %d\n", in arizona_jackdet()
1153 if (!arizona->pdata.hpdet_acc_id) { in arizona_jackdet()
1165 if (info->micd_clamp || !arizona->pdata.jd_invert) in arizona_jackdet()
1166 regmap_update_bits(arizona->regmap, in arizona_jackdet()
1171 dev_dbg(arizona->dev, "Detected jack removal\n"); in arizona_jackdet()
1191 dev_err(arizona->dev, in arizona_jackdet()
1204 regmap_update_bits(arizona->regmap, in arizona_jackdet()
1210 if (arizona->pdata.micd_timeout) in arizona_jackdet()
1211 info->micd_timeout = arizona->pdata.micd_timeout; in arizona_jackdet()
1217 regmap_write(arizona->regmap, ARIZONA_AOD_WKUP_AND_TRIG, in arizona_jackdet()
1232 static void arizona_micd_set_level(struct arizona *arizona, int index, in arizona_micd_set_level() argument
1248 regmap_update_bits(arizona->regmap, reg, mask, level); in arizona_micd_set_level()
1252 struct arizona *arizona) in arizona_extcon_get_micd_configs() argument
1261 nconfs = device_property_read_u32_array(arizona->dev, prop, NULL, 0); in arizona_extcon_get_micd_configs()
1269 ret = device_property_read_u32_array(arizona->dev, prop, vals, nconfs); in arizona_extcon_get_micd_configs()
1287 arizona->pdata.micd_configs = micd_configs; in arizona_extcon_get_micd_configs()
1288 arizona->pdata.num_micd_configs = nconfs; in arizona_extcon_get_micd_configs()
1296 struct arizona *arizona) in arizona_extcon_device_get_pdata() argument
1298 struct arizona_pdata *pdata = &arizona->pdata; in arizona_extcon_device_get_pdata()
1302 device_property_read_u32(arizona->dev, "wlf,hpdet-channel", &val); in arizona_extcon_device_get_pdata()
1309 dev_err(arizona->dev, in arizona_extcon_device_get_pdata()
1314 device_property_read_u32(arizona->dev, "wlf,micd-detect-debounce", in arizona_extcon_device_get_pdata()
1317 device_property_read_u32(arizona->dev, "wlf,micd-bias-start-time", in arizona_extcon_device_get_pdata()
1320 device_property_read_u32(arizona->dev, "wlf,micd-rate", in arizona_extcon_device_get_pdata()
1323 device_property_read_u32(arizona->dev, "wlf,micd-dbtime", in arizona_extcon_device_get_pdata()
1326 device_property_read_u32(arizona->dev, "wlf,micd-timeout-ms", in arizona_extcon_device_get_pdata()
1329 pdata->micd_force_micbias = device_property_read_bool(arizona->dev, in arizona_extcon_device_get_pdata()
1332 pdata->micd_software_compare = device_property_read_bool(arizona->dev, in arizona_extcon_device_get_pdata()
1335 pdata->jd_invert = device_property_read_bool(arizona->dev, in arizona_extcon_device_get_pdata()
1338 device_property_read_u32(arizona->dev, "wlf,gpsw", &pdata->gpsw); in arizona_extcon_device_get_pdata()
1340 pdata->jd_gpio5 = device_property_read_bool(arizona->dev, in arizona_extcon_device_get_pdata()
1342 pdata->jd_gpio5_nopull = device_property_read_bool(arizona->dev, in arizona_extcon_device_get_pdata()
1345 ret = arizona_extcon_get_micd_configs(dev, arizona); in arizona_extcon_device_get_pdata()
1347 dev_err(arizona->dev, "Failed to read micd configs: %d\n", ret); in arizona_extcon_device_get_pdata()
1354 struct arizona *arizona = dev_get_drvdata(pdev->dev.parent); in arizona_extcon_probe() local
1355 struct arizona_pdata *pdata = &arizona->pdata; in arizona_extcon_probe()
1362 if (!arizona->dapm || !arizona->dapm->card) in arizona_extcon_probe()
1369 if (!dev_get_platdata(arizona->dev)) in arizona_extcon_probe()
1370 arizona_extcon_device_get_pdata(&pdev->dev, arizona); in arizona_extcon_probe()
1375 dev_err(arizona->dev, "Failed to get MICVDD: %d\n", ret); in arizona_extcon_probe()
1380 info->arizona = arizona; in arizona_extcon_probe()
1388 switch (arizona->type) { in arizona_extcon_probe()
1390 switch (arizona->rev) { in arizona_extcon_probe()
1402 switch (arizona->rev) { in arizona_extcon_probe()
1428 dev_err(arizona->dev, "extcon_dev_register() failed: %d\n", in arizona_extcon_probe()
1435 dev_err(arizona->dev, "Can't allocate input dev\n"); in arizona_extcon_probe()
1441 info->input->phys = "arizona/extcon"; in arizona_extcon_probe()
1451 if (arizona->pdata.gpsw > 0) in arizona_extcon_probe()
1452 regmap_update_bits(arizona->regmap, ARIZONA_GP_SWITCH_1, in arizona_extcon_probe()
1453 ARIZONA_SW1_MODE_MASK, arizona->pdata.gpsw); in arizona_extcon_probe()
1464 dev_err(arizona->dev, "Failed to request GPIO%d: %d\n", in arizona_extcon_probe()
1481 info->micd_pol_gpio = gpiod_get_optional(arizona->dev, in arizona_extcon_probe()
1486 dev_err(arizona->dev, in arizona_extcon_probe()
1493 if (arizona->pdata.hpdet_id_gpio > 0) { in arizona_extcon_probe()
1495 arizona->pdata.hpdet_id_gpio, in arizona_extcon_probe()
1499 dev_err(arizona->dev, "Failed to request GPIO%d: %d\n", in arizona_extcon_probe()
1500 arizona->pdata.hpdet_id_gpio, ret); in arizona_extcon_probe()
1505 if (arizona->pdata.micd_bias_start_time) in arizona_extcon_probe()
1506 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_extcon_probe()
1508 arizona->pdata.micd_bias_start_time in arizona_extcon_probe()
1511 if (arizona->pdata.micd_rate) in arizona_extcon_probe()
1512 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_extcon_probe()
1514 arizona->pdata.micd_rate in arizona_extcon_probe()
1517 switch (arizona->pdata.micd_dbtime) { in arizona_extcon_probe()
1519 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_extcon_probe()
1524 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_extcon_probe()
1534 if (arizona->pdata.num_micd_ranges) { in arizona_extcon_probe()
1542 if (arizona->pdata.num_micd_ranges > ARIZONA_MAX_MICD_RANGE) { in arizona_extcon_probe()
1543 dev_err(arizona->dev, "Too many MICD ranges: %d\n", in arizona_extcon_probe()
1544 arizona->pdata.num_micd_ranges); in arizona_extcon_probe()
1551 dev_err(arizona->dev, in arizona_extcon_probe()
1560 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_2, in arizona_extcon_probe()
1570 dev_err(arizona->dev, "Unsupported MICD level %d\n", in arizona_extcon_probe()
1576 dev_dbg(arizona->dev, "%d ohms for MICD threshold %d\n", in arizona_extcon_probe()
1579 arizona_micd_set_level(arizona, i, j); in arizona_extcon_probe()
1584 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_2, in arizona_extcon_probe()
1590 arizona_micd_set_level(arizona, i, 0x3f); in arizona_extcon_probe()
1597 if (arizona->pdata.jd_gpio5) { in arizona_extcon_probe()
1600 if (arizona->pdata.jd_gpio5_nopull) in arizona_extcon_probe()
1603 regmap_write(arizona->regmap, ARIZONA_GPIO5_CTRL, in arizona_extcon_probe()
1606 if (arizona->pdata.jd_invert) in arizona_extcon_probe()
1611 if (arizona->pdata.jd_invert) in arizona_extcon_probe()
1617 regmap_update_bits(arizona->regmap, in arizona_extcon_probe()
1621 regmap_update_bits(arizona->regmap, in arizona_extcon_probe()
1641 ret = arizona_request_irq(arizona, jack_irq_rise, in arizona_extcon_probe()
1649 ret = arizona_set_irq_wake(arizona, jack_irq_rise, 1); in arizona_extcon_probe()
1656 ret = arizona_request_irq(arizona, jack_irq_fall, in arizona_extcon_probe()
1663 ret = arizona_set_irq_wake(arizona, jack_irq_fall, 1); in arizona_extcon_probe()
1670 ret = arizona_request_irq(arizona, ARIZONA_IRQ_MICDET, in arizona_extcon_probe()
1677 ret = arizona_request_irq(arizona, ARIZONA_IRQ_HPDET, in arizona_extcon_probe()
1684 arizona_clk32k_enable(arizona); in arizona_extcon_probe()
1685 regmap_update_bits(arizona->regmap, ARIZONA_JACK_DETECT_DEBOUNCE, in arizona_extcon_probe()
1687 regmap_update_bits(arizona->regmap, ARIZONA_JACK_DETECT_ANALOGUE, in arizona_extcon_probe()
1692 dev_warn(arizona->dev, "Failed to set MICVDD to bypass: %d\n", in arizona_extcon_probe()
1706 arizona_free_irq(arizona, ARIZONA_IRQ_HPDET, info); in arizona_extcon_probe()
1708 arizona_free_irq(arizona, ARIZONA_IRQ_MICDET, info); in arizona_extcon_probe()
1710 arizona_set_irq_wake(arizona, jack_irq_fall, 0); in arizona_extcon_probe()
1712 arizona_free_irq(arizona, jack_irq_fall, info); in arizona_extcon_probe()
1714 arizona_set_irq_wake(arizona, jack_irq_rise, 0); in arizona_extcon_probe()
1716 arizona_free_irq(arizona, jack_irq_rise, info); in arizona_extcon_probe()
1727 struct arizona *arizona = info->arizona; in arizona_extcon_remove() local
1731 regmap_update_bits_check(arizona->regmap, ARIZONA_MIC_DETECT_1, in arizona_extcon_remove()
1744 regmap_update_bits(arizona->regmap, in arizona_extcon_remove()
1756 arizona_set_irq_wake(arizona, jack_irq_rise, 0); in arizona_extcon_remove()
1757 arizona_set_irq_wake(arizona, jack_irq_fall, 0); in arizona_extcon_remove()
1758 arizona_free_irq(arizona, ARIZONA_IRQ_HPDET, info); in arizona_extcon_remove()
1759 arizona_free_irq(arizona, ARIZONA_IRQ_MICDET, info); in arizona_extcon_remove()
1760 arizona_free_irq(arizona, jack_irq_rise, info); in arizona_extcon_remove()
1761 arizona_free_irq(arizona, jack_irq_fall, info); in arizona_extcon_remove()
1763 regmap_update_bits(arizona->regmap, ARIZONA_JACK_DETECT_ANALOGUE, in arizona_extcon_remove()
1765 arizona_clk32k_disable(arizona); in arizona_extcon_remove()
1772 .name = "arizona-extcon",
1780 MODULE_DESCRIPTION("Arizona Extcon driver");
1783 MODULE_ALIAS("platform:extcon-arizona");