diff options
| -rw-r--r-- | drivers/gpu/drm/sun4i/sun8i_tcon_top.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c index fc36e0c10a37..b1e7c76e9c17 100644 --- a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c +++ b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c | |||
| @@ -227,7 +227,7 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master, | |||
| 227 | 227 | ||
| 228 | err_unregister_gates: | 228 | err_unregister_gates: |
| 229 | for (i = 0; i < CLK_NUM; i++) | 229 | for (i = 0; i < CLK_NUM; i++) |
| 230 | if (clk_data->hws[i]) | 230 | if (!IS_ERR_OR_NULL(clk_data->hws[i])) |
| 231 | clk_hw_unregister_gate(clk_data->hws[i]); | 231 | clk_hw_unregister_gate(clk_data->hws[i]); |
| 232 | clk_disable_unprepare(tcon_top->bus); | 232 | clk_disable_unprepare(tcon_top->bus); |
| 233 | err_assert_reset: | 233 | err_assert_reset: |
| @@ -245,7 +245,8 @@ static void sun8i_tcon_top_unbind(struct device *dev, struct device *master, | |||
| 245 | 245 | ||
| 246 | of_clk_del_provider(dev->of_node); | 246 | of_clk_del_provider(dev->of_node); |
| 247 | for (i = 0; i < CLK_NUM; i++) | 247 | for (i = 0; i < CLK_NUM; i++) |
| 248 | clk_hw_unregister_gate(clk_data->hws[i]); | 248 | if (clk_data->hws[i]) |
| 249 | clk_hw_unregister_gate(clk_data->hws[i]); | ||
| 249 | 250 | ||
| 250 | clk_disable_unprepare(tcon_top->bus); | 251 | clk_disable_unprepare(tcon_top->bus); |
| 251 | reset_control_assert(tcon_top->rst); | 252 | reset_control_assert(tcon_top->rst); |
