* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support [not found] ` <20160206003245.GA1329@deathstar> @ 2016-02-08 10:25 ` Wolfram Sang 2016-02-08 14:44 ` Daniel Baluta 2016-02-08 16:36 ` Michael Welling 0 siblings, 2 replies; 15+ messages in thread From: Wolfram Sang @ 2016-02-08 10:25 UTC (permalink / raw) To: Michael Welling Cc: Daniel Baluta, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler, Linux Kernel Mailing List, linux-iio@vger.kernel.org, Lucas De Marchi, Andy Gross, Pramod Gurav, Bjorn Andersson, Guenter Roeck, eibach, Sricharan R, linux-arm-msm [-- Attachment #1: Type: text/plain, Size: 2100 bytes --] On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > > >> + struct iio_chan_spec const *chan, int *val, > > >> + int *val2, long mask) > > >> +{ > > >> + int ret, idx; > > >> + struct ads1015_data *data = iio_priv(indio_dev); > > >> + > > >> + mutex_lock(&data->lock); > > >> + switch (mask) { > > >> + case IIO_CHAN_INFO_RAW: > > >> + if (iio_buffer_enabled(indio_dev)) { > > >> + ret = -EBUSY; > > >> + break; > > >> + } > > >> + > > >> + ret = ads1015_set_power_state(data, true); > > >> + if (ret < 0) > > >> + break; > > > > > > Just tested the driver on a Dragonboard 410C with a robotics mezzanine that I > > > designed. > > > > > > The above ads1015_set_power_state(data, true) is always returning -EINVAL. > > > > > > Any ideas why that would be happening? > > > I think it may be the return from pm_runtime_get_sync? > > > > Can you confirm that pm_runtime_get_sync fails? Using some printk? > > > > Also adding printks in suspend/resume function would be helpful. Do > > you have CONFIG_PM enabled? > > > > Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > > > > > > > When I comment out the break the readings come back but are not updated continually. > > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value is updated. > > > > I guess this is normal if set_power_state fails. > > The hwmod driver works fine BTW. > > My guess is there is an issue with the qup i2c driver seeing as it has worked on > other system without issue. > > CC'd some the latest developer on the qup i2c driver. > > I2C guys have any ideas on this? > Adding some more people who recently worked on this. Might be nice to know which kernel version you are using. > > > > thanks, > > Daniel. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 10:25 ` [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support Wolfram Sang @ 2016-02-08 14:44 ` Daniel Baluta [not found] ` <CAEnQRZAQjhQRdzYUvo=aKgQScAyGUgp8Ni7nx9cEo1XhN_8Xyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2016-02-08 16:37 ` Michael Welling 2016-02-08 16:36 ` Michael Welling 1 sibling, 2 replies; 15+ messages in thread From: Daniel Baluta @ 2016-02-08 14:44 UTC (permalink / raw) To: Wolfram Sang Cc: Michael Welling, Daniel Baluta, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler, Linux Kernel Mailing List, linux-iio@vger.kernel.org, Lucas De Marchi, Andy Gross, Pramod Gurav, Bjorn Andersson, Guenter Roeck, eibach, Sricharan R, linux-arm-msm On Mon, Feb 8, 2016 at 12:25 PM, Wolfram Sang <wsa@the-dreams.de> wrote: > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: >> On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: >> > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, >> > >> + struct iio_chan_spec const *chan, int *val, >> > >> + int *val2, long mask) >> > >> +{ >> > >> + int ret, idx; >> > >> + struct ads1015_data *data = iio_priv(indio_dev); >> > >> + >> > >> + mutex_lock(&data->lock); >> > >> + switch (mask) { >> > >> + case IIO_CHAN_INFO_RAW: >> > >> + if (iio_buffer_enabled(indio_dev)) { >> > >> + ret = -EBUSY; >> > >> + break; >> > >> + } >> > >> + >> > >> + ret = ads1015_set_power_state(data, true); >> > >> + if (ret < 0) >> > >> + break; >> > > >> > > Just tested the driver on a Dragonboard 410C with a robotics mezzanine that I >> > > designed. >> > > >> > > The above ads1015_set_power_state(data, true) is always returning -EINVAL. >> > > >> > > Any ideas why that would be happening? >> > > I think it may be the return from pm_runtime_get_sync? >> > >> > Can you confirm that pm_runtime_get_sync fails? Using some printk? >> > >> > Also adding printks in suspend/resume function would be helpful. Do >> > you have CONFIG_PM enabled? >> > >> >> Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. Can you check the output of: $ cat /sys/bus/iio/devices/iio:device0/power/runtime_status * after insmod * after a reading from sysfs >> >> > > >> > > When I comment out the break the readings come back but are not updated continually. >> > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value is updated. >> > >> > I guess this is normal if set_power_state fails. >> >> The hwmod driver works fine BTW. >> >> My guess is there is an issue with the qup i2c driver seeing as it has worked on >> other system without issue. >> >> CC'd some the latest developer on the qup i2c driver. >> >> I2C guys have any ideas on this? >> > > Adding some more people who recently worked on this. Might be nice to > know which kernel version you are using. ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <CAEnQRZAQjhQRdzYUvo=aKgQScAyGUgp8Ni7nx9cEo1XhN_8Xyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support [not found] ` <CAEnQRZAQjhQRdzYUvo=aKgQScAyGUgp8Ni7nx9cEo1XhN_8Xyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2016-02-08 15:03 ` Daniel Baluta 0 siblings, 0 replies; 15+ messages in thread From: Daniel Baluta @ 2016-02-08 15:03 UTC (permalink / raw) To: Daniel Baluta Cc: Wolfram Sang, Michael Welling, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler, Linux Kernel Mailing List, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Lucas De Marchi, Andy Gross, Pramod Gurav, Bjorn Andersson, Guenter Roeck, eibach-dJ+jgKLZIg4, Sricharan R, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA On Mon, Feb 8, 2016 at 4:44 PM, Daniel Baluta <daniel.baluta-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote: > On Mon, Feb 8, 2016 at 12:25 PM, Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org> wrote: >> On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: >>> On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: >>> > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, >>> > >> + struct iio_chan_spec const *chan, int *val, >>> > >> + int *val2, long mask) >>> > >> +{ >>> > >> + int ret, idx; >>> > >> + struct ads1015_data *data = iio_priv(indio_dev); >>> > >> + >>> > >> + mutex_lock(&data->lock); >>> > >> + switch (mask) { >>> > >> + case IIO_CHAN_INFO_RAW: >>> > >> + if (iio_buffer_enabled(indio_dev)) { >>> > >> + ret = -EBUSY; >>> > >> + break; >>> > >> + } >>> > >> + >>> > >> + ret = ads1015_set_power_state(data, true); >>> > >> + if (ret < 0) >>> > >> + break; >>> > > >>> > > Just tested the driver on a Dragonboard 410C with a robotics mezzanine that I >>> > > designed. >>> > > >>> > > The above ads1015_set_power_state(data, true) is always returning -EINVAL. >>> > > >>> > > Any ideas why that would be happening? >>> > > I think it may be the return from pm_runtime_get_sync? >>> > >>> > Can you confirm that pm_runtime_get_sync fails? Using some printk? >>> > >>> > Also adding printks in suspend/resume function would be helpful. Do >>> > you have CONFIG_PM enabled? >>> > >>> >>> Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > > Can you check the output of: > $ cat /sys/bus/iio/devices/iio:device0/power/runtime_status > > * after insmod > * after a reading from sysfs > >>> >>> > > >>> > > When I comment out the break the readings come back but are not updated continually. >>> > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value is updated. >>> > >>> > I guess this is normal if set_power_state fails. >>> >>> The hwmod driver works fine BTW. >>> >>> My guess is there is an issue with the qup i2c driver seeing as it has worked on >>> other system without issue. >>> >>> CC'd some the latest developer on the qup i2c driver. >>> >>> I2C guys have any ideas on this? >>> >> >> Adding some more people who recently worked on this. Might be nice to >> know which kernel version you are using. Jonathan, I will send an update version with your comments addressed once we sort out this runtime pm issue. Michael, If you questions we can discuss on #linux-iio IRC channel under irc.oftc.net server. thanks, Daniel. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 14:44 ` Daniel Baluta [not found] ` <CAEnQRZAQjhQRdzYUvo=aKgQScAyGUgp8Ni7nx9cEo1XhN_8Xyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2016-02-08 16:37 ` Michael Welling 1 sibling, 0 replies; 15+ messages in thread From: Michael Welling @ 2016-02-08 16:37 UTC (permalink / raw) To: Daniel Baluta Cc: Wolfram Sang, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler, Linux Kernel Mailing List, linux-iio@vger.kernel.org, Lucas De Marchi, Andy Gross, Pramod Gurav, Bjorn Andersson, Guenter Roeck, eibach, Sricharan R, linux-arm-msm On Mon, Feb 08, 2016 at 04:44:02PM +0200, Daniel Baluta wrote: > On Mon, Feb 8, 2016 at 12:25 PM, Wolfram Sang <wsa@the-dreams.de> wrote: > > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > >> On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > >> > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > >> > >> + struct iio_chan_spec const *chan, int *val, > >> > >> + int *val2, long mask) > >> > >> +{ > >> > >> + int ret, idx; > >> > >> + struct ads1015_data *data = iio_priv(indio_dev); > >> > >> + > >> > >> + mutex_lock(&data->lock); > >> > >> + switch (mask) { > >> > >> + case IIO_CHAN_INFO_RAW: > >> > >> + if (iio_buffer_enabled(indio_dev)) { > >> > >> + ret = -EBUSY; > >> > >> + break; > >> > >> + } > >> > >> + > >> > >> + ret = ads1015_set_power_state(data, true); > >> > >> + if (ret < 0) > >> > >> + break; > >> > > > >> > > Just tested the driver on a Dragonboard 410C with a robotics mezzanine that I > >> > > designed. > >> > > > >> > > The above ads1015_set_power_state(data, true) is always returning -EINVAL. > >> > > > >> > > Any ideas why that would be happening? > >> > > I think it may be the return from pm_runtime_get_sync? > >> > > >> > Can you confirm that pm_runtime_get_sync fails? Using some printk? > >> > > >> > Also adding printks in suspend/resume function would be helpful. Do > >> > you have CONFIG_PM enabled? > >> > > >> > >> Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > > Can you check the output of: > $ cat /sys/bus/iio/devices/iio:device0/power/runtime_status > > * after insmod root@dragonboard-410c:~# cat /sys/bus/iio/devices/iio:device0/power/runtime_status unsupported > * after a reading from sysfs root@dragonboard-410c:~# cat /sys/bus/iio/devices/iio:device0/power/runtime_status unsupported > > >> > >> > > > >> > > When I comment out the break the readings come back but are not updated continually. > >> > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value is updated. > >> > > >> > I guess this is normal if set_power_state fails. > >> > >> The hwmod driver works fine BTW. > >> > >> My guess is there is an issue with the qup i2c driver seeing as it has worked on > >> other system without issue. > >> > >> CC'd some the latest developer on the qup i2c driver. > >> > >> I2C guys have any ideas on this? > >> > > > > Adding some more people who recently worked on this. Might be nice to > > know which kernel version you are using. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 10:25 ` [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support Wolfram Sang 2016-02-08 14:44 ` Daniel Baluta @ 2016-02-08 16:36 ` Michael Welling 2016-02-08 19:11 ` Sricharan 1 sibling, 1 reply; 15+ messages in thread From: Michael Welling @ 2016-02-08 16:36 UTC (permalink / raw) To: Wolfram Sang Cc: Daniel Baluta, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler, Linux Kernel Mailing List, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Lucas De Marchi, Andy Gross, Pramod Gurav, Bjorn Andersson, Guenter Roeck, eibach-dJ+jgKLZIg4, Sricharan R, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA On Mon, Feb 08, 2016 at 11:25:00AM +0100, Wolfram Sang wrote: > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > > On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > > > >> + struct iio_chan_spec const *chan, int *val, > > > >> + int *val2, long mask) > > > >> +{ > > > >> + int ret, idx; > > > >> + struct ads1015_data *data = iio_priv(indio_dev); > > > >> + > > > >> + mutex_lock(&data->lock); > > > >> + switch (mask) { > > > >> + case IIO_CHAN_INFO_RAW: > > > >> + if (iio_buffer_enabled(indio_dev)) { > > > >> + ret = -EBUSY; > > > >> + break; > > > >> + } > > > >> + > > > >> + ret = ads1015_set_power_state(data, true); > > > >> + if (ret < 0) > > > >> + break; > > > > > > > > Just tested the driver on a Dragonboard 410C with a robotics mezzanine that I > > > > designed. > > > > > > > > The above ads1015_set_power_state(data, true) is always returning -EINVAL. > > > > > > > > Any ideas why that would be happening? > > > > I think it may be the return from pm_runtime_get_sync? > > > > > > Can you confirm that pm_runtime_get_sync fails? Using some printk? > > > > > > Also adding printks in suspend/resume function would be helpful. Do > > > you have CONFIG_PM enabled? > > > > > > > Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > > > > > > > > > > When I comment out the break the readings come back but are not updated continually. > > > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value is updated. > > > > > > I guess this is normal if set_power_state fails. > > > > The hwmod driver works fine BTW. > > > > My guess is there is an issue with the qup i2c driver seeing as it has worked on > > other system without issue. > > > > CC'd some the latest developer on the qup i2c driver. > > > > I2C guys have any ideas on this? > > > > Adding some more people who recently worked on this. Might be nice to > know which kernel version you are using. > 4.5.0-rc2 > > > > > > thanks, > > > Daniel. ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 16:36 ` Michael Welling @ 2016-02-08 19:11 ` Sricharan 2016-02-08 19:16 ` Michael Welling 0 siblings, 1 reply; 15+ messages in thread From: Sricharan @ 2016-02-08 19:11 UTC (permalink / raw) To: 'Michael Welling', 'Wolfram Sang' Cc: 'Daniel Baluta', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach, linux-arm-msm Hi, > -----Original Message----- > From: Michael Welling [mailto:mwelling79@gmail.com] On Behalf Of Michael > Welling > Sent: Monday, February 08, 2016 10:07 PM > To: Wolfram Sang > Cc: Daniel Baluta; Jonathan Cameron; Hartmut Knaack; Lars-Peter Clausen; > Peter Meerwald-Stadler; Linux Kernel Mailing List; linux-iio@vger.kernel.org; > Lucas De Marchi; Andy Gross; Pramod Gurav; Bjorn Andersson; Guenter > Roeck; eibach@gdsys.de; Sricharan R; linux-arm-msm@vger.kernel.org > Subject: Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support > > On Mon, Feb 08, 2016 at 11:25:00AM +0100, Wolfram Sang wrote: > > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > > > On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > > > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > > > > >> + struct iio_chan_spec const *chan, int *val, > > > > >> + int *val2, long mask) { > > > > >> + int ret, idx; > > > > >> + struct ads1015_data *data = iio_priv(indio_dev); > > > > >> + > > > > >> + mutex_lock(&data->lock); > > > > >> + switch (mask) { > > > > >> + case IIO_CHAN_INFO_RAW: > > > > >> + if (iio_buffer_enabled(indio_dev)) { > > > > >> + ret = -EBUSY; > > > > >> + break; > > > > >> + } > > > > >> + > > > > >> + ret = ads1015_set_power_state(data, true); > > > > >> + if (ret < 0) > > > > >> + break; > > > > > > > > > > Just tested the driver on a Dragonboard 410C with a robotics > > > > > mezzanine that I designed. > > > > > > > > > > The above ads1015_set_power_state(data, true) is always returning - > EINVAL. > > > > > > > > > > Any ideas why that would be happening? > > > > > I think it may be the return from pm_runtime_get_sync? > > > > > > > > Can you confirm that pm_runtime_get_sync fails? Using some printk? > > > > > > > > Also adding printks in suspend/resume function would be helpful. > > > > Do you have CONFIG_PM enabled? > > > > > > > > > > Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > > > > > > > > > > > > > When I comment out the break the readings come back but are not > updated continually. > > > > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value is > updated. > > > > > > > > I guess this is normal if set_power_state fails. > > > > > > The hwmod driver works fine BTW. > > > > > > My guess is there is an issue with the qup i2c driver seeing as it > > > has worked on other system without issue. > > > > > > CC'd some the latest developer on the qup i2c driver. > > > > > > I2C guys have any ideas on this? > > > > > > > Adding some more people who recently worked on this. Might be nice to > > know which kernel version you are using. > > Which i2c bus is this connected to ? I can give a try with 410c to see why pm_runtime_get_sync from qup fails. Regards, Sricharan ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 19:11 ` Sricharan @ 2016-02-08 19:16 ` Michael Welling 2016-02-08 20:00 ` Wolfram Sang 2016-02-10 12:22 ` Sricharan 0 siblings, 2 replies; 15+ messages in thread From: Michael Welling @ 2016-02-08 19:16 UTC (permalink / raw) To: Sricharan Cc: 'Wolfram Sang', 'Daniel Baluta', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio-u79uwXL29TY76Z2rM5mHXA, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach-dJ+jgKLZIg4, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA On Tue, Feb 09, 2016 at 12:41:35AM +0530, Sricharan wrote: > Hi, > > > -----Original Message----- > > From: Michael Welling [mailto:mwelling79-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org] On Behalf Of Michael > > Welling > > Sent: Monday, February 08, 2016 10:07 PM > > To: Wolfram Sang > > Cc: Daniel Baluta; Jonathan Cameron; Hartmut Knaack; Lars-Peter Clausen; > > Peter Meerwald-Stadler; Linux Kernel Mailing List; > linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; > > Lucas De Marchi; Andy Gross; Pramod Gurav; Bjorn Andersson; Guenter > > Roeck; eibach-dJ+jgKLZIg4@public.gmane.org; Sricharan R; linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > > Subject: Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support > > > > On Mon, Feb 08, 2016 at 11:25:00AM +0100, Wolfram Sang wrote: > > > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > > > > On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > > > > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > > > > > >> + struct iio_chan_spec const *chan, int > *val, > > > > > >> + int *val2, long mask) { > > > > > >> + int ret, idx; > > > > > >> + struct ads1015_data *data = iio_priv(indio_dev); > > > > > >> + > > > > > >> + mutex_lock(&data->lock); > > > > > >> + switch (mask) { > > > > > >> + case IIO_CHAN_INFO_RAW: > > > > > >> + if (iio_buffer_enabled(indio_dev)) { > > > > > >> + ret = -EBUSY; > > > > > >> + break; > > > > > >> + } > > > > > >> + > > > > > >> + ret = ads1015_set_power_state(data, true); > > > > > >> + if (ret < 0) > > > > > >> + break; > > > > > > > > > > > > Just tested the driver on a Dragonboard 410C with a robotics > > > > > > mezzanine that I designed. > > > > > > > > > > > > The above ads1015_set_power_state(data, true) is always returning > - > > EINVAL. > > > > > > > > > > > > Any ideas why that would be happening? > > > > > > I think it may be the return from pm_runtime_get_sync? > > > > > > > > > > Can you confirm that pm_runtime_get_sync fails? Using some printk? > > > > > > > > > > Also adding printks in suspend/resume function would be helpful. > > > > > Do you have CONFIG_PM enabled? > > > > > > > > > > > > > Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > > > > > > > > > > > > > > > > When I comment out the break the readings come back but are not > > updated continually. > > > > > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value > is > > updated. > > > > > > > > > > I guess this is normal if set_power_state fails. > > > > > > > > The hwmod driver works fine BTW. > > > > > > > > My guess is there is an issue with the qup i2c driver seeing as it > > > > has worked on other system without issue. > > > > > > > > CC'd some the latest developer on the qup i2c driver. > > > > > > > > I2C guys have any ideas on this? > > > > > > > > > > Adding some more people who recently worked on this. Might be nice to > > > know which kernel version you are using. > > > > Which i2c bus is this connected to ? I can give a try with 410c to see why > pm_runtime_get_sync from qup > fails. It is on the lowspeed header. Here is my devicetree entry: i2c@78b6000 { /* On Low speed expansion */ label = "LS-I2C0"; status = "okay"; pca: pca@40 { compatible = "nxp,pca9685-pwm"; #pwm-cells = <2>; reg = <0x40>; }; adc: adc@48 { compatible = "ti,ads1015"; reg = <0x48>; }; }; > > Regards, > Sricharan > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 19:16 ` Michael Welling @ 2016-02-08 20:00 ` Wolfram Sang 2016-02-08 20:06 ` Michael Welling 2016-02-10 12:22 ` Sricharan 1 sibling, 1 reply; 15+ messages in thread From: Wolfram Sang @ 2016-02-08 20:00 UTC (permalink / raw) To: Michael Welling Cc: Sricharan, 'Daniel Baluta', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio-u79uwXL29TY76Z2rM5mHXA, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach-dJ+jgKLZIg4, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 680 bytes --] > > > On Mon, Feb 08, 2016 at 11:25:00AM +0100, Wolfram Sang wrote: > > > > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > > > > > On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > > > > > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > > > > > > >> + struct iio_chan_spec const *chan, int Guys, please quote only relevant sections. > pca: pca@40 { > compatible = "nxp,pca9685-pwm"; > #pwm-cells = <2>; > reg = <0x40>; > }; Does accessing the pca work? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 20:00 ` Wolfram Sang @ 2016-02-08 20:06 ` Michael Welling 0 siblings, 0 replies; 15+ messages in thread From: Michael Welling @ 2016-02-08 20:06 UTC (permalink / raw) To: Wolfram Sang Cc: Sricharan, 'Daniel Baluta', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio-u79uwXL29TY76Z2rM5mHXA, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach-dJ+jgKLZIg4, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA On Mon, Feb 08, 2016 at 09:00:27PM +0100, Wolfram Sang wrote: > > > > On Mon, Feb 08, 2016 at 11:25:00AM +0100, Wolfram Sang wrote: > > > > > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > > > > > > On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > > > > > > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > > > > > > > >> + struct iio_chan_spec const *chan, int > > Guys, please quote only relevant sections. > Sorry. > > pca: pca@40 { > > compatible = "nxp,pca9685-pwm"; > > #pwm-cells = <2>; > > reg = <0x40>; > > }; > > Does accessing the pca work? > Yes. https://plus.google.com/+MichaelWelling79/posts/PdmGysBfZp4 ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-08 19:16 ` Michael Welling 2016-02-08 20:00 ` Wolfram Sang @ 2016-02-10 12:22 ` Sricharan 2016-02-10 12:56 ` Daniel Baluta 1 sibling, 1 reply; 15+ messages in thread From: Sricharan @ 2016-02-10 12:22 UTC (permalink / raw) To: 'Michael Welling' Cc: 'Wolfram Sang', 'Daniel Baluta', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach, linux-arm-msm Hi, > -----Original Message----- > From: linux-arm-msm-owner@vger.kernel.org [mailto:linux-arm-msm- > owner@vger.kernel.org] On Behalf Of Michael Welling > Sent: Tuesday, February 09, 2016 12:47 AM > To: Sricharan > Cc: 'Wolfram Sang'; 'Daniel Baluta'; 'Jonathan Cameron'; 'Hartmut Knaack'; > 'Lars-Peter Clausen'; 'Peter Meerwald-Stadler'; 'Linux Kernel Mailing List'; > linux-iio@vger.kernel.org; 'Lucas De Marchi'; 'Andy Gross'; 'Pramod Gurav'; > 'Bjorn Andersson'; 'Guenter Roeck'; eibach@gdsys.de; linux-arm- > msm@vger.kernel.org > Subject: Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support > > On Tue, Feb 09, 2016 at 12:41:35AM +0530, Sricharan wrote: > > Hi, > > > > > -----Original Message----- > > > From: Michael Welling [mailto:mwelling79@gmail.com] On Behalf Of > > > Michael Welling > > > Sent: Monday, February 08, 2016 10:07 PM > > > To: Wolfram Sang > > > Cc: Daniel Baluta; Jonathan Cameron; Hartmut Knaack; Lars-Peter > > > Clausen; Peter Meerwald-Stadler; Linux Kernel Mailing List; > > linux-iio@vger.kernel.org; > > > Lucas De Marchi; Andy Gross; Pramod Gurav; Bjorn Andersson; Guenter > > > Roeck; eibach@gdsys.de; Sricharan R; linux-arm-msm@vger.kernel.org > > > Subject: Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support > > > > > > On Mon, Feb 08, 2016 at 11:25:00AM +0100, Wolfram Sang wrote: > > > > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote: > > > > > On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote: > > > > > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, > > > > > > >> + struct iio_chan_spec const *chan, > > > > > > >> +int > > *val, > > > > > > >> + int *val2, long mask) { > > > > > > >> + int ret, idx; > > > > > > >> + struct ads1015_data *data = iio_priv(indio_dev); > > > > > > >> + > > > > > > >> + mutex_lock(&data->lock); > > > > > > >> + switch (mask) { > > > > > > >> + case IIO_CHAN_INFO_RAW: > > > > > > >> + if (iio_buffer_enabled(indio_dev)) { > > > > > > >> + ret = -EBUSY; > > > > > > >> + break; > > > > > > >> + } > > > > > > >> + > > > > > > >> + ret = ads1015_set_power_state(data, true); > > > > > > >> + if (ret < 0) > > > > > > >> + break; > > > > > > > > > > > > > > Just tested the driver on a Dragonboard 410C with a robotics > > > > > > > mezzanine that I designed. > > > > > > > > > > > > > > The above ads1015_set_power_state(data, true) is always > > > > > > > returning > > - > > > EINVAL. > > > > > > > > > > > > > > Any ideas why that would be happening? > > > > > > > I think it may be the return from pm_runtime_get_sync? > > > > > > > > > > > > Can you confirm that pm_runtime_get_sync fails? Using some > printk? > > > > > > > > > > > > Also adding printks in suspend/resume function would be helpful. > > > > > > Do you have CONFIG_PM enabled? > > > > > > > > > > > > > > > > Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > > > > > > > > > > > > > > > > > > > When I comment out the break the readings come back but are > > > > > > > not > > > updated continually. > > > > > > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the > > > > > > > value > > is > > > updated. > > > > > > > > > > > > I guess this is normal if set_power_state fails. > > > > > > > > > > The hwmod driver works fine BTW. > > > > > > > > > > My guess is there is an issue with the qup i2c driver seeing as > > > > > it has worked on other system without issue. > > > > > > > > > > CC'd some the latest developer on the qup i2c driver. > > > > > > > > > > I2C guys have any ideas on this? > > > > > > > > > > > > > Adding some more people who recently worked on this. Might be nice > > > > to know which kernel version you are using. > > > > > > Which i2c bus is this connected to ? I can give a try with 410c to > > see why pm_runtime_get_sync from qup fails. > > It is on the lowspeed header. Here is my devicetree entry: > > i2c@78b6000 { > /* On Low speed expansion */ > label = "LS-I2C0"; > status = "okay"; > > pca: pca@40 { > compatible = "nxp,pca9685-pwm"; > #pwm-cells = <2>; > reg = <0x40>; > }; > > adc: adc@48 { > compatible = "ti,ads1015"; > reg = <0x48>; > }; > }; Whats the sequence in which the failure happens ? I tested on DB410c by adding the DT entry that you mentioned above on 4.5-rc2 and rc3. I see that the i2c transfers call from pca9685 during pca9685_pwm_probe did go through and no failure from pm_runtime_get_sync Regards, Sricharan ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-10 12:22 ` Sricharan @ 2016-02-10 12:56 ` Daniel Baluta [not found] ` <CAEnQRZCzkq5wFsS7Ydby+bsFJTbGVq=AX9TLkkhfMKOG8gAZHA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 15+ messages in thread From: Daniel Baluta @ 2016-02-10 12:56 UTC (permalink / raw) To: Sricharan Cc: Michael Welling, Wolfram Sang, Daniel Baluta, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler, Linux Kernel Mailing List, linux-iio@vger.kernel.org, Lucas De Marchi, Andy Gross, Pramod Gurav, Bjorn Andersson, Guenter Roeck, eibach, linux-arm-msm <snap headers> >> > > > > > >> +static int ads1015_read_raw(struct iio_dev *indio_dev, >> > > > > > >> + struct iio_chan_spec const *chan, >> > > > > > >> +int >> > *val, >> > > > > > >> + int *val2, long mask) { >> > > > > > >> + int ret, idx; >> > > > > > >> + struct ads1015_data *data = iio_priv(indio_dev); >> > > > > > >> + >> > > > > > >> + mutex_lock(&data->lock); >> > > > > > >> + switch (mask) { >> > > > > > >> + case IIO_CHAN_INFO_RAW: >> > > > > > >> + if (iio_buffer_enabled(indio_dev)) { >> > > > > > >> + ret = -EBUSY; >> > > > > > >> + break; >> > > > > > >> + } >> > > > > > >> + >> > > > > > >> + ret = ads1015_set_power_state(data, true); >> > > > > > >> + if (ret < 0) >> > > > > > >> + break; >> > > > > > > >> > > > > > > Just tested the driver on a Dragonboard 410C with a robotics >> > > > > > > mezzanine that I designed. >> > > > > > > >> > > > > > > The above ads1015_set_power_state(data, true) is always >> > > > > > > returning >> > - >> > > EINVAL. >> > > > > > > >> > > > > > > Any ideas why that would be happening? >> > > > > > > I think it may be the return from pm_runtime_get_sync? >> > > > > > >> > > > > > Can you confirm that pm_runtime_get_sync fails? Using some >> printk? >> > > > > > >> > > > > > Also adding printks in suspend/resume function would be helpful. >> > > > > > Do you have CONFIG_PM enabled? >> > > > > > >> > > > > >> > > > > Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. >> > > > > >> > > > > > > >> > > > > > > When I comment out the break the readings come back but are >> > > > > > > not >> > > updated continually. >> > > > > > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the >> > > > > > > value >> > is >> > > updated. >> > > > > > >> > > > > > I guess this is normal if set_power_state fails. >> > > > > >> > > > > The hwmod driver works fine BTW. >> > > > > >> > > > > My guess is there is an issue with the qup i2c driver seeing as >> > > > > it has worked on other system without issue. >> > > > > >> > > > > CC'd some the latest developer on the qup i2c driver. >> > > > > >> > > > > I2C guys have any ideas on this? >> > > > > >> > > > >> > > > Adding some more people who recently worked on this. Might be nice >> > > > to know which kernel version you are using. >> > > > >> > Which i2c bus is this connected to ? I can give a try with 410c to >> > see why pm_runtime_get_sync from qup fails. >> >> It is on the lowspeed header. Here is my devicetree entry: >> >> i2c@78b6000 { >> /* On Low speed expansion */ >> label = "LS-I2C0"; >> status = "okay"; >> >> pca: pca@40 { >> compatible = "nxp,pca9685-pwm"; >> #pwm-cells = <2>; >> reg = <0x40>; >> }; >> >> adc: adc@48 { >> compatible = "ti,ads1015"; >> reg = <0x48>; >> }; >> }; > > Whats the sequence in which the failure happens ? > > I tested on DB410c by adding the DT entry that you mentioned above on > 4.5-rc2 and rc3. > I see that the i2c transfers call from pca9685 during pca9685_pwm_probe > did > go through and no failure from pm_runtime_get_sync Hi Sricharan, Are you looking at pca9685_pwm_probe in drivers/pwm/pwm-pca9685.c right? I'm asking this because this driver doesn't seem to support runtime pm and there is no check for regmap_write/regmap_write return code in the probe function. Daniel. ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <CAEnQRZCzkq5wFsS7Ydby+bsFJTbGVq=AX9TLkkhfMKOG8gAZHA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* RE: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support [not found] ` <CAEnQRZCzkq5wFsS7Ydby+bsFJTbGVq=AX9TLkkhfMKOG8gAZHA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2016-02-10 15:09 ` Sricharan 2016-02-10 16:36 ` Michael Welling 0 siblings, 1 reply; 15+ messages in thread From: Sricharan @ 2016-02-10 15:09 UTC (permalink / raw) To: 'Daniel Baluta' Cc: 'Michael Welling', 'Wolfram Sang', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio-u79uwXL29TY76Z2rM5mHXA, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach-dJ+jgKLZIg4, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA <snip>... > >> > > > > > >> > > > > Indeed it is the pm_runtime_get_sync that fails with a -EINVAL. > >> > > > > > >> > > > > > > > >> > > > > > > When I comment out the break the readings come back but > >> > > > > > > are not > >> > > updated continually. > >> > > > > > > If I read in_voltage0-voltage1_raw then in_voltage0_raw > >> > > > > > > the value > >> > is > >> > > updated. > >> > > > > > > >> > > > > > I guess this is normal if set_power_state fails. > >> > > > > > >> > > > > The hwmod driver works fine BTW. > >> > > > > > >> > > > > My guess is there is an issue with the qup i2c driver seeing > >> > > > > as it has worked on other system without issue. > >> > > > > > >> > > > > CC'd some the latest developer on the qup i2c driver. > >> > > > > > >> > > > > I2C guys have any ideas on this? > >> > > > > > >> > > > > >> > > > Adding some more people who recently worked on this. Might be > >> > > > nice to know which kernel version you are using. > >> > > > > >> > Which i2c bus is this connected to ? I can give a try with 410c to > >> > see why pm_runtime_get_sync from qup fails. > >> > >> It is on the lowspeed header. Here is my devicetree entry: > >> > >> i2c@78b6000 { > >> /* On Low speed expansion */ > >> label = "LS-I2C0"; > >> status = "okay"; > >> > >> pca: pca@40 { > >> compatible = "nxp,pca9685-pwm"; > >> #pwm-cells = <2>; > >> reg = <0x40>; > >> }; > >> > >> adc: adc@48 { > >> compatible = "ti,ads1015"; > >> reg = <0x48>; > >> }; > >> }; > > > > Whats the sequence in which the failure happens ? > > > > I tested on DB410c by adding the DT entry that you mentioned above on > > 4.5-rc2 and rc3. > > I see that the i2c transfers call from pca9685 during > > pca9685_pwm_probe did go through and no failure from > > pm_runtime_get_sync > > Hi Sricharan, > > Are you looking at pca9685_pwm_probe in drivers/pwm/pwm-pca9685.c > right? > Yes. > I'm asking this because this driver doesn't seem to support runtime pm and > there is no check for regmap_write/regmap_write return code in the probe > function. Hmm to be clear, so it’s the pm_runtime_getsync from i2c-qup which fails right ? I was tracking that when there are i2c_xfers from pwm. I did not see any failures there. So wanted to know the correct sequence to reproduce. Regards, Sricharan ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-10 15:09 ` Sricharan @ 2016-02-10 16:36 ` Michael Welling 2016-02-17 23:53 ` Michael Welling 0 siblings, 1 reply; 15+ messages in thread From: Michael Welling @ 2016-02-10 16:36 UTC (permalink / raw) To: Sricharan Cc: 'Daniel Baluta', 'Wolfram Sang', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio-u79uwXL29TY76Z2rM5mHXA, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach-dJ+jgKLZIg4, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA On Wed, Feb 10, 2016 at 08:39:04PM +0530, Sricharan wrote: > > Hi Sricharan, > > > > Are you looking at pca9685_pwm_probe in drivers/pwm/pwm-pca9685.c > > right? > > > Yes. > > > I'm asking this because this driver doesn't seem to support runtime pm and > > there is no check for regmap_write/regmap_write return code in the probe > > function. > Hmm to be clear, so it’s the pm_runtime_getsync from i2c-qup which fails right ? > I was tracking that when there are i2c_xfers from pwm. I did not see any failures there. > So wanted to know the correct sequence to reproduce. > The problem was discovered using the patch that this thread is on. The PWM driver does not have the problem. When the driver in this patch called pm_runtime_get_sync you got -EINVAL back. > Regards, > Sricharan > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-10 16:36 ` Michael Welling @ 2016-02-17 23:53 ` Michael Welling 2016-02-18 8:45 ` Sricharan 0 siblings, 1 reply; 15+ messages in thread From: Michael Welling @ 2016-02-17 23:53 UTC (permalink / raw) To: Sricharan Cc: 'Daniel Baluta', 'Wolfram Sang', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach, linux-arm-msm On Wed, Feb 10, 2016 at 10:36:22AM -0600, Michael Welling wrote: > On Wed, Feb 10, 2016 at 08:39:04PM +0530, Sricharan wrote: > > > Hi Sricharan, > > > > > > Are you looking at pca9685_pwm_probe in drivers/pwm/pwm-pca9685.c > > > right? > > > > > Yes. > > > > > I'm asking this because this driver doesn't seem to support runtime pm and > > > there is no check for regmap_write/regmap_write return code in the probe > > > function. > > Hmm to be clear, so it’s the pm_runtime_getsync from i2c-qup which fails right ? > > I was tracking that when there are i2c_xfers from pwm. I did not see any failures there. > > So wanted to know the correct sequence to reproduce. > > > > The problem was discovered using the patch that this thread is on. The PWM driver does > not have the problem. > > When the driver in this patch called pm_runtime_get_sync you got -EINVAL back. I noticed some patches for the QUP I2C driver in linux-next so I built against it. The ADC driver now appears to work as desired. root@dragonboard-410c:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw 287 root@dragonboard-410c:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw 269 root@dragonboard-410c:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw 270 root@dragonboard-410c:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage3_raw 271 > > > Regards, > > Sricharan > > > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support 2016-02-17 23:53 ` Michael Welling @ 2016-02-18 8:45 ` Sricharan 0 siblings, 0 replies; 15+ messages in thread From: Sricharan @ 2016-02-18 8:45 UTC (permalink / raw) To: 'Michael Welling' Cc: 'Daniel Baluta', 'Wolfram Sang', 'Jonathan Cameron', 'Hartmut Knaack', 'Lars-Peter Clausen', 'Peter Meerwald-Stadler', 'Linux Kernel Mailing List', linux-iio, 'Lucas De Marchi', 'Andy Gross', 'Pramod Gurav', 'Bjorn Andersson', 'Guenter Roeck', eibach, linux-arm-msm Hi, > On Wed, Feb 10, 2016 at 10:36:22AM -0600, Michael Welling wrote: > > On Wed, Feb 10, 2016 at 08:39:04PM +0530, Sricharan wrote: > > > > Hi Sricharan, > > > > > > > > Are you looking at pca9685_pwm_probe in drivers/pwm/pwm- > pca9685.c > > > > right? > > > > > > > Yes. > > > > > > > I'm asking this because this driver doesn't seem to support > > > > runtime pm and there is no check for regmap_write/regmap_write > > > > return code in the probe function. > > > Hmm to be clear, so it’s the pm_runtime_getsync from i2c-qup which > fails right ? > > > I was tracking that when there are i2c_xfers from pwm. I did not see > any failures there. > > > So wanted to know the correct sequence to reproduce. > > > > > > > The problem was discovered using the patch that this thread is on. The > > PWM driver does not have the problem. > > > > When the driver in this patch called pm_runtime_get_sync you got -EINVAL > back. > > I noticed some patches for the QUP I2C driver in linux-next so I built against > it. > > The ADC driver now appears to work as desired. > Ok, I suppose those were changes merged last week to add qup V2 tags support, but not sure how that is helping to solve the pm_runtime issue here. Regards, Sricharan ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2016-02-18 8:45 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1454678238-16313-1-git-send-email-daniel.baluta@intel.com>
[not found] ` <20160205172457.GA16778@deathstar>
[not found] ` <CAEnQRZAjgn3Y0618MgO284DMc_9cE49b9jeUr0j2HwUK6YK+0A@mail.gmail.com>
[not found] ` <20160206003245.GA1329@deathstar>
2016-02-08 10:25 ` [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support Wolfram Sang
2016-02-08 14:44 ` Daniel Baluta
[not found] ` <CAEnQRZAQjhQRdzYUvo=aKgQScAyGUgp8Ni7nx9cEo1XhN_8Xyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-02-08 15:03 ` Daniel Baluta
2016-02-08 16:37 ` Michael Welling
2016-02-08 16:36 ` Michael Welling
2016-02-08 19:11 ` Sricharan
2016-02-08 19:16 ` Michael Welling
2016-02-08 20:00 ` Wolfram Sang
2016-02-08 20:06 ` Michael Welling
2016-02-10 12:22 ` Sricharan
2016-02-10 12:56 ` Daniel Baluta
[not found] ` <CAEnQRZCzkq5wFsS7Ydby+bsFJTbGVq=AX9TLkkhfMKOG8gAZHA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-02-10 15:09 ` Sricharan
2016-02-10 16:36 ` Michael Welling
2016-02-17 23:53 ` Michael Welling
2016-02-18 8:45 ` Sricharan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).