Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

iio: light: ltr501: Switch to sparse friendly iio_device_claim/release_direct()

These new functions allow sparse to find failures to release
direct mode reducing chances of bugs over the claim_direct_mode()
functions that are deprecated.

Reviewed-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250309170633.1347476-9-jic23@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

+9 -12
+9 -12
drivers/iio/light/ltr501.c
··· 688 688 case IIO_CHAN_INFO_PROCESSED: 689 689 switch (chan->type) { 690 690 case IIO_LIGHT: 691 - ret = iio_device_claim_direct_mode(indio_dev); 692 - if (ret) 693 - return ret; 691 + if (!iio_device_claim_direct(indio_dev)) 692 + return -EBUSY; 694 693 695 694 mutex_lock(&data->lock_als); 696 695 ret = ltr501_read_als(data, buf); 697 696 mutex_unlock(&data->lock_als); 698 - iio_device_release_direct_mode(indio_dev); 697 + iio_device_release_direct(indio_dev); 699 698 if (ret < 0) 700 699 return ret; 701 700 *val = ltr501_calculate_lux(le16_to_cpu(buf[1]), ··· 704 705 return -EINVAL; 705 706 } 706 707 case IIO_CHAN_INFO_RAW: 707 - ret = iio_device_claim_direct_mode(indio_dev); 708 - if (ret) 709 - return ret; 708 + if (!iio_device_claim_direct(indio_dev)) 709 + return -EBUSY; 710 710 711 711 ret = ltr501_read_info_raw(data, chan, val); 712 712 713 - iio_device_release_direct_mode(indio_dev); 713 + iio_device_release_direct(indio_dev); 714 714 return ret; 715 715 716 716 case IIO_CHAN_INFO_SCALE: ··· 868 870 { 869 871 int ret; 870 872 871 - ret = iio_device_claim_direct_mode(indio_dev); 872 - if (ret) 873 - return ret; 873 + if (!iio_device_claim_direct(indio_dev)) 874 + return -EBUSY; 874 875 875 876 ret = __ltr501_write_raw(indio_dev, chan, val, val2, mask); 876 877 877 - iio_device_release_direct_mode(indio_dev); 878 + iio_device_release_direct(indio_dev); 878 879 879 880 return ret; 880 881 }