Skip to content

Commit 5093504

Browse files
Ayushi Makhijalumag
authored andcommitted
drm/bridge: anx7625: change the gpiod_set_value API
Use gpiod_set_value_cansleep() instead of gpiod_set_value() to fix the below call trace in the boot log: [ 5.690534] Call trace: [ 5.690536] gpiod_set_value+0x40/0xa4 [ 5.690540] anx7625_runtime_pm_resume+0xa0/0x324 [anx7625] [ 5.690545] __rpm_callback+0x48/0x1d8 [ 5.690549] rpm_callback+0x6c/0x78 Certain GPIO controllers require access via message-based buses such as I2C or SPI, which may cause the GPIOs to enter a sleep state. Therefore, use the gpiod_set_value_cansleep(). Signed-off-by: Ayushi Makhija <[email protected]> Reviewed-by: Dmitry Baryshkov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Baryshkov <[email protected]>
1 parent 366ca0b commit 5093504

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

drivers/gpu/drm/bridge/analogix/anx7625.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,10 +1257,10 @@ static void anx7625_power_on(struct anx7625_data *ctx)
12571257
usleep_range(11000, 12000);
12581258

12591259
/* Power on pin enable */
1260-
gpiod_set_value(ctx->pdata.gpio_p_on, 1);
1260+
gpiod_set_value_cansleep(ctx->pdata.gpio_p_on, 1);
12611261
usleep_range(10000, 11000);
12621262
/* Power reset pin enable */
1263-
gpiod_set_value(ctx->pdata.gpio_reset, 1);
1263+
gpiod_set_value_cansleep(ctx->pdata.gpio_reset, 1);
12641264
usleep_range(10000, 11000);
12651265

12661266
DRM_DEV_DEBUG_DRIVER(dev, "power on !\n");
@@ -1280,9 +1280,9 @@ static void anx7625_power_standby(struct anx7625_data *ctx)
12801280
return;
12811281
}
12821282

1283-
gpiod_set_value(ctx->pdata.gpio_reset, 0);
1283+
gpiod_set_value_cansleep(ctx->pdata.gpio_reset, 0);
12841284
usleep_range(1000, 1100);
1285-
gpiod_set_value(ctx->pdata.gpio_p_on, 0);
1285+
gpiod_set_value_cansleep(ctx->pdata.gpio_p_on, 0);
12861286
usleep_range(1000, 1100);
12871287

12881288
ret = regulator_bulk_disable(ARRAY_SIZE(ctx->pdata.supplies),

0 commit comments

Comments
 (0)