diff options
author | Takashi Iwai <tiwai@suse.de> | 2023-10-31 10:58:36 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2023-10-31 10:58:36 +0300 |
commit | c468b5dd759ede754b23cbc9c50b048a781d4217 (patch) | |
tree | 3ec5f17b34fbb4711253fc4698d9cacbf6b9e71b /sound/soc/rockchip/rockchip_i2s_tdm.c | |
parent | 99248c8902f505ec064cf2b0f74629016f2f4c82 (diff) | |
parent | f71e0be5d297b25453fdf4c1757b3e83e94b5f98 (diff) | |
download | linux-c468b5dd759ede754b23cbc9c50b048a781d4217.tar.xz |
Merge branch 'for-next' into for-linus
Pull 6.7 materials
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/soc/rockchip/rockchip_i2s_tdm.c')
-rw-r--r-- | sound/soc/rockchip/rockchip_i2s_tdm.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c index d3700f3c98e6..7e996550d1df 100644 --- a/sound/soc/rockchip/rockchip_i2s_tdm.c +++ b/sound/soc/rockchip/rockchip_i2s_tdm.c @@ -10,9 +10,7 @@ #include <linux/delay.h> #include <linux/mfd/syscon.h> #include <linux/module.h> -#include <linux/of_address.h> -#include <linux/of_device.h> -#include <linux/of_gpio.h> +#include <linux/of.h> #include <linux/pm_runtime.h> #include <linux/regmap.h> #include <linux/reset.h> @@ -75,7 +73,7 @@ struct rk_i2s_tdm_dev { struct snd_dmaengine_dai_dma_data playback_dma_data; struct reset_control *tx_reset; struct reset_control *rx_reset; - struct rk_i2s_soc_data *soc_data; + const struct rk_i2s_soc_data *soc_data; bool is_master_mode; bool io_multiplex; bool mclk_calibrate; @@ -1277,21 +1275,21 @@ static const struct txrx_config rv1126_txrx_config[] = { { 0xff800000, 0x10260, RV1126_I2S0_CLK_TXONLY, RV1126_I2S0_CLK_RXONLY }, }; -static struct rk_i2s_soc_data px30_i2s_soc_data = { +static const struct rk_i2s_soc_data px30_i2s_soc_data = { .softrst_offset = 0x0300, .configs = px30_txrx_config, .config_count = ARRAY_SIZE(px30_txrx_config), .init = common_soc_init, }; -static struct rk_i2s_soc_data rk1808_i2s_soc_data = { +static const struct rk_i2s_soc_data rk1808_i2s_soc_data = { .softrst_offset = 0x0300, .configs = rk1808_txrx_config, .config_count = ARRAY_SIZE(rk1808_txrx_config), .init = common_soc_init, }; -static struct rk_i2s_soc_data rk3308_i2s_soc_data = { +static const struct rk_i2s_soc_data rk3308_i2s_soc_data = { .softrst_offset = 0x0400, .grf_reg_offset = 0x0308, .grf_shift = 5, @@ -1300,14 +1298,14 @@ static struct rk_i2s_soc_data rk3308_i2s_soc_data = { .init = common_soc_init, }; -static struct rk_i2s_soc_data rk3568_i2s_soc_data = { +static const struct rk_i2s_soc_data rk3568_i2s_soc_data = { .softrst_offset = 0x0400, .configs = rk3568_txrx_config, .config_count = ARRAY_SIZE(rk3568_txrx_config), .init = common_soc_init, }; -static struct rk_i2s_soc_data rv1126_i2s_soc_data = { +static const struct rk_i2s_soc_data rv1126_i2s_soc_data = { .softrst_offset = 0x0300, .configs = rv1126_txrx_config, .config_count = ARRAY_SIZE(rv1126_txrx_config), @@ -1544,7 +1542,6 @@ static int rockchip_i2s_tdm_rx_path_prepare(struct rk_i2s_tdm_dev *i2s_tdm, static int rockchip_i2s_tdm_probe(struct platform_device *pdev) { struct device_node *node = pdev->dev.of_node; - const struct of_device_id *of_id; struct rk_i2s_tdm_dev *i2s_tdm; struct resource *res; void __iomem *regs; @@ -1556,13 +1553,8 @@ static int rockchip_i2s_tdm_probe(struct platform_device *pdev) i2s_tdm->dev = &pdev->dev; - of_id = of_match_device(rockchip_i2s_tdm_match, &pdev->dev); - if (!of_id) - return -EINVAL; - spin_lock_init(&i2s_tdm->lock); - i2s_tdm->soc_data = (struct rk_i2s_soc_data *)of_id->data; - + i2s_tdm->soc_data = device_get_match_data(&pdev->dev); i2s_tdm->frame_width = 64; i2s_tdm->clk_trcm = TRCM_TXRX; |