mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-22 12:05:09 -04:00
iio: proximity: vl53l0x-i2c: use stack allocated scan struct
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-vl53l0x-i2c-use-stack-allocated-scan-struct-v1-1-42f127a6834f@baylibre.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
committed by
Jonathan Cameron
parent
8e7a21e103
commit
ff2501ff5c
@@ -57,11 +57,6 @@ struct vl53l0x_data {
|
||||
struct regulator *vdd_supply;
|
||||
struct gpio_desc *reset_gpio;
|
||||
struct iio_trigger *trig;
|
||||
|
||||
struct {
|
||||
u16 chan;
|
||||
aligned_s64 timestamp;
|
||||
} scan;
|
||||
};
|
||||
|
||||
static int vl53l0x_clear_irq(struct vl53l0x_data *data)
|
||||
@@ -84,6 +79,10 @@ static irqreturn_t vl53l0x_trigger_handler(int irq, void *priv)
|
||||
struct vl53l0x_data *data = iio_priv(indio_dev);
|
||||
u8 buffer[12];
|
||||
int ret;
|
||||
struct {
|
||||
u16 chan;
|
||||
aligned_s64 timestamp;
|
||||
} scan = { };
|
||||
|
||||
ret = i2c_smbus_read_i2c_block_data(data->client,
|
||||
VL_REG_RESULT_RANGE_STATUS,
|
||||
@@ -93,8 +92,8 @@ static irqreturn_t vl53l0x_trigger_handler(int irq, void *priv)
|
||||
else if (ret != 12)
|
||||
return -EREMOTEIO;
|
||||
|
||||
data->scan.chan = get_unaligned_be16(&buffer[10]);
|
||||
iio_push_to_buffers_with_ts(indio_dev, &data->scan, sizeof(data->scan),
|
||||
scan.chan = get_unaligned_be16(&buffer[10]);
|
||||
iio_push_to_buffers_with_ts(indio_dev, &scan, sizeof(scan),
|
||||
iio_get_time_ns(indio_dev));
|
||||
|
||||
iio_trigger_notify_done(indio_dev->trig);
|
||||
|
||||
Reference in New Issue
Block a user