From 571f9dbbd99352f18d09097d6dee45365ad039b0 Mon Sep 17 00:00:00 2001 From: Peter Bigot Date: Tue, 24 Nov 2020 06:43:40 -0600 Subject: [PATCH] drivers: regulator: update to new delayable work API Replace legacy API with new API. Note that this driver uses the schedule, not reschedule, API, since triggers for delay never overlap. Signed-off-by: Peter Bigot --- drivers/regulator/regulator_fixed.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/regulator/regulator_fixed.c b/drivers/regulator/regulator_fixed.c index 02b94c9ab9c..114e9b7f24c 100644 --- a/drivers/regulator/regulator_fixed.c +++ b/drivers/regulator/regulator_fixed.c @@ -39,7 +39,7 @@ struct driver_data_onoff { const struct device *dev; struct onoff_manager mgr; #ifdef CONFIG_MULTITHREADING - struct k_delayed_work delayed_work; + struct k_work_delayable dwork; #endif /* CONFIG_MULTITHREADING */ onoff_notify_fn notify; enum work_task task; @@ -114,8 +114,7 @@ static void finalize_transition(struct driver_data_onoff *data, __ASSERT_NO_MSG(data->task == WORK_TASK_UNDEFINED); data->task = WORK_TASK_DELAY; data->notify = notify; - rc = k_delayed_work_submit(&data->delayed_work, - K_USEC(delay_us)); + rc = k_work_schedule(&data->dwork, K_USEC(delay_us)); if (rc == 0) { return; } @@ -136,11 +135,11 @@ static void finalize_transition(struct driver_data_onoff *data, */ static void onoff_worker(struct k_work *work) { - struct k_delayed_work *delayed_work - = CONTAINER_OF(work, struct k_delayed_work, work); + struct k_work_delayable *dwork + = k_work_delayable_from_work(work); struct driver_data_onoff *data - = CONTAINER_OF(delayed_work, struct driver_data_onoff, - delayed_work); + = CONTAINER_OF(dwork, struct driver_data_onoff, + dwork); onoff_notify_fn notify = data->notify; const struct driver_config *cfg = data->dev->config; uint32_t delay_us = 0; @@ -190,7 +189,7 @@ static void start(struct onoff_manager *mgr, __ASSERT_NO_MSG(data->task == WORK_TASK_UNDEFINED); data->task = WORK_TASK_ENABLE; data->notify = notify; - k_delayed_work_submit(&data->delayed_work, K_NO_WAIT); + k_work_schedule(&data->dwork, K_NO_WAIT); return; } #endif /* CONFIG_MULTITHREADING */ @@ -228,7 +227,7 @@ static void stop(struct onoff_manager *mgr, __ASSERT_NO_MSG(data->task == WORK_TASK_UNDEFINED); data->task = WORK_TASK_DISABLE; data->notify = notify; - k_delayed_work_submit(&data->delayed_work, K_NO_WAIT); + k_work_schedule(&data->dwork, K_NO_WAIT); return; } #endif /* CONFIG_MULTITHREADING */ @@ -271,7 +270,7 @@ static int regulator_fixed_init_onoff(const struct device *dev) __ASSERT_NO_MSG(rc == 0); #ifdef CONFIG_MULTITHREADING - k_delayed_work_init(&data->delayed_work, onoff_worker); + k_work_init_delayable(&data->dwork, onoff_worker); #endif /* CONFIG_MULTITHREADING */ rc = common_init(dev, &data->gpio);