Lines Matching refs:gpd_mgr
102 struct gpd_onoff_manager *gpd_mgr = CONTAINER_OF(mgr_, struct gpd_onoff_manager, mgr); in request_cb() local
104 gpd_mgr->res = res; in request_cb()
105 k_sem_give(&gpd_mgr->sem); in request_cb()
108 static int nrf_gpd_sync(struct gpd_onoff_manager *gpd_mgr) in nrf_gpd_sync() argument
115 key = k_spin_lock(&gpd_mgr->mgr.lock); in nrf_gpd_sync()
117 if (gpd_mgr->mgr.refs == 0) { in nrf_gpd_sync()
123 k_spin_unlock(&gpd_mgr->mgr.lock, key); in nrf_gpd_sync()
128 err = nrfs_gdpwr_power_request(gpd_mgr->id, request, gpd_mgr); in nrf_gpd_sync()
154 struct gpd_onoff_manager *gpd_mgr = context; in evt_handler() local
158 gpd_mgr->notify(&gpd_mgr->mgr, 0); in evt_handler()
162 gpd_mgr->notify(&gpd_mgr->mgr, -EIO); in evt_handler()
180 struct gpd_onoff_manager *gpd_mgr = CONTAINER_OF(mgr, struct gpd_onoff_manager, mgr); in start() local
182 gpd_mgr->notify = notify; in start()
189 err = nrfs_gdpwr_power_request(gpd_mgr->id, GDPWR_POWER_REQUEST_SET, gpd_mgr); in start()
199 struct gpd_onoff_manager *gpd_mgr = CONTAINER_OF(mgr, struct gpd_onoff_manager, mgr); in stop() local
201 gpd_mgr->notify = notify; in stop()
208 err = nrfs_gdpwr_power_request(gpd_mgr->id, GDPWR_POWER_REQUEST_CLEAR, gpd_mgr); in stop()
220 struct gpd_onoff_manager *gpd_mgr; in nrf_gpd_request() local
222 gpd_mgr = get_mgr(id); in nrf_gpd_request()
223 if (gpd_mgr == NULL) { in nrf_gpd_request()
235 ret = onoff_request(&gpd_mgr->mgr, &client); in nrf_gpd_request()
244 k_mutex_lock(&gpd_mgr->lock, K_FOREVER); in nrf_gpd_request()
246 ret = onoff_request(&gpd_mgr->mgr, &client); in nrf_gpd_request()
248 (void)k_sem_take(&gpd_mgr->sem, K_FOREVER); in nrf_gpd_request()
249 ret = gpd_mgr->res; in nrf_gpd_request()
252 k_mutex_unlock(&gpd_mgr->lock); in nrf_gpd_request()
260 struct gpd_onoff_manager *gpd_mgr; in nrf_gpd_release() local
262 gpd_mgr = get_mgr(id); in nrf_gpd_release()
263 if (gpd_mgr == NULL) { in nrf_gpd_release()
272 return onoff_release(&gpd_mgr->mgr); in nrf_gpd_release()