diff options
Diffstat (limited to 'drivers/spi/spi-s3c64xx.c')
| -rw-r--r-- | drivers/spi/spi-s3c64xx.c | 31 | 
1 files changed, 13 insertions, 18 deletions
| diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index dfa7c91e13aa..8755cd85e83c 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -15,6 +15,7 @@  #include <linux/spi/spi.h>  #include <linux/gpio.h>  #include <linux/of.h> +#include <linux/of_device.h>  #include <linux/of_gpio.h>  #include <linux/platform_data/spi-s3c64xx.h> @@ -127,7 +128,7 @@ struct s3c64xx_spi_dma_data {  };  /** - * struct s3c64xx_spi_info - SPI Controller hardware info + * struct s3c64xx_spi_port_config - SPI Controller hardware info   * @fifo_lvl_mask: Bit-mask for {TX|RX}_FIFO_LVL bits in SPI_STATUS register.   * @rx_lvl_offset: Bit offset of RX_FIFO_LVL bits in SPI_STATUS regiter.   * @tx_st_done: Bit offset of TX_DONE bit in SPI_STATUS regiter. @@ -189,7 +190,7 @@ struct s3c64xx_spi_driver_data {  	unsigned                        cur_speed;  	struct s3c64xx_spi_dma_data	rx_dma;  	struct s3c64xx_spi_dma_data	tx_dma; -	struct s3c64xx_spi_port_config	*port_conf; +	const struct s3c64xx_spi_port_config	*port_conf;  	unsigned int			port_id;  }; @@ -1048,20 +1049,14 @@ static struct s3c64xx_spi_info *s3c64xx_spi_parse_dt(struct device *dev)  }  #endif -static const struct of_device_id s3c64xx_spi_dt_match[]; - -static inline struct s3c64xx_spi_port_config *s3c64xx_spi_get_port_config( +static inline const struct s3c64xx_spi_port_config *s3c64xx_spi_get_port_config(  						struct platform_device *pdev)  {  #ifdef CONFIG_OF -	if (pdev->dev.of_node) { -		const struct of_device_id *match; -		match = of_match_node(s3c64xx_spi_dt_match, pdev->dev.of_node); -		return (struct s3c64xx_spi_port_config *)match->data; -	} +	if (pdev->dev.of_node) +		return of_device_get_match_data(&pdev->dev);  #endif -	return (struct s3c64xx_spi_port_config *) -			 platform_get_device_id(pdev)->driver_data; +	return (const struct s3c64xx_spi_port_config *)platform_get_device_id(pdev)->driver_data;  }  static int s3c64xx_spi_probe(struct platform_device *pdev) @@ -1399,27 +1394,27 @@ static const struct dev_pm_ops s3c64xx_spi_pm = {  			   s3c64xx_spi_runtime_resume, NULL)  }; -static struct s3c64xx_spi_port_config s3c2443_spi_port_config = { +static const struct s3c64xx_spi_port_config s3c2443_spi_port_config = {  	.fifo_lvl_mask	= { 0x7f },  	.rx_lvl_offset	= 13,  	.tx_st_done	= 21,  	.high_speed	= true,  }; -static struct s3c64xx_spi_port_config s3c6410_spi_port_config = { +static const struct s3c64xx_spi_port_config s3c6410_spi_port_config = {  	.fifo_lvl_mask	= { 0x7f, 0x7F },  	.rx_lvl_offset	= 13,  	.tx_st_done	= 21,  }; -static struct s3c64xx_spi_port_config s5pv210_spi_port_config = { +static const struct s3c64xx_spi_port_config s5pv210_spi_port_config = {  	.fifo_lvl_mask	= { 0x1ff, 0x7F },  	.rx_lvl_offset	= 15,  	.tx_st_done	= 25,  	.high_speed	= true,  }; -static struct s3c64xx_spi_port_config exynos4_spi_port_config = { +static const struct s3c64xx_spi_port_config exynos4_spi_port_config = {  	.fifo_lvl_mask	= { 0x1ff, 0x7F, 0x7F },  	.rx_lvl_offset	= 15,  	.tx_st_done	= 25, @@ -1428,7 +1423,7 @@ static struct s3c64xx_spi_port_config exynos4_spi_port_config = {  	.quirks		= S3C64XX_SPI_QUIRK_CS_AUTO,  }; -static struct s3c64xx_spi_port_config exynos7_spi_port_config = { +static const struct s3c64xx_spi_port_config exynos7_spi_port_config = {  	.fifo_lvl_mask	= { 0x1ff, 0x7F, 0x7F, 0x7F, 0x7F, 0x1ff},  	.rx_lvl_offset	= 15,  	.tx_st_done	= 25, @@ -1437,7 +1432,7 @@ static struct s3c64xx_spi_port_config exynos7_spi_port_config = {  	.quirks		= S3C64XX_SPI_QUIRK_CS_AUTO,  }; -static struct s3c64xx_spi_port_config exynos5433_spi_port_config = { +static const struct s3c64xx_spi_port_config exynos5433_spi_port_config = {  	.fifo_lvl_mask	= { 0x1ff, 0x7f, 0x7f, 0x7f, 0x7f, 0x1ff},  	.rx_lvl_offset	= 15,  	.tx_st_done	= 25, | 
