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

video: fbdev: imxfb: Drop platform data support

No source file but the driver itself includes the header containing the
platform data definition. The last user is gone since commit
8485adf17a15 ("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>

authored by

Uwe Kleine-König and committed by
Helge Deller
e948d32c 26c2b7d9

+36 -79
+36 -67
drivers/video/fbdev/imxfb.c
··· 656 656 657 657 static int imxfb_init_fbinfo(struct platform_device *pdev) 658 658 { 659 - struct imx_fb_platform_data *pdata = dev_get_platdata(&pdev->dev); 660 659 struct fb_info *info = platform_get_drvdata(pdev); 661 660 struct imxfb_info *fbi = info->par; 662 661 struct device_node *np; ··· 689 690 info->fbops = &imxfb_ops; 690 691 info->flags = FBINFO_FLAG_DEFAULT | 691 692 FBINFO_READS_FAST; 692 - if (pdata) { 693 - fbi->lscr1 = pdata->lscr1; 694 - fbi->dmacr = pdata->dmacr; 695 - fbi->pwmr = pdata->pwmr; 696 - } else { 697 - np = pdev->dev.of_node; 698 - info->var.grayscale = of_property_read_bool(np, 699 - "cmap-greyscale"); 700 - fbi->cmap_inverse = of_property_read_bool(np, "cmap-inverse"); 701 - fbi->cmap_static = of_property_read_bool(np, "cmap-static"); 702 693 703 - fbi->lscr1 = IMXFB_LSCR1_DEFAULT; 694 + np = pdev->dev.of_node; 695 + info->var.grayscale = of_property_read_bool(np, 696 + "cmap-greyscale"); 697 + fbi->cmap_inverse = of_property_read_bool(np, "cmap-inverse"); 698 + fbi->cmap_static = of_property_read_bool(np, "cmap-static"); 704 699 705 - of_property_read_u32(np, "fsl,lpccr", &fbi->pwmr); 700 + fbi->lscr1 = IMXFB_LSCR1_DEFAULT; 706 701 707 - of_property_read_u32(np, "fsl,lscr1", &fbi->lscr1); 702 + of_property_read_u32(np, "fsl,lpccr", &fbi->pwmr); 708 703 709 - of_property_read_u32(np, "fsl,dmacr", &fbi->dmacr); 710 - } 704 + of_property_read_u32(np, "fsl,lscr1", &fbi->lscr1); 705 + 706 + of_property_read_u32(np, "fsl,dmacr", &fbi->dmacr); 711 707 712 708 return 0; 713 709 } ··· 857 863 struct imxfb_info *fbi; 858 864 struct lcd_device *lcd; 859 865 struct fb_info *info; 860 - struct imx_fb_platform_data *pdata; 861 866 struct resource *res; 862 867 struct imx_fb_videomode *m; 863 868 const struct of_device_id *of_id; 869 + struct device_node *display_np; 864 870 int ret, i; 865 871 int bytes_per_pixel; 866 872 ··· 878 884 if (!res) 879 885 return -ENODEV; 880 886 881 - pdata = dev_get_platdata(&pdev->dev); 882 - 883 887 info = framebuffer_alloc(sizeof(struct imxfb_info), &pdev->dev); 884 888 if (!info) 885 889 return -ENOMEM; ··· 890 898 if (ret < 0) 891 899 goto failed_init; 892 900 893 - if (pdata) { 894 - if (!fb_mode) 895 - fb_mode = pdata->mode[0].mode.name; 901 + fb_mode = NULL; 896 902 897 - fbi->mode = pdata->mode; 898 - fbi->num_modes = pdata->num_modes; 899 - } else { 900 - struct device_node *display_np; 901 - fb_mode = NULL; 902 - 903 - display_np = of_parse_phandle(pdev->dev.of_node, "display", 0); 904 - if (!display_np) { 905 - dev_err(&pdev->dev, "No display defined in devicetree\n"); 906 - ret = -EINVAL; 907 - goto failed_of_parse; 908 - } 909 - 910 - /* 911 - * imxfb does not support more modes, we choose only the native 912 - * mode. 913 - */ 914 - fbi->num_modes = 1; 915 - 916 - fbi->mode = devm_kzalloc(&pdev->dev, 917 - sizeof(struct imx_fb_videomode), GFP_KERNEL); 918 - if (!fbi->mode) { 919 - ret = -ENOMEM; 920 - of_node_put(display_np); 921 - goto failed_of_parse; 922 - } 923 - 924 - ret = imxfb_of_read_mode(&pdev->dev, display_np, fbi->mode); 925 - of_node_put(display_np); 926 - if (ret) 927 - goto failed_of_parse; 903 + display_np = of_parse_phandle(pdev->dev.of_node, "display", 0); 904 + if (!display_np) { 905 + dev_err(&pdev->dev, "No display defined in devicetree\n"); 906 + ret = -EINVAL; 907 + goto failed_of_parse; 928 908 } 909 + 910 + /* 911 + * imxfb does not support more modes, we choose only the native 912 + * mode. 913 + */ 914 + fbi->num_modes = 1; 915 + 916 + fbi->mode = devm_kzalloc(&pdev->dev, 917 + sizeof(struct imx_fb_videomode), GFP_KERNEL); 918 + if (!fbi->mode) { 919 + ret = -ENOMEM; 920 + of_node_put(display_np); 921 + goto failed_of_parse; 922 + } 923 + 924 + ret = imxfb_of_read_mode(&pdev->dev, display_np, fbi->mode); 925 + of_node_put(display_np); 926 + if (ret) 927 + goto failed_of_parse; 929 928 930 929 /* Calculate maximum bytes used per pixel. In most cases this should 931 930 * be the same as m->bpp/8 */ ··· 984 1001 985 1002 info->fix.smem_start = fbi->map_dma; 986 1003 987 - if (pdata && pdata->init) { 988 - ret = pdata->init(fbi->pdev); 989 - if (ret) 990 - goto failed_platform_init; 991 - } 992 - 993 - 994 1004 INIT_LIST_HEAD(&info->modelist); 995 1005 for (i = 0; i < fbi->num_modes; i++) 996 1006 fb_add_videomode(&fbi->mode[i].mode, &info->modelist); ··· 1035 1059 failed_register: 1036 1060 fb_dealloc_cmap(&info->cmap); 1037 1061 failed_cmap: 1038 - if (pdata && pdata->exit) 1039 - pdata->exit(fbi->pdev); 1040 - failed_platform_init: 1041 1062 dma_free_wc(&pdev->dev, fbi->map_size, info->screen_buffer, 1042 1063 fbi->map_dma); 1043 1064 failed_map: ··· 1052 1079 1053 1080 static int imxfb_remove(struct platform_device *pdev) 1054 1081 { 1055 - struct imx_fb_platform_data *pdata; 1056 1082 struct fb_info *info = platform_get_drvdata(pdev); 1057 1083 struct imxfb_info *fbi = info->par; 1058 1084 struct resource *res; ··· 1064 1092 1065 1093 unregister_framebuffer(info); 1066 1094 fb_dealloc_cmap(&info->cmap); 1067 - pdata = dev_get_platdata(&pdev->dev); 1068 - if (pdata && pdata->exit) 1069 - pdata->exit(fbi->pdev); 1070 1095 dma_free_wc(&pdev->dev, fbi->map_size, info->screen_buffer, 1071 1096 fbi->map_dma); 1072 1097 iounmap(fbi->regs);
-12
include/linux/platform_data/video-imxfb.h
··· 55 55 unsigned char bpp; 56 56 }; 57 57 58 - struct imx_fb_platform_data { 59 - struct imx_fb_videomode *mode; 60 - int num_modes; 61 - 62 - u_int pwmr; 63 - u_int lscr1; 64 - u_int dmacr; 65 - 66 - int (*init)(struct platform_device *); 67 - void (*exit)(struct platform_device *); 68 - }; 69 - 70 58 #endif /* ifndef __MACH_IMXFB_H__ */