media: i2c: ar0521: Use cansleep version of gpiod_set_value()
If we use GPIO reset from I2C port expander, we must use *_cansleep()
variant of GPIO functions.
This was not done in ar0521_power_on()/ar0521_power_off() functions.
Let's fix that.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 11 at drivers/gpio/gpiolib.c:3496 gpiod_set_value+0x74/0x7c
Modules linked in:
CPU: 0 PID: 11 Comm: kworker/u16:0 Not tainted 6.10.0 #53
Hardware name: Diasom DS-RK3568-SOM-EVB (DT)
Workqueue: events_unbound deferred_probe_work_func
pstate:
80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : gpiod_set_value+0x74/0x7c
lr : ar0521_power_on+0xcc/0x290
sp :
ffffff8001d7ab70
x29:
ffffff8001d7ab70 x28:
ffffff80027dcc90 x27:
ffffff8003c82000
x26:
ffffff8003ca9250 x25:
ffffffc080a39c60 x24:
ffffff8003ca9088
x23:
ffffff8002402720 x22:
ffffff8003ca9080 x21:
ffffff8003ca9088
x20:
0000000000000000 x19:
ffffff8001eb2a00 x18:
ffffff80efeeac80
x17:
756d2d6332692f30 x16:
0000000000000000 x15:
0000000000000000
x14:
ffffff8001d91d40 x13:
0000000000000016 x12:
ffffffc080e98930
x11:
ffffff8001eb2880 x10:
0000000000000890 x9 :
ffffff8001d7a9f0
x8 :
ffffff8001d92570 x7 :
ffffff80efeeac80 x6 :
000000003fc6e780
x5 :
ffffff8001d91c80 x4 :
0000000000000002 x3 :
0000000000000000
x2 :
0000000000000000 x1 :
0000000000000000 x0 :
0000000000000001
Call trace:
gpiod_set_value+0x74/0x7c
ar0521_power_on+0xcc/0x290
...
Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
Fixes: 852b50aeed15 ("media: On Semi AR0521 sensor driver")
Cc: stable@vger.kernel.org
Acked-by: Krzysztof HaĆasa <khalasa@piap.pl>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>