drivers/platform/x86/lenovo/yogabook.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
From: Peng Fan <peng.fan@nxp.com>
Convert open-coded if/else with set_bit/clear_bit to the assign_bit and
change_bit APIs.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
drivers/platform/x86/lenovo/yogabook.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/platform/x86/lenovo/yogabook.c b/drivers/platform/x86/lenovo/yogabook.c
index 1a4b2ab1f35d..f4c99508c6e7 100644
--- a/drivers/platform/x86/lenovo/yogabook.c
+++ b/drivers/platform/x86/lenovo/yogabook.c
@@ -120,10 +120,7 @@ static void yogabook_toggle_digitizer_mode(struct yogabook_data *data)
if (test_bit(YB_SUSPENDED, &data->flags))
return;
- if (test_bit(YB_DIGITIZER_MODE, &data->flags))
- clear_bit(YB_DIGITIZER_MODE, &data->flags);
- else
- set_bit(YB_DIGITIZER_MODE, &data->flags);
+ change_bit(YB_DIGITIZER_MODE, &data->flags);
/*
* We are called from the ACPI core and the driver [un]binding which is
@@ -136,10 +133,8 @@ static irqreturn_t yogabook_backside_hall_irq(int irq, void *_data)
{
struct yogabook_data *data = _data;
- if (gpiod_get_value(data->backside_hall_gpio))
- set_bit(YB_TABLET_MODE, &data->flags);
- else
- clear_bit(YB_TABLET_MODE, &data->flags);
+ assign_bit(YB_TABLET_MODE, &data->flags,
+ gpiod_get_value(data->backside_hall_gpio));
schedule_work(&data->work);
--
2.51.0
On Sat, Sep 19, 2026, at 9:08 AM, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> Convert open-coded if/else with set_bit/clear_bit to the assign_bit and
> change_bit APIs.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> drivers/platform/x86/lenovo/yogabook.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/platform/x86/lenovo/yogabook.c
> b/drivers/platform/x86/lenovo/yogabook.c
> index 1a4b2ab1f35d..f4c99508c6e7 100644
> --- a/drivers/platform/x86/lenovo/yogabook.c
> +++ b/drivers/platform/x86/lenovo/yogabook.c
> @@ -120,10 +120,7 @@ static void yogabook_toggle_digitizer_mode(struct
> yogabook_data *data)
> if (test_bit(YB_SUSPENDED, &data->flags))
> return;
>
> - if (test_bit(YB_DIGITIZER_MODE, &data->flags))
> - clear_bit(YB_DIGITIZER_MODE, &data->flags);
> - else
> - set_bit(YB_DIGITIZER_MODE, &data->flags);
> + change_bit(YB_DIGITIZER_MODE, &data->flags);
>
> /*
> * We are called from the ACPI core and the driver [un]binding which
> is
> @@ -136,10 +133,8 @@ static irqreturn_t yogabook_backside_hall_irq(int
> irq, void *_data)
> {
> struct yogabook_data *data = _data;
>
> - if (gpiod_get_value(data->backside_hall_gpio))
> - set_bit(YB_TABLET_MODE, &data->flags);
> - else
> - clear_bit(YB_TABLET_MODE, &data->flags);
> + assign_bit(YB_TABLET_MODE, &data->flags,
> + gpiod_get_value(data->backside_hall_gpio));
>
> schedule_work(&data->work);
>
> --
> 2.51.0
Looks good to me.
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Mark
© 2016 - 2026 Red Hat, Inc.