]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: proximity: mb1232: use stack allocated scan struct
authorDavid Lechner <dlechner@baylibre.com>
Tue, 22 Jul 2025 22:39:17 +0000 (17:39 -0500)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 16 Aug 2025 10:57:04 +0000 (11:57 +0100)
Use a stack allocated struct for the scan data instead of using the
driver state to store the struct. The scan data is not used outside of
the interrupt handler function so the struct does not need to exist
outside of that scope.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250722-iio-proximity-mb1232-use-stack-allocated-scan-struct-v1-1-b4ef77e9ddea@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/proximity/mb1232.c

index 01783486bc7df34ec3b38b1d0ad5f52e3eae6c92..34b49c54e68b0a11bac0287c65cb368c9e956da4 100644 (file)
@@ -42,11 +42,6 @@ struct mb1232_data {
         */
        struct completion       ranging;
        int                     irqnr;
-       /* Ensure correct alignment of data to push to IIO buffer */
-       struct {
-               s16 distance;
-               aligned_s64 ts;
-       } scan;
 };
 
 static irqreturn_t mb1232_handle_irq(int irq, void *dev_id)
@@ -120,12 +115,16 @@ static irqreturn_t mb1232_trigger_handler(int irq, void *p)
        struct iio_poll_func *pf = p;
        struct iio_dev *indio_dev = pf->indio_dev;
        struct mb1232_data *data = iio_priv(indio_dev);
+       struct {
+               s16 distance;
+               aligned_s64 ts;
+       } scan = { };
 
-       data->scan.distance = mb1232_read_distance(data);
-       if (data->scan.distance < 0)
+       scan.distance = mb1232_read_distance(data);
+       if (scan.distance < 0)
                goto err;
 
-       iio_push_to_buffers_with_ts(indio_dev, &data->scan, sizeof(data->scan),
+       iio_push_to_buffers_with_ts(indio_dev, &scan, sizeof(scan),
                                    pf->timestamp);
 
 err: