From 266aa947bf9e6eeeb3fcb01b3386a199a46ce602 Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Wed, 17 Jan 2024 17:24:29 +0800 Subject: [PATCH] misc: rk628: Compatible with both kernel-5.10 and kernel-6.1 Signed-off-by: Algea Cao Change-Id: Ib170fb0b1a03a211564c88aaad62aa6adf2dd1b1 --- drivers/misc/rk628/rk628.c | 7 ++++++- drivers/misc/rk628/rk628_hdmitx.c | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/misc/rk628/rk628.c b/drivers/misc/rk628/rk628.c index 551a779c2acb..4cbba8aa6cda 100644 --- a/drivers/misc/rk628/rk628.c +++ b/drivers/misc/rk628/rk628.c @@ -1528,7 +1528,11 @@ err_clk: return ret; } +#if KERNEL_VERSION(6, 1, 0) <= LINUX_VERSION_CODE +static void rk628_i2c_remove(struct i2c_client *client) +#else static int rk628_i2c_remove(struct i2c_client *client) +#endif { struct rk628 *rk628 = i2c_get_clientdata(client); struct device *dev = &client->dev; @@ -1548,8 +1552,9 @@ static int rk628_i2c_remove(struct i2c_client *client) destroy_workqueue(rk628->monitor_wq); pm_runtime_disable(dev); clk_disable_unprepare(rk628->soc_24M); - +#if KERNEL_VERSION(6, 1, 0) > LINUX_VERSION_CODE return 0; +#endif } #ifndef CONFIG_FB diff --git a/drivers/misc/rk628/rk628_hdmitx.c b/drivers/misc/rk628/rk628_hdmitx.c index dbb4b0243707..8a9a6cf1c139 100644 --- a/drivers/misc/rk628/rk628_hdmitx.c +++ b/drivers/misc/rk628/rk628_hdmitx.c @@ -611,7 +611,12 @@ static int rk628_hdmi_connector_get_modes(struct drm_connector *connector) ret = rockchip_drm_add_modes_noedid(connector); +#if KERNEL_VERSION(5, 18, 0) <= LINUX_VERSION_CODE + info->edid_hdmi_ycbcr444_dc_modes = 0; + info->edid_hdmi_rgb444_dc_modes = 0; +#else info->edid_hdmi_dc_modes = 0; +#endif info->hdmi.y420_dc_modes = 0; info->color_formats = 0;