Commit 19576646 authored by Martin Kepplinger's avatar Martin Kepplinger
Browse files

drm/panel: mantix: remove shutdown callback

For Linux v5.18-rc1 and later, the below regulator underflows happen
when shutting down. Remove the shutdown callback from the driver to fix
this.

[ 1584.383268] ------------[ cut here ]------------
[ 1584.388285] unbalanced disables for LCD_AVEE
[ 1584.392955] WARNING: CPU: 2 PID: 1 at drivers/regulator/core.c:2852 _regulator_disable+0xdc/0x194
[ 1584.619168] Call trace:
[ 1584.621656]  _regulator_disable+0xdc/0x194
[ 1584.625797]  regulator_disable+0x48/0x8c
[ 1584.629733]  mantix_unprepare+0x50/0x94
[ 1584.633637]  drm_panel_unprepare+0x34/0x50
[ 1584.637794]  mantix_shutdown+0x2c/0x44
[ 1584.641579]  mipi_dsi_drv_shutdown+0x2c/0x40
[ 1584.645895]  device_shutdown+0x160/0x340
[ 1584.649881]  __do_sys_reboot+0x1d8/0x25c
[ 1584.653865]  __arm64_sys_reboot+0x30/0x40
[ 1584.657937]  invoke_syscall+0x50/0x120
[ 1584.661723]  el0_svc_common.constprop.0+0x4c/0xf4
[ 1584.666494]  do_el0_svc+0x28/0x3c
[ 1584.669818]  el0_svc+0x2c/0x84
[ 1584.672965]  el0t_64_sync_handler+0x1a4/0x1b0
[ 1584.677331]  el0t_64_sync+0x18c/0x190
[ 1584.681072] ---[ end trace 0000000000000000 ]---
[ 1584.685990] ------------[ cut here ]------------
[ 1584.690650] unbalanced disables for LCD_AVDD
[ 1584.694990] WARNING: CPU: 2 PID: 1 at drivers/regulator/core.c:2852 _regulator_disable+0xdc/0x194
[ 1584.920444] Call trace:
[ 1584.922922]  _regulator_disable+0xdc/0x194
[ 1584.927054]  regulator_disable+0x48/0x8c
[ 1584.931013]  mantix_unprepare+0x58/0x94
[ 1584.934912]  drm_panel_unprepare+0x34/0x50
[ 1584.939021]  mantix_shutdown+0x2c/0x44
[ 1584.942806]  mipi_dsi_drv_shutdown+0x2c/0x40
[ 1584.947112]  device_shutdown+0x160/0x340
[ 1584.951070]  __do_sys_reboot+0x1d8/0x25c
[ 1584.955029]  __arm64_sys_reboot+0x30/0x40
[ 1584.959072]  invoke_syscall+0x50/0x120
[ 1584.962859]  el0_svc_common.constprop.0+0x4c/0xf4
[ 1584.967627]  do_el0_svc+0x28/0x3c
[ 1584.970952]  el0_svc+0x2c/0x84
[ 1584.974042]  el0t_64_sync_handler+0x1a4/0x1b0
[ 1584.978433]  el0t_64_sync+0x18c/0x190
[ 1584.982130] ---[ end trace 0000000000000000 ]---
[ 1584.993964] LCD_1V8: Underflow of regulator enable count
parent 105ed8fc
Pipeline #76170 passed with stage
in 155 minutes and 42 seconds
......@@ -340,19 +340,12 @@ static int mantix_probe(struct mipi_dsi_device *dsi)
return 0;
}
static void mantix_shutdown(struct mipi_dsi_device *dsi)
static int mantix_remove(struct mipi_dsi_device *dsi)
{
struct mantix *ctx = mipi_dsi_get_drvdata(dsi);
drm_panel_unprepare(&ctx->panel);
drm_panel_disable(&ctx->panel);
}
static int mantix_remove(struct mipi_dsi_device *dsi)
{
struct mantix *ctx = mipi_dsi_get_drvdata(dsi);
mantix_shutdown(dsi);
mipi_dsi_detach(dsi);
drm_panel_remove(&ctx->panel);
......@@ -370,7 +363,6 @@ MODULE_DEVICE_TABLE(of, mantix_of_match);
static struct mipi_dsi_driver mantix_driver = {
.probe = mantix_probe,
.remove = mantix_remove,
.shutdown = mantix_shutdown,
.driver = {
.name = DRV_NAME,
.of_match_table = mantix_of_match,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment