X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch;fp=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch;h=0000000000000000000000000000000000000000;hp=bb6afe328c0280e33ac9edec7482ae09d2039905;hb=7d7aa2fd924c27829ec25f825481554dd81bce97;hpb=e7bfda2c243e66a75ff966ba04c28b1590b5d24c diff --git a/target/linux/brcm2708/patches-4.19/950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch b/target/linux/brcm2708/patches-4.19/950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch deleted file mode 100644 index bb6afe328c..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0801-pisound-Added-reading-Pisound-board-hardware-revisio.patch +++ /dev/null @@ -1,201 +0,0 @@ -From a879ab9cad6b598c08988404934273d3cbfbd993 Mon Sep 17 00:00:00 2001 -From: gtrainavicius -Date: Tue, 28 Jan 2020 14:16:37 +0200 -Subject: [PATCH] pisound: Added reading Pisound board hardware - revision and exposing it (#3425) - -pisound: Added reading Pisound board hardware revision and exposing it in kernel log and sysfs file: - -/sys/kernel/pisound/hw_version - -Signed-off-by: Giedrius ---- - sound/soc/bcm/pisound.c | 86 ++++++++++++++++++++++++++++------------- - 1 file changed, 59 insertions(+), 27 deletions(-) - ---- a/sound/soc/bcm/pisound.c -+++ b/sound/soc/bcm/pisound.c -@@ -51,7 +51,8 @@ static void pisnd_spi_set_callback(pisnd - - static const char *pisnd_spi_get_serial(void); - static const char *pisnd_spi_get_id(void); --static const char *pisnd_spi_get_version(void); -+static const char *pisnd_spi_get_fw_version(void); -+static const char *pisnd_spi_get_hw_version(void); - - static int pisnd_midi_init(struct snd_card *card); - static void pisnd_midi_uninit(void); -@@ -222,7 +223,9 @@ static pisnd_spi_recv_cb g_recvCallback; - - static char g_serial_num[11]; - static char g_id[25]; --static char g_version[5]; -+enum { MAX_VERSION_STR_LEN = 6 }; -+static char g_fw_version[MAX_VERSION_STR_LEN]; -+static char g_hw_version[MAX_VERSION_STR_LEN]; - - static uint8_t g_ledFlashDuration; - static bool g_ledFlashDurationChanged; -@@ -558,7 +561,8 @@ static int spi_read_info(void) - char *p; - - memset(g_serial_num, 0, sizeof(g_serial_num)); -- memset(g_version, 0, sizeof(g_version)); -+ memset(g_fw_version, 0, sizeof(g_fw_version)); -+ strcpy(g_hw_version, "1.0"); // Assume 1.0 hw version. - memset(g_id, 0, sizeof(g_id)); - - tmp = spi_transfer16(0); -@@ -581,12 +585,28 @@ static int spi_read_info(void) - return -EINVAL; - - snprintf( -- g_version, -- sizeof(g_version), -+ g_fw_version, -+ MAX_VERSION_STR_LEN, - "%x.%02x", - buffer[0], - buffer[1] - ); -+ -+ g_fw_version[MAX_VERSION_STR_LEN-1] = '\0'; -+ break; -+ case 3: -+ if (n != 2) -+ return -EINVAL; -+ -+ snprintf( -+ g_hw_version, -+ MAX_VERSION_STR_LEN, -+ "%x.%x", -+ buffer[0], -+ buffer[1] -+ ); -+ -+ g_hw_version[MAX_VERSION_STR_LEN-1] = '\0'; - break; - case 1: - if (n >= sizeof(g_serial_num)) -@@ -596,12 +616,14 @@ static int spi_read_info(void) - break; - case 2: - { -- if (n >= sizeof(g_id)) -+ if (n*2 >= sizeof(g_id)) - return -EINVAL; - - p = g_id; - for (j = 0; j < n; ++j) - p += sprintf(p, "%02x", buffer[j]); -+ -+ *p = '\0'; - } - break; - default: -@@ -619,7 +641,8 @@ static int pisnd_spi_init(struct device - - memset(g_serial_num, 0, sizeof(g_serial_num)); - memset(g_id, 0, sizeof(g_id)); -- memset(g_version, 0, sizeof(g_version)); -+ memset(g_fw_version, 0, sizeof(g_fw_version)); -+ memset(g_hw_version, 0, sizeof(g_hw_version)); - - spi = pisnd_spi_find_device(); - -@@ -729,26 +752,22 @@ static void pisnd_spi_set_callback(pisnd - - static const char *pisnd_spi_get_serial(void) - { -- if (strlen(g_serial_num)) -- return g_serial_num; -- -- return ""; -+ return g_serial_num; - } - - static const char *pisnd_spi_get_id(void) - { -- if (strlen(g_id)) -- return g_id; -- -- return ""; -+ return g_id; - } - --static const char *pisnd_spi_get_version(void) -+static const char *pisnd_spi_get_fw_version(void) - { -- if (strlen(g_version)) -- return g_version; -+ return g_fw_version; -+} - -- return ""; -+static const char *pisnd_spi_get_hw_version(void) -+{ -+ return g_hw_version; - } - - static const struct of_device_id pisound_of_match[] = { -@@ -1054,13 +1073,22 @@ static ssize_t pisnd_id_show( - return sprintf(buf, "%s\n", pisnd_spi_get_id()); - } - --static ssize_t pisnd_version_show( -+static ssize_t pisnd_fw_version_show( - struct kobject *kobj, - struct kobj_attribute *attr, - char *buf - ) - { -- return sprintf(buf, "%s\n", pisnd_spi_get_version()); -+ return sprintf(buf, "%s\n", pisnd_spi_get_fw_version()); -+} -+ -+static ssize_t pisnd_hw_version_show( -+ struct kobject *kobj, -+ struct kobj_attribute *attr, -+ char *buf -+) -+{ -+ return sprintf(buf, "%s\n", pisnd_spi_get_hw_version()); - } - - static ssize_t pisnd_led_store( -@@ -1085,15 +1113,18 @@ static struct kobj_attribute pisnd_seria - __ATTR(serial, 0444, pisnd_serial_show, NULL); - static struct kobj_attribute pisnd_id_attribute = - __ATTR(id, 0444, pisnd_id_show, NULL); --static struct kobj_attribute pisnd_version_attribute = -- __ATTR(version, 0444, pisnd_version_show, NULL); -+static struct kobj_attribute pisnd_fw_version_attribute = -+ __ATTR(version, 0444, pisnd_fw_version_show, NULL); -+static struct kobj_attribute pisnd_hw_version_attribute = -+__ATTR(hw_version, 0444, pisnd_hw_version_show, NULL); - static struct kobj_attribute pisnd_led_attribute = - __ATTR(led, 0644, NULL, pisnd_led_store); - - static struct attribute *attrs[] = { - &pisnd_serial_attribute.attr, - &pisnd_id_attribute.attr, -- &pisnd_version_attribute.attr, -+ &pisnd_fw_version_attribute.attr, -+ &pisnd_hw_version_attribute.attr, - &pisnd_led_attribute.attr, - NULL - }; -@@ -1112,9 +1143,10 @@ static int pisnd_probe(struct platform_d - } - - printi("Detected Pisound card:\n"); -- printi("\tSerial: %s\n", pisnd_spi_get_serial()); -- printi("\tVersion: %s\n", pisnd_spi_get_version()); -- printi("\tId: %s\n", pisnd_spi_get_id()); -+ printi("\tSerial: %s\n", pisnd_spi_get_serial()); -+ printi("\tFirmware Version: %s\n", pisnd_spi_get_fw_version()); -+ printi("\tHardware Version: %s\n", pisnd_spi_get_hw_version()); -+ printi("\tId: %s\n", pisnd_spi_get_id()); - - pisnd_kobj = kobject_create_and_add("pisound", kernel_kobj); - if (!pisnd_kobj) {