@@ -2867,29 +2867,29 @@ static int omap_udc_probe(struct platform_device *pdev)
2867
2867
udc -> clr_halt = UDC_RESET_EP ;
2868
2868
2869
2869
/* USB general purpose IRQ: ep0, state changes, dma, etc */
2870
- status = request_irq ( pdev -> resource [1 ].start , omap_udc_irq ,
2871
- 0 , driver_name , udc );
2870
+ status = devm_request_irq ( & pdev -> dev , pdev -> resource [1 ].start ,
2871
+ omap_udc_irq , 0 , driver_name , udc );
2872
2872
if (status != 0 ) {
2873
2873
ERR ("can't get irq %d, err %d\n" ,
2874
2874
(int ) pdev -> resource [1 ].start , status );
2875
2875
goto cleanup1 ;
2876
2876
}
2877
2877
2878
2878
/* USB "non-iso" IRQ (PIO for all but ep0) */
2879
- status = request_irq ( pdev -> resource [2 ].start , omap_udc_pio_irq ,
2880
- 0 , "omap_udc pio" , udc );
2879
+ status = devm_request_irq ( & pdev -> dev , pdev -> resource [2 ].start ,
2880
+ omap_udc_pio_irq , 0 , "omap_udc pio" , udc );
2881
2881
if (status != 0 ) {
2882
2882
ERR ("can't get irq %d, err %d\n" ,
2883
2883
(int ) pdev -> resource [2 ].start , status );
2884
- goto cleanup2 ;
2884
+ goto cleanup1 ;
2885
2885
}
2886
2886
#ifdef USE_ISO
2887
- status = request_irq ( pdev -> resource [3 ].start , omap_udc_iso_irq ,
2888
- 0 , "omap_udc iso" , udc );
2887
+ status = devm_request_irq ( & pdev -> dev , pdev -> resource [3 ].start ,
2888
+ omap_udc_iso_irq , 0 , "omap_udc iso" , udc );
2889
2889
if (status != 0 ) {
2890
2890
ERR ("can't get irq %d, err %d\n" ,
2891
2891
(int ) pdev -> resource [3 ].start , status );
2892
- goto cleanup3 ;
2892
+ goto cleanup1 ;
2893
2893
}
2894
2894
#endif
2895
2895
if (cpu_is_omap16xx () || cpu_is_omap7xx ()) {
@@ -2902,22 +2902,11 @@ static int omap_udc_probe(struct platform_device *pdev)
2902
2902
create_proc_file ();
2903
2903
status = usb_add_gadget_udc_release (& pdev -> dev , & udc -> gadget ,
2904
2904
omap_udc_release );
2905
- if (status )
2906
- goto cleanup4 ;
2907
-
2908
- return 0 ;
2905
+ if (!status )
2906
+ return 0 ;
2909
2907
2910
- cleanup4 :
2911
2908
remove_proc_file ();
2912
2909
2913
- #ifdef USE_ISO
2914
- cleanup3 :
2915
- free_irq (pdev -> resource [2 ].start , udc );
2916
- #endif
2917
-
2918
- cleanup2 :
2919
- free_irq (pdev -> resource [1 ].start , udc );
2920
-
2921
2910
cleanup1 :
2922
2911
kfree (udc );
2923
2912
udc = NULL ;
@@ -2961,12 +2950,6 @@ static int omap_udc_remove(struct platform_device *pdev)
2961
2950
2962
2951
remove_proc_file ();
2963
2952
2964
- #ifdef USE_ISO
2965
- free_irq (pdev -> resource [3 ].start , udc );
2966
- #endif
2967
- free_irq (pdev -> resource [2 ].start , udc );
2968
- free_irq (pdev -> resource [1 ].start , udc );
2969
-
2970
2953
if (udc -> dc_clk ) {
2971
2954
if (udc -> clk_requested )
2972
2955
omap_udc_enable_clock (0 );
0 commit comments