* [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one
@ 2023-08-15 15:40 Andy Shevchenko
2023-08-15 15:40 ` [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp Andy Shevchenko
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Andy Shevchenko @ 2023-08-15 15:40 UTC (permalink / raw)
To: Andy Shevchenko, Jonathan Cameron, Lorenzo Bianconi,
Philipp Jungkamp, Peter Zijlstra, linux-input, linux-iio,
linux-kernel
Cc: Jiri Kosina, Jonathan Cameron, Srinivas Pandruvada, Lars-Peter Clausen
Some user may want to use aligned signed 64-bit type.
Provide it for them.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
include/linux/types.h | 3 ++-
include/uapi/linux/types.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/linux/types.h b/include/linux/types.h
index 253168bb3fe1..78d87c751ff5 100644
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -115,8 +115,9 @@ typedef u64 u_int64_t;
typedef s64 int64_t;
#endif
-/* this is a special 64bit data type that is 8-byte aligned */
+/* These are the special 64-bit data types that are 8-byte aligned */
#define aligned_u64 __aligned_u64
+#define aligned_s64 __aligned_s64
#define aligned_be64 __aligned_be64
#define aligned_le64 __aligned_le64
diff --git a/include/uapi/linux/types.h b/include/uapi/linux/types.h
index 6375a0684052..48b933938877 100644
--- a/include/uapi/linux/types.h
+++ b/include/uapi/linux/types.h
@@ -53,6 +53,7 @@ typedef __u32 __bitwise __wsum;
* No conversions are necessary between 32-bit user-space and a 64-bit kernel.
*/
#define __aligned_u64 __u64 __attribute__((aligned(8)))
+#define __aligned_s64 __s64 __attribute__((aligned(8)))
#define __aligned_be64 __be64 __attribute__((aligned(8)))
#define __aligned_le64 __le64 __attribute__((aligned(8)))
--
2.40.0.1.gaa8946217a0b
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp
2023-08-15 15:40 [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Andy Shevchenko
@ 2023-08-15 15:40 ` Andy Shevchenko
2023-08-28 16:03 ` Jonathan Cameron
2023-08-15 15:40 ` [PATCH v1 3/3] iio: hid-sensor: " Andy Shevchenko
2023-08-28 16:10 ` [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Jonathan Cameron
2 siblings, 1 reply; 9+ messages in thread
From: Andy Shevchenko @ 2023-08-15 15:40 UTC (permalink / raw)
To: Andy Shevchenko, Jonathan Cameron, Lorenzo Bianconi,
Philipp Jungkamp, Peter Zijlstra, linux-input, linux-iio,
linux-kernel
Cc: Jiri Kosina, Jonathan Cameron, Srinivas Pandruvada, Lars-Peter Clausen
Use __aligned_s64 for the timestamp field.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
index c19237717e81..d3d4b3281aa6 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
@@ -442,10 +442,9 @@ struct st_lsm6dsx_hw {
const struct st_lsm6dsx_settings *settings;
struct iio_mount_matrix orientation;
- /* Ensure natural alignment of buffer elements */
struct {
__le16 channels[3];
- s64 ts __aligned(8);
+ __aligned_s64 ts;
} scan[ST_LSM6DSX_ID_MAX];
};
--
2.40.0.1.gaa8946217a0b
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 3/3] iio: hid-sensor: Use aligned data type for timestamp
2023-08-15 15:40 [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Andy Shevchenko
2023-08-15 15:40 ` [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp Andy Shevchenko
@ 2023-08-15 15:40 ` Andy Shevchenko
2023-08-28 16:09 ` Jonathan Cameron
2023-08-28 16:10 ` [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Jonathan Cameron
2 siblings, 1 reply; 9+ messages in thread
From: Andy Shevchenko @ 2023-08-15 15:40 UTC (permalink / raw)
To: Andy Shevchenko, Jonathan Cameron, Lorenzo Bianconi,
Philipp Jungkamp, Peter Zijlstra, linux-input, linux-iio,
linux-kernel
Cc: Jiri Kosina, Jonathan Cameron, Srinivas Pandruvada, Lars-Peter Clausen
Use aligned_s64 for the timestamp field.
Note, the actual data is signed, hence with this we also amend that.
While at it, drop redundant __alignment directive.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/iio/accel/hid-sensor-accel-3d.c | 3 +--
drivers/iio/gyro/hid-sensor-gyro-3d.c | 2 +-
drivers/iio/humidity/hid-sensor-humidity.c | 2 +-
drivers/iio/light/hid-sensor-als.c | 2 +-
drivers/iio/orientation/hid-sensor-incl-3d.c | 2 +-
drivers/iio/orientation/hid-sensor-rotation.c | 4 ++--
drivers/iio/position/hid-sensor-custom-intel-hinge.c | 2 +-
drivers/iio/pressure/hid-sensor-press.c | 2 +-
drivers/iio/temperature/hid-sensor-temperature.c | 2 +-
9 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hid-sensor-accel-3d.c
index 5eac7ea19993..f739589564c5 100644
--- a/drivers/iio/accel/hid-sensor-accel-3d.c
+++ b/drivers/iio/accel/hid-sensor-accel-3d.c
@@ -25,10 +25,9 @@ struct accel_3d_state {
struct hid_sensor_hub_callbacks callbacks;
struct hid_sensor_common common_attributes;
struct hid_sensor_hub_attribute_info accel[ACCEL_3D_CHANNEL_MAX];
- /* Ensure timestamp is naturally aligned */
struct {
u32 accel_val[3];
- s64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
diff --git a/drivers/iio/gyro/hid-sensor-gyro-3d.c b/drivers/iio/gyro/hid-sensor-gyro-3d.c
index 698c50da1f10..a7050a6328d6 100644
--- a/drivers/iio/gyro/hid-sensor-gyro-3d.c
+++ b/drivers/iio/gyro/hid-sensor-gyro-3d.c
@@ -27,7 +27,7 @@ struct gyro_3d_state {
struct hid_sensor_hub_attribute_info gyro[GYRO_3D_CHANNEL_MAX];
struct {
u32 gyro_val[GYRO_3D_CHANNEL_MAX];
- u64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
diff --git a/drivers/iio/humidity/hid-sensor-humidity.c b/drivers/iio/humidity/hid-sensor-humidity.c
index fa0fe404a70a..0e484b78b735 100644
--- a/drivers/iio/humidity/hid-sensor-humidity.c
+++ b/drivers/iio/humidity/hid-sensor-humidity.c
@@ -18,7 +18,7 @@ struct hid_humidity_state {
struct hid_sensor_hub_attribute_info humidity_attr;
struct {
s32 humidity_data;
- u64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c
index eb1aedad7edc..8a906d95edd4 100644
--- a/drivers/iio/light/hid-sensor-als.c
+++ b/drivers/iio/light/hid-sensor-als.c
@@ -27,7 +27,7 @@ struct als_state {
struct hid_sensor_hub_attribute_info als_illum;
struct {
u32 illum[CHANNEL_SCAN_INDEX_MAX];
- u64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
diff --git a/drivers/iio/orientation/hid-sensor-incl-3d.c b/drivers/iio/orientation/hid-sensor-incl-3d.c
index ba5b581d5b25..3e5f2c58dfa9 100644
--- a/drivers/iio/orientation/hid-sensor-incl-3d.c
+++ b/drivers/iio/orientation/hid-sensor-incl-3d.c
@@ -29,7 +29,7 @@ struct incl_3d_state {
struct hid_sensor_hub_attribute_info incl[INCLI_3D_CHANNEL_MAX];
struct {
u32 incl_val[INCLI_3D_CHANNEL_MAX];
- u64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
diff --git a/drivers/iio/orientation/hid-sensor-rotation.c b/drivers/iio/orientation/hid-sensor-rotation.c
index a033699910e8..864ecbcad26e 100644
--- a/drivers/iio/orientation/hid-sensor-rotation.c
+++ b/drivers/iio/orientation/hid-sensor-rotation.c
@@ -19,8 +19,8 @@ struct dev_rot_state {
struct hid_sensor_common common_attributes;
struct hid_sensor_hub_attribute_info quaternion;
struct {
- s32 sampled_vals[4] __aligned(16);
- u64 timestamp __aligned(8);
+ s32 sampled_vals[4];
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
diff --git a/drivers/iio/position/hid-sensor-custom-intel-hinge.c b/drivers/iio/position/hid-sensor-custom-intel-hinge.c
index 07c30d217255..48005b568dd9 100644
--- a/drivers/iio/position/hid-sensor-custom-intel-hinge.c
+++ b/drivers/iio/position/hid-sensor-custom-intel-hinge.c
@@ -39,7 +39,7 @@ struct hinge_state {
const char *labels[CHANNEL_SCAN_INDEX_MAX];
struct {
u32 hinge_val[3];
- u64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
diff --git a/drivers/iio/pressure/hid-sensor-press.c b/drivers/iio/pressure/hid-sensor-press.c
index a9215eb32d70..a964c7b65402 100644
--- a/drivers/iio/pressure/hid-sensor-press.c
+++ b/drivers/iio/pressure/hid-sensor-press.c
@@ -24,7 +24,7 @@ struct press_state {
struct hid_sensor_hub_attribute_info press_attr;
struct {
u32 press_data;
- u64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
diff --git a/drivers/iio/temperature/hid-sensor-temperature.c b/drivers/iio/temperature/hid-sensor-temperature.c
index d40f235af1d4..32f4b13fd554 100644
--- a/drivers/iio/temperature/hid-sensor-temperature.c
+++ b/drivers/iio/temperature/hid-sensor-temperature.c
@@ -18,7 +18,7 @@ struct temperature_state {
struct hid_sensor_hub_attribute_info temperature_attr;
struct {
s32 temperature_data;
- u64 timestamp __aligned(8);
+ aligned_s64 timestamp;
} scan;
int scale_pre_decml;
int scale_post_decml;
--
2.40.0.1.gaa8946217a0b
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp
2023-08-15 15:40 ` [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp Andy Shevchenko
@ 2023-08-28 16:03 ` Jonathan Cameron
2023-08-29 13:18 ` Andy Shevchenko
0 siblings, 1 reply; 9+ messages in thread
From: Jonathan Cameron @ 2023-08-28 16:03 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, Lorenzo Bianconi, Philipp Jungkamp,
Peter Zijlstra, linux-input, linux-iio, linux-kernel,
Jiri Kosina, Srinivas Pandruvada, Lars-Peter Clausen
On Tue, 15 Aug 2023 18:40:26 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Use __aligned_s64 for the timestamp field.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> index c19237717e81..d3d4b3281aa6 100644
> --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
> @@ -442,10 +442,9 @@ struct st_lsm6dsx_hw {
> const struct st_lsm6dsx_settings *settings;
>
> struct iio_mount_matrix orientation;
> - /* Ensure natural alignment of buffer elements */
> struct {
> __le16 channels[3];
> - s64 ts __aligned(8);
> + __aligned_s64 ts;
aligned_s64 as it's internal to the kernel?
> } scan[ST_LSM6DSX_ID_MAX];
> };
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] iio: hid-sensor: Use aligned data type for timestamp
2023-08-15 15:40 ` [PATCH v1 3/3] iio: hid-sensor: " Andy Shevchenko
@ 2023-08-28 16:09 ` Jonathan Cameron
2023-08-29 13:22 ` Andy Shevchenko
0 siblings, 1 reply; 9+ messages in thread
From: Jonathan Cameron @ 2023-08-28 16:09 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, Lorenzo Bianconi, Philipp Jungkamp,
Peter Zijlstra, linux-input, linux-iio, linux-kernel,
Jiri Kosina, Srinivas Pandruvada, Lars-Peter Clausen
On Tue, 15 Aug 2023 18:40:27 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Use aligned_s64 for the timestamp field.
>
> Note, the actual data is signed, hence with this we also amend that.
> While at it, drop redundant __alignment directive.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/iio/accel/hid-sensor-accel-3d.c | 3 +--
> drivers/iio/gyro/hid-sensor-gyro-3d.c | 2 +-
> drivers/iio/humidity/hid-sensor-humidity.c | 2 +-
> drivers/iio/light/hid-sensor-als.c | 2 +-
> drivers/iio/orientation/hid-sensor-incl-3d.c | 2 +-
> drivers/iio/orientation/hid-sensor-rotation.c | 4 ++--
> drivers/iio/position/hid-sensor-custom-intel-hinge.c | 2 +-
> drivers/iio/pressure/hid-sensor-press.c | 2 +-
> drivers/iio/temperature/hid-sensor-temperature.c | 2 +-
> 9 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hid-sensor-accel-3d.c
> index 5eac7ea19993..f739589564c5 100644
> --- a/drivers/iio/accel/hid-sensor-accel-3d.c
> +++ b/drivers/iio/accel/hid-sensor-accel-3d.c
> @@ -25,10 +25,9 @@ struct accel_3d_state {
> struct hid_sensor_hub_callbacks callbacks;
> struct hid_sensor_common common_attributes;
> struct hid_sensor_hub_attribute_info accel[ACCEL_3D_CHANNEL_MAX];
> - /* Ensure timestamp is naturally aligned */
Comment is still true and no more or less obvious than it was with the old code
I think so I don't really see why it should be removed with this change.
> struct {
> u32 accel_val[3];
> - s64 timestamp __aligned(8);
> + aligned_s64 timestamp;
> } scan;
> int scale_pre_decml;
> int scale_post_decml;
...
> diff --git a/drivers/iio/orientation/hid-sensor-rotation.c b/drivers/iio/orientation/hid-sensor-rotation.c
> index a033699910e8..864ecbcad26e 100644
> --- a/drivers/iio/orientation/hid-sensor-rotation.c
> +++ b/drivers/iio/orientation/hid-sensor-rotation.c
> @@ -19,8 +19,8 @@ struct dev_rot_state {
> struct hid_sensor_common common_attributes;
> struct hid_sensor_hub_attribute_info quaternion;
> struct {
> - s32 sampled_vals[4] __aligned(16);
> - u64 timestamp __aligned(8);
> + s32 sampled_vals[4];
Hmm. I can't immediately recall why that aligned(16) is therebut
it's not related to the rest of this change so I'm not sure we should touch it.
I don't think we ever required quaternions to be aligned as a whole so this does feel odd but
in the category of something we should be careful touching or at very least do it in
a different patch where it stands out.
> + aligned_s64 timestamp;
> } scan;
> int scale_pre_decml;
> int scale_post_decml;
> diff --git a/drivers/iio/position/hid-sensor-custom-intel-hinge.c b/drivers/iio/position/hid-sensor-custom-intel-hinge.c
> index 07c30d217255..48005b568dd9 100644
> --- a/drivers/iio/position/hid-sensor-custom-intel-hinge.c
> +++ b/drivers/iio/position/hid-sensor-custom-intel-hinge.c
> @@ -39,7 +39,7 @@ struct hinge_state {
> const char *labels[CHANNEL_SCAN_INDEX_MAX];
> struct {
> u32 hinge_val[3];
> - u64 timestamp __aligned(8);
> + aligned_s64 timestamp;
> } scan;
>
> int scale_pre_decml;
> diff --git a/drivers/iio/pressure/hid-sensor-press.c b/drivers/iio/pressure/hid-sensor-press.c
> index a9215eb32d70..a964c7b65402 100644
> --- a/drivers/iio/pressure/hid-sensor-press.c
> +++ b/drivers/iio/pressure/hid-sensor-press.c
> @@ -24,7 +24,7 @@ struct press_state {
> struct hid_sensor_hub_attribute_info press_attr;
> struct {
> u32 press_data;
> - u64 timestamp __aligned(8);
> + aligned_s64 timestamp;
> } scan;
> int scale_pre_decml;
> int scale_post_decml;
> diff --git a/drivers/iio/temperature/hid-sensor-temperature.c b/drivers/iio/temperature/hid-sensor-temperature.c
> index d40f235af1d4..32f4b13fd554 100644
> --- a/drivers/iio/temperature/hid-sensor-temperature.c
> +++ b/drivers/iio/temperature/hid-sensor-temperature.c
> @@ -18,7 +18,7 @@ struct temperature_state {
> struct hid_sensor_hub_attribute_info temperature_attr;
> struct {
> s32 temperature_data;
> - u64 timestamp __aligned(8);
> + aligned_s64 timestamp;
> } scan;
> int scale_pre_decml;
> int scale_post_decml;
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one
2023-08-15 15:40 [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Andy Shevchenko
2023-08-15 15:40 ` [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp Andy Shevchenko
2023-08-15 15:40 ` [PATCH v1 3/3] iio: hid-sensor: " Andy Shevchenko
@ 2023-08-28 16:10 ` Jonathan Cameron
2023-08-29 13:22 ` Andy Shevchenko
2 siblings, 1 reply; 9+ messages in thread
From: Jonathan Cameron @ 2023-08-28 16:10 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, Lorenzo Bianconi, Philipp Jungkamp,
Peter Zijlstra, linux-input, linux-iio, linux-kernel,
Jiri Kosina, Srinivas Pandruvada, Lars-Peter Clausen
On Tue, 15 Aug 2023 18:40:25 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Some user may want to use aligned signed 64-bit type.
> Provide it for them.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Excellent. I'll pick this up once the minor things in the first two
users are resolved (as long as no one argues we shouldn't have this
for some reason!)
Jonathan
> ---
> include/linux/types.h | 3 ++-
> include/uapi/linux/types.h | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/types.h b/include/linux/types.h
> index 253168bb3fe1..78d87c751ff5 100644
> --- a/include/linux/types.h
> +++ b/include/linux/types.h
> @@ -115,8 +115,9 @@ typedef u64 u_int64_t;
> typedef s64 int64_t;
> #endif
>
> -/* this is a special 64bit data type that is 8-byte aligned */
> +/* These are the special 64-bit data types that are 8-byte aligned */
> #define aligned_u64 __aligned_u64
> +#define aligned_s64 __aligned_s64
> #define aligned_be64 __aligned_be64
> #define aligned_le64 __aligned_le64
>
> diff --git a/include/uapi/linux/types.h b/include/uapi/linux/types.h
> index 6375a0684052..48b933938877 100644
> --- a/include/uapi/linux/types.h
> +++ b/include/uapi/linux/types.h
> @@ -53,6 +53,7 @@ typedef __u32 __bitwise __wsum;
> * No conversions are necessary between 32-bit user-space and a 64-bit kernel.
> */
> #define __aligned_u64 __u64 __attribute__((aligned(8)))
> +#define __aligned_s64 __s64 __attribute__((aligned(8)))
> #define __aligned_be64 __be64 __attribute__((aligned(8)))
> #define __aligned_le64 __le64 __attribute__((aligned(8)))
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp
2023-08-28 16:03 ` Jonathan Cameron
@ 2023-08-29 13:18 ` Andy Shevchenko
0 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2023-08-29 13:18 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Jonathan Cameron, Lorenzo Bianconi, Philipp Jungkamp,
Peter Zijlstra, linux-input, linux-iio, linux-kernel,
Jiri Kosina, Srinivas Pandruvada, Lars-Peter Clausen
On Mon, Aug 28, 2023 at 05:03:41PM +0100, Jonathan Cameron wrote:
> On Tue, 15 Aug 2023 18:40:26 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
...
> > struct {
> > __le16 channels[3];
> > - s64 ts __aligned(8);
> > + __aligned_s64 ts;
>
> aligned_s64 as it's internal to the kernel?
Either works, but strictly speaking you are right, better no underscored
variant.
> > } scan[ST_LSM6DSX_ID_MAX];
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] iio: hid-sensor: Use aligned data type for timestamp
2023-08-28 16:09 ` Jonathan Cameron
@ 2023-08-29 13:22 ` Andy Shevchenko
0 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2023-08-29 13:22 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Jonathan Cameron, Lorenzo Bianconi, Philipp Jungkamp,
Peter Zijlstra, linux-input, linux-iio, linux-kernel,
Jiri Kosina, Srinivas Pandruvada, Lars-Peter Clausen
On Mon, Aug 28, 2023 at 05:09:28PM +0100, Jonathan Cameron wrote:
> On Tue, 15 Aug 2023 18:40:27 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
...
> > - /* Ensure timestamp is naturally aligned */
>
> Comment is still true and no more or less obvious than it was with the old code
> I think so I don't really see why it should be removed with this change.
Doesn't the prefix "aligned" make this comment somehow redundant?
> > struct {
> > u32 accel_val[3];
> > - s64 timestamp __aligned(8);
> > + aligned_s64 timestamp;
> > } scan;
...
> > - s32 sampled_vals[4] __aligned(16);
> > + s32 sampled_vals[4];
>
> Hmm. I can't immediately recall why that aligned(16) is therebut
> it's not related to the rest of this change so I'm not sure we should touch
> it. I don't think we ever required quaternions to be aligned as a whole so
> this does feel odd but in the category of something we should be careful
> touching or at very least do it in a different patch where it stands out.
I have checked the code and find nothing that justifies this, I can split it
to a separate patch, though.
Note, among ISH HID drivers it's the only one with a such...
> > + aligned_s64 timestamp;
> > } scan;
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one
2023-08-28 16:10 ` [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Jonathan Cameron
@ 2023-08-29 13:22 ` Andy Shevchenko
0 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2023-08-29 13:22 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Jonathan Cameron, Lorenzo Bianconi, Philipp Jungkamp,
Peter Zijlstra, linux-input, linux-iio, linux-kernel,
Jiri Kosina, Srinivas Pandruvada, Lars-Peter Clausen
On Mon, Aug 28, 2023 at 05:10:18PM +0100, Jonathan Cameron wrote:
> On Tue, 15 Aug 2023 18:40:25 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>
> > Some user may want to use aligned signed 64-bit type.
> > Provide it for them.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Excellent. I'll pick this up once the minor things in the first two
> users are resolved (as long as no one argues we shouldn't have this
> for some reason!)
I'll cook a new series sooner than later. Thank you for the review!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-08-29 13:23 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-15 15:40 [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Andy Shevchenko
2023-08-15 15:40 ` [PATCH v1 2/3] iio: imu: st_lsm6dsx: Use aligned data type for timestamp Andy Shevchenko
2023-08-28 16:03 ` Jonathan Cameron
2023-08-29 13:18 ` Andy Shevchenko
2023-08-15 15:40 ` [PATCH v1 3/3] iio: hid-sensor: " Andy Shevchenko
2023-08-28 16:09 ` Jonathan Cameron
2023-08-29 13:22 ` Andy Shevchenko
2023-08-28 16:10 ` [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one Jonathan Cameron
2023-08-29 13:22 ` Andy Shevchenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.