@@ -1160,29 +1160,23 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1160
1160
return PTR_ERR (sci );
1161
1161
}
1162
1162
1163
- if (!sci ) {
1164
- dev_err (& pdev -> dev , "platform_data missing!\n" );
1165
- return - ENODEV ;
1166
- }
1163
+ if (!sci )
1164
+ return dev_err_probe (& pdev -> dev , - ENODEV ,
1165
+ "Platform_data missing!\n" );
1167
1166
1168
1167
mem_res = platform_get_resource (pdev , IORESOURCE_MEM , 0 );
1169
- if (mem_res == NULL ) {
1170
- dev_err (& pdev -> dev , "Unable to get SPI MEM resource\n" );
1171
- return - ENXIO ;
1172
- }
1168
+ if (!mem_res )
1169
+ return dev_err_probe (& pdev -> dev , - ENXIO ,
1170
+ "Unable to get SPI MEM resource\n" );
1173
1171
1174
1172
irq = platform_get_irq (pdev , 0 );
1175
- if (irq < 0 ) {
1176
- dev_warn (& pdev -> dev , "Failed to get IRQ: %d\n" , irq );
1177
- return irq ;
1178
- }
1173
+ if (irq < 0 )
1174
+ return dev_err_probe (& pdev -> dev , irq , "Failed to get IRQ\n" );
1179
1175
1180
- master = spi_alloc_master (& pdev -> dev ,
1181
- sizeof (struct s3c64xx_spi_driver_data ));
1182
- if (master == NULL ) {
1183
- dev_err (& pdev -> dev , "Unable to allocate SPI Master\n" );
1184
- return - ENOMEM ;
1185
- }
1176
+ master = devm_spi_alloc_master (& pdev -> dev , sizeof (* sdd ));
1177
+ if (!master )
1178
+ return dev_err_probe (& pdev -> dev , - ENOMEM ,
1179
+ "Unable to allocate SPI Master\n" );
1186
1180
1187
1181
platform_set_drvdata (pdev , master );
1188
1182
@@ -1194,11 +1188,9 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1194
1188
sdd -> sfr_start = mem_res -> start ;
1195
1189
if (pdev -> dev .of_node ) {
1196
1190
ret = of_alias_get_id (pdev -> dev .of_node , "spi" );
1197
- if (ret < 0 ) {
1198
- dev_err (& pdev -> dev , "failed to get alias id, errno %d\n" ,
1199
- ret );
1200
- goto err_deref_master ;
1201
- }
1191
+ if (ret < 0 )
1192
+ return dev_err_probe (& pdev -> dev , ret ,
1193
+ "Failed to get alias id\n" );
1202
1194
sdd -> port_id = ret ;
1203
1195
} else {
1204
1196
sdd -> port_id = pdev -> id ;
@@ -1232,41 +1224,31 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1232
1224
master -> can_dma = s3c64xx_spi_can_dma ;
1233
1225
1234
1226
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
- }
1227
+ if (IS_ERR (sdd -> regs ))
1228
+ return PTR_ERR (sdd -> regs );
1239
1229
1240
- if (sci -> cfg_gpio && sci -> cfg_gpio ()) {
1241
- dev_err (& pdev -> dev , "Unable to config gpio\n" );
1242
- ret = - EBUSY ;
1243
- goto err_deref_master ;
1244
- }
1230
+ if (sci -> cfg_gpio && sci -> cfg_gpio ())
1231
+ return dev_err_probe (& pdev -> dev , - EBUSY ,
1232
+ "Unable to config gpio\n" );
1245
1233
1246
1234
/* Setup clocks */
1247
1235
sdd -> clk = devm_clk_get_enabled (& pdev -> dev , "spi" );
1248
- if (IS_ERR (sdd -> clk )) {
1249
- dev_err (& pdev -> dev , "Unable to acquire clock 'spi'\n" );
1250
- ret = PTR_ERR (sdd -> clk );
1251
- goto err_deref_master ;
1252
- }
1236
+ if (IS_ERR (sdd -> clk ))
1237
+ return dev_err_probe (& pdev -> dev , PTR_ERR (sdd -> clk ),
1238
+ "Unable to acquire clock 'spi'\n" );
1253
1239
1254
1240
sprintf (clk_name , "spi_busclk%d" , sci -> src_clk_nr );
1255
1241
sdd -> src_clk = devm_clk_get_enabled (& pdev -> dev , clk_name );
1256
- if (IS_ERR (sdd -> src_clk )) {
1257
- dev_err (& pdev -> dev ,
1258
- "Unable to acquire clock '%s'\n" , clk_name );
1259
- ret = PTR_ERR (sdd -> src_clk );
1260
- goto err_deref_master ;
1261
- }
1242
+ if (IS_ERR (sdd -> src_clk ))
1243
+ return dev_err_probe (& pdev -> dev , PTR_ERR (sdd -> src_clk ),
1244
+ "Unable to acquire clock '%s'\n" ,
1245
+ clk_name );
1262
1246
1263
1247
if (sdd -> port_conf -> clk_ioclk ) {
1264
1248
sdd -> ioclk = devm_clk_get_enabled (& pdev -> dev , "spi_ioclk" );
1265
- if (IS_ERR (sdd -> ioclk )) {
1266
- dev_err (& pdev -> dev , "Unable to acquire 'ioclk'\n" );
1267
- ret = PTR_ERR (sdd -> ioclk );
1268
- goto err_deref_master ;
1269
- }
1249
+ if (IS_ERR (sdd -> ioclk ))
1250
+ return dev_err_probe (& pdev -> dev , PTR_ERR (sdd -> ioclk ),
1251
+ "Unable to acquire 'ioclk'\n" );
1270
1252
}
1271
1253
1272
1254
pm_runtime_set_autosuspend_delay (& pdev -> dev , AUTOSUSPEND_TIMEOUT );
@@ -1314,9 +1296,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1314
1296
pm_runtime_disable (& pdev -> dev );
1315
1297
pm_runtime_set_suspended (& pdev -> dev );
1316
1298
1317
- err_deref_master :
1318
- spi_master_put (master );
1319
-
1320
1299
return ret ;
1321
1300
}
1322
1301
0 commit comments