@@ -29,7 +29,7 @@ struct i2s_buf {
2929};
3030
3131struct i2s_nrfx_drv_data {
32- struct onoff_manager * clk_mgr ;
32+ struct device * clk_dev ;
3333 struct onoff_client clk_cli ;
3434 struct stream_cfg tx ;
3535 struct k_msgq tx_queue ;
@@ -184,7 +184,7 @@ static void data_handler(const struct device *dev,
184184 }
185185 nrfx_i2s_uninit (& drv_data -> i2s );
186186 if (drv_data -> request_clock ) {
187- (void )onoff_release (drv_data -> clk_mgr );
187+ (void )nrf_clock_control_release (drv_data -> clk_dev , NULL );
188188 }
189189 }
190190
@@ -602,7 +602,7 @@ static int start_transfer(struct i2s_nrfx_drv_data *drv_data)
602602
603603 nrfx_i2s_uninit (& drv_data -> i2s );
604604 if (drv_data -> request_clock ) {
605- (void )onoff_release (drv_data -> clk_mgr );
605+ (void )nrf_clock_control_release (drv_data -> clk_dev , NULL );
606606 }
607607
608608 if (initial_buffers .p_tx_buffer ) {
@@ -630,7 +630,7 @@ static void clock_started_callback(struct onoff_manager *mgr,
630630 */
631631 if (drv_data -> state == I2S_STATE_READY ) {
632632 nrfx_i2s_uninit (& drv_data -> i2s );
633- (void )onoff_release (drv_data -> clk_mgr );
633+ (void )nrf_clock_control_release (drv_data -> clk_dev , NULL );
634634 } else {
635635 (void )start_transfer (drv_data );
636636 }
@@ -667,7 +667,7 @@ static int trigger_start(const struct device *dev)
667667 if (drv_data -> request_clock ) {
668668 sys_notify_init_callback (& drv_data -> clk_cli .notify ,
669669 clock_started_callback );
670- ret = onoff_request (drv_data -> clk_mgr , & drv_data -> clk_cli );
670+ ret = nrf_clock_control_request (drv_data -> clk_dev , NULL , & drv_data -> clk_cli );
671671 if (ret < 0 ) {
672672 nrfx_i2s_uninit (& drv_data -> i2s );
673673 drv_data -> state = I2S_STATE_READY ;
@@ -796,21 +796,21 @@ static int i2s_nrfx_trigger(const struct device *dev,
796796static void init_clock_manager (const struct device * dev )
797797{
798798 struct i2s_nrfx_drv_data * drv_data = dev -> data ;
799- clock_control_subsys_t subsys ;
800799
801800#if NRF_CLOCK_HAS_HFCLKAUDIO
802801 const struct i2s_nrfx_drv_cfg * drv_cfg = dev -> config ;
803802
804803 if (drv_cfg -> clk_src == ACLK ) {
805- subsys = CLOCK_CONTROL_NRF_SUBSYS_HFAUDIO ;
804+ drv_data -> clk_dev = DEVICE_DT_GET_ONE ( nordic_nrf_clock_hfclkaudio ) ;
806805 } else
807806#endif
808807 {
809- subsys = CLOCK_CONTROL_NRF_SUBSYS_HF ;
808+ drv_data -> clk_dev = DEVICE_DT_GET_ONE (COND_CODE_1 ((NRF_CLOCK_HAS_HFCLK ),
809+ (nordic_nrf_clock_hfclk ),
810+ (nordic_nrf_clock_xo )));
810811 }
811812
812- drv_data -> clk_mgr = z_nrf_clock_control_get_onoff (subsys );
813- __ASSERT_NO_MSG (drv_data -> clk_mgr != NULL );
813+ __ASSERT_NO_MSG (drv_data -> clk_dev != NULL );
814814}
815815
816816static DEVICE_API (i2s , i2s_nrf_drv_api ) = {
0 commit comments