Browse Source

touch: fix compilation errors in touch drivers

Change fixes compilation issues seen due kernel upgrade in touch driver
files with maintaining the backward compatability.

Change-Id: Iaa49186bd2c895850bc0349ccb695a2069cece84
Signed-off-by: Simranjeet Thind<[email protected]>
Simranjeet Thind 2 years ago
parent
commit
8664f210f6

+ 11 - 3
goodix_berlin_driver/goodix_brl_spi.c

@@ -17,6 +17,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/spi/spi.h>
+#include <linux/version.h>
 
 #include "goodix_ts_core.h"
 #define TS_DRIVER_NAME		"gtx8_spi"
@@ -263,11 +264,18 @@ err_pdev:
 	return ret;
 }
 
-static int goodix_spi_remove(struct spi_device *spi)
-{
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
+	static void goodix_spi_remove(struct spi_device *spi)
+	{
+	platform_device_unregister(goodix_pdev);
+	}
+#else
+	static int goodix_spi_remove(struct spi_device *spi)
+	{
 	platform_device_unregister(goodix_pdev);
 	return 0;
-}
+	}
+#endif
 
 #ifdef CONFIG_OF
 static const struct of_device_id spi_matchs[] = {

+ 6 - 1
goodix_berlin_driver/goodix_ts_core.c

@@ -876,8 +876,13 @@ exit:
 
 static int rawdata_proc_open(struct inode *inode, struct file *file)
 {
-	return single_open_size(file, rawdata_proc_show,
+	#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
+		return single_open_size(file, rawdata_proc_show,
+			pde_data(inode), PAGE_SIZE * 10);
+	#else
+		return single_open_size(file, rawdata_proc_show,
 			PDE_DATA(inode), PAGE_SIZE * 10);
+	#endif
 }
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0))

+ 8 - 1
qts/qts_core.c

@@ -674,6 +674,7 @@ static void qts_trusted_touch_abort_tvm(struct qts_data *qts_data)
 	switch (vm_state) {
 	case TVM_INTERRUPT_ENABLED:
 		qts_irq_enable(qts_data, false);
+		fallthrough;
 	case TVM_IRQ_ACCEPTED:
 	case TVM_INTERRUPT_DISABLED:
 		rc = gh_irq_release(qts_data->vm_info->irq_label);
@@ -682,6 +683,7 @@ static void qts_trusted_touch_abort_tvm(struct qts_data *qts_data)
 		rc = gh_irq_release_notify(qts_data->vm_info->irq_label);
 		if (rc)
 			pr_err("Failed to notify irq release rc:%d\n", rc);
+		fallthrough;
 	case TVM_I2C_SESSION_ACQUIRED:
 	case TVM_IOMEM_ACCEPTED:
 	case TVM_IRQ_RELEASED:
@@ -689,10 +691,12 @@ static void qts_trusted_touch_abort_tvm(struct qts_data *qts_data)
 			pm_runtime_put_sync(qts_data->client->adapter->dev.parent);
 		else
 			pm_runtime_put_sync(qts_data->spi->master->dev.parent);
+		fallthrough;
 	case TVM_I2C_SESSION_RELEASED:
 		rc = qts_vm_mem_release(qts_data);
 		if (rc)
 			pr_err("Failed to release mem rc:%d\n", rc);
+		fallthrough;
 	case TVM_IOMEM_RELEASED:
 	case TVM_ALL_RESOURCES_LENT_NOTIFIED:
 	case TRUSTED_TOUCH_TVM_INIT:
@@ -730,6 +734,7 @@ static void qts_trusted_touch_abort_pvm(struct qts_data *qts_data)
 			pr_err("failed to reclaim irq on pvm rc:%d\n", rc);
 			return;
 		}
+		fallthrough;
 	case PVM_IRQ_RECLAIMED:
 	case PVM_IOMEM_LENT:
 	case PVM_IOMEM_LENT_NOTIFIED:
@@ -741,13 +746,16 @@ static void qts_trusted_touch_abort_pvm(struct qts_data *qts_data)
 			return;
 		}
 		qts_data->vm_info->vm_mem_handle = 0;
+		fallthrough;
 	case PVM_IOMEM_RECLAIMED:
 	case PVM_INTERRUPT_DISABLED:
 		if (qts_data->vendor_ops.enable_touch_irq)
 			qts_data->vendor_ops.enable_touch_irq(qts_data->vendor_data, true);
+		fallthrough;
 	case PVM_I2C_RESOURCE_ACQUIRED:
 	case PVM_INTERRUPT_ENABLED:
 		qts_bus_put(qts_data);
+		fallthrough;
 	case TRUSTED_TOUCH_PVM_INIT:
 	case PVM_I2C_RESOURCE_RELEASED:
 		atomic_set(&qts_data->trusted_touch_enabled, 0);
@@ -1777,4 +1785,3 @@ qts_register_end:
 	return rc;
 }
 EXPORT_SYMBOL(qts_client_register);
-

+ 1 - 0
synaptics_tcm/synaptics_tcm_core.c

@@ -1238,6 +1238,7 @@ retry:
 		case STATUS_CONTINUED_READ:
 			LOGD(tcm_hcd->pdev->dev.parent,
 					"Out-of-sync continued read\n");
+			fallthrough;
 		case STATUS_IDLE:
 		case STATUS_BUSY:
 			tcm_hcd->payload_length = 0;