Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions drivers/clock_control/clock_control_nrfs_audiopll.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,22 @@
return dev_data->evt == NRFS_AUDIOPLL_EVT_FREQ_CONFIRMED ? 0 : -EIO;
}

static int shim_nrfs_request_disable_sync(const struct device *dev)
{
struct shim_data *dev_data = dev->data;
nrfs_err_t err;

LOG_DBG("send disable request");

Check warning on line 155 in drivers/clock_control/clock_control_nrfs_audiopll.c

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

use of GNU statement expression extension from macro expansion

See more on https://sonarcloud.io/project/issues?id=nrfconnect_sdk-zephyr&issues=AZsSgbY2U0Mo_hvsR1gn&open=AZsSgbY2U0Mo_hvsR1gn&pullRequest=3634

err = nrfs_audiopll_disable_request(dev_data);
if (err != NRFS_SUCCESS) {
return -EIO;
}

k_sem_take(&dev_data->evt_sem, K_FOREVER);
return dev_data->evt == NRFS_AUDIOPLL_EVT_DISABLED ? 0 : -EIO;
}

static int shim_nrfs_request_prescaler_sync(const struct device *dev,
enum audiopll_prescaler_div div)
{
Expand Down Expand Up @@ -274,6 +290,13 @@
return ret;
}

/* Requesting freq or prescaler automatically enables clock, disable it */
ret = shim_nrfs_request_disable_sync(dev);
if (ret) {
LOG_ERR("failed to disable clock");

Check warning on line 296 in drivers/clock_control/clock_control_nrfs_audiopll.c

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

use of GNU statement expression extension from macro expansion

See more on https://sonarcloud.io/project/issues?id=nrfconnect_sdk-zephyr&issues=AZsSgbY2U0Mo_hvsR1go&open=AZsSgbY2U0Mo_hvsR1go&pullRequest=3634
return ret;
}

nrfs_audiopll_uninit();

ret = onoff_manager_init(&dev_data->mgr, &shim_mgr_transitions);
Expand Down