@@ -128,9 +128,9 @@ static void sifive_spi_init(struct sifive_spi *spi)
128
128
}
129
129
130
130
static int
131
- sifive_spi_prepare_message (struct spi_master * master , struct spi_message * msg )
131
+ sifive_spi_prepare_message (struct spi_controller * host , struct spi_message * msg )
132
132
{
133
- struct sifive_spi * spi = spi_master_get_devdata ( master );
133
+ struct sifive_spi * spi = spi_controller_get_devdata ( host );
134
134
struct spi_device * device = msg -> spi ;
135
135
136
136
/* Update the chip select polarity */
@@ -152,7 +152,7 @@ sifive_spi_prepare_message(struct spi_master *master, struct spi_message *msg)
152
152
153
153
static void sifive_spi_set_cs (struct spi_device * device , bool is_high )
154
154
{
155
- struct sifive_spi * spi = spi_master_get_devdata (device -> master );
155
+ struct sifive_spi * spi = spi_controller_get_devdata (device -> controller );
156
156
157
157
/* Reverse polarity is handled by SCMR/CPOL. Not inverted CS. */
158
158
if (device -> mode & SPI_CS_HIGH )
@@ -252,10 +252,10 @@ static void sifive_spi_rx(struct sifive_spi *spi, u8 *rx_ptr)
252
252
}
253
253
254
254
static int
255
- sifive_spi_transfer_one (struct spi_master * master , struct spi_device * device ,
255
+ sifive_spi_transfer_one (struct spi_controller * host , struct spi_device * device ,
256
256
struct spi_transfer * t )
257
257
{
258
- struct sifive_spi * spi = spi_master_get_devdata ( master );
258
+ struct sifive_spi * spi = spi_controller_get_devdata ( host );
259
259
int poll = sifive_spi_prep_transfer (spi , device , t );
260
260
const u8 * tx_ptr = t -> tx_buf ;
261
261
u8 * rx_ptr = t -> rx_buf ;
@@ -294,35 +294,35 @@ static int sifive_spi_probe(struct platform_device *pdev)
294
294
struct sifive_spi * spi ;
295
295
int ret , irq , num_cs ;
296
296
u32 cs_bits , max_bits_per_word ;
297
- struct spi_master * master ;
297
+ struct spi_controller * host ;
298
298
299
- master = spi_alloc_master (& pdev -> dev , sizeof (struct sifive_spi ));
300
- if (!master ) {
299
+ host = spi_alloc_host (& pdev -> dev , sizeof (struct sifive_spi ));
300
+ if (!host ) {
301
301
dev_err (& pdev -> dev , "out of memory\n" );
302
302
return - ENOMEM ;
303
303
}
304
304
305
- spi = spi_master_get_devdata ( master );
305
+ spi = spi_controller_get_devdata ( host );
306
306
init_completion (& spi -> done );
307
- platform_set_drvdata (pdev , master );
307
+ platform_set_drvdata (pdev , host );
308
308
309
309
spi -> regs = devm_platform_ioremap_resource (pdev , 0 );
310
310
if (IS_ERR (spi -> regs )) {
311
311
ret = PTR_ERR (spi -> regs );
312
- goto put_master ;
312
+ goto put_host ;
313
313
}
314
314
315
315
spi -> clk = devm_clk_get (& pdev -> dev , NULL );
316
316
if (IS_ERR (spi -> clk )) {
317
317
dev_err (& pdev -> dev , "Unable to find bus clock\n" );
318
318
ret = PTR_ERR (spi -> clk );
319
- goto put_master ;
319
+ goto put_host ;
320
320
}
321
321
322
322
irq = platform_get_irq (pdev , 0 );
323
323
if (irq < 0 ) {
324
324
ret = irq ;
325
- goto put_master ;
325
+ goto put_host ;
326
326
}
327
327
328
328
/* Optional parameters */
@@ -339,14 +339,14 @@ static int sifive_spi_probe(struct platform_device *pdev)
339
339
if (!ret && max_bits_per_word < 8 ) {
340
340
dev_err (& pdev -> dev , "Only 8bit SPI words supported by the driver\n" );
341
341
ret = - EINVAL ;
342
- goto put_master ;
342
+ goto put_host ;
343
343
}
344
344
345
345
/* Spin up the bus clock before hitting registers */
346
346
ret = clk_prepare_enable (spi -> clk );
347
347
if (ret ) {
348
348
dev_err (& pdev -> dev , "Unable to enable bus clock\n" );
349
- goto put_master ;
349
+ goto put_host ;
350
350
}
351
351
352
352
/* probe the number of CS lines */
@@ -362,30 +362,30 @@ static int sifive_spi_probe(struct platform_device *pdev)
362
362
363
363
num_cs = ilog2 (cs_bits ) + 1 ;
364
364
if (num_cs > SIFIVE_SPI_MAX_CS ) {
365
- dev_err (& pdev -> dev , "Invalid number of spi slaves \n" );
365
+ dev_err (& pdev -> dev , "Invalid number of spi targets \n" );
366
366
ret = - EINVAL ;
367
367
goto disable_clk ;
368
368
}
369
369
370
- /* Define our master */
371
- master -> dev .of_node = pdev -> dev .of_node ;
372
- master -> bus_num = pdev -> id ;
373
- master -> num_chipselect = num_cs ;
374
- master -> mode_bits = SPI_CPHA | SPI_CPOL
370
+ /* Define our host */
371
+ host -> dev .of_node = pdev -> dev .of_node ;
372
+ host -> bus_num = pdev -> id ;
373
+ host -> num_chipselect = num_cs ;
374
+ host -> mode_bits = SPI_CPHA | SPI_CPOL
375
375
| SPI_CS_HIGH | SPI_LSB_FIRST
376
376
| SPI_TX_DUAL | SPI_TX_QUAD
377
377
| SPI_RX_DUAL | SPI_RX_QUAD ;
378
378
/* TODO: add driver support for bits_per_word < 8
379
379
* we need to "left-align" the bits (unless SPI_LSB_FIRST)
380
380
*/
381
- master -> bits_per_word_mask = SPI_BPW_MASK (8 );
382
- master -> flags = SPI_CONTROLLER_MUST_TX | SPI_CONTROLLER_GPIO_SS ;
383
- master -> prepare_message = sifive_spi_prepare_message ;
384
- master -> set_cs = sifive_spi_set_cs ;
385
- master -> transfer_one = sifive_spi_transfer_one ;
381
+ host -> bits_per_word_mask = SPI_BPW_MASK (8 );
382
+ host -> flags = SPI_CONTROLLER_MUST_TX | SPI_CONTROLLER_GPIO_SS ;
383
+ host -> prepare_message = sifive_spi_prepare_message ;
384
+ host -> set_cs = sifive_spi_set_cs ;
385
+ host -> transfer_one = sifive_spi_transfer_one ;
386
386
387
387
pdev -> dev .dma_mask = NULL ;
388
- /* Configure the SPI master hardware */
388
+ /* Configure the SPI host hardware */
389
389
sifive_spi_init (spi );
390
390
391
391
/* Register for SPI Interrupt */
@@ -397,28 +397,28 @@ static int sifive_spi_probe(struct platform_device *pdev)
397
397
}
398
398
399
399
dev_info (& pdev -> dev , "mapped; irq=%d, cs=%d\n" ,
400
- irq , master -> num_chipselect );
400
+ irq , host -> num_chipselect );
401
401
402
- ret = devm_spi_register_master (& pdev -> dev , master );
402
+ ret = devm_spi_register_controller (& pdev -> dev , host );
403
403
if (ret < 0 ) {
404
- dev_err (& pdev -> dev , "spi_register_master failed\n" );
404
+ dev_err (& pdev -> dev , "spi_register_host failed\n" );
405
405
goto disable_clk ;
406
406
}
407
407
408
408
return 0 ;
409
409
410
410
disable_clk :
411
411
clk_disable_unprepare (spi -> clk );
412
- put_master :
413
- spi_master_put ( master );
412
+ put_host :
413
+ spi_controller_put ( host );
414
414
415
415
return ret ;
416
416
}
417
417
418
418
static void sifive_spi_remove (struct platform_device * pdev )
419
419
{
420
- struct spi_master * master = platform_get_drvdata (pdev );
421
- struct sifive_spi * spi = spi_master_get_devdata ( master );
420
+ struct spi_controller * host = platform_get_drvdata (pdev );
421
+ struct sifive_spi * spi = spi_controller_get_devdata ( host );
422
422
423
423
/* Disable all the interrupts just in case */
424
424
sifive_spi_write (spi , SIFIVE_SPI_REG_IE , 0 );
@@ -427,11 +427,11 @@ static void sifive_spi_remove(struct platform_device *pdev)
427
427
428
428
static int sifive_spi_suspend (struct device * dev )
429
429
{
430
- struct spi_master * master = dev_get_drvdata (dev );
431
- struct sifive_spi * spi = spi_master_get_devdata ( master );
430
+ struct spi_controller * host = dev_get_drvdata (dev );
431
+ struct sifive_spi * spi = spi_controller_get_devdata ( host );
432
432
int ret ;
433
433
434
- ret = spi_master_suspend ( master );
434
+ ret = spi_controller_suspend ( host );
435
435
if (ret )
436
436
return ret ;
437
437
@@ -445,14 +445,14 @@ static int sifive_spi_suspend(struct device *dev)
445
445
446
446
static int sifive_spi_resume (struct device * dev )
447
447
{
448
- struct spi_master * master = dev_get_drvdata (dev );
449
- struct sifive_spi * spi = spi_master_get_devdata ( master );
448
+ struct spi_controller * host = dev_get_drvdata (dev );
449
+ struct sifive_spi * spi = spi_controller_get_devdata ( host );
450
450
int ret ;
451
451
452
452
ret = clk_prepare_enable (spi -> clk );
453
453
if (ret )
454
454
return ret ;
455
- ret = spi_master_resume ( master );
455
+ ret = spi_controller_resume ( host );
456
456
if (ret )
457
457
clk_disable_unprepare (spi -> clk );
458
458
0 commit comments