diff options
author | Yury Norov <yury.norov@gmail.com> | 2023-12-11 18:27:34 -0800 |
---|---|---|
committer | Yury Norov <yury.norov@gmail.com> | 2023-12-16 08:42:58 -0800 |
commit | 4678bace092ce861e09a6ab4dd3f0e043bdb49a5 (patch) | |
tree | 906f582051859fd5176cb90d9e857e764a68c778 | |
parent | 2ebbcd7bcb17f6695329416e82256ce87c362eaa (diff) | |
download | linux-4678bace092ce861e09a6ab4dd3f0e043bdb49a5.tar.gz linux-4678bace092ce861e09a6ab4dd3f0e043bdb49a5.tar.xz |
media: radio-shark: optimize the driver by using atomic find_bit() API
Despite that it's only 2- or 3-bit maps, convert for-loop followed by
test_bit() to for_each_test_and_clear_bit() as it makes the code cleaner.
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
-rw-r--r-- | drivers/media/radio/radio-shark.c | 5 | ||||
-rw-r--r-- | drivers/media/radio/radio-shark2.c | 5 |
2 files changed, 2 insertions, 8 deletions
diff --git a/drivers/media/radio/radio-shark.c b/drivers/media/radio/radio-shark.c index 127a3be0e0f0..0c50b3a9623e 100644 --- a/drivers/media/radio/radio-shark.c +++ b/drivers/media/radio/radio-shark.c @@ -158,10 +158,7 @@ static void shark_led_work(struct work_struct *work) container_of(work, struct shark_device, led_work); int i, res, brightness, actual_len; - for (i = 0; i < 3; i++) { - if (!test_and_clear_bit(i, &shark->brightness_new)) - continue; - + for_each_test_and_clear_bit(i, &shark->brightness_new, 3) { brightness = atomic_read(&shark->brightness[i]); memset(shark->transfer_buffer, 0, TB_LEN); if (i != RED_LED) { diff --git a/drivers/media/radio/radio-shark2.c b/drivers/media/radio/radio-shark2.c index f1c5c0a6a335..d9ef241e1778 100644 --- a/drivers/media/radio/radio-shark2.c +++ b/drivers/media/radio/radio-shark2.c @@ -145,10 +145,7 @@ static void shark_led_work(struct work_struct *work) container_of(work, struct shark_device, led_work); int i, res, brightness, actual_len; - for (i = 0; i < 2; i++) { - if (!test_and_clear_bit(i, &shark->brightness_new)) - continue; - + for_each_test_and_clear_bit(i, &shark->brightness_new, 2) { brightness = atomic_read(&shark->brightness[i]); memset(shark->transfer_buffer, 0, TB_LEN); shark->transfer_buffer[0] = 0x83 + i; |