@@ -158,8 +158,8 @@ static void k3_dsp_rproc_kick(struct rproc *rproc, int vqid)
158158 /* send the index of the triggered virtqueue in the mailbox payload */
159159 ret = mbox_send_message (kproc -> mbox , (void * )msg );
160160 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 ) );
163163}
164164
165165/* Put the DSP processor into reset */
@@ -170,7 +170,7 @@ static int k3_dsp_rproc_reset(struct k3_dsp_rproc *kproc)
170170
171171 ret = reset_control_assert (kproc -> reset );
172172 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 ) );
174174 return ret ;
175175 }
176176
@@ -180,7 +180,7 @@ static int k3_dsp_rproc_reset(struct k3_dsp_rproc *kproc)
180180 ret = kproc -> ti_sci -> ops .dev_ops .put_device (kproc -> ti_sci ,
181181 kproc -> ti_sci_id );
182182 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 ) );
184184 if (reset_control_deassert (kproc -> reset ))
185185 dev_warn (dev , "local-reset deassert back failed\n" );
186186 }
@@ -200,14 +200,14 @@ static int k3_dsp_rproc_release(struct k3_dsp_rproc *kproc)
200200 ret = kproc -> ti_sci -> ops .dev_ops .get_device (kproc -> ti_sci ,
201201 kproc -> ti_sci_id );
202202 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 ) );
204204 return ret ;
205205 }
206206
207207lreset :
208208 ret = reset_control_deassert (kproc -> reset );
209209 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 ) );
211211 if (kproc -> ti_sci -> ops .dev_ops .put_device (kproc -> ti_sci ,
212212 kproc -> ti_sci_id ))
213213 dev_warn (dev , "module-reset assert back failed\n" );
@@ -246,7 +246,7 @@ static int k3_dsp_rproc_request_mbox(struct rproc *rproc)
246246 */
247247 ret = mbox_send_message (kproc -> mbox , (void * )RP_MBOX_ECHO_REQUEST );
248248 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 ) );
250250 mbox_free_channel (kproc -> mbox );
251251 return ret ;
252252 }
@@ -272,8 +272,8 @@ static int k3_dsp_rproc_prepare(struct rproc *rproc)
272272 ret = kproc -> ti_sci -> ops .dev_ops .get_device (kproc -> ti_sci ,
273273 kproc -> ti_sci_id );
274274 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 ) );
277277
278278 return ret ;
279279}
@@ -296,7 +296,7 @@ static int k3_dsp_rproc_unprepare(struct rproc *rproc)
296296 ret = kproc -> ti_sci -> ops .dev_ops .put_device (kproc -> ti_sci ,
297297 kproc -> ti_sci_id );
298298 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 ) );
300300
301301 return ret ;
302302}
@@ -561,9 +561,9 @@ static int k3_dsp_reserved_mem_init(struct k3_dsp_rproc *kproc)
561561
562562 num_rmems = of_property_count_elems_of_size (np , "memory-region" ,
563563 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 ) );
567567 return - EINVAL ;
568568 }
569569 if (num_rmems < 2 ) {
@@ -575,8 +575,8 @@ static int k3_dsp_reserved_mem_init(struct k3_dsp_rproc *kproc)
575575 /* use reserved memory region 0 for vring DMA allocations */
576576 ret = of_reserved_mem_device_init_by_idx (dev , np , 0 );
577577 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 ) );
580580 return ret ;
581581 }
582582
@@ -687,11 +687,8 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
687687 return - ENODEV ;
688688
689689 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" );
695692
696693 rproc = rproc_alloc (dev , dev_name (dev ), & k3_dsp_rproc_ops , fw_name ,
697694 sizeof (* kproc ));
@@ -711,39 +708,35 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
711708
712709 kproc -> ti_sci = ti_sci_get_by_phandle (np , "ti,sci" );
713710 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" );
719713 kproc -> ti_sci = NULL ;
720714 goto free_rproc ;
721715 }
722716
723717 ret = of_property_read_u32 (np , "ti,sci-dev-id" , & kproc -> ti_sci_id );
724718 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" );
726720 goto put_sci ;
727721 }
728722
729723 kproc -> reset = devm_reset_control_get_exclusive (dev , NULL );
730724 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" );
733727 goto put_sci ;
734728 }
735729
736730 kproc -> tsp = k3_dsp_rproc_of_get_tsp (dev , kproc -> ti_sci );
737731 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" );
741734 goto put_sci ;
742735 }
743736
744737 ret = ti_sci_proc_request (kproc -> tsp );
745738 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" );
747740 goto free_tsp ;
748741 }
749742
@@ -753,15 +746,14 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
753746
754747 ret = k3_dsp_reserved_mem_init (kproc );
755748 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" );
757750 goto release_tsp ;
758751 }
759752
760753 ret = kproc -> ti_sci -> ops .dev_ops .is_on (kproc -> ti_sci , kproc -> ti_sci_id ,
761754 NULL , & p_state );
762755 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" );
765757 goto release_mem ;
766758 }
767759
@@ -787,8 +779,7 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
787779 if (data -> uses_lreset ) {
788780 ret = reset_control_status (kproc -> reset );
789781 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" );
792783 goto release_mem ;
793784 } else if (ret == 0 ) {
794785 dev_warn (dev , "local reset is deasserted for device\n" );
@@ -799,8 +790,7 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
799790
800791 ret = rproc_add (rproc );
801792 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" );
804794 goto release_mem ;
805795 }
806796
@@ -813,19 +803,19 @@ static int k3_dsp_rproc_probe(struct platform_device *pdev)
813803release_tsp :
814804 ret1 = ti_sci_proc_release (kproc -> tsp );
815805 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 ) );
817807free_tsp :
818808 kfree (kproc -> tsp );
819809put_sci :
820810 ret1 = ti_sci_put_handle (kproc -> ti_sci );
821811 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 ) );
823813free_rproc :
824814 rproc_free (rproc );
825815 return ret ;
826816}
827817
828- static int k3_dsp_rproc_remove (struct platform_device * pdev )
818+ static void k3_dsp_rproc_remove (struct platform_device * pdev )
829819{
830820 struct k3_dsp_rproc * kproc = platform_get_drvdata (pdev );
831821 struct rproc * rproc = kproc -> rproc ;
@@ -835,27 +825,26 @@ static int k3_dsp_rproc_remove(struct platform_device *pdev)
835825 if (rproc -> state == RPROC_ATTACHED ) {
836826 ret = rproc_detach (rproc );
837827 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 ;
840831 }
841832 }
842833
843834 rproc_del (kproc -> rproc );
844835
845836 ret = ti_sci_proc_release (kproc -> tsp );
846837 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 ) );
848839
849840 kfree (kproc -> tsp );
850841
851842 ret = ti_sci_put_handle (kproc -> ti_sci );
852843 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 ) );
854845
855846 k3_dsp_reserved_mem_exit (kproc );
856847 rproc_free (kproc -> rproc );
857-
858- return 0 ;
859848}
860849
861850static const struct k3_dsp_mem_data c66_mems [] = {
@@ -906,7 +895,7 @@ MODULE_DEVICE_TABLE(of, k3_dsp_of_match);
906895
907896static struct platform_driver k3_dsp_rproc_driver = {
908897 .probe = k3_dsp_rproc_probe ,
909- .remove = k3_dsp_rproc_remove ,
898+ .remove_new = k3_dsp_rproc_remove ,
910899 .driver = {
911900 .name = "k3-dsp-rproc" ,
912901 .of_match_table = k3_dsp_of_match ,
0 commit comments