From 313d899ea76a728046c194ded35c2d20909cb707 Mon Sep 17 00:00:00 2001
From: huangcm <1263938474@qq.com>
Date: Mon, 10 Mar 2025 02:49:38 +0000
Subject: [PATCH] fix(touchscreen): fix ft8756 .i to .h

---
 longan/kernel/linux-4.9/drivers/rtc/rtc-hym8563.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/longan/kernel/linux-4.9/drivers/rtc/rtc-hym8563.c b/longan/kernel/linux-4.9/drivers/rtc/rtc-hym8563.c
index e5ad527..db5f872 100644
--- a/longan/kernel/linux-4.9/drivers/rtc/rtc-hym8563.c
+++ b/longan/kernel/linux-4.9/drivers/rtc/rtc-hym8563.c
@@ -438,10 +438,10 @@
 {
 	struct hym8563 *hym8563 = (struct hym8563 *)dev_id;
 	struct i2c_client *client = hym8563->client;
-	struct mutex *lock = &hym8563->rtc->ops_lock;
+	//struct mutex *lock = &hym8563->rtc->ops_lock;
 	int data, ret;
 
-	mutex_lock(lock);
+	//mutex_lock(lock);
 
 	/* Clear the alarm flag */
 
@@ -461,7 +461,7 @@
 	}
 
 out:
-	mutex_unlock(lock);
+	//mutex_unlock(lock);
 	return IRQ_HANDLED;
 }
 
@@ -529,7 +529,13 @@
 {
 	struct hym8563 *hym8563;
 	int ret;
-
+	struct rtc_time tm = {
+		.tm_year = 2024 - 1900,
+		.tm_mon = 7,
+		.tm_mday = 23,
+		.tm_wday = 5,
+		.tm_hour = 13,
+	};
 	hym8563 = devm_kzalloc(&client->dev, sizeof(*hym8563), GFP_KERNEL);
 	if (!hym8563)
 		return -ENOMEM;
@@ -565,6 +571,10 @@
 	hym8563->valid = !(ret & HYM8563_SEC_VL);
 	dev_dbg(&client->dev, "rtc information is %s\n",
 		hym8563->valid ? "valid" : "invalid");
+	if (!hym8563->valid) {
+		dev_err(&client->dev, "rtc use default time !!!\n");
+		hym8563_rtc_set_time(&client->dev, &tm);
+	}
 
 	hym8563->rtc = devm_rtc_device_register(&client->dev, client->name,
 						&hym8563_rtc_ops, THIS_MODULE);

--
Gitblit v1.6.2