On Fri, Feb 28, 2014 at 09:32:12PM +0100, Belisko Marek wrote: > On Fri, Feb 28, 2014 at 3:05 AM, Sebastian Reichel <[email protected]> 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.
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>;
};
};
-- Sebastian
signature.asc
Description: Digital signature

