@@ -90,7 +90,7 @@ struct orion_child_options {
90
90
};
91
91
92
92
struct orion_spi {
93
- struct spi_master * master ;
93
+ struct spi_controller * host ;
94
94
void __iomem * base ;
95
95
struct clk * clk ;
96
96
struct clk * axi_clk ;
@@ -141,7 +141,7 @@ static int orion_spi_baudrate_set(struct spi_device *spi, unsigned int speed)
141
141
struct orion_spi * orion_spi ;
142
142
const struct orion_spi_dev * devdata ;
143
143
144
- orion_spi = spi_master_get_devdata (spi -> master );
144
+ orion_spi = spi_controller_get_devdata (spi -> controller );
145
145
devdata = orion_spi -> devdata ;
146
146
147
147
tclk_hz = clk_get_rate (orion_spi -> clk );
@@ -235,7 +235,7 @@ orion_spi_mode_set(struct spi_device *spi)
235
235
u32 reg ;
236
236
struct orion_spi * orion_spi ;
237
237
238
- orion_spi = spi_master_get_devdata (spi -> master );
238
+ orion_spi = spi_controller_get_devdata (spi -> controller );
239
239
240
240
reg = readl (spi_reg (orion_spi , ORION_SPI_IF_CONFIG_REG ));
241
241
reg &= ~ORION_SPI_MODE_MASK ;
@@ -257,7 +257,7 @@ orion_spi_50mhz_ac_timing_erratum(struct spi_device *spi, unsigned int speed)
257
257
u32 reg ;
258
258
struct orion_spi * orion_spi ;
259
259
260
- orion_spi = spi_master_get_devdata (spi -> master );
260
+ orion_spi = spi_controller_get_devdata (spi -> controller );
261
261
262
262
/*
263
263
* Erratum description: (Erratum NO. FE-9144572) The device
@@ -297,7 +297,7 @@ orion_spi_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
297
297
unsigned int bits_per_word = spi -> bits_per_word ;
298
298
int rc ;
299
299
300
- orion_spi = spi_master_get_devdata (spi -> master );
300
+ orion_spi = spi_controller_get_devdata (spi -> controller );
301
301
302
302
if ((t != NULL ) && t -> speed_hz )
303
303
speed = t -> speed_hz ;
@@ -330,7 +330,7 @@ static void orion_spi_set_cs(struct spi_device *spi, bool enable)
330
330
void __iomem * ctrl_reg ;
331
331
u32 val ;
332
332
333
- orion_spi = spi_master_get_devdata (spi -> master );
333
+ orion_spi = spi_controller_get_devdata (spi -> controller );
334
334
ctrl_reg = spi_reg (orion_spi , ORION_SPI_IF_CTRL_REG );
335
335
336
336
val = readl (ctrl_reg );
@@ -388,7 +388,7 @@ orion_spi_write_read_8bit(struct spi_device *spi,
388
388
389
389
cs_single_byte = spi -> mode & SPI_CS_WORD ;
390
390
391
- orion_spi = spi_master_get_devdata (spi -> master );
391
+ orion_spi = spi_controller_get_devdata (spi -> controller );
392
392
393
393
if (cs_single_byte )
394
394
orion_spi_set_cs (spi , 0 );
@@ -439,7 +439,7 @@ orion_spi_write_read_16bit(struct spi_device *spi,
439
439
return -1 ;
440
440
}
441
441
442
- orion_spi = spi_master_get_devdata (spi -> master );
442
+ orion_spi = spi_controller_get_devdata (spi -> controller );
443
443
tx_reg = spi_reg (orion_spi , ORION_SPI_DATA_OUT_REG );
444
444
rx_reg = spi_reg (orion_spi , ORION_SPI_DATA_IN_REG );
445
445
int_reg = spi_reg (orion_spi , ORION_SPI_INT_CAUSE_REG );
@@ -475,7 +475,7 @@ orion_spi_write_read(struct spi_device *spi, struct spi_transfer *xfer)
475
475
word_len = spi -> bits_per_word ;
476
476
count = xfer -> len ;
477
477
478
- orion_spi = spi_master_get_devdata (spi -> master );
478
+ orion_spi = spi_controller_get_devdata (spi -> controller );
479
479
480
480
/*
481
481
* Use SPI direct write mode if base address is available
@@ -528,7 +528,7 @@ orion_spi_write_read(struct spi_device *spi, struct spi_transfer *xfer)
528
528
return xfer -> len - count ;
529
529
}
530
530
531
- static int orion_spi_transfer_one (struct spi_master * master ,
531
+ static int orion_spi_transfer_one (struct spi_controller * host ,
532
532
struct spi_device * spi ,
533
533
struct spi_transfer * t )
534
534
{
@@ -548,7 +548,7 @@ static int orion_spi_setup(struct spi_device *spi)
548
548
{
549
549
int ret ;
550
550
#ifdef CONFIG_PM
551
- struct orion_spi * orion_spi = spi_master_get_devdata (spi -> master );
551
+ struct orion_spi * orion_spi = spi_controller_get_devdata (spi -> controller );
552
552
struct device * dev = orion_spi -> dev ;
553
553
554
554
orion_spi_runtime_resume (dev );
@@ -644,44 +644,44 @@ MODULE_DEVICE_TABLE(of, orion_spi_of_match_table);
644
644
static int orion_spi_probe (struct platform_device * pdev )
645
645
{
646
646
const struct orion_spi_dev * devdata ;
647
- struct spi_master * master ;
647
+ struct spi_controller * host ;
648
648
struct orion_spi * spi ;
649
649
struct resource * r ;
650
650
unsigned long tclk_hz ;
651
651
int status = 0 ;
652
652
struct device_node * np ;
653
653
654
- master = spi_alloc_master (& pdev -> dev , sizeof (* spi ));
655
- if (master == NULL ) {
656
- dev_dbg (& pdev -> dev , "master allocation failed\n" );
654
+ host = spi_alloc_host (& pdev -> dev , sizeof (* spi ));
655
+ if (host == NULL ) {
656
+ dev_dbg (& pdev -> dev , "host allocation failed\n" );
657
657
return - ENOMEM ;
658
658
}
659
659
660
660
if (pdev -> id != -1 )
661
- master -> bus_num = pdev -> id ;
661
+ host -> bus_num = pdev -> id ;
662
662
if (pdev -> dev .of_node ) {
663
663
u32 cell_index ;
664
664
665
665
if (!of_property_read_u32 (pdev -> dev .of_node , "cell-index" ,
666
666
& cell_index ))
667
- master -> bus_num = cell_index ;
667
+ host -> bus_num = cell_index ;
668
668
}
669
669
670
670
/* we support all 4 SPI modes and LSB first option */
671
- master -> mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST | SPI_CS_WORD ;
672
- master -> set_cs = orion_spi_set_cs ;
673
- master -> transfer_one = orion_spi_transfer_one ;
674
- master -> num_chipselect = ORION_NUM_CHIPSELECTS ;
675
- master -> setup = orion_spi_setup ;
676
- master -> bits_per_word_mask = SPI_BPW_MASK (8 ) | SPI_BPW_MASK (16 );
677
- master -> auto_runtime_pm = true;
678
- master -> use_gpio_descriptors = true;
679
- master -> flags = SPI_CONTROLLER_GPIO_SS ;
680
-
681
- platform_set_drvdata (pdev , master );
682
-
683
- spi = spi_master_get_devdata ( master );
684
- spi -> master = master ;
671
+ host -> mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST | SPI_CS_WORD ;
672
+ host -> set_cs = orion_spi_set_cs ;
673
+ host -> transfer_one = orion_spi_transfer_one ;
674
+ host -> num_chipselect = ORION_NUM_CHIPSELECTS ;
675
+ host -> setup = orion_spi_setup ;
676
+ host -> bits_per_word_mask = SPI_BPW_MASK (8 ) | SPI_BPW_MASK (16 );
677
+ host -> auto_runtime_pm = true;
678
+ host -> use_gpio_descriptors = true;
679
+ host -> flags = SPI_CONTROLLER_GPIO_SS ;
680
+
681
+ platform_set_drvdata (pdev , host );
682
+
683
+ spi = spi_controller_get_devdata ( host );
684
+ spi -> host = host ;
685
685
spi -> dev = & pdev -> dev ;
686
686
687
687
devdata = device_get_match_data (& pdev -> dev );
@@ -718,14 +718,14 @@ static int orion_spi_probe(struct platform_device *pdev)
718
718
*/
719
719
if (of_device_is_compatible (pdev -> dev .of_node ,
720
720
"marvell,armada-370-spi" ))
721
- master -> max_speed_hz = min (devdata -> max_hz ,
721
+ host -> max_speed_hz = min (devdata -> max_hz ,
722
722
DIV_ROUND_UP (tclk_hz , devdata -> min_divisor ));
723
723
else if (devdata -> min_divisor )
724
- master -> max_speed_hz =
724
+ host -> max_speed_hz =
725
725
DIV_ROUND_UP (tclk_hz , devdata -> min_divisor );
726
726
else
727
- master -> max_speed_hz = devdata -> max_hz ;
728
- master -> min_speed_hz = DIV_ROUND_UP (tclk_hz , devdata -> max_divisor );
727
+ host -> max_speed_hz = devdata -> max_hz ;
728
+ host -> min_speed_hz = DIV_ROUND_UP (tclk_hz , devdata -> max_divisor );
729
729
730
730
spi -> base = devm_platform_get_and_ioremap_resource (pdev , 0 , & r );
731
731
if (IS_ERR (spi -> base )) {
@@ -784,8 +784,8 @@ static int orion_spi_probe(struct platform_device *pdev)
784
784
if (status < 0 )
785
785
goto out_rel_pm ;
786
786
787
- master -> dev .of_node = pdev -> dev .of_node ;
788
- status = spi_register_master ( master );
787
+ host -> dev .of_node = pdev -> dev .of_node ;
788
+ status = spi_register_controller ( host );
789
789
if (status < 0 )
790
790
goto out_rel_pm ;
791
791
@@ -798,21 +798,21 @@ static int orion_spi_probe(struct platform_device *pdev)
798
798
out_rel_clk :
799
799
clk_disable_unprepare (spi -> clk );
800
800
out :
801
- spi_master_put ( master );
801
+ spi_controller_put ( host );
802
802
return status ;
803
803
}
804
804
805
805
806
806
static void orion_spi_remove (struct platform_device * pdev )
807
807
{
808
- struct spi_master * master = platform_get_drvdata (pdev );
809
- struct orion_spi * spi = spi_master_get_devdata ( master );
808
+ struct spi_controller * host = platform_get_drvdata (pdev );
809
+ struct orion_spi * spi = spi_controller_get_devdata ( host );
810
810
811
811
pm_runtime_get_sync (& pdev -> dev );
812
812
clk_disable_unprepare (spi -> axi_clk );
813
813
clk_disable_unprepare (spi -> clk );
814
814
815
- spi_unregister_master ( master );
815
+ spi_unregister_controller ( host );
816
816
pm_runtime_disable (& pdev -> dev );
817
817
}
818
818
@@ -821,8 +821,8 @@ MODULE_ALIAS("platform:" DRIVER_NAME);
821
821
#ifdef CONFIG_PM
822
822
static int orion_spi_runtime_suspend (struct device * dev )
823
823
{
824
- struct spi_master * master = dev_get_drvdata (dev );
825
- struct orion_spi * spi = spi_master_get_devdata ( master );
824
+ struct spi_controller * host = dev_get_drvdata (dev );
825
+ struct orion_spi * spi = spi_controller_get_devdata ( host );
826
826
827
827
clk_disable_unprepare (spi -> axi_clk );
828
828
clk_disable_unprepare (spi -> clk );
@@ -831,8 +831,8 @@ static int orion_spi_runtime_suspend(struct device *dev)
831
831
832
832
static int orion_spi_runtime_resume (struct device * dev )
833
833
{
834
- struct spi_master * master = dev_get_drvdata (dev );
835
- struct orion_spi * spi = spi_master_get_devdata ( master );
834
+ struct spi_controller * host = dev_get_drvdata (dev );
835
+ struct orion_spi * spi = spi_controller_get_devdata ( host );
836
836
837
837
if (!IS_ERR (spi -> axi_clk ))
838
838
clk_prepare_enable (spi -> axi_clk );
0 commit comments