On 07/23/14 13:28, Siteshwar wrote: > Hello, > > I am trying to set RTC on Nexus 5 (which uses qpnp-rtc driver).and > getting a permission error while setting it. > > I am making following call from my application with valid arguments : > > ioctl(rtc_fd, RTC_SET_TIME, tod) > > when I make this call I see below messages in dmesg logs : > > [ 26.945670] spmi_pmic_arb fc4cf000.qcom,spmi: > pmic_arb_wait_for_done: transaction denied (0x5) > [ 26.945743] qcom,qpnp-rtc qpnp-rtc-f85bbe00: SPMI write failed > [ 26.945856] qcom,qpnp-rtc qpnp-rtc-f85bbe00: Write to RTC reg failed 1 > > The transaction denied message is coming from > https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/85564c374b6b082fc447f6dae53a630c04b4ef1c/drivers/spmi/spmi-pmic-arb.c#L158 > > It's fairly low level stuff and I am not sure why should it give a > permission error. The only config option I can find from documentation > is qpnp-rtc-write > (https://github.com/CyanogenMod/android_kernel_lge_hammerhead/blob/cm-11.0/Documentation/devicetree/bindings/rtc/qpnp-rtc.txt) > and it is set in my configurations. In what cases I will get this > error while setting RTC ? Could this be a bug in the driver ? > qpnp-rtc-write is not a config option. It's a DT property and it states that the RTC can be written if it's set to 1 (it really should have been a boolean property). If it isn't set the RTC can't be programmed by the OS (i.e. it's configured by another entity outside of Linux). Looking at the dts files in the cyanogenmod kernel you pointed to I don't see this value set to anything but 0. You say that property is set in your configurations. Have you modified the DT to have this property set to 1? If so, don't do that. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html