@@ -1177,8 +1177,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
11771177 return irq ;
11781178 }
11791179
1180- master = spi_alloc_master (& pdev -> dev ,
1181- sizeof (struct s3c64xx_spi_driver_data ));
1180+ master = devm_spi_alloc_master (& pdev -> dev , sizeof (* sdd ));
11821181 if (master == NULL ) {
11831182 dev_err (& pdev -> dev , "Unable to allocate SPI Master\n" );
11841183 return - ENOMEM ;
@@ -1197,7 +1196,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
11971196 if (ret < 0 ) {
11981197 dev_err (& pdev -> dev , "failed to get alias id, errno %d\n" ,
11991198 ret );
1200- goto err_deref_master ;
1199+ return ret ;
12011200 }
12021201 sdd -> port_id = ret ;
12031202 } else {
@@ -1232,40 +1231,34 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
12321231 master -> can_dma = s3c64xx_spi_can_dma ;
12331232
12341233 sdd -> regs = devm_ioremap_resource (& pdev -> dev , mem_res );
1235- if (IS_ERR (sdd -> regs )) {
1236- ret = PTR_ERR (sdd -> regs );
1237- goto err_deref_master ;
1238- }
1234+ if (IS_ERR (sdd -> regs ))
1235+ return PTR_ERR (sdd -> regs );
12391236
12401237 if (sci -> cfg_gpio && sci -> cfg_gpio ()) {
12411238 dev_err (& pdev -> dev , "Unable to config gpio\n" );
1242- ret = - EBUSY ;
1243- goto err_deref_master ;
1239+ return - EBUSY ;
12441240 }
12451241
12461242 /* Setup clocks */
12471243 sdd -> clk = devm_clk_get_enabled (& pdev -> dev , "spi" );
12481244 if (IS_ERR (sdd -> clk )) {
12491245 dev_err (& pdev -> dev , "Unable to acquire clock 'spi'\n" );
1250- ret = PTR_ERR (sdd -> clk );
1251- goto err_deref_master ;
1246+ return PTR_ERR (sdd -> clk );
12521247 }
12531248
12541249 sprintf (clk_name , "spi_busclk%d" , sci -> src_clk_nr );
12551250 sdd -> src_clk = devm_clk_get_enabled (& pdev -> dev , clk_name );
12561251 if (IS_ERR (sdd -> src_clk )) {
12571252 dev_err (& pdev -> dev ,
12581253 "Unable to acquire clock '%s'\n" , clk_name );
1259- ret = PTR_ERR (sdd -> src_clk );
1260- goto err_deref_master ;
1254+ return PTR_ERR (sdd -> src_clk );
12611255 }
12621256
12631257 if (sdd -> port_conf -> clk_ioclk ) {
12641258 sdd -> ioclk = devm_clk_get_enabled (& pdev -> dev , "spi_ioclk" );
12651259 if (IS_ERR (sdd -> ioclk )) {
12661260 dev_err (& pdev -> dev , "Unable to acquire 'ioclk'\n" );
1267- ret = PTR_ERR (sdd -> ioclk );
1268- goto err_deref_master ;
1261+ return PTR_ERR (sdd -> ioclk );
12691262 }
12701263 }
12711264
@@ -1314,9 +1307,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
13141307 pm_runtime_disable (& pdev -> dev );
13151308 pm_runtime_set_suspended (& pdev -> dev );
13161309
1317- err_deref_master :
1318- spi_master_put (master );
1319-
13201310 return ret ;
13211311}
13221312
0 commit comments