Messages in this thread | | | Subject | Re: [PATCH 1/5] hwmon: (tmp102) Use devm_add_action to register cleanup function | From | Nishanth Menon <> | Date | Fri, 24 Jun 2016 10:23:10 -0500 |
| |
On 06/24/2016 09:54 AM, Guenter Roeck wrote: > On 06/24/2016 07:30 AM, Guenter Roeck wrote: >> Hi Nishanth, >> >> On 06/24/2016 07:13 AM, Nishanth Menon wrote: >>> On 06/23/2016 07:28 PM, Guenter Roeck wrote: >>>> By registering a cleanup function with devm_add_action(), we can >>>> simplify the error path in the probe function and drop the remove >>>> function entirely. >>>> >>>> Signed-off-by: Guenter Roeck <linux@roeck-us.net> >>> >>> I dont seem to have a cover letter to reply to... but anyways.. >>> >>> Before: http://pastebin.ubuntu.com/17801376/ >>> After all 5 patches: http://pastebin.ubuntu.com/17801824/ >>> >>> Fails on beagleboard-X15 with: >>> [ 36.781509] tmp102 0-0048: No cache defaults, reading back from HW >>> [ 36.795940] tmp102 0-0048: unexpected config register value >>> >>> I have'nt bisected down on the specific patch in the series. Have you had a chance to test the series? >>> >>> >> >> Thanks for testing. Yes, I did test it. Maybe different chip revisions, or different >> initial config register values and I messed up there. Can you send me the output >> of i2cdump (word wide) ? >> > > Before 5 patches: >> # i2cdump -f 0 0x48 w >> 0,8 1,9 2,a 3,b 4,c 5,d 6,e 7,f >> 00: 7912 b062 004b 0050 c018 e006 0000 0000 >> 08: 7912 b062 004b 0050 c018 e006 0000 0000 >> 10: 7912 b062 004b 0050 c018 e006 0000 0000 >> 18: 7912 b062 004b 0050 c018 e006 0000 0000 >> 20: 7912 b062 004b 0050 c018 e006 0000 0000 >> 28: 7912 b062 004b 0050 c018 e006 0000 0000 >> 30: 7912 b062 004b 0050 c018 e006 0000 0000 >> 38: 7912 b062 004b 0050 c018 e006 0000 0000 >> 40: 7912 b062 004b 0050 c018 e006 0000 0000 >> 48: 7912 b062 004b 0050 c018 e006 0000 0000 >> 50: 7912 b062 004b 0050 c018 e006 0000 0000 >> 58: 7912 b062 004b 0050 c018 e006 0000 0000 >> 60: 7912 b062 004b 0050 c018 e006 0000 0000 >> 68: 7912 b062 004b 0050 c018 e006 0000 0000 >> 70: 7912 b062 004b 0050 c018 e006 0000 0000 >> 78: 7912 b062 004b 0050 c018 e006 0000 0000 >> 80: 7912 b062 004b 0050 c018 e006 0000 0000 >> 88: 7912 b062 004b 0050 c018 e006 0000 0000 >> 90: 7912 b062 004b 0050 c018 e006 0000 0000 >> 98: 7912 b062 004b 0050 c018 e006 0000 0000 >> a0: 7912 b062 004b 0050 c018 e006 0000 0000 >> a8: 7912 b062 004b 0050 c018 e006 0000 0000 >> b0: 7912 b062 004b 0050 c018 e006 0000 0000 >> b8: 7912 b062 004b 0050 c018 e006 0000 0000 >> c0: 7912 b062 004b 0050 c018 e006 0000 0000 >> c8: 7912 b062 004b 0050 c018 e006 0000 0000 >> d0: 7912 b062 004b 0050 c018 e006 0000 0000 >> d8: 7912 b062 004b 0050 c018 e006 0000 0000 >> e0: 7912 b062 004b 0050 c018 e006 0000 0000 >> e8: 7912 b062 004b 0050 c018 e006 0000 0000 >> f0: 7912 b062 004b 0050 c018 e006 0000 0000 >> f8: 7912 b062 004b 0050 c018 e006 0000 0000 > > After 5 patches: >> i2cdump -y 0 0x48 w >> 0,8 1,9 2,a 3,b 4,c 5,d 6,e 7,f >> 00: 5024 a060 004b 0050 c018 e006 0000 0000 >> 08: 5024 a060 004b 0050 c018 e006 0000 0000 >> 10: 5024 a060 004b 0050 c018 e006 0000 0000 >> 18: 5024 a060 004b 0050 c018 e006 0000 0000 >> 20: 5024 a060 004b 0050 c018 e006 0000 0000 >> 28: 5024 a060 004b 0050 c018 e006 0000 0000 >> 30: 5024 a060 004b 0050 c018 e006 0000 0000 >> 38: 5024 a060 004b 0050 c018 e006 0000 0000 >> 40: 5024 a060 004b 0050 c018 e006 0000 0000 >> 48: 5024 a060 004b 0050 c018 e006 0000 0000 >> 50: 5024 a060 004b 0050 c018 e006 0000 0000 >> 58: 5024 a060 004b 0050 c018 e006 0000 0000 >> 60: 5024 a060 004b 0050 c018 e006 0000 0000 >> 68: 5024 a060 004b 0050 c018 e006 0000 0000 >> 70: 5024 a060 004b 0050 c018 e006 0000 0000 >> 78: 5024 a060 004b 0050 c018 e006 0000 0000 >> 80: 5024 a060 004b 0050 c018 e006 0000 0000 >> 88: 5024 a060 004b 0050 c018 e006 0000 0000 >> 90: 5024 a060 004b 0050 c018 e006 0000 0000 >> 98: 5024 a060 004b 0050 c018 e006 0000 0000 >> a0: 5024 a060 004b 0050 c018 e006 0000 0000 >> a8: 5024 a060 004b 0050 c018 e006 0000 0000 >> b0: 5024 a060 004b 0050 c018 e006 0000 0000 >> b8: 5024 a060 004b 0050 c018 e006 0000 0000 >> c0: 5024 a060 004b 0050 c018 e006 0000 0000 >> c8: 5024 a060 004b 0050 c018 e006 0000 0000 >> d0: 5024 a060 004b 0050 c018 e006 0000 0000 >> d8: 5024 a060 004b 0050 c018 e006 0000 0000 >> e0: 5024 a060 004b 0050 c018 e006 0000 0000 >> e8: 5024 a060 004b 0050 c018 e006 0000 0000 >> f0: 5024 a060 004b 0050 c018 e006 0000 0000 >> f8: 5024 a060 004b 0050 c018 e006 0000 0000 >
> Also, beagleboard uses the omap i2c controller, correct ? I'll have to check > if regmap handles endianness conversion properly for controllers supporting > I2C_FUNC_I2C. If some other i2c controller is used, please let me know (or > sene me the output of i2cdetect -l). Recent kernels have a bug in regmap > which affects chips with 16-bit registers if I2C_FUNC_I2C is not supported. > > Maybe I should get a beagleboard. The X15 isn't available yet, though. Do the > available boards (eg Rev C) use the same i2c controller ?
yeah there are variants of omap-i2c controllers, but basically they work in the same way.
I can try and debug the series once I get some spare time, might be over the weekend or next week. -- Regards, Nishanth Menon
| |