On Fri, Feb 28, 2014 at 10:13 PM, Belisko Marek <marek.beli...@gmail.com> wrote: > On Fri, Feb 28, 2014 at 10:08 PM, Sebastian Reichel <s...@debian.org> wrote: >> On Fri, Feb 28, 2014 at 09:32:12PM +0100, Belisko Marek wrote: >>> On Fri, Feb 28, 2014 at 3:05 AM, Sebastian Reichel <s...@debian.org> wrote: >>> > On Thu, Feb 27, 2014 at 10:34:35PM +0100, Belisko Marek wrote: >>> >> Well I've tried and it's worse :). I got during booting: >>> >> [ 2.218383] ERROR: could not get IIO channel /battery:temp(0) >>> >> [ 2.224639] platform battery.4: Driver twl4030_madc_battery >>> >> requests probe deferral >>> >> Not sure if it's just error or warning but temp is always reported as >>> >> 0 (and also other values in sysfs). >>> > >>> > This is an error, which basically means, that twl4030-madc has not >>> > yet been loaded. Do you get proper values when you use the old madc >>> > API with the patchset applied? >>> >>> It works without converting to iio consumer (at least I get some >>> reasonable values). With conversion it fails with above error. I >>> recheck (add printk to iio twl4030-madc) that madc driver is >>> loaded. Could this be that twl4030_madc_battery is loaded earlier >>> then twl4030_madc and than it fails to get iio channels? >> >> The error above implies, that twl4030-madc has not been loaded when >> twl4030-madc-battery was loaded. This iio_channel_get() fails and >> returns -EPROBE_DEFER. This results in twl4030-madc-battery probe >> function returning -EPROBE_DEFER. Thus you can simply ignore the >> error if the twl4030-madc-battery driver is loaded later. >> >> I guess the easiest way to debug the problem is adding some >> dev_dbg() at the start of twl4030_madc_conversion(), which >> prints out the entries of twl4030_madc_request. Currently >> the IIO API simply calls twl4030_madc_request(), so you >> should be able to find out the difference. > OK I'll try to debug it deeper. Seems I found issue. I have missing property ti,system-uses-second-madc-irq as original twl4030_madc_battery used SW2 but this change doesn't fix completely the problem. What it fixed completely is change: - req.raw = !(mask == IIO_CHAN_INFO_PROCESSED); + req.raw = 0;//!(mask == IIO_CHAN_INFO_PROCESSED);
>> >> Also: Can you post you DTS? I use the following for Nokia N900: >> >> / { >> battery: n900-battery { >> compatible = "nokia,n900-battery"; >> io-channels = <&twl_madc 0>, <&twl_madc 4>, <&twl_madc 12>; >> io-channel-names = "temp", "bsi", "vbat"; >> }; >> }; >> >> &twl { >> twl_madc: madc { >> compatible = "ti,twl4030-madc"; >> interrupts = <3>; >> #io-channel-cells = <1>; >> }; >> }; > I put twl_madc property to twl4030.dtsi as following: > twl_madc: madc { > compatible = "ti,twl4030-madc"; > interrupts = <3>; > #io-channel-cells = <1>; > }; > > and node for battery is: > battery { > compatible = "ti,twl4030-madc-battery"; > capacity = <1200000>; > charging-calibration-data = <4200 100 > 4100 75 > 4000 55 > 3900 25 > 3800 5 > 3700 2 > 3600 1 > 3300 0>; > discharging-calibration-data = <4200 100 > 4100 95 > 4000 70 > 3800 50 > 3700 10 > 3600 5 > 3300 0>; > io-channels = <&twl_madc 1>, > <&twl_madc 10>, > <&twl_madc 12>; > io-channel-names = "temp", > "ichg", > "vbat"; > }; >> >> -- Sebastian > > BR, > > marek > > -- > as simple and primitive as possible > ------------------------------------------------- > Marek Belisko - OPEN-NANDRA > Freelance Developer > > Ruska Nova Ves 219 | Presov, 08005 Slovak Republic > Tel: +421 915 052 184 > skype: marekwhite > twitter: #opennandra > web: http://open-nandra.com BR, marek -- as simple and primitive as possible ------------------------------------------------- Marek Belisko - OPEN-NANDRA Freelance Developer Ruska Nova Ves 219 | Presov, 08005 Slovak Republic Tel: +421 915 052 184 skype: marekwhite twitter: #opennandra web: http://open-nandra.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/