Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/exynos: dsi: use generic of_device_get_match_data helper

Simplify code by replacing custom code by generic helper and add missing
const qualifier to driver data structures.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>

authored by

Marek Szyprowski and committed by
Inki Dae
2154ac92 217afc1e

+9 -18
+9 -18
drivers/gpu/drm/exynos/exynos_drm_dsi.c
··· 280 280 spinlock_t transfer_lock; /* protects transfer_list */ 281 281 struct list_head transfer_list; 282 282 283 - struct exynos_dsi_driver_data *driver_data; 283 + const struct exynos_dsi_driver_data *driver_data; 284 284 struct device_node *bridge_node; 285 285 }; 286 286 ··· 532 532 { } 533 533 }; 534 534 535 - static inline struct exynos_dsi_driver_data *exynos_dsi_get_driver_data( 536 - struct platform_device *pdev) 537 - { 538 - const struct of_device_id *of_id = 539 - of_match_device(exynos_dsi_of_match, &pdev->dev); 540 - 541 - return (struct exynos_dsi_driver_data *)of_id->data; 542 - } 543 - 544 535 static void exynos_dsi_wait_for_reset(struct exynos_dsi *dsi) 545 536 { 546 537 if (wait_for_completion_timeout(&dsi->completed, msecs_to_jiffies(300))) ··· 555 564 static unsigned long exynos_dsi_pll_find_pms(struct exynos_dsi *dsi, 556 565 unsigned long fin, unsigned long fout, u8 *p, u16 *m, u8 *s) 557 566 { 558 - struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 567 + const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 559 568 unsigned long best_freq = 0; 560 569 u32 min_delta = 0xffffffff; 561 570 u8 p_min, p_max; ··· 609 618 static unsigned long exynos_dsi_set_pll(struct exynos_dsi *dsi, 610 619 unsigned long freq) 611 620 { 612 - struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 621 + const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 613 622 unsigned long fin, fout; 614 623 int timeout; 615 624 u8 p, s; ··· 703 712 704 713 static void exynos_dsi_set_phy_ctrl(struct exynos_dsi *dsi) 705 714 { 706 - struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 715 + const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 707 716 const unsigned int *reg_values = driver_data->reg_values; 708 717 u32 reg; 709 718 ··· 781 790 782 791 static int exynos_dsi_init_link(struct exynos_dsi *dsi) 783 792 { 784 - struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 793 + const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 785 794 int timeout; 786 795 u32 reg; 787 796 u32 lanes_mask; ··· 1325 1334 1326 1335 static int exynos_dsi_init(struct exynos_dsi *dsi) 1327 1336 { 1328 - struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 1337 + const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 1329 1338 1330 1339 exynos_dsi_reset(dsi); 1331 1340 exynos_dsi_enable_irq(dsi); ··· 1824 1833 dsi->dsi_host.dev = dev; 1825 1834 1826 1835 dsi->dev = dev; 1827 - dsi->driver_data = exynos_dsi_get_driver_data(pdev); 1836 + dsi->driver_data = of_device_get_match_data(dev); 1828 1837 1829 1838 ret = exynos_dsi_parse_dt(dsi); 1830 1839 if (ret) ··· 1908 1917 { 1909 1918 struct drm_encoder *encoder = dev_get_drvdata(dev); 1910 1919 struct exynos_dsi *dsi = encoder_to_dsi(encoder); 1911 - struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 1920 + const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 1912 1921 int ret, i; 1913 1922 1914 1923 usleep_range(10000, 20000); ··· 1939 1948 { 1940 1949 struct drm_encoder *encoder = dev_get_drvdata(dev); 1941 1950 struct exynos_dsi *dsi = encoder_to_dsi(encoder); 1942 - struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 1951 + const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; 1943 1952 int ret, i; 1944 1953 1945 1954 ret = regulator_bulk_enable(ARRAY_SIZE(dsi->supplies), dsi->supplies);