drivers: modem: rote conversion of k_work API

Replace all existing deprecated API with the recommended alternative.

Be aware that this does not address architectural errors in the use
of the work API.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This commit is contained in:
Peter Bigot 2021-03-31 10:31:30 -05:00 committed by Anas Nashif
commit cc090726e6
5 changed files with 52 additions and 58 deletions

View file

@ -51,7 +51,7 @@ static struct gsm_modem {
struct k_sem sem_response; struct k_sem sem_response;
struct modem_iface_uart_data gsm_data; struct modem_iface_uart_data gsm_data;
struct k_delayed_work gsm_configure_work; struct k_work_delayable gsm_configure_work;
char gsm_rx_rb_buf[PPP_MRU * 3]; char gsm_rx_rb_buf[PPP_MRU * 3];
uint8_t *ppp_recv_buf; uint8_t *ppp_recv_buf;
@ -368,8 +368,8 @@ static void gsm_finalize_connection(struct gsm_modem *gsm)
if (ret < 0) { if (ret < 0) {
LOG_ERR("modem setup returned %d, %s", LOG_ERR("modem setup returned %d, %s",
ret, "retrying..."); ret, "retrying...");
(void)k_delayed_work_submit(&gsm->gsm_configure_work, (void)k_work_reschedule(&gsm->gsm_configure_work,
K_SECONDS(1)); K_SECONDS(1));
return; return;
} }
} }
@ -395,8 +395,7 @@ static void gsm_finalize_connection(struct gsm_modem *gsm)
if (ret < 0) { if (ret < 0) {
LOG_DBG("modem setup returned %d, %s", LOG_DBG("modem setup returned %d, %s",
ret, "retrying..."); ret, "retrying...");
(void)k_delayed_work_submit(&gsm->gsm_configure_work, (void)k_work_reschedule(&gsm->gsm_configure_work, K_SECONDS(1));
K_SECONDS(1));
return; return;
} }
@ -422,8 +421,9 @@ attaching:
} }
LOG_DBG("Not attached, %s", "retrying..."); LOG_DBG("Not attached, %s", "retrying...");
(void)k_delayed_work_submit(&gsm->gsm_configure_work,
K_MSEC(GSM_ATTACH_RETRY_DELAY_MSEC)); (void)k_work_reschedule(&gsm->gsm_configure_work,
K_MSEC(GSM_ATTACH_RETRY_DELAY_MSEC));
return; return;
} }
@ -441,8 +441,7 @@ attaching:
if (ret < 0) { if (ret < 0) {
LOG_DBG("modem setup returned %d, %s", LOG_DBG("modem setup returned %d, %s",
ret, "retrying..."); ret, "retrying...");
(void)k_delayed_work_submit(&gsm->gsm_configure_work, (void)k_work_reschedule(&gsm->gsm_configure_work, K_SECONDS(1));
K_SECONDS(1));
return; return;
} }
@ -523,7 +522,7 @@ static int mux_enable(struct gsm_modem *gsm)
static void mux_setup_next(struct gsm_modem *gsm) static void mux_setup_next(struct gsm_modem *gsm)
{ {
(void)k_delayed_work_submit(&gsm->gsm_configure_work, K_MSEC(1)); (void)k_work_reschedule(&gsm->gsm_configure_work, K_MSEC(1));
} }
static void mux_attach_cb(const struct device *mux, int dlci_address, static void mux_attach_cb(const struct device *mux, int dlci_address,
@ -674,8 +673,7 @@ static void gsm_configure(struct k_work *work)
if (ret < 0) { if (ret < 0) {
LOG_DBG("modem not ready %d", ret); LOG_DBG("modem not ready %d", ret);
(void)k_delayed_work_submit(&gsm->gsm_configure_work, (void)k_work_reschedule(&gsm->gsm_configure_work, K_NO_WAIT);
K_NO_WAIT);
return; return;
} }
@ -689,8 +687,8 @@ static void gsm_configure(struct k_work *work)
gsm->mux_enabled = true; gsm->mux_enabled = true;
} else { } else {
gsm->mux_enabled = false; gsm->mux_enabled = false;
(void)k_delayed_work_submit(&gsm->gsm_configure_work, (void)k_work_reschedule(&gsm->gsm_configure_work,
K_NO_WAIT); K_NO_WAIT);
return; return;
} }
@ -700,11 +698,11 @@ static void gsm_configure(struct k_work *work)
if (gsm->mux_enabled) { if (gsm->mux_enabled) {
gsm->state = STATE_INIT; gsm->state = STATE_INIT;
k_delayed_work_init(&gsm->gsm_configure_work, k_work_init_delayable(&gsm->gsm_configure_work,
mux_setup); mux_setup);
(void)k_delayed_work_submit(&gsm->gsm_configure_work, (void)k_work_reschedule(&gsm->gsm_configure_work,
K_NO_WAIT); K_NO_WAIT);
return; return;
} }
} }
@ -724,8 +722,8 @@ void gsm_ppp_start(const struct device *dev)
return; return;
} }
k_delayed_work_init(&gsm->gsm_configure_work, gsm_configure); k_work_init_delayable(&gsm->gsm_configure_work, gsm_configure);
(void)k_delayed_work_submit(&gsm->gsm_configure_work, K_NO_WAIT); (void)k_work_reschedule(&gsm->gsm_configure_work, K_NO_WAIT);
} }
void gsm_ppp_stop(const struct device *dev) void gsm_ppp_stop(const struct device *dev)

View file

@ -896,9 +896,9 @@ static void modem_rssi_query_work(struct k_work *work)
/* Re-start RSSI query work */ /* Re-start RSSI query work */
if (work) { if (work) {
k_delayed_work_submit_to_queue(&modem_workq, k_work_reschedule_for_queue(&modem_workq,
&mdata.rssi_query_work, &mdata.rssi_query_work,
K_SECONDS(RSSI_TIMEOUT_SECS)); K_SECONDS(RSSI_TIMEOUT_SECS));
} }
} }
@ -1019,7 +1019,7 @@ restart:
counter = 0; counter = 0;
/* stop RSSI delay work */ /* stop RSSI delay work */
k_delayed_work_cancel(&mdata.rssi_query_work); k_work_cancel_delayable(&mdata.rssi_query_work);
/* Let the modem respond. */ /* Let the modem respond. */
LOG_INF("Waiting for modem to respond"); LOG_INF("Waiting for modem to respond");
@ -1068,9 +1068,8 @@ restart_rssi:
/* Network is ready - Start RSSI work in the background. */ /* Network is ready - Start RSSI work in the background. */
LOG_INF("Network is ready."); LOG_INF("Network is ready.");
k_delayed_work_submit_to_queue(&modem_workq, k_work_reschedule_for_queue(&modem_workq, &mdata.rssi_query_work,
&mdata.rssi_query_work, K_SECONDS(RSSI_TIMEOUT_SECS));
K_SECONDS(RSSI_TIMEOUT_SECS));
/* Once the network is ready, we try to activate the PDP context. */ /* Once the network is ready, we try to activate the PDP context. */
ret = modem_pdp_context_activate(); ret = modem_pdp_context_activate();
@ -1145,9 +1144,9 @@ static int modem_init(const struct device *dev)
k_sem_init(&mdata.sem_response, 0, 1); k_sem_init(&mdata.sem_response, 0, 1);
k_sem_init(&mdata.sem_tx_ready, 0, 1); k_sem_init(&mdata.sem_tx_ready, 0, 1);
k_sem_init(&mdata.sem_sock_conn, 0, 1); k_sem_init(&mdata.sem_sock_conn, 0, 1);
k_work_q_start(&modem_workq, modem_workq_stack, k_work_queue_start(&modem_workq, modem_workq_stack,
K_KERNEL_STACK_SIZEOF(modem_workq_stack), K_KERNEL_STACK_SIZEOF(modem_workq_stack),
K_PRIO_COOP(7)); K_PRIO_COOP(7), NULL);
/* socket config */ /* socket config */
mdata.socket_config.sockets = &mdata.sockets[0]; mdata.socket_config.sockets = &mdata.sockets[0];
@ -1210,7 +1209,7 @@ static int modem_init(const struct device *dev)
NULL, NULL, NULL, K_PRIO_COOP(7), 0, K_NO_WAIT); NULL, NULL, NULL, K_PRIO_COOP(7), 0, K_NO_WAIT);
/* Init RSSI query */ /* Init RSSI query */
k_delayed_work_init(&mdata.rssi_query_work, modem_rssi_query_work); k_work_init_delayable(&mdata.rssi_query_work, modem_rssi_query_work);
return modem_setup(); return modem_setup();
error: error:

View file

@ -89,7 +89,7 @@ struct modem_data {
struct modem_socket sockets[MDM_MAX_SOCKETS]; struct modem_socket sockets[MDM_MAX_SOCKETS];
/* RSSI work */ /* RSSI work */
struct k_delayed_work rssi_query_work; struct k_work_delayable rssi_query_work;
/* modem data */ /* modem data */
char mdm_manufacturer[MDM_MANUFACTURER_LENGTH]; char mdm_manufacturer[MDM_MANUFACTURER_LENGTH];

View file

@ -141,7 +141,7 @@ struct modem_data {
#if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK) #if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK)
/* RSSI work */ /* RSSI work */
struct k_delayed_work rssi_query_work; struct k_work_delayable rssi_query_work;
#endif #endif
/* modem data */ /* modem data */
@ -924,8 +924,8 @@ static void modem_rssi_query_work(struct k_work *work)
#if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK) #if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK)
/* re-start RSSI query work */ /* re-start RSSI query work */
if (work) { if (work) {
k_delayed_work_submit_to_queue(&modem_workq, k_work_reschedule_for_queue(
&mdata.rssi_query_work, &modem_workq, &mdata.rssi_query_work,
K_SECONDS(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK_PERIOD)); K_SECONDS(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK_PERIOD));
} }
#endif #endif
@ -954,9 +954,9 @@ static void modem_rssi_query_work(struct k_work *work)
#if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK) #if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK)
/* re-start RSSI query work */ /* re-start RSSI query work */
if (work) { if (work) {
k_delayed_work_submit_to_queue(&modem_workq, k_work_reschedule_for_queue(
&mdata.rssi_query_work, &modem_workq, &mdata.rssi_query_work,
K_SECONDS(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK_PERIOD)); K_SECONDS(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK_PERIOD));
} }
#endif #endif
} }
@ -1039,7 +1039,7 @@ restart:
#if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK) #if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK)
/* stop RSSI delay work */ /* stop RSSI delay work */
k_delayed_work_cancel(&mdata.rssi_query_work); k_work_cancel_delayable(&mdata.rssi_query_work);
#endif #endif
pin_init(); pin_init();
@ -1208,9 +1208,9 @@ restart:
#if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK) #if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK)
/* start RSSI query */ /* start RSSI query */
k_delayed_work_submit_to_queue(&modem_workq, k_work_reschedule_for_queue(
&mdata.rssi_query_work, &modem_workq, &mdata.rssi_query_work,
K_SECONDS(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK_PERIOD)); K_SECONDS(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK_PERIOD));
#endif #endif
error: error:
@ -1839,10 +1839,9 @@ static int modem_init(const struct device *dev)
#if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK) #if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK)
/* initialize the work queue */ /* initialize the work queue */
k_work_q_start(&modem_workq, k_work_queue_start(&modem_workq, modem_workq_stack,
modem_workq_stack, K_KERNEL_STACK_SIZEOF(modem_workq_stack),
K_KERNEL_STACK_SIZEOF(modem_workq_stack), K_PRIO_COOP(7), NULL);
K_PRIO_COOP(7));
#endif #endif
/* socket config */ /* socket config */
@ -1908,7 +1907,7 @@ static int modem_init(const struct device *dev)
#if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK) #if defined(CONFIG_MODEM_UBLOX_SARA_RSSI_WORK)
/* init RSSI query */ /* init RSSI query */
k_delayed_work_init(&mdata.rssi_query_work, modem_rssi_query_work); k_work_init_delayable(&mdata.rssi_query_work, modem_rssi_query_work);
#endif #endif
modem_reset(); modem_reset();

View file

@ -197,7 +197,7 @@ struct wncm14a2a_iface_ctx {
struct k_sem response_sem; struct k_sem response_sem;
/* RSSI work */ /* RSSI work */
struct k_delayed_work rssi_query_work; struct k_work_delayable rssi_query_work;
/* modem data */ /* modem data */
char mdm_manufacturer[MDM_MANUFACTURER_LENGTH]; char mdm_manufacturer[MDM_MANUFACTURER_LENGTH];
@ -1322,9 +1322,8 @@ static void wncm14a2a_rssi_query_work(struct k_work *work)
} }
/* re-start RSSI query work */ /* re-start RSSI query work */
k_delayed_work_submit_to_queue(&wncm14a2a_workq, k_work_reschedule_for_queue(&wncm14a2a_workq, &ictx.rssi_query_work,
&ictx.rssi_query_work, K_SECONDS(RSSI_TIMEOUT_SECS));
K_SECONDS(RSSI_TIMEOUT_SECS));
} }
static void wncm14a2a_modem_reset(void) static void wncm14a2a_modem_reset(void)
@ -1336,7 +1335,7 @@ static void wncm14a2a_modem_reset(void)
restart: restart:
/* stop RSSI delay work */ /* stop RSSI delay work */
k_delayed_work_cancel(&ictx.rssi_query_work); k_work_cancel_delayable(&ictx.rssi_query_work);
modem_pin_init(); modem_pin_init();
@ -1402,7 +1401,7 @@ restart:
(ictx.mdm_ctx.data_rssi <= -1000 || (ictx.mdm_ctx.data_rssi <= -1000 ||
ictx.mdm_ctx.data_rssi == 0)) { ictx.mdm_ctx.data_rssi == 0)) {
/* stop RSSI delay work */ /* stop RSSI delay work */
k_delayed_work_cancel(&ictx.rssi_query_work); k_work_cancel_delayable(&ictx.rssi_query_work);
wncm14a2a_rssi_query_work(NULL); wncm14a2a_rssi_query_work(NULL);
k_sleep(K_SECONDS(2)); k_sleep(K_SECONDS(2));
} }
@ -1460,10 +1459,9 @@ static int wncm14a2a_init(const struct device *dev)
k_sem_init(&ictx.response_sem, 0, 1); k_sem_init(&ictx.response_sem, 0, 1);
/* initialize the work queue */ /* initialize the work queue */
k_work_q_start(&wncm14a2a_workq, k_work_queue_start(&wncm14a2a_workq, wncm14a2a_workq_stack,
wncm14a2a_workq_stack, K_KERNEL_STACK_SIZEOF(wncm14a2a_workq_stack),
K_KERNEL_STACK_SIZEOF(wncm14a2a_workq_stack), K_PRIO_COOP(7), NULL);
K_PRIO_COOP(7));
ictx.last_socket_id = 0; ictx.last_socket_id = 0;
@ -1503,7 +1501,7 @@ static int wncm14a2a_init(const struct device *dev)
NULL, NULL, NULL, K_PRIO_COOP(7), 0, K_NO_WAIT); NULL, NULL, NULL, K_PRIO_COOP(7), 0, K_NO_WAIT);
/* init RSSI query */ /* init RSSI query */
k_delayed_work_init(&ictx.rssi_query_work, wncm14a2a_rssi_query_work); k_work_init_delayable(&ictx.rssi_query_work, wncm14a2a_rssi_query_work);
wncm14a2a_modem_reset(); wncm14a2a_modem_reset();