On Mon, Dec 17, 2018 at 2:58 AM Brian Masney <masneyb@xxxxxxxxxxxxx> wrote: > With this series, I see a long delay on startup and the following errors > in the console log: > > [ 1.374586] spmi spmi-0: pmic_arb_wait_for_done: transaction denied (0x5) > [ 1.393541] qcom-spmi-iadc fc4cf000.spmi:pm8941@0:iadc@3600: conversion failed > [ 1.393587] qcom-spmi-iadc fc4cf000.spmi:pm8941@0:iadc@3600: failed offset calibration > [ 1.399681] spmi spmi-0: pmic_arb_wait_for_done: transaction denied (0x5) > [ 1.407629] qcom-spmi-iadc: probe of fc4cf000.spmi:pm8941@0:iadc@3600 failed with error -110 > [ 1.414900] spmi spmi-0: pmic_arb_wait_for_done: transaction denied (0x5) > [ 1.422949] spmi spmi-0: pmic_arb_wait_for_done: transaction denied (0x5) > [ 41.433579] qcom-spmi-vadc fc4cf000.spmi:pm8941@0:vadc@3100: conversion failed > [ 41.433626] qcom-spmi-vadc fc4cf000.spmi:pm8941@0:vadc@3100: measure reference points failed > [ 41.439722] spmi spmi-0: pmic_arb_wait_for_done: transaction denied (0x5) > [ 41.448296] qpnpint_spmi_write: 21 callbacks suppressed > [ 41.448305] spmi spmi-0: failed irqchip transaction on d7 > > I'm going to keep digging but I'm posting this to see if anyone has any > suggestions. I don't think those are your errors. If you didn't have them before, it's probably a side-effect of the IRQ from the ADC starting to work. The PM8941 is probed in drivers/mfd/qcom-spmi-pmic.c which spawns the IIO ADC devices handled in qcom-spmi-vadc.c and qcom-spmi-iadc.c. I got the ADC to work on PM8921 in commit c4b70883ee336645bc9841b99322f76efb3de1c4 and it uses drivers/mfd/qcom-pm8xxx.c drivers/iio/adc/qcom-pm8xxx-xoadc.c in stark contrast to these qcom-spmi-vadc.c and qcom-spmi-iadc.c. which produce the above errors. I am not even sure that these PMIC should be driven by the SPMI driver, maybe pm8941 should be handled by "my" pm8xxxx code in the mentioned file rather than by the SPMI things, I guess refer to the elder scrolls also known as the MSM android 3.4 kernel tree. Tell me if you need some specific help! Yours, Linus Walleij