From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 03 Jan 2024 09:43:39 +0000
Subject: [PATCH] update kernel to 5.10.198

---
 kernel/drivers/spi/spi-rockchip-test.c |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/kernel/drivers/spi/spi-rockchip-test.c b/kernel/drivers/spi/spi-rockchip-test.c
index 544d603..f60c721 100644
--- a/kernel/drivers/spi/spi-rockchip-test.c
+++ b/kernel/drivers/spi/spi-rockchip-test.c
@@ -110,8 +110,8 @@
 	return ret;
 }
 
-int spi_write_then_read_slt(int id, const void *txbuf, unsigned n_tx,
-		void *rxbuf, unsigned n_rx)
+int spi_write_then_read_slt(int id, const void *txbuf, unsigned int n_tx,
+		void *rxbuf, unsigned int n_rx)
 {
 	int ret = -1;
 	struct spi_device *spi = NULL;
@@ -301,14 +301,21 @@
 		kfree(txbuf);
 		kfree(rxbuf);
 	} else if (!strcmp(cmd, "config")) {
-		int width;
+		int width, mode;
 
-		sscanf(argv[0], "%d", &width);
+		sscanf(argv[0], "%d", &id);
+		sscanf(argv[1], "%d", &width);
+		sscanf(argv[2], "mode=0x%x", &mode);
 
 		if (width == 16)
 			bit_per_word = 16;
 		else
 			bit_per_word = 8;
+
+		if (mode) {
+			g_spi_test_data[id]->spi->mode = mode;
+			spi_setup(g_spi_test_data[id]->spi);
+		}
 	} else {
 		printk("echo id number size > /dev/spi_misc_test\n");
 		printk("echo write 0 10 255 > /dev/spi_misc_test\n");
@@ -316,7 +323,7 @@
 		printk("echo read 0 10 255 > /dev/spi_misc_test\n");
 		printk("echo loop 0 10 255 > /dev/spi_misc_test\n");
 		printk("echo setspeed 0 1000000 > /dev/spi_misc_test\n");
-		printk("echo config 8 > /dev/spi_misc_test\n");
+		printk("echo config 0 8 mode=0xb > /dev/spi_misc_test\n");
 	}
 
 	return n;

--
Gitblit v1.6.2