On Mon, Jan 15, 2018 at 02:58:21PM +0100, Marek Szyprowski wrote: > Initialize data->config_lock mutex before it is used by the driver code. > > This fixes following warning on Odroid XU3 boards: > > INFO: trying to register non-static key. > the code is fine but needs lockdep annotation. > turning off the locking correctness validator. > CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180115-00001-gb75575dee3f2 #107 > Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [<c0111504>] (unwind_backtrace) from [<c010dbec>] (show_stack+0x10/0x14) > [<c010dbec>] (show_stack) from [<c09b3f74>] (dump_stack+0x90/0xc8) > [<c09b3f74>] (dump_stack) from [<c0179528>] (register_lock_class+0x1c0/0x59c) > [<c0179528>] (register_lock_class) from [<c017bd1c>] (__lock_acquire+0x78/0x1850) > [<c017bd1c>] (__lock_acquire) from [<c017de30>] (lock_acquire+0xc8/0x2b8) > [<c017de30>] (lock_acquire) from [<c09ca59c>] (__mutex_lock+0x60/0xa0c) > [<c09ca59c>] (__mutex_lock) from [<c09cafd0>] (mutex_lock_nested+0x1c/0x24) > [<c09cafd0>] (mutex_lock_nested) from [<c068b0d0>] (ina2xx_set_shunt+0x70/0xb0) > [<c068b0d0>] (ina2xx_set_shunt) from [<c068b218>] (ina2xx_probe+0x88/0x1b0) > [<c068b218>] (ina2xx_probe) from [<c0673d90>] (i2c_device_probe+0x1e0/0x2d0) > [<c0673d90>] (i2c_device_probe) from [<c053a268>] (driver_probe_device+0x2b8/0x4a0) > [<c053a268>] (driver_probe_device) from [<c053a54c>] (__driver_attach+0xfc/0x120) > [<c053a54c>] (__driver_attach) from [<c05384cc>] (bus_for_each_dev+0x58/0x7c) > [<c05384cc>] (bus_for_each_dev) from [<c0539590>] (bus_add_driver+0x174/0x250) > [<c0539590>] (bus_add_driver) from [<c053b5e0>] (driver_register+0x78/0xf4) > [<c053b5e0>] (driver_register) from [<c0675ef0>] (i2c_register_driver+0x38/0xa8) > [<c0675ef0>] (i2c_register_driver) from [<c0102b40>] (do_one_initcall+0x48/0x18c) > [<c0102b40>] (do_one_initcall) from [<c0e00df0>] (kernel_init_freeable+0x110/0x1d4) > [<c0e00df0>] (kernel_init_freeable) from [<c09c8120>] (kernel_init+0x8/0x114) > [<c09c8120>] (kernel_init) from [<c01010b4>] (ret_from_fork+0x14/0x20) > > Fixes: 5d389b125186 ("hwmon: (ina2xx) Make calibration register value fixed") > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Applied. Thanks, Guenter > --- > drivers/hwmon/ina2xx.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c > index e362a932fe8c..e9e6aeabbf84 100644 > --- a/drivers/hwmon/ina2xx.c > +++ b/drivers/hwmon/ina2xx.c > @@ -454,6 +454,7 @@ static int ina2xx_probe(struct i2c_client *client, > > /* set the device type */ > data->config = &ina2xx_config[chip]; > + mutex_init(&data->config_lock); > > if (of_property_read_u32(dev->of_node, "shunt-resistor", &val) < 0) { > struct ina2xx_platform_data *pdata = dev_get_platdata(dev); > @@ -480,8 +481,6 @@ static int ina2xx_probe(struct i2c_client *client, > return -ENODEV; > } > > - mutex_init(&data->config_lock); > - > data->groups[group++] = &ina2xx_group; > if (id->driver_data == ina226) > data->groups[group++] = &ina226_group; -- To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html