@@ -158,8 +158,8 @@ static void k3_dsp_rproc_kick(struct rproc *rproc, int vqid)
158
158
/* send the index of the triggered virtqueue in the mailbox payload */
159
159
ret = mbox_send_message (kproc -> mbox , (void * )msg );
160
160
if (ret < 0 )
161
- dev_err (dev , "failed to send mailbox message, status = %d \n" ,
162
- ret );
161
+ dev_err (dev , "failed to send mailbox message (%pe) \n" ,
162
+ ERR_PTR ( ret ) );
163
163
}
164
164
165
165
/* Put the DSP processor into reset */
@@ -170,7 +170,7 @@ static int k3_dsp_rproc_reset(struct k3_dsp_rproc *kproc)
170
170
171
171
ret = reset_control_assert (kproc -> reset );
172
172
if (ret ) {
173
- dev_err (dev , "local-reset assert failed, ret = %d \n" , ret );
173
+ dev_err (dev , "local-reset assert failed (%pe) \n" , ERR_PTR ( ret ) );
174
174
return ret ;
175
175
}
176
176
@@ -180,7 +180,7 @@ static int k3_dsp_rproc_reset(struct k3_dsp_rproc *kproc)
180
180
ret = kproc -> ti_sci -> ops .dev_ops .put_device (kproc -> ti_sci ,
181
181
kproc -> ti_sci_id );
182
182
if (ret ) {
183
- dev_err (dev , "module-reset assert failed, ret = %d \n" , ret );
183
+ dev_err (dev , "module-reset assert failed (%pe) \n" , ERR_PTR ( ret ) );
184
184
if (reset_control_deassert (kproc -> reset ))
185
185
dev_warn (dev , "local-reset deassert back failed\n" );
186
186
}
@@ -200,14 +200,14 @@ static int k3_dsp_rproc_release(struct k3_dsp_rproc *kproc)
200
200
ret = kproc -> ti_sci -> ops .dev_ops .get_device (kproc -> ti_sci ,
201
201
kproc -> ti_sci_id );
202
202
if (ret ) {
203
- dev_err (dev , "module-reset deassert failed, ret = %d \n" , ret );
203
+ dev_err (dev , "module-reset deassert failed (%pe) \n" , ERR_PTR ( ret ) );
204
204
return ret ;
205
205
}
206
206
207
207
lreset :
208
208
ret = reset_control_deassert (kproc -> reset );
209
209
if (ret ) {
210
- dev_err (dev , "local-reset deassert failed, ret = %d \n" , ret );
210
+ dev_err (dev , "local-reset deassert failed, (%pe) \n" , ERR_PTR ( ret ) );
211
211
if (kproc -> ti_sci -> ops .dev_ops .put_device (kproc -> ti_sci ,
212
212
kproc -> ti_sci_id ))
213
213
dev_warn (dev , "module-reset assert back failed\n" );
@@ -246,7 +246,7 @@ static int k3_dsp_rproc_request_mbox(struct rproc *rproc)
246
246
*/
247
247
ret = mbox_send_message (kproc -> mbox , (void * )RP_MBOX_ECHO_REQUEST );
248
248
if (ret < 0 ) {
249
- dev_err (dev , "mbox_send_message failed: %d \n" , ret );
249
+ dev_err (dev , "mbox_send_message failed (%pe) \n" , ERR_PTR ( ret ) );
250
250
mbox_free_channel (kproc -> mbox );
251
251
return ret ;
252
252
}
@@ -272,8 +272,8 @@ static int k3_dsp_rproc_prepare(struct rproc *rproc)
272
272
ret = kproc -> ti_sci -> ops .dev_ops .get_device (kproc -> ti_sci ,
273
273
kproc -> ti_sci_id );
274
274
if (ret )
275
- dev_err (dev , "module-reset deassert failed, cannot enable internal RAM loading, ret = %d \n" ,
276
- ret );
275
+ dev_err (dev , "module-reset deassert failed, cannot enable internal RAM loading (%pe) \n" ,
276
+ ERR_PTR ( ret ) );
277
277
278
278
return ret ;
279
279
}
@@ -296,7 +296,7 @@ static int k3_dsp_rproc_unprepare(struct rproc *rproc)
296
296
ret = kproc -> ti_sci -> ops .dev_ops .put_device (kproc -> ti_sci ,
297
297
kproc -> ti_sci_id );
298
298
if (ret )
299
- dev_err (dev , "module-reset assert failed, ret = %d \n" , ret );
299
+ dev_err (dev , "module-reset assert failed (%pe) \n" , ERR_PTR ( ret ) );
300
300
301
301
return ret ;
302
302
}
@@ -561,9 +561,9 @@ static int k3_dsp_reserved_mem_init(struct k3_dsp_rproc *kproc)
561
561
562
562
num_rmems = of_property_count_elems_of_size (np , "memory-region" ,
563
563
sizeof (phandle ));
564
- if (num_rmems <= 0 ) {
565
- dev_err (dev , "device does not reserved memory regions, ret = %d \n" ,
566
- num_rmems );
564
+ if (num_rmems < 0 ) {
565
+ dev_err (dev , "device does not reserved memory regions (%pe) \n" ,
566
+ ERR_PTR ( num_rmems ) );
567
567
return - EINVAL ;
568
568
}
569
569
if (num_rmems < 2 ) {
@@ -575,8 +575,8 @@ static int k3_dsp_reserved_mem_init(struct k3_dsp_rproc *kproc)
575
575
/* use reserved memory region 0 for vring DMA allocations */
576
576
ret = of_reserved_mem_device_init_by_idx (dev , np , 0 );
577
577
if (ret ) {
578
- dev_err (dev , "device cannot initialize DMA pool, ret = %d \n" ,
579
- ret );
578
+ dev_err (dev , "device cannot initialize DMA pool (%pe) \n" ,
579
+ ERR_PTR ( ret ) );
580
580
return ret ;
581
581
}
582
582
@@ -687,11 +687,8 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
687
687
return - ENODEV ;
688
688
689
689
ret = rproc_of_parse_firmware (dev , 0 , & fw_name );
690
- if (ret ) {
691
- dev_err (dev , "failed to parse firmware-name property, ret = %d\n" ,
692
- ret );
693
- return ret ;
694
- }
690
+ if (ret )
691
+ return dev_err_probe (dev , ret , "failed to parse firmware-name property\n" );
695
692
696
693
rproc = rproc_alloc (dev , dev_name (dev ), & k3_dsp_rproc_ops , fw_name ,
697
694
sizeof (* kproc ));
@@ -711,39 +708,35 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
711
708
712
709
kproc -> ti_sci = ti_sci_get_by_phandle (np , "ti,sci" );
713
710
if (IS_ERR (kproc -> ti_sci )) {
714
- ret = PTR_ERR (kproc -> ti_sci );
715
- if (ret != - EPROBE_DEFER ) {
716
- dev_err (dev , "failed to get ti-sci handle, ret = %d\n" ,
717
- ret );
718
- }
711
+ ret = dev_err_probe (dev , PTR_ERR (kproc -> ti_sci ),
712
+ "failed to get ti-sci handle\n" );
719
713
kproc -> ti_sci = NULL ;
720
714
goto free_rproc ;
721
715
}
722
716
723
717
ret = of_property_read_u32 (np , "ti,sci-dev-id" , & kproc -> ti_sci_id );
724
718
if (ret ) {
725
- dev_err (dev , "missing 'ti,sci-dev-id' property\n" );
719
+ dev_err_probe (dev , ret , "missing 'ti,sci-dev-id' property\n" );
726
720
goto put_sci ;
727
721
}
728
722
729
723
kproc -> reset = devm_reset_control_get_exclusive (dev , NULL );
730
724
if (IS_ERR (kproc -> reset )) {
731
- ret = PTR_ERR (kproc -> reset );
732
- dev_err ( dev , "failed to get reset, status = %d \n" , ret );
725
+ ret = dev_err_probe ( dev , PTR_ERR (kproc -> reset ),
726
+ "failed to get reset\n" );
733
727
goto put_sci ;
734
728
}
735
729
736
730
kproc -> tsp = k3_dsp_rproc_of_get_tsp (dev , kproc -> ti_sci );
737
731
if (IS_ERR (kproc -> tsp )) {
738
- dev_err (dev , "failed to construct ti-sci proc control, ret = %d\n" ,
739
- ret );
740
- ret = PTR_ERR (kproc -> tsp );
732
+ ret = dev_err_probe (dev , PTR_ERR (kproc -> tsp ),
733
+ "failed to construct ti-sci proc control\n" );
741
734
goto put_sci ;
742
735
}
743
736
744
737
ret = ti_sci_proc_request (kproc -> tsp );
745
738
if (ret < 0 ) {
746
- dev_err (dev , "ti_sci_proc_request failed, ret = %d \n" , ret );
739
+ dev_err_probe (dev , ret , "ti_sci_proc_request failed\n" );
747
740
goto free_tsp ;
748
741
}
749
742
@@ -753,15 +746,14 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
753
746
754
747
ret = k3_dsp_reserved_mem_init (kproc );
755
748
if (ret ) {
756
- dev_err (dev , "reserved memory init failed, ret = %d \n" , ret );
749
+ dev_err_probe (dev , ret , "reserved memory init failed\n" );
757
750
goto release_tsp ;
758
751
}
759
752
760
753
ret = kproc -> ti_sci -> ops .dev_ops .is_on (kproc -> ti_sci , kproc -> ti_sci_id ,
761
754
NULL , & p_state );
762
755
if (ret ) {
763
- dev_err (dev , "failed to get initial state, mode cannot be determined, ret = %d\n" ,
764
- ret );
756
+ dev_err_probe (dev , ret , "failed to get initial state, mode cannot be determined\n" );
765
757
goto release_mem ;
766
758
}
767
759
@@ -787,8 +779,7 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
787
779
if (data -> uses_lreset ) {
788
780
ret = reset_control_status (kproc -> reset );
789
781
if (ret < 0 ) {
790
- dev_err (dev , "failed to get reset status, status = %d\n" ,
791
- ret );
782
+ dev_err_probe (dev , ret , "failed to get reset status\n" );
792
783
goto release_mem ;
793
784
} else if (ret == 0 ) {
794
785
dev_warn (dev , "local reset is deasserted for device\n" );
@@ -799,8 +790,7 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
799
790
800
791
ret = rproc_add (rproc );
801
792
if (ret ) {
802
- dev_err (dev , "failed to add register device with remoteproc core, status = %d\n" ,
803
- ret );
793
+ dev_err_probe (dev , ret , "failed to add register device with remoteproc core\n" );
804
794
goto release_mem ;
805
795
}
806
796
@@ -813,19 +803,19 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
813
803
release_tsp :
814
804
ret1 = ti_sci_proc_release (kproc -> tsp );
815
805
if (ret1 )
816
- dev_err (dev , "failed to release proc, ret = %d \n" , ret1 );
806
+ dev_err (dev , "failed to release proc (%pe) \n" , ERR_PTR ( ret1 ) );
817
807
free_tsp :
818
808
kfree (kproc -> tsp );
819
809
put_sci :
820
810
ret1 = ti_sci_put_handle (kproc -> ti_sci );
821
811
if (ret1 )
822
- dev_err (dev , "failed to put ti_sci handle, ret = %d \n" , ret1 );
812
+ dev_err (dev , "failed to put ti_sci handle (%pe) \n" , ERR_PTR ( ret1 ) );
823
813
free_rproc :
824
814
rproc_free (rproc );
825
815
return ret ;
826
816
}
827
817
828
- static int k3_dsp_rproc_remove (struct platform_device * pdev )
818
+ static void k3_dsp_rproc_remove (struct platform_device * pdev )
829
819
{
830
820
struct k3_dsp_rproc * kproc = platform_get_drvdata (pdev );
831
821
struct rproc * rproc = kproc -> rproc ;
@@ -835,27 +825,26 @@ static int k3_dsp_rproc_remove(struct platform_device *pdev)
835
825
if (rproc -> state == RPROC_ATTACHED ) {
836
826
ret = rproc_detach (rproc );
837
827
if (ret ) {
838
- dev_err (dev , "failed to detach proc, ret = %d\n" , ret );
839
- return ret ;
828
+ /* Note this error path leaks resources */
829
+ dev_err (dev , "failed to detach proc (%pe)\n" , ERR_PTR (ret ));
830
+ return ;
840
831
}
841
832
}
842
833
843
834
rproc_del (kproc -> rproc );
844
835
845
836
ret = ti_sci_proc_release (kproc -> tsp );
846
837
if (ret )
847
- dev_err (dev , "failed to release proc, ret = %d \n" , ret );
838
+ dev_err (dev , "failed to release proc (%pe) \n" , ERR_PTR ( ret ) );
848
839
849
840
kfree (kproc -> tsp );
850
841
851
842
ret = ti_sci_put_handle (kproc -> ti_sci );
852
843
if (ret )
853
- dev_err (dev , "failed to put ti_sci handle, ret = %d \n" , ret );
844
+ dev_err (dev , "failed to put ti_sci handle (%pe) \n" , ERR_PTR ( ret ) );
854
845
855
846
k3_dsp_reserved_mem_exit (kproc );
856
847
rproc_free (kproc -> rproc );
857
-
858
- return 0 ;
859
848
}
860
849
861
850
static const struct k3_dsp_mem_data c66_mems [] = {
@@ -906,7 +895,7 @@ MODULE_DEVICE_TABLE(of, k3_dsp_of_match);
906
895
907
896
static struct platform_driver k3_dsp_rproc_driver = {
908
897
.probe = k3_dsp_rproc_probe ,
909
- .remove = k3_dsp_rproc_remove ,
898
+ .remove_new = k3_dsp_rproc_remove ,
910
899
.driver = {
911
900
.name = "k3-dsp-rproc" ,
912
901
.of_match_table = k3_dsp_of_match ,
0 commit comments