@@ -94,19 +94,16 @@ static int pxa_ssp_probe(struct platform_device *pdev)
9494 struct resource * res ;
9595 struct ssp_device * ssp ;
9696 struct device * dev = & pdev -> dev ;
97- int ret = 0 ;
9897
99- ssp = kzalloc ( sizeof (struct ssp_device ), GFP_KERNEL );
98+ ssp = devm_kzalloc ( dev , sizeof (struct ssp_device ), GFP_KERNEL );
10099 if (ssp == NULL )
101100 return - ENOMEM ;
102101
103102 ssp -> pdev = pdev ;
104103
105- ssp -> clk = clk_get (dev , NULL );
106- if (IS_ERR (ssp -> clk )) {
107- ret = PTR_ERR (ssp -> clk );
108- goto err_free ;
109- }
104+ ssp -> clk = devm_clk_get (dev , NULL );
105+ if (IS_ERR (ssp -> clk ))
106+ return PTR_ERR (ssp -> clk );
110107
111108 if (dev -> of_node ) {
112109 struct of_phandle_args dma_spec ;
@@ -148,32 +145,28 @@ static int pxa_ssp_probe(struct platform_device *pdev)
148145 res = platform_get_resource (pdev , IORESOURCE_MEM , 0 );
149146 if (res == NULL ) {
150147 dev_err (dev , "no memory resource defined\n" );
151- ret = - ENODEV ;
152- goto err_free_clk ;
148+ return - ENODEV ;
153149 }
154150
155- res = request_mem_region ( res -> start , resource_size (res ),
156- pdev -> name );
151+ res = devm_request_mem_region ( dev , res -> start , resource_size (res ),
152+ pdev -> name );
157153 if (res == NULL ) {
158154 dev_err (dev , "failed to request memory resource\n" );
159- ret = - EBUSY ;
160- goto err_free_clk ;
155+ return - EBUSY ;
161156 }
162157
163158 ssp -> phys_base = res -> start ;
164159
165- ssp -> mmio_base = ioremap ( res -> start , resource_size (res ));
160+ ssp -> mmio_base = devm_ioremap ( dev , res -> start , resource_size (res ));
166161 if (ssp -> mmio_base == NULL ) {
167162 dev_err (dev , "failed to ioremap() registers\n" );
168- ret = - ENODEV ;
169- goto err_free_mem ;
163+ return - ENODEV ;
170164 }
171165
172166 ssp -> irq = platform_get_irq (pdev , 0 );
173167 if (ssp -> irq < 0 ) {
174168 dev_err (dev , "no IRQ resource defined\n" );
175- ret = - ENODEV ;
176- goto err_free_io ;
169+ return - ENODEV ;
177170 }
178171
179172 if (dev -> of_node ) {
@@ -198,17 +191,8 @@ static int pxa_ssp_probe(struct platform_device *pdev)
198191 mutex_unlock (& ssp_lock );
199192
200193 platform_set_drvdata (pdev , ssp );
201- return 0 ;
202194
203- err_free_io :
204- iounmap (ssp -> mmio_base );
205- err_free_mem :
206- release_mem_region (res -> start , resource_size (res ));
207- err_free_clk :
208- clk_put (ssp -> clk );
209- err_free :
210- kfree (ssp );
211- return ret ;
195+ return 0 ;
212196}
213197
214198static int pxa_ssp_remove (struct platform_device * pdev )
0 commit comments