X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=meta-egvirt%2Frecipes-kernel%2Flinux%2Flinux-yocto%2Fiio-scmi%2F0002-iio-core-Introduce-IIO_VAL_INT_64.patch;h=2a18a04d37712c682fd08bb4843d7ac415953073;hb=9893e9e1a0ae33a2ea2971081dbfbfd486c4214c;hp=3245a8067e6f952920c2e21577ae06dd1cf9f297;hpb=db4be1a90d3f84c8255c8a3b51ae71f2eae54980;p=AGL%2Fmeta-agl-devel.git diff --git a/meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0002-iio-core-Introduce-IIO_VAL_INT_64.patch b/meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0002-iio-core-Introduce-IIO_VAL_INT_64.patch index 3245a806..2a18a04d 100644 --- a/meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0002-iio-core-Introduce-IIO_VAL_INT_64.patch +++ b/meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0002-iio-core-Introduce-IIO_VAL_INT_64.patch @@ -1,36 +1,38 @@ -From 41b693ffea78e5e754ba7c1b7b85a20deff8ba9f Mon Sep 17 00:00:00 2001 +From 3698bab1b1856a8146c8f8a83c888bd9cefcdde0 Mon Sep 17 00:00:00 2001 From: Andriy Tryshnivskyy -Date: Mon, 25 Oct 2021 13:30:19 +0300 +Date: Sun, 24 Oct 2021 12:16:26 +0300 Subject: [PATCH] iio: core: Introduce IIO_VAL_INT_64. Introduce IIO_VAL_INT_64 to read 64-bit value for channel attribute. Val is used as lower 32 bits. Signed-off-by: Andriy Tryshnivskyy +Link: https://lore.kernel.org/r/20211024091627.28031-2-andriy.tryshnivskyy@opensynergy.com +Signed-off-by: Jonathan Cameron --- drivers/iio/industrialio-core.c | 3 +++ include/linux/iio/types.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c -index 261d3b17edc9..71ecb2e66714 100644 +index 3e1e86d987cc..3f21e6b49a4a 100644 --- a/drivers/iio/industrialio-core.c +++ b/drivers/iio/industrialio-core.c -@@ -638,6 +638,9 @@ static ssize_t __iio_format_value(char *buf, size_t len, unsigned int type, +@@ -702,6 +702,9 @@ static ssize_t __iio_format_value(char *buf, size_t offset, unsigned int type, } case IIO_VAL_CHAR: - return scnprintf(buf, len, "%c", (char)vals[0]); + return sysfs_emit_at(buf, offset, "%c", (char)vals[0]); + case IIO_VAL_INT_64: -+ tmp = (s64)((((u64)vals[1]) << 32) | (u32)vals[0]); -+ return scnprintf(buf, len, "%lld", tmp); ++ tmp2 = (s64)((((u64)vals[1]) << 32) | (u32)vals[0]); ++ return sysfs_emit_at(buf, offset, "%lld", tmp2); default: return 0; } diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h -index 1e3ed6f55bca..8d37cc5a3883 100644 +index 84b3f8175cc6..a7aa91f3a8dc 100644 --- a/include/linux/iio/types.h +++ b/include/linux/iio/types.h -@@ -23,6 +23,7 @@ enum iio_event_info { +@@ -24,6 +24,7 @@ enum iio_event_info { #define IIO_VAL_INT_PLUS_NANO 3 #define IIO_VAL_INT_PLUS_MICRO_DB 4 #define IIO_VAL_INT_MULTIPLE 5