]> git.baikalelectronics.ru Git - kernel.git/commitdiff
video: fbdev: imxfb: Drop platform data support
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sat, 23 Jul 2022 17:57:17 +0000 (19:57 +0200)
committerHelge Deller <deller@gmx.de>
Tue, 26 Jul 2022 07:16:38 +0000 (09:16 +0200)
No source file but the driver itself includes the header containing the
platform data definition. The last user is gone since commit
0b7b73ab206c ("ARM: imx: Remove imx device directory").

So we can safely drop platform data support.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/imxfb.c
include/linux/platform_data/video-imxfb.h

index a2f644c97f28026db0bde451e300aa1bf8840001..85a5bf5639d91a9c4d0f5cba5b6e1fe06890fc10 100644 (file)
@@ -656,7 +656,6 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
 
 static int imxfb_init_fbinfo(struct platform_device *pdev)
 {
-       struct imx_fb_platform_data *pdata = dev_get_platdata(&pdev->dev);
        struct fb_info *info = platform_get_drvdata(pdev);
        struct imxfb_info *fbi = info->par;
        struct device_node *np;
@@ -690,25 +689,20 @@ static int imxfb_init_fbinfo(struct platform_device *pdev)
        info->fbops                     = &imxfb_ops;
        info->flags                     = FBINFO_FLAG_DEFAULT |
                                          FBINFO_READS_FAST;
-       if (pdata) {
-               fbi->lscr1                      = pdata->lscr1;
-               fbi->dmacr                      = pdata->dmacr;
-               fbi->pwmr                       = pdata->pwmr;
-       } else {
-               np = pdev->dev.of_node;
-               info->var.grayscale = of_property_read_bool(np,
-                                               "cmap-greyscale");
-               fbi->cmap_inverse = of_property_read_bool(np, "cmap-inverse");
-               fbi->cmap_static = of_property_read_bool(np, "cmap-static");
 
-               fbi->lscr1 = IMXFB_LSCR1_DEFAULT;
+       np = pdev->dev.of_node;
+       info->var.grayscale = of_property_read_bool(np,
+                                       "cmap-greyscale");
+       fbi->cmap_inverse = of_property_read_bool(np, "cmap-inverse");
+       fbi->cmap_static = of_property_read_bool(np, "cmap-static");
 
-               of_property_read_u32(np, "fsl,lpccr", &fbi->pwmr);
+       fbi->lscr1 = IMXFB_LSCR1_DEFAULT;
 
-               of_property_read_u32(np, "fsl,lscr1", &fbi->lscr1);
+       of_property_read_u32(np, "fsl,lpccr", &fbi->pwmr);
 
-               of_property_read_u32(np, "fsl,dmacr", &fbi->dmacr);
-       }
+       of_property_read_u32(np, "fsl,lscr1", &fbi->lscr1);
+
+       of_property_read_u32(np, "fsl,dmacr", &fbi->dmacr);
 
        return 0;
 }
@@ -863,10 +857,10 @@ static int imxfb_probe(struct platform_device *pdev)
        struct imxfb_info *fbi;
        struct lcd_device *lcd;
        struct fb_info *info;
-       struct imx_fb_platform_data *pdata;
        struct resource *res;
        struct imx_fb_videomode *m;
        const struct of_device_id *of_id;
+       struct device_node *display_np;
        int ret, i;
        int bytes_per_pixel;
 
@@ -884,8 +878,6 @@ static int imxfb_probe(struct platform_device *pdev)
        if (!res)
                return -ENODEV;
 
-       pdata = dev_get_platdata(&pdev->dev);
-
        info = framebuffer_alloc(sizeof(struct imxfb_info), &pdev->dev);
        if (!info)
                return -ENOMEM;
@@ -898,43 +890,34 @@ static int imxfb_probe(struct platform_device *pdev)
        if (ret < 0)
                goto failed_init;
 
-       if (pdata) {
-               if (!fb_mode)
-                       fb_mode = pdata->mode[0].mode.name;
-
-               fbi->mode = pdata->mode;
-               fbi->num_modes = pdata->num_modes;
-       } else {
-               struct device_node *display_np;
-               fb_mode = NULL;
-
-               display_np = of_parse_phandle(pdev->dev.of_node, "display", 0);
-               if (!display_np) {
-                       dev_err(&pdev->dev, "No display defined in devicetree\n");
-                       ret = -EINVAL;
-                       goto failed_of_parse;
-               }
+       fb_mode = NULL;
 
-               /*
-                * imxfb does not support more modes, we choose only the native
-                * mode.
-                */
-               fbi->num_modes = 1;
-
-               fbi->mode = devm_kzalloc(&pdev->dev,
-                               sizeof(struct imx_fb_videomode), GFP_KERNEL);
-               if (!fbi->mode) {
-                       ret = -ENOMEM;
-                       of_node_put(display_np);
-                       goto failed_of_parse;
-               }
+       display_np = of_parse_phandle(pdev->dev.of_node, "display", 0);
+       if (!display_np) {
+               dev_err(&pdev->dev, "No display defined in devicetree\n");
+               ret = -EINVAL;
+               goto failed_of_parse;
+       }
 
-               ret = imxfb_of_read_mode(&pdev->dev, display_np, fbi->mode);
+       /*
+        * imxfb does not support more modes, we choose only the native
+        * mode.
+        */
+       fbi->num_modes = 1;
+
+       fbi->mode = devm_kzalloc(&pdev->dev,
+                       sizeof(struct imx_fb_videomode), GFP_KERNEL);
+       if (!fbi->mode) {
+               ret = -ENOMEM;
                of_node_put(display_np);
-               if (ret)
-                       goto failed_of_parse;
+               goto failed_of_parse;
        }
 
+       ret = imxfb_of_read_mode(&pdev->dev, display_np, fbi->mode);
+       of_node_put(display_np);
+       if (ret)
+               goto failed_of_parse;
+
        /* Calculate maximum bytes used per pixel. In most cases this should
         * be the same as m->bpp/8 */
        m = &fbi->mode[0];
@@ -1001,13 +984,6 @@ static int imxfb_probe(struct platform_device *pdev)
 
        info->fix.smem_start = fbi->map_dma;
 
-       if (pdata && pdata->init) {
-               ret = pdata->init(fbi->pdev);
-               if (ret)
-                       goto failed_platform_init;
-       }
-
-
        INIT_LIST_HEAD(&info->modelist);
        for (i = 0; i < fbi->num_modes; i++)
                fb_add_videomode(&fbi->mode[i].mode, &info->modelist);
@@ -1059,9 +1035,6 @@ failed_lcd:
 failed_register:
        fb_dealloc_cmap(&info->cmap);
 failed_cmap:
-       if (pdata && pdata->exit)
-               pdata->exit(fbi->pdev);
-failed_platform_init:
        dma_free_wc(&pdev->dev, fbi->map_size, info->screen_buffer,
                    fbi->map_dma);
 failed_map:
@@ -1079,7 +1052,6 @@ failed_init:
 
 static int imxfb_remove(struct platform_device *pdev)
 {
-       struct imx_fb_platform_data *pdata;
        struct fb_info *info = platform_get_drvdata(pdev);
        struct imxfb_info *fbi = info->par;
        struct resource *res;
@@ -1092,9 +1064,6 @@ static int imxfb_remove(struct platform_device *pdev)
 
        unregister_framebuffer(info);
        fb_dealloc_cmap(&info->cmap);
-       pdata = dev_get_platdata(&pdev->dev);
-       if (pdata && pdata->exit)
-               pdata->exit(fbi->pdev);
        dma_free_wc(&pdev->dev, fbi->map_size, info->screen_buffer,
                    fbi->map_dma);
        iounmap(fbi->regs);
index 02812651af7d7242312eecfe29736c2fbdc7e55c..b80a156a6617752f1e6aae29b793e28685f3af2f 100644 (file)
@@ -55,16 +55,4 @@ struct imx_fb_videomode {
        unsigned char   bpp;
 };
 
-struct imx_fb_platform_data {
-       struct imx_fb_videomode *mode;
-       int             num_modes;
-
-       u_int           pwmr;
-       u_int           lscr1;
-       u_int           dmacr;
-
-       int (*init)(struct platform_device *);
-       void (*exit)(struct platform_device *);
-};
-
 #endif /* ifndef __MACH_IMXFB_H__ */