@@ -1177,8 +1177,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1177
1177
return irq ;
1178
1178
}
1179
1179
1180
- master = spi_alloc_master (& pdev -> dev ,
1181
- sizeof (struct s3c64xx_spi_driver_data ));
1180
+ master = devm_spi_alloc_master (& pdev -> dev , sizeof (* sdd ));
1182
1181
if (master == NULL ) {
1183
1182
dev_err (& pdev -> dev , "Unable to allocate SPI Master\n" );
1184
1183
return - ENOMEM ;
@@ -1197,7 +1196,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1197
1196
if (ret < 0 ) {
1198
1197
dev_err (& pdev -> dev , "failed to get alias id, errno %d\n" ,
1199
1198
ret );
1200
- goto err_deref_master ;
1199
+ return ret ;
1201
1200
}
1202
1201
sdd -> port_id = ret ;
1203
1202
} else {
@@ -1232,40 +1231,34 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1232
1231
master -> can_dma = s3c64xx_spi_can_dma ;
1233
1232
1234
1233
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 );
1239
1236
1240
1237
if (sci -> cfg_gpio && sci -> cfg_gpio ()) {
1241
1238
dev_err (& pdev -> dev , "Unable to config gpio\n" );
1242
- ret = - EBUSY ;
1243
- goto err_deref_master ;
1239
+ return - EBUSY ;
1244
1240
}
1245
1241
1246
1242
/* Setup clocks */
1247
1243
sdd -> clk = devm_clk_get_enabled (& pdev -> dev , "spi" );
1248
1244
if (IS_ERR (sdd -> clk )) {
1249
1245
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 );
1252
1247
}
1253
1248
1254
1249
sprintf (clk_name , "spi_busclk%d" , sci -> src_clk_nr );
1255
1250
sdd -> src_clk = devm_clk_get_enabled (& pdev -> dev , clk_name );
1256
1251
if (IS_ERR (sdd -> src_clk )) {
1257
1252
dev_err (& pdev -> dev ,
1258
1253
"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 );
1261
1255
}
1262
1256
1263
1257
if (sdd -> port_conf -> clk_ioclk ) {
1264
1258
sdd -> ioclk = devm_clk_get_enabled (& pdev -> dev , "spi_ioclk" );
1265
1259
if (IS_ERR (sdd -> ioclk )) {
1266
1260
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 );
1269
1262
}
1270
1263
}
1271
1264
@@ -1314,9 +1307,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1314
1307
pm_runtime_disable (& pdev -> dev );
1315
1308
pm_runtime_set_suspended (& pdev -> dev );
1316
1309
1317
- err_deref_master :
1318
- spi_master_put (master );
1319
-
1320
1310
return ret ;
1321
1311
}
1322
1312
0 commit comments