aboutsummaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-06-16 16:00:24 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-06-16 16:00:24 -0400
commit644f2639aef0c7a9a4f59b679375719d720d5461 (patch)
tree11bd09fb1510ff16569bb52d347a7eb3e046ad53 /include/video
parent35773c93817c5f2df264d013978e7551056a063a (diff)
parent85ebd164de56c5146e0f65cebee7fcc4babe52e3 (diff)
Merge tag 'fbdev-v4.18' of git://github.com/bzolnier/linux
Pull fbdev updates from Bartlomiej Zolnierkiewicz: "There is nothing really major here, few small fixes, some cleanups and dead drivers removal: - mark omapfb drivers as orphans in MAINTAINERS file (Tomi Valkeinen) - add missing module license tags to omap/omapfb driver (Arnd Bergmann) - add missing GPIOLIB dependendy to omap2/omapfb driver (Arnd Bergmann) - convert savagefb, aty128fb & radeonfb drivers to use msleep & co. (Jia-Ju Bai) - allow COMPILE_TEST build for viafb driver (media part was reviewed by media subsystem Maintainer) - remove unused MERAM support from sh_mobile_lcdcfb and shmob-drm drivers (drm parts were acked by shmob-drm driver Maintainer) - remove unused auo_k190xfb drivers - misc cleanups (Souptick Joarder, Wolfram Sang, Markus Elfring, Andy Shevchenko, Colin Ian King)" * tag 'fbdev-v4.18' of git://github.com/bzolnier/linux: (26 commits) fb_omap2: add gpiolib dependency video/omap: add module license tags MAINTAINERS: make omapfb orphan video: fbdev: pxafb: match_string() conversion fixup video: fbdev: nvidia: fix spelling mistake: "scaleing" -> "scaling" video: fbdev: fix spelling mistake: "frambuffer" -> "framebuffer" video: fbdev: pxafb: Convert to use match_string() helper video: fbdev: via: allow COMPILE_TEST build video: fbdev: remove unused sh_mobile_meram driver drm: shmobile: remove unused MERAM support video: fbdev: sh_mobile_lcdcfb: remove unused MERAM support video: fbdev: remove unused auo_k190xfb drivers video: omap: Improve a size determination in omapfb_do_probe() video: sm501fb: Improve a size determination in sm501fb_probe() video: fbdev-MMP: Improve a size determination in path_init() video: fbdev-MMP: Delete an error message for a failed memory allocation in two functions video: auo_k190x: Delete an error message for a failed memory allocation in auok190x_common_probe() video: sh_mobile_lcdcfb: Delete an error message for a failed memory allocation in two functions video: sh_mobile_meram: Delete an error message for a failed memory allocation in sh_mobile_meram_probe() video: fbdev: sh_mobile_meram: Drop SUPERH platform dependency ...
Diffstat (limited to 'include/video')
-rw-r--r--include/video/auo_k190xfb.h107
-rw-r--r--include/video/sh_mobile_lcdc.h3
-rw-r--r--include/video/sh_mobile_meram.h95
3 files changed, 0 insertions, 205 deletions
diff --git a/include/video/auo_k190xfb.h b/include/video/auo_k190xfb.h
deleted file mode 100644
index ac329ee1d753..000000000000
--- a/include/video/auo_k190xfb.h
+++ /dev/null
@@ -1,107 +0,0 @@
1/*
2 * Definitions for AUO-K190X framebuffer drivers
3 *
4 * Copyright (C) 2012 Heiko Stuebner <heiko@sntech.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#ifndef _LINUX_VIDEO_AUO_K190XFB_H_
12#define _LINUX_VIDEO_AUO_K190XFB_H_
13
14/* Controller standby command needs a param */
15#define AUOK190X_QUIRK_STANDBYPARAM (1 << 0)
16
17/* Controller standby is completely broken */
18#define AUOK190X_QUIRK_STANDBYBROKEN (1 << 1)
19
20/*
21 * Resolutions for the displays
22 */
23#define AUOK190X_RESOLUTION_800_600 0
24#define AUOK190X_RESOLUTION_1024_768 1
25#define AUOK190X_RESOLUTION_600_800 4
26#define AUOK190X_RESOLUTION_768_1024 5
27
28/*
29 * struct used by auok190x. board specific stuff comes from *board
30 */
31struct auok190xfb_par {
32 struct fb_info *info;
33 struct auok190x_board *board;
34
35 struct regulator *regulator;
36
37 struct mutex io_lock;
38 struct delayed_work work;
39 wait_queue_head_t waitq;
40 int resolution;
41 int rotation;
42 int consecutive_threshold;
43 int update_cnt;
44
45 /* panel and controller informations */
46 int epd_type;
47 int panel_size_int;
48 int panel_size_float;
49 int panel_model;
50 int tcon_version;
51 int lut_version;
52
53 /* individual controller callbacks */
54 void (*update_partial)(struct auok190xfb_par *par, u16 y1, u16 y2);
55 void (*update_all)(struct auok190xfb_par *par);
56 bool (*need_refresh)(struct auok190xfb_par *par);
57 void (*init)(struct auok190xfb_par *par);
58 void (*recover)(struct auok190xfb_par *par);
59
60 int update_mode; /* mode to use for updates */
61 int last_mode; /* update mode last used */
62 int flash;
63
64 /* power management */
65 int autosuspend_delay;
66 bool standby;
67 bool manual_standby;
68};
69
70/**
71 * Board specific platform-data
72 * @init: initialize the controller interface
73 * @cleanup: cleanup the controller interface
74 * @wait_for_rdy: wait until the controller is not busy anymore
75 * @set_ctl: change an interface control
76 * @set_hdb: write a value to the data register
77 * @get_hdb: read a value from the data register
78 * @setup_irq: method to setup the irq handling on the busy gpio
79 * @gpio_nsleep: sleep gpio
80 * @gpio_nrst: reset gpio
81 * @gpio_nbusy: busy gpio
82 * @resolution: one of the AUOK190X_RESOLUTION constants
83 * @rotation: rotation of the framebuffer
84 * @quirks: controller quirks to honor
85 * @fps: frames per second for defio
86 */
87struct auok190x_board {
88 int (*init)(struct auok190xfb_par *);
89 void (*cleanup)(struct auok190xfb_par *);
90 int (*wait_for_rdy)(struct auok190xfb_par *);
91
92 void (*set_ctl)(struct auok190xfb_par *, unsigned char, u8);
93 void (*set_hdb)(struct auok190xfb_par *, u16);
94 u16 (*get_hdb)(struct auok190xfb_par *);
95
96 int (*setup_irq)(struct fb_info *);
97
98 int gpio_nsleep;
99 int gpio_nrst;
100 int gpio_nbusy;
101
102 int resolution;
103 int quirks;
104 int fps;
105};
106
107#endif
diff --git a/include/video/sh_mobile_lcdc.h b/include/video/sh_mobile_lcdc.h
index f706b0fed399..84aa976ca4ea 100644
--- a/include/video/sh_mobile_lcdc.h
+++ b/include/video/sh_mobile_lcdc.h
@@ -3,7 +3,6 @@
3#define __ASM_SH_MOBILE_LCDC_H__ 3#define __ASM_SH_MOBILE_LCDC_H__
4 4
5#include <linux/fb.h> 5#include <linux/fb.h>
6#include <video/sh_mobile_meram.h>
7 6
8/* Register definitions */ 7/* Register definitions */
9#define _LDDCKR 0x410 8#define _LDDCKR 0x410
@@ -184,7 +183,6 @@ struct sh_mobile_lcdc_chan_cfg {
184 struct sh_mobile_lcdc_panel_cfg panel_cfg; 183 struct sh_mobile_lcdc_panel_cfg panel_cfg;
185 struct sh_mobile_lcdc_bl_info bl_info; 184 struct sh_mobile_lcdc_bl_info bl_info;
186 struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ 185 struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */
187 const struct sh_mobile_meram_cfg *meram_cfg;
188 186
189 struct platform_device *tx_dev; /* HDMI/DSI transmitter device */ 187 struct platform_device *tx_dev; /* HDMI/DSI transmitter device */
190}; 188};
@@ -193,7 +191,6 @@ struct sh_mobile_lcdc_info {
193 int clock_source; 191 int clock_source;
194 struct sh_mobile_lcdc_chan_cfg ch[2]; 192 struct sh_mobile_lcdc_chan_cfg ch[2];
195 struct sh_mobile_lcdc_overlay_cfg overlays[4]; 193 struct sh_mobile_lcdc_overlay_cfg overlays[4];
196 struct sh_mobile_meram_info *meram_dev;
197}; 194};
198 195
199#endif /* __ASM_SH_MOBILE_LCDC_H__ */ 196#endif /* __ASM_SH_MOBILE_LCDC_H__ */
diff --git a/include/video/sh_mobile_meram.h b/include/video/sh_mobile_meram.h
deleted file mode 100644
index f4efc21e205d..000000000000
--- a/include/video/sh_mobile_meram.h
+++ /dev/null
@@ -1,95 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __VIDEO_SH_MOBILE_MERAM_H__
3#define __VIDEO_SH_MOBILE_MERAM_H__
4
5/* For sh_mobile_meram_info.addr_mode */
6enum {
7 SH_MOBILE_MERAM_MODE0 = 0,
8 SH_MOBILE_MERAM_MODE1
9};
10
11enum {
12 SH_MOBILE_MERAM_PF_NV = 0,
13 SH_MOBILE_MERAM_PF_RGB,
14 SH_MOBILE_MERAM_PF_NV24
15};
16
17
18struct sh_mobile_meram_priv;
19
20/*
21 * struct sh_mobile_meram_info - MERAM platform data
22 * @reserved_icbs: Bitmask of reserved ICBs (for instance used through UIO)
23 */
24struct sh_mobile_meram_info {
25 int addr_mode;
26 u32 reserved_icbs;
27 struct sh_mobile_meram_priv *priv;
28 struct platform_device *pdev;
29};
30
31/* icb config */
32struct sh_mobile_meram_icb_cfg {
33 unsigned int meram_size; /* MERAM Buffer Size to use */
34};
35
36struct sh_mobile_meram_cfg {
37 struct sh_mobile_meram_icb_cfg icb[2];
38};
39
40#if defined(CONFIG_FB_SH_MOBILE_MERAM) || \
41 defined(CONFIG_FB_SH_MOBILE_MERAM_MODULE)
42unsigned long sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev,
43 size_t size);
44void sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev,
45 unsigned long mem, size_t size);
46void *sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev,
47 const struct sh_mobile_meram_cfg *cfg,
48 unsigned int xres, unsigned int yres,
49 unsigned int pixelformat,
50 unsigned int *pitch);
51void sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data);
52void sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data,
53 unsigned long base_addr_y,
54 unsigned long base_addr_c,
55 unsigned long *icb_addr_y,
56 unsigned long *icb_addr_c);
57#else
58static inline unsigned long
59sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev, size_t size)
60{
61 return 0;
62}
63
64static inline void
65sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev,
66 unsigned long mem, size_t size)
67{
68}
69
70static inline void *
71sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev,
72 const struct sh_mobile_meram_cfg *cfg,
73 unsigned int xres, unsigned int yres,
74 unsigned int pixelformat,
75 unsigned int *pitch)
76{
77 return ERR_PTR(-ENODEV);
78}
79
80static inline void
81sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data)
82{
83}
84
85static inline void
86sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data,
87 unsigned long base_addr_y,
88 unsigned long base_addr_c,
89 unsigned long *icb_addr_y,
90 unsigned long *icb_addr_c)
91{
92}
93#endif
94
95#endif /* __VIDEO_SH_MOBILE_MERAM_H__ */