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

Merge omapdss header refactoring

Merge omapdss public header refactoring, which separates the public
header into omapdrm and omapfb parts.

+1081 -751
+2 -1
arch/arm/mach-omap2/board-ldp.c
··· 39 39 #include "gpmc.h" 40 40 #include "gpmc-smsc911x.h" 41 41 42 - #include <video/omapdss.h> 42 + #include <linux/platform_data/omapdss.h> 43 43 #include <video/omap-panel-data.h> 44 44 45 45 #include "board-flash.h" ··· 47 47 #include "hsmmc.h" 48 48 #include "control.h" 49 49 #include "common-board-devices.h" 50 + #include "display.h" 50 51 51 52 #define LDP_SMSC911X_CS 1 52 53 #define LDP_SMSC911X_GPIO 152
+2 -2
arch/arm/mach-omap2/board-rx51-video.c
··· 15 15 #include <linux/spi/spi.h> 16 16 #include <linux/mm.h> 17 17 #include <asm/mach-types.h> 18 - #include <video/omapdss.h> 18 + #include <linux/platform_data/omapdss.h> 19 19 #include <video/omap-panel-data.h> 20 20 21 21 #include <linux/platform_data/spi-omap2-mcspi.h> 22 22 23 23 #include "soc.h" 24 24 #include "board-rx51.h" 25 + #include "display.h" 25 26 26 27 #include "mux.h" 27 28 ··· 33 32 static struct connector_atv_platform_data rx51_tv_pdata = { 34 33 .name = "tv", 35 34 .source = "venc.0", 36 - .connector_type = OMAP_DSS_VENC_TYPE_COMPOSITE, 37 35 .invert_polarity = false, 38 36 }; 39 37
+1 -1
arch/arm/mach-omap2/display.c
··· 29 29 #include <linux/mfd/syscon.h> 30 30 #include <linux/regmap.h> 31 31 32 - #include <video/omapdss.h> 32 + #include <linux/platform_data/omapdss.h> 33 33 #include "omap_hwmod.h" 34 34 #include "omap_device.h" 35 35 #include "omap-pm.h"
+5
arch/arm/mach-omap2/display.h
··· 33 33 34 34 struct device_node * __init omapdss_find_dss_of_node(void); 35 35 36 + struct omap_dss_board_info; 37 + 38 + /* Init with the board info */ 39 + int omap_display_init(struct omap_dss_board_info *board_data); 40 + 36 41 #endif
+1 -1
arch/arm/mach-omap2/dss-common.c
··· 27 27 #include <linux/gpio.h> 28 28 #include <linux/platform_device.h> 29 29 30 - #include <video/omapdss.h> 30 + #include <linux/platform_data/omapdss.h> 31 31 #include <video/omap-panel-data.h> 32 32 33 33 #include "soc.h"
+3 -8
drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
··· 14 14 #include <linux/platform_device.h> 15 15 #include <linux/of.h> 16 16 17 - #include <video/omapdss.h> 18 17 #include <video/omap-panel-data.h> 18 + 19 + #include "../dss/omapdss.h" 19 20 20 21 struct panel_drv_data { 21 22 struct omap_dss_device dssdev; ··· 26 25 27 26 struct omap_video_timings timings; 28 27 29 - enum omap_dss_venc_type connector_type; 30 28 bool invert_polarity; 31 29 }; 32 30 ··· 44 44 }; 45 45 46 46 static const struct of_device_id tvc_of_match[]; 47 - 48 - struct tvc_of_data { 49 - enum omap_dss_venc_type connector_type; 50 - }; 51 47 52 48 #define to_panel_data(x) container_of(x, struct panel_drv_data, dssdev) 53 49 ··· 95 99 in->ops.atv->set_timings(in, &ddata->timings); 96 100 97 101 if (!ddata->dev->of_node) { 98 - in->ops.atv->set_type(in, ddata->connector_type); 102 + in->ops.atv->set_type(in, OMAP_DSS_VENC_TYPE_COMPOSITE); 99 103 100 104 in->ops.atv->invert_vid_out_polarity(in, 101 105 ddata->invert_polarity); ··· 203 207 204 208 ddata->in = in; 205 209 206 - ddata->connector_type = pdata->connector_type; 207 210 ddata->invert_polarity = pdata->invert_polarity; 208 211 209 212 dssdev = &ddata->dssdev;
+2 -2
drivers/gpu/drm/omapdrm/displays/connector-dvi.c
··· 15 15 #include <linux/slab.h> 16 16 17 17 #include <drm/drm_edid.h> 18 - 19 - #include <video/omapdss.h> 20 18 #include <video/omap-panel-data.h> 19 + 20 + #include "../dss/omapdss.h" 21 21 22 22 static const struct omap_video_timings dvic_default_timings = { 23 23 .x_res = 640,
+2 -2
drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
··· 17 17 #include <linux/of_gpio.h> 18 18 19 19 #include <drm/drm_edid.h> 20 - 21 - #include <video/omapdss.h> 22 20 #include <video/omap-panel-data.h> 21 + 22 + #include "../dss/omapdss.h" 23 23 24 24 static const struct omap_video_timings hdmic_default_timings = { 25 25 .x_res = 640,
+1 -1
drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
··· 19 19 #include <linux/platform_device.h> 20 20 #include <linux/slab.h> 21 21 22 - #include <video/omapdss.h> 22 + #include "../dss/omapdss.h" 23 23 24 24 struct panel_drv_data { 25 25 struct omap_dss_device dssdev;
+1 -2
drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
··· 15 15 #include <linux/slab.h> 16 16 #include <linux/of_gpio.h> 17 17 18 - #include <video/omapdss.h> 19 - #include <video/omap-panel-data.h> 18 + #include "../dss/omapdss.h" 20 19 21 20 struct panel_drv_data { 22 21 struct omap_dss_device dssdev;
+1 -2
drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c
··· 16 16 #include <linux/platform_device.h> 17 17 #include <linux/gpio/consumer.h> 18 18 19 - #include <video/omapdss.h> 20 - #include <video/omap-panel-data.h> 19 + #include "../dss/omapdss.h" 21 20 22 21 struct panel_drv_data { 23 22 struct omap_dss_device dssdev;
+2 -1
drivers/gpu/drm/omapdrm/displays/panel-dpi.c
··· 17 17 #include <linux/of_gpio.h> 18 18 #include <linux/regulator/consumer.h> 19 19 20 - #include <video/omapdss.h> 21 20 #include <video/omap-panel-data.h> 22 21 #include <video/of_display_timing.h> 22 + 23 + #include "../dss/omapdss.h" 23 24 24 25 struct panel_drv_data { 25 26 struct omap_dss_device dssdev;
+2 -2
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
··· 25 25 #include <linux/of_device.h> 26 26 #include <linux/of_gpio.h> 27 27 28 - #include <video/omapdss.h> 29 - #include <video/omap-panel-data.h> 30 28 #include <video/mipi_display.h> 29 + 30 + #include "../dss/omapdss.h" 31 31 32 32 /* DSI Virtual channel. Hardcoded for now. */ 33 33 #define TCH 0
+1 -2
drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
··· 17 17 #include <linux/gpio.h> 18 18 #include <linux/gpio/consumer.h> 19 19 20 - #include <video/omapdss.h> 21 - #include <video/omap-panel-data.h> 20 + #include "../dss/omapdss.h" 22 21 23 22 static struct omap_video_timings lb035q02_timings = { 24 23 .x_res = 320,
+1 -1
drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
··· 18 18 #include <linux/gpio/consumer.h> 19 19 #include <linux/of_gpio.h> 20 20 21 - #include <video/omapdss.h> 21 + #include "../dss/omapdss.h" 22 22 23 23 struct panel_drv_data { 24 24 struct omap_dss_device dssdev;
+2 -1
drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
··· 16 16 #include <linux/platform_device.h> 17 17 #include <linux/slab.h> 18 18 #include <linux/regulator/consumer.h> 19 - #include <video/omapdss.h> 19 + 20 + #include "../dss/omapdss.h" 20 21 21 22 struct panel_drv_data { 22 23 struct omap_dss_device dssdev;
+2 -1
drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
··· 33 33 #include <linux/of.h> 34 34 #include <linux/of_gpio.h> 35 35 36 - #include <video/omapdss.h> 37 36 #include <video/omap-panel-data.h> 37 + 38 + #include "../dss/omapdss.h" 38 39 39 40 #define MIPID_CMD_READ_DISP_ID 0x04 40 41 #define MIPID_CMD_READ_RED 0x06
+2 -1
drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
··· 28 28 #include <linux/delay.h> 29 29 #include <linux/spi/spi.h> 30 30 #include <linux/gpio.h> 31 - #include <video/omapdss.h> 31 + 32 + #include "../dss/omapdss.h" 32 33 33 34 struct panel_drv_data { 34 35 struct omap_dss_device dssdev;
+1 -1
drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
··· 19 19 #include <linux/slab.h> 20 20 #include <linux/of_gpio.h> 21 21 22 - #include <video/omapdss.h> 22 + #include "../dss/omapdss.h" 23 23 24 24 #define TPO_R02_MODE(x) ((x) & 7) 25 25 #define TPO_R02_MODE_800x480 7
+1 -4
drivers/gpu/drm/omapdrm/dss/core.c
··· 35 35 #include <linux/suspend.h> 36 36 #include <linux/slab.h> 37 37 38 - #include <video/omapdss.h> 39 - 38 + #include "omapdss.h" 40 39 #include "dss.h" 41 40 #include "dss_features.h" 42 41 ··· 195 196 core.default_display_name = def_disp_name; 196 197 else if (pdata->default_display_name) 197 198 core.default_display_name = pdata->default_display_name; 198 - else if (pdata->default_device) 199 - core.default_display_name = pdata->default_device->name; 200 199 201 200 return 0; 202 201
+1 -2
drivers/gpu/drm/omapdrm/dss/dispc.c
··· 41 41 #include <linux/of.h> 42 42 #include <linux/component.h> 43 43 44 - #include <video/omapdss.h> 45 - 44 + #include "omapdss.h" 46 45 #include "dss.h" 47 46 #include "dss_features.h" 48 47 #include "dispc.h"
+1 -1
drivers/gpu/drm/omapdrm/dss/dispc_coefs.c
··· 18 18 */ 19 19 20 20 #include <linux/kernel.h> 21 - #include <video/omapdss.h> 22 21 22 + #include "omapdss.h" 23 23 #include "dispc.h" 24 24 25 25 static const struct dispc_coef coef3_M8[8] = {
+1 -1
drivers/gpu/drm/omapdrm/dss/display.c
··· 28 28 #include <linux/platform_device.h> 29 29 #include <linux/of.h> 30 30 31 - #include <video/omapdss.h> 31 + #include "omapdss.h" 32 32 #include "dss.h" 33 33 #include "dss_features.h" 34 34
+1 -2
drivers/gpu/drm/omapdrm/dss/dpi.c
··· 34 34 #include <linux/clk.h> 35 35 #include <linux/component.h> 36 36 37 - #include <video/omapdss.h> 38 - 37 + #include "omapdss.h" 39 38 #include "dss.h" 40 39 #include "dss_features.h" 41 40
+1 -1
drivers/gpu/drm/omapdrm/dss/dsi.c
··· 42 42 #include <linux/of_platform.h> 43 43 #include <linux/component.h> 44 44 45 - #include <video/omapdss.h> 46 45 #include <video/mipi_display.h> 47 46 47 + #include "omapdss.h" 48 48 #include "dss.h" 49 49 #include "dss_features.h" 50 50
+1 -2
drivers/gpu/drm/omapdrm/dss/dss-of.c
··· 18 18 #include <linux/of.h> 19 19 #include <linux/seq_file.h> 20 20 21 - #include <video/omapdss.h> 22 - 21 + #include "omapdss.h" 23 22 #include "dss.h" 24 23 25 24 struct device_node *
+1 -2
drivers/gpu/drm/omapdrm/dss/dss.c
··· 42 42 #include <linux/suspend.h> 43 43 #include <linux/component.h> 44 44 45 - #include <video/omapdss.h> 46 - 45 + #include "omapdss.h" 47 46 #include "dss.h" 48 47 #include "dss_features.h" 49 48
+1 -2
drivers/gpu/drm/omapdrm/dss/dss_features.c
··· 23 23 #include <linux/err.h> 24 24 #include <linux/slab.h> 25 25 26 - #include <video/omapdss.h> 27 - 26 + #include "omapdss.h" 28 27 #include "dss.h" 29 28 #include "dss_features.h" 30 29
+2 -1
drivers/gpu/drm/omapdrm/dss/hdmi.h
··· 23 23 #include <linux/io.h> 24 24 #include <linux/platform_device.h> 25 25 #include <linux/hdmi.h> 26 - #include <video/omapdss.h> 26 + #include <sound/omap-hdmi-audio.h> 27 27 28 + #include "omapdss.h" 28 29 #include "dss.h" 29 30 30 31 /* HDMI Wrapper */
+1 -1
drivers/gpu/drm/omapdrm/dss/hdmi4.c
··· 34 34 #include <linux/regulator/consumer.h> 35 35 #include <linux/component.h> 36 36 #include <linux/of.h> 37 - #include <video/omapdss.h> 38 37 #include <sound/omap-hdmi-audio.h> 39 38 39 + #include "omapdss.h" 40 40 #include "hdmi4_core.h" 41 41 #include "dss.h" 42 42 #include "dss_features.h"
+1 -1
drivers/gpu/drm/omapdrm/dss/hdmi5.c
··· 39 39 #include <linux/regulator/consumer.h> 40 40 #include <linux/component.h> 41 41 #include <linux/of.h> 42 - #include <video/omapdss.h> 43 42 #include <sound/omap-hdmi-audio.h> 44 43 44 + #include "omapdss.h" 45 45 #include "hdmi5_core.h" 46 46 #include "dss.h" 47 47 #include "dss_features.h"
+1 -1
drivers/gpu/drm/omapdrm/dss/hdmi_common.c
··· 4 4 #include <linux/kernel.h> 5 5 #include <linux/err.h> 6 6 #include <linux/of.h> 7 - #include <video/omapdss.h> 8 7 8 + #include "omapdss.h" 9 9 #include "hdmi.h" 10 10 11 11 int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep,
+1 -1
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
··· 14 14 #include <linux/platform_device.h> 15 15 #include <linux/slab.h> 16 16 #include <linux/seq_file.h> 17 - #include <video/omapdss.h> 18 17 18 + #include "omapdss.h" 19 19 #include "dss.h" 20 20 #include "hdmi.h" 21 21
+1 -2
drivers/gpu/drm/omapdrm/dss/hdmi_pll.c
··· 19 19 #include <linux/seq_file.h> 20 20 #include <linux/pm_runtime.h> 21 21 22 - #include <video/omapdss.h> 23 - 22 + #include "omapdss.h" 24 23 #include "dss.h" 25 24 #include "hdmi.h" 26 25
+1 -1
drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
··· 15 15 #include <linux/io.h> 16 16 #include <linux/platform_device.h> 17 17 #include <linux/seq_file.h> 18 - #include <video/omapdss.h> 19 18 19 + #include "omapdss.h" 20 20 #include "dss.h" 21 21 #include "hdmi.h" 22 22
+865 -1
drivers/gpu/drm/omapdrm/dss/omapdss.h
··· 18 18 #ifndef __OMAP_DRM_DSS_H 19 19 #define __OMAP_DRM_DSS_H 20 20 21 - #include <video/omapdss.h> 21 + #include <linux/list.h> 22 + #include <linux/kobject.h> 23 + #include <linux/device.h> 24 + #include <linux/interrupt.h> 25 + #include <video/videomode.h> 26 + #include <linux/platform_data/omapdss.h> 27 + 28 + #define DISPC_IRQ_FRAMEDONE (1 << 0) 29 + #define DISPC_IRQ_VSYNC (1 << 1) 30 + #define DISPC_IRQ_EVSYNC_EVEN (1 << 2) 31 + #define DISPC_IRQ_EVSYNC_ODD (1 << 3) 32 + #define DISPC_IRQ_ACBIAS_COUNT_STAT (1 << 4) 33 + #define DISPC_IRQ_PROG_LINE_NUM (1 << 5) 34 + #define DISPC_IRQ_GFX_FIFO_UNDERFLOW (1 << 6) 35 + #define DISPC_IRQ_GFX_END_WIN (1 << 7) 36 + #define DISPC_IRQ_PAL_GAMMA_MASK (1 << 8) 37 + #define DISPC_IRQ_OCP_ERR (1 << 9) 38 + #define DISPC_IRQ_VID1_FIFO_UNDERFLOW (1 << 10) 39 + #define DISPC_IRQ_VID1_END_WIN (1 << 11) 40 + #define DISPC_IRQ_VID2_FIFO_UNDERFLOW (1 << 12) 41 + #define DISPC_IRQ_VID2_END_WIN (1 << 13) 42 + #define DISPC_IRQ_SYNC_LOST (1 << 14) 43 + #define DISPC_IRQ_SYNC_LOST_DIGIT (1 << 15) 44 + #define DISPC_IRQ_WAKEUP (1 << 16) 45 + #define DISPC_IRQ_SYNC_LOST2 (1 << 17) 46 + #define DISPC_IRQ_VSYNC2 (1 << 18) 47 + #define DISPC_IRQ_VID3_END_WIN (1 << 19) 48 + #define DISPC_IRQ_VID3_FIFO_UNDERFLOW (1 << 20) 49 + #define DISPC_IRQ_ACBIAS_COUNT_STAT2 (1 << 21) 50 + #define DISPC_IRQ_FRAMEDONE2 (1 << 22) 51 + #define DISPC_IRQ_FRAMEDONEWB (1 << 23) 52 + #define DISPC_IRQ_FRAMEDONETV (1 << 24) 53 + #define DISPC_IRQ_WBBUFFEROVERFLOW (1 << 25) 54 + #define DISPC_IRQ_WBUNCOMPLETEERROR (1 << 26) 55 + #define DISPC_IRQ_SYNC_LOST3 (1 << 27) 56 + #define DISPC_IRQ_VSYNC3 (1 << 28) 57 + #define DISPC_IRQ_ACBIAS_COUNT_STAT3 (1 << 29) 58 + #define DISPC_IRQ_FRAMEDONE3 (1 << 30) 59 + 60 + struct omap_dss_device; 61 + struct omap_overlay_manager; 62 + struct dss_lcd_mgr_config; 63 + struct snd_aes_iec958; 64 + struct snd_cea_861_aud_if; 65 + struct hdmi_avi_infoframe; 66 + 67 + enum omap_display_type { 68 + OMAP_DISPLAY_TYPE_NONE = 0, 69 + OMAP_DISPLAY_TYPE_DPI = 1 << 0, 70 + OMAP_DISPLAY_TYPE_DBI = 1 << 1, 71 + OMAP_DISPLAY_TYPE_SDI = 1 << 2, 72 + OMAP_DISPLAY_TYPE_DSI = 1 << 3, 73 + OMAP_DISPLAY_TYPE_VENC = 1 << 4, 74 + OMAP_DISPLAY_TYPE_HDMI = 1 << 5, 75 + OMAP_DISPLAY_TYPE_DVI = 1 << 6, 76 + }; 77 + 78 + enum omap_plane { 79 + OMAP_DSS_GFX = 0, 80 + OMAP_DSS_VIDEO1 = 1, 81 + OMAP_DSS_VIDEO2 = 2, 82 + OMAP_DSS_VIDEO3 = 3, 83 + OMAP_DSS_WB = 4, 84 + }; 85 + 86 + enum omap_channel { 87 + OMAP_DSS_CHANNEL_LCD = 0, 88 + OMAP_DSS_CHANNEL_DIGIT = 1, 89 + OMAP_DSS_CHANNEL_LCD2 = 2, 90 + OMAP_DSS_CHANNEL_LCD3 = 3, 91 + OMAP_DSS_CHANNEL_WB = 4, 92 + }; 93 + 94 + enum omap_color_mode { 95 + OMAP_DSS_COLOR_CLUT1 = 1 << 0, /* BITMAP 1 */ 96 + OMAP_DSS_COLOR_CLUT2 = 1 << 1, /* BITMAP 2 */ 97 + OMAP_DSS_COLOR_CLUT4 = 1 << 2, /* BITMAP 4 */ 98 + OMAP_DSS_COLOR_CLUT8 = 1 << 3, /* BITMAP 8 */ 99 + OMAP_DSS_COLOR_RGB12U = 1 << 4, /* RGB12, 16-bit container */ 100 + OMAP_DSS_COLOR_ARGB16 = 1 << 5, /* ARGB16 */ 101 + OMAP_DSS_COLOR_RGB16 = 1 << 6, /* RGB16 */ 102 + OMAP_DSS_COLOR_RGB24U = 1 << 7, /* RGB24, 32-bit container */ 103 + OMAP_DSS_COLOR_RGB24P = 1 << 8, /* RGB24, 24-bit container */ 104 + OMAP_DSS_COLOR_YUV2 = 1 << 9, /* YUV2 4:2:2 co-sited */ 105 + OMAP_DSS_COLOR_UYVY = 1 << 10, /* UYVY 4:2:2 co-sited */ 106 + OMAP_DSS_COLOR_ARGB32 = 1 << 11, /* ARGB32 */ 107 + OMAP_DSS_COLOR_RGBA32 = 1 << 12, /* RGBA32 */ 108 + OMAP_DSS_COLOR_RGBX32 = 1 << 13, /* RGBx32 */ 109 + OMAP_DSS_COLOR_NV12 = 1 << 14, /* NV12 format: YUV 4:2:0 */ 110 + OMAP_DSS_COLOR_RGBA16 = 1 << 15, /* RGBA16 - 4444 */ 111 + OMAP_DSS_COLOR_RGBX16 = 1 << 16, /* RGBx16 - 4444 */ 112 + OMAP_DSS_COLOR_ARGB16_1555 = 1 << 17, /* ARGB16 - 1555 */ 113 + OMAP_DSS_COLOR_XRGB16_1555 = 1 << 18, /* xRGB16 - 1555 */ 114 + }; 115 + 116 + enum omap_dss_load_mode { 117 + OMAP_DSS_LOAD_CLUT_AND_FRAME = 0, 118 + OMAP_DSS_LOAD_CLUT_ONLY = 1, 119 + OMAP_DSS_LOAD_FRAME_ONLY = 2, 120 + OMAP_DSS_LOAD_CLUT_ONCE_FRAME = 3, 121 + }; 122 + 123 + enum omap_dss_trans_key_type { 124 + OMAP_DSS_COLOR_KEY_GFX_DST = 0, 125 + OMAP_DSS_COLOR_KEY_VID_SRC = 1, 126 + }; 127 + 128 + enum omap_rfbi_te_mode { 129 + OMAP_DSS_RFBI_TE_MODE_1 = 1, 130 + OMAP_DSS_RFBI_TE_MODE_2 = 2, 131 + }; 132 + 133 + enum omap_dss_signal_level { 134 + OMAPDSS_SIG_ACTIVE_LOW, 135 + OMAPDSS_SIG_ACTIVE_HIGH, 136 + }; 137 + 138 + enum omap_dss_signal_edge { 139 + OMAPDSS_DRIVE_SIG_FALLING_EDGE, 140 + OMAPDSS_DRIVE_SIG_RISING_EDGE, 141 + }; 142 + 143 + enum omap_dss_venc_type { 144 + OMAP_DSS_VENC_TYPE_COMPOSITE, 145 + OMAP_DSS_VENC_TYPE_SVIDEO, 146 + }; 147 + 148 + enum omap_dss_dsi_pixel_format { 149 + OMAP_DSS_DSI_FMT_RGB888, 150 + OMAP_DSS_DSI_FMT_RGB666, 151 + OMAP_DSS_DSI_FMT_RGB666_PACKED, 152 + OMAP_DSS_DSI_FMT_RGB565, 153 + }; 154 + 155 + enum omap_dss_dsi_mode { 156 + OMAP_DSS_DSI_CMD_MODE = 0, 157 + OMAP_DSS_DSI_VIDEO_MODE, 158 + }; 159 + 160 + enum omap_display_caps { 161 + OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE = 1 << 0, 162 + OMAP_DSS_DISPLAY_CAP_TEAR_ELIM = 1 << 1, 163 + }; 164 + 165 + enum omap_dss_display_state { 166 + OMAP_DSS_DISPLAY_DISABLED = 0, 167 + OMAP_DSS_DISPLAY_ACTIVE, 168 + }; 169 + 170 + enum omap_dss_rotation_type { 171 + OMAP_DSS_ROT_DMA = 1 << 0, 172 + OMAP_DSS_ROT_VRFB = 1 << 1, 173 + OMAP_DSS_ROT_TILER = 1 << 2, 174 + }; 175 + 176 + /* clockwise rotation angle */ 177 + enum omap_dss_rotation_angle { 178 + OMAP_DSS_ROT_0 = 0, 179 + OMAP_DSS_ROT_90 = 1, 180 + OMAP_DSS_ROT_180 = 2, 181 + OMAP_DSS_ROT_270 = 3, 182 + }; 183 + 184 + enum omap_overlay_caps { 185 + OMAP_DSS_OVL_CAP_SCALE = 1 << 0, 186 + OMAP_DSS_OVL_CAP_GLOBAL_ALPHA = 1 << 1, 187 + OMAP_DSS_OVL_CAP_PRE_MULT_ALPHA = 1 << 2, 188 + OMAP_DSS_OVL_CAP_ZORDER = 1 << 3, 189 + OMAP_DSS_OVL_CAP_POS = 1 << 4, 190 + OMAP_DSS_OVL_CAP_REPLICATION = 1 << 5, 191 + }; 192 + 193 + enum omap_overlay_manager_caps { 194 + OMAP_DSS_DUMMY_VALUE, /* add a dummy value to prevent compiler error */ 195 + }; 196 + 197 + enum omap_dss_clk_source { 198 + OMAP_DSS_CLK_SRC_FCK = 0, /* OMAP2/3: DSS1_ALWON_FCLK 199 + * OMAP4: DSS_FCLK */ 200 + OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC, /* OMAP3: DSI1_PLL_FCLK 201 + * OMAP4: PLL1_CLK1 */ 202 + OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI, /* OMAP3: DSI2_PLL_FCLK 203 + * OMAP4: PLL1_CLK2 */ 204 + OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC, /* OMAP4: PLL2_CLK1 */ 205 + OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DSI, /* OMAP4: PLL2_CLK2 */ 206 + }; 207 + 208 + enum omap_hdmi_flags { 209 + OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP = 1 << 0, 210 + }; 211 + 212 + enum omap_dss_output_id { 213 + OMAP_DSS_OUTPUT_DPI = 1 << 0, 214 + OMAP_DSS_OUTPUT_DBI = 1 << 1, 215 + OMAP_DSS_OUTPUT_SDI = 1 << 2, 216 + OMAP_DSS_OUTPUT_DSI1 = 1 << 3, 217 + OMAP_DSS_OUTPUT_DSI2 = 1 << 4, 218 + OMAP_DSS_OUTPUT_VENC = 1 << 5, 219 + OMAP_DSS_OUTPUT_HDMI = 1 << 6, 220 + }; 221 + 222 + /* RFBI */ 223 + 224 + struct rfbi_timings { 225 + int cs_on_time; 226 + int cs_off_time; 227 + int we_on_time; 228 + int we_off_time; 229 + int re_on_time; 230 + int re_off_time; 231 + int we_cycle_time; 232 + int re_cycle_time; 233 + int cs_pulse_width; 234 + int access_time; 235 + 236 + int clk_div; 237 + 238 + u32 tim[5]; /* set by rfbi_convert_timings() */ 239 + 240 + int converted; 241 + }; 242 + 243 + /* DSI */ 244 + 245 + enum omap_dss_dsi_trans_mode { 246 + /* Sync Pulses: both sync start and end packets sent */ 247 + OMAP_DSS_DSI_PULSE_MODE, 248 + /* Sync Events: only sync start packets sent */ 249 + OMAP_DSS_DSI_EVENT_MODE, 250 + /* Burst: only sync start packets sent, pixels are time compressed */ 251 + OMAP_DSS_DSI_BURST_MODE, 252 + }; 253 + 254 + struct omap_dss_dsi_videomode_timings { 255 + unsigned long hsclk; 256 + 257 + unsigned ndl; 258 + unsigned bitspp; 259 + 260 + /* pixels */ 261 + u16 hact; 262 + /* lines */ 263 + u16 vact; 264 + 265 + /* DSI video mode blanking data */ 266 + /* Unit: byte clock cycles */ 267 + u16 hss; 268 + u16 hsa; 269 + u16 hse; 270 + u16 hfp; 271 + u16 hbp; 272 + /* Unit: line clocks */ 273 + u16 vsa; 274 + u16 vfp; 275 + u16 vbp; 276 + 277 + /* DSI blanking modes */ 278 + int blanking_mode; 279 + int hsa_blanking_mode; 280 + int hbp_blanking_mode; 281 + int hfp_blanking_mode; 282 + 283 + enum omap_dss_dsi_trans_mode trans_mode; 284 + 285 + bool ddr_clk_always_on; 286 + int window_sync; 287 + }; 288 + 289 + struct omap_dss_dsi_config { 290 + enum omap_dss_dsi_mode mode; 291 + enum omap_dss_dsi_pixel_format pixel_format; 292 + const struct omap_video_timings *timings; 293 + 294 + unsigned long hs_clk_min, hs_clk_max; 295 + unsigned long lp_clk_min, lp_clk_max; 296 + 297 + bool ddr_clk_always_on; 298 + enum omap_dss_dsi_trans_mode trans_mode; 299 + }; 300 + 301 + struct omap_video_timings { 302 + /* Unit: pixels */ 303 + u16 x_res; 304 + /* Unit: pixels */ 305 + u16 y_res; 306 + /* Unit: Hz */ 307 + u32 pixelclock; 308 + /* Unit: pixel clocks */ 309 + u16 hsw; /* Horizontal synchronization pulse width */ 310 + /* Unit: pixel clocks */ 311 + u16 hfp; /* Horizontal front porch */ 312 + /* Unit: pixel clocks */ 313 + u16 hbp; /* Horizontal back porch */ 314 + /* Unit: line clocks */ 315 + u16 vsw; /* Vertical synchronization pulse width */ 316 + /* Unit: line clocks */ 317 + u16 vfp; /* Vertical front porch */ 318 + /* Unit: line clocks */ 319 + u16 vbp; /* Vertical back porch */ 320 + 321 + /* Vsync logic level */ 322 + enum omap_dss_signal_level vsync_level; 323 + /* Hsync logic level */ 324 + enum omap_dss_signal_level hsync_level; 325 + /* Interlaced or Progressive timings */ 326 + bool interlace; 327 + /* Pixel clock edge to drive LCD data */ 328 + enum omap_dss_signal_edge data_pclk_edge; 329 + /* Data enable logic level */ 330 + enum omap_dss_signal_level de_level; 331 + /* Pixel clock edges to drive HSYNC and VSYNC signals */ 332 + enum omap_dss_signal_edge sync_pclk_edge; 333 + 334 + bool double_pixel; 335 + }; 336 + 337 + /* Hardcoded timings for tv modes. Venc only uses these to 338 + * identify the mode, and does not actually use the configs 339 + * itself. However, the configs should be something that 340 + * a normal monitor can also show */ 341 + extern const struct omap_video_timings omap_dss_pal_timings; 342 + extern const struct omap_video_timings omap_dss_ntsc_timings; 343 + 344 + struct omap_dss_cpr_coefs { 345 + s16 rr, rg, rb; 346 + s16 gr, gg, gb; 347 + s16 br, bg, bb; 348 + }; 349 + 350 + struct omap_overlay_info { 351 + dma_addr_t paddr; 352 + dma_addr_t p_uv_addr; /* for NV12 format */ 353 + u16 screen_width; 354 + u16 width; 355 + u16 height; 356 + enum omap_color_mode color_mode; 357 + u8 rotation; 358 + enum omap_dss_rotation_type rotation_type; 359 + bool mirror; 360 + 361 + u16 pos_x; 362 + u16 pos_y; 363 + u16 out_width; /* if 0, out_width == width */ 364 + u16 out_height; /* if 0, out_height == height */ 365 + u8 global_alpha; 366 + u8 pre_mult_alpha; 367 + u8 zorder; 368 + }; 369 + 370 + struct omap_overlay { 371 + struct kobject kobj; 372 + struct list_head list; 373 + 374 + /* static fields */ 375 + const char *name; 376 + enum omap_plane id; 377 + enum omap_color_mode supported_modes; 378 + enum omap_overlay_caps caps; 379 + 380 + /* dynamic fields */ 381 + struct omap_overlay_manager *manager; 382 + 383 + /* 384 + * The following functions do not block: 385 + * 386 + * is_enabled 387 + * set_overlay_info 388 + * get_overlay_info 389 + * 390 + * The rest of the functions may block and cannot be called from 391 + * interrupt context 392 + */ 393 + 394 + int (*enable)(struct omap_overlay *ovl); 395 + int (*disable)(struct omap_overlay *ovl); 396 + bool (*is_enabled)(struct omap_overlay *ovl); 397 + 398 + int (*set_manager)(struct omap_overlay *ovl, 399 + struct omap_overlay_manager *mgr); 400 + int (*unset_manager)(struct omap_overlay *ovl); 401 + 402 + int (*set_overlay_info)(struct omap_overlay *ovl, 403 + struct omap_overlay_info *info); 404 + void (*get_overlay_info)(struct omap_overlay *ovl, 405 + struct omap_overlay_info *info); 406 + 407 + int (*wait_for_go)(struct omap_overlay *ovl); 408 + 409 + struct omap_dss_device *(*get_device)(struct omap_overlay *ovl); 410 + }; 411 + 412 + struct omap_overlay_manager_info { 413 + u32 default_color; 414 + 415 + enum omap_dss_trans_key_type trans_key_type; 416 + u32 trans_key; 417 + bool trans_enabled; 418 + 419 + bool partial_alpha_enabled; 420 + 421 + bool cpr_enable; 422 + struct omap_dss_cpr_coefs cpr_coefs; 423 + }; 424 + 425 + struct omap_overlay_manager { 426 + struct kobject kobj; 427 + 428 + /* static fields */ 429 + const char *name; 430 + enum omap_channel id; 431 + enum omap_overlay_manager_caps caps; 432 + struct list_head overlays; 433 + enum omap_display_type supported_displays; 434 + enum omap_dss_output_id supported_outputs; 435 + 436 + /* dynamic fields */ 437 + struct omap_dss_device *output; 438 + 439 + /* 440 + * The following functions do not block: 441 + * 442 + * set_manager_info 443 + * get_manager_info 444 + * apply 445 + * 446 + * The rest of the functions may block and cannot be called from 447 + * interrupt context 448 + */ 449 + 450 + int (*set_output)(struct omap_overlay_manager *mgr, 451 + struct omap_dss_device *output); 452 + int (*unset_output)(struct omap_overlay_manager *mgr); 453 + 454 + int (*set_manager_info)(struct omap_overlay_manager *mgr, 455 + struct omap_overlay_manager_info *info); 456 + void (*get_manager_info)(struct omap_overlay_manager *mgr, 457 + struct omap_overlay_manager_info *info); 458 + 459 + int (*apply)(struct omap_overlay_manager *mgr); 460 + int (*wait_for_go)(struct omap_overlay_manager *mgr); 461 + int (*wait_for_vsync)(struct omap_overlay_manager *mgr); 462 + 463 + struct omap_dss_device *(*get_device)(struct omap_overlay_manager *mgr); 464 + }; 465 + 466 + /* 22 pins means 1 clk lane and 10 data lanes */ 467 + #define OMAP_DSS_MAX_DSI_PINS 22 468 + 469 + struct omap_dsi_pin_config { 470 + int num_pins; 471 + /* 472 + * pin numbers in the following order: 473 + * clk+, clk- 474 + * data1+, data1- 475 + * data2+, data2- 476 + * ... 477 + */ 478 + int pins[OMAP_DSS_MAX_DSI_PINS]; 479 + }; 480 + 481 + struct omap_dss_writeback_info { 482 + u32 paddr; 483 + u32 p_uv_addr; 484 + u16 buf_width; 485 + u16 width; 486 + u16 height; 487 + enum omap_color_mode color_mode; 488 + u8 rotation; 489 + enum omap_dss_rotation_type rotation_type; 490 + bool mirror; 491 + u8 pre_mult_alpha; 492 + }; 493 + 494 + struct omapdss_dpi_ops { 495 + int (*connect)(struct omap_dss_device *dssdev, 496 + struct omap_dss_device *dst); 497 + void (*disconnect)(struct omap_dss_device *dssdev, 498 + struct omap_dss_device *dst); 499 + 500 + int (*enable)(struct omap_dss_device *dssdev); 501 + void (*disable)(struct omap_dss_device *dssdev); 502 + 503 + int (*check_timings)(struct omap_dss_device *dssdev, 504 + struct omap_video_timings *timings); 505 + void (*set_timings)(struct omap_dss_device *dssdev, 506 + struct omap_video_timings *timings); 507 + void (*get_timings)(struct omap_dss_device *dssdev, 508 + struct omap_video_timings *timings); 509 + 510 + void (*set_data_lines)(struct omap_dss_device *dssdev, int data_lines); 511 + }; 512 + 513 + struct omapdss_sdi_ops { 514 + int (*connect)(struct omap_dss_device *dssdev, 515 + struct omap_dss_device *dst); 516 + void (*disconnect)(struct omap_dss_device *dssdev, 517 + struct omap_dss_device *dst); 518 + 519 + int (*enable)(struct omap_dss_device *dssdev); 520 + void (*disable)(struct omap_dss_device *dssdev); 521 + 522 + int (*check_timings)(struct omap_dss_device *dssdev, 523 + struct omap_video_timings *timings); 524 + void (*set_timings)(struct omap_dss_device *dssdev, 525 + struct omap_video_timings *timings); 526 + void (*get_timings)(struct omap_dss_device *dssdev, 527 + struct omap_video_timings *timings); 528 + 529 + void (*set_datapairs)(struct omap_dss_device *dssdev, int datapairs); 530 + }; 531 + 532 + struct omapdss_dvi_ops { 533 + int (*connect)(struct omap_dss_device *dssdev, 534 + struct omap_dss_device *dst); 535 + void (*disconnect)(struct omap_dss_device *dssdev, 536 + struct omap_dss_device *dst); 537 + 538 + int (*enable)(struct omap_dss_device *dssdev); 539 + void (*disable)(struct omap_dss_device *dssdev); 540 + 541 + int (*check_timings)(struct omap_dss_device *dssdev, 542 + struct omap_video_timings *timings); 543 + void (*set_timings)(struct omap_dss_device *dssdev, 544 + struct omap_video_timings *timings); 545 + void (*get_timings)(struct omap_dss_device *dssdev, 546 + struct omap_video_timings *timings); 547 + }; 548 + 549 + struct omapdss_atv_ops { 550 + int (*connect)(struct omap_dss_device *dssdev, 551 + struct omap_dss_device *dst); 552 + void (*disconnect)(struct omap_dss_device *dssdev, 553 + struct omap_dss_device *dst); 554 + 555 + int (*enable)(struct omap_dss_device *dssdev); 556 + void (*disable)(struct omap_dss_device *dssdev); 557 + 558 + int (*check_timings)(struct omap_dss_device *dssdev, 559 + struct omap_video_timings *timings); 560 + void (*set_timings)(struct omap_dss_device *dssdev, 561 + struct omap_video_timings *timings); 562 + void (*get_timings)(struct omap_dss_device *dssdev, 563 + struct omap_video_timings *timings); 564 + 565 + void (*set_type)(struct omap_dss_device *dssdev, 566 + enum omap_dss_venc_type type); 567 + void (*invert_vid_out_polarity)(struct omap_dss_device *dssdev, 568 + bool invert_polarity); 569 + 570 + int (*set_wss)(struct omap_dss_device *dssdev, u32 wss); 571 + u32 (*get_wss)(struct omap_dss_device *dssdev); 572 + }; 573 + 574 + struct omapdss_hdmi_ops { 575 + int (*connect)(struct omap_dss_device *dssdev, 576 + struct omap_dss_device *dst); 577 + void (*disconnect)(struct omap_dss_device *dssdev, 578 + struct omap_dss_device *dst); 579 + 580 + int (*enable)(struct omap_dss_device *dssdev); 581 + void (*disable)(struct omap_dss_device *dssdev); 582 + 583 + int (*check_timings)(struct omap_dss_device *dssdev, 584 + struct omap_video_timings *timings); 585 + void (*set_timings)(struct omap_dss_device *dssdev, 586 + struct omap_video_timings *timings); 587 + void (*get_timings)(struct omap_dss_device *dssdev, 588 + struct omap_video_timings *timings); 589 + 590 + int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len); 591 + bool (*detect)(struct omap_dss_device *dssdev); 592 + 593 + int (*set_hdmi_mode)(struct omap_dss_device *dssdev, bool hdmi_mode); 594 + int (*set_infoframe)(struct omap_dss_device *dssdev, 595 + const struct hdmi_avi_infoframe *avi); 596 + }; 597 + 598 + struct omapdss_dsi_ops { 599 + int (*connect)(struct omap_dss_device *dssdev, 600 + struct omap_dss_device *dst); 601 + void (*disconnect)(struct omap_dss_device *dssdev, 602 + struct omap_dss_device *dst); 603 + 604 + int (*enable)(struct omap_dss_device *dssdev); 605 + void (*disable)(struct omap_dss_device *dssdev, bool disconnect_lanes, 606 + bool enter_ulps); 607 + 608 + /* bus configuration */ 609 + int (*set_config)(struct omap_dss_device *dssdev, 610 + const struct omap_dss_dsi_config *cfg); 611 + int (*configure_pins)(struct omap_dss_device *dssdev, 612 + const struct omap_dsi_pin_config *pin_cfg); 613 + 614 + void (*enable_hs)(struct omap_dss_device *dssdev, int channel, 615 + bool enable); 616 + int (*enable_te)(struct omap_dss_device *dssdev, bool enable); 617 + 618 + int (*update)(struct omap_dss_device *dssdev, int channel, 619 + void (*callback)(int, void *), void *data); 620 + 621 + void (*bus_lock)(struct omap_dss_device *dssdev); 622 + void (*bus_unlock)(struct omap_dss_device *dssdev); 623 + 624 + int (*enable_video_output)(struct omap_dss_device *dssdev, int channel); 625 + void (*disable_video_output)(struct omap_dss_device *dssdev, 626 + int channel); 627 + 628 + int (*request_vc)(struct omap_dss_device *dssdev, int *channel); 629 + int (*set_vc_id)(struct omap_dss_device *dssdev, int channel, 630 + int vc_id); 631 + void (*release_vc)(struct omap_dss_device *dssdev, int channel); 632 + 633 + /* data transfer */ 634 + int (*dcs_write)(struct omap_dss_device *dssdev, int channel, 635 + u8 *data, int len); 636 + int (*dcs_write_nosync)(struct omap_dss_device *dssdev, int channel, 637 + u8 *data, int len); 638 + int (*dcs_read)(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, 639 + u8 *data, int len); 640 + 641 + int (*gen_write)(struct omap_dss_device *dssdev, int channel, 642 + u8 *data, int len); 643 + int (*gen_write_nosync)(struct omap_dss_device *dssdev, int channel, 644 + u8 *data, int len); 645 + int (*gen_read)(struct omap_dss_device *dssdev, int channel, 646 + u8 *reqdata, int reqlen, 647 + u8 *data, int len); 648 + 649 + int (*bta_sync)(struct omap_dss_device *dssdev, int channel); 650 + 651 + int (*set_max_rx_packet_size)(struct omap_dss_device *dssdev, 652 + int channel, u16 plen); 653 + }; 654 + 655 + struct omap_dss_device { 656 + struct kobject kobj; 657 + struct device *dev; 658 + 659 + struct module *owner; 660 + 661 + struct list_head panel_list; 662 + 663 + /* alias in the form of "display%d" */ 664 + char alias[16]; 665 + 666 + enum omap_display_type type; 667 + enum omap_display_type output_type; 668 + 669 + union { 670 + struct { 671 + u8 data_lines; 672 + } dpi; 673 + 674 + struct { 675 + u8 channel; 676 + u8 data_lines; 677 + } rfbi; 678 + 679 + struct { 680 + u8 datapairs; 681 + } sdi; 682 + 683 + struct { 684 + int module; 685 + } dsi; 686 + 687 + struct { 688 + enum omap_dss_venc_type type; 689 + bool invert_polarity; 690 + } venc; 691 + } phy; 692 + 693 + struct { 694 + struct omap_video_timings timings; 695 + 696 + enum omap_dss_dsi_pixel_format dsi_pix_fmt; 697 + enum omap_dss_dsi_mode dsi_mode; 698 + } panel; 699 + 700 + struct { 701 + u8 pixel_size; 702 + struct rfbi_timings rfbi_timings; 703 + } ctrl; 704 + 705 + const char *name; 706 + 707 + /* used to match device to driver */ 708 + const char *driver_name; 709 + 710 + void *data; 711 + 712 + struct omap_dss_driver *driver; 713 + 714 + union { 715 + const struct omapdss_dpi_ops *dpi; 716 + const struct omapdss_sdi_ops *sdi; 717 + const struct omapdss_dvi_ops *dvi; 718 + const struct omapdss_hdmi_ops *hdmi; 719 + const struct omapdss_atv_ops *atv; 720 + const struct omapdss_dsi_ops *dsi; 721 + } ops; 722 + 723 + /* helper variable for driver suspend/resume */ 724 + bool activate_after_resume; 725 + 726 + enum omap_display_caps caps; 727 + 728 + struct omap_dss_device *src; 729 + 730 + enum omap_dss_display_state state; 731 + 732 + /* OMAP DSS output specific fields */ 733 + 734 + struct list_head list; 735 + 736 + /* DISPC channel for this output */ 737 + enum omap_channel dispc_channel; 738 + bool dispc_channel_connected; 739 + 740 + /* output instance */ 741 + enum omap_dss_output_id id; 742 + 743 + /* the port number in the DT node */ 744 + int port_num; 745 + 746 + /* dynamic fields */ 747 + struct omap_overlay_manager *manager; 748 + 749 + struct omap_dss_device *dst; 750 + }; 751 + 752 + struct omap_dss_driver { 753 + int (*probe)(struct omap_dss_device *); 754 + void (*remove)(struct omap_dss_device *); 755 + 756 + int (*connect)(struct omap_dss_device *dssdev); 757 + void (*disconnect)(struct omap_dss_device *dssdev); 758 + 759 + int (*enable)(struct omap_dss_device *display); 760 + void (*disable)(struct omap_dss_device *display); 761 + int (*run_test)(struct omap_dss_device *display, int test); 762 + 763 + int (*update)(struct omap_dss_device *dssdev, 764 + u16 x, u16 y, u16 w, u16 h); 765 + int (*sync)(struct omap_dss_device *dssdev); 766 + 767 + int (*enable_te)(struct omap_dss_device *dssdev, bool enable); 768 + int (*get_te)(struct omap_dss_device *dssdev); 769 + 770 + u8 (*get_rotate)(struct omap_dss_device *dssdev); 771 + int (*set_rotate)(struct omap_dss_device *dssdev, u8 rotate); 772 + 773 + bool (*get_mirror)(struct omap_dss_device *dssdev); 774 + int (*set_mirror)(struct omap_dss_device *dssdev, bool enable); 775 + 776 + int (*memory_read)(struct omap_dss_device *dssdev, 777 + void *buf, size_t size, 778 + u16 x, u16 y, u16 w, u16 h); 779 + 780 + void (*get_resolution)(struct omap_dss_device *dssdev, 781 + u16 *xres, u16 *yres); 782 + void (*get_dimensions)(struct omap_dss_device *dssdev, 783 + u32 *width, u32 *height); 784 + int (*get_recommended_bpp)(struct omap_dss_device *dssdev); 785 + 786 + int (*check_timings)(struct omap_dss_device *dssdev, 787 + struct omap_video_timings *timings); 788 + void (*set_timings)(struct omap_dss_device *dssdev, 789 + struct omap_video_timings *timings); 790 + void (*get_timings)(struct omap_dss_device *dssdev, 791 + struct omap_video_timings *timings); 792 + 793 + int (*set_wss)(struct omap_dss_device *dssdev, u32 wss); 794 + u32 (*get_wss)(struct omap_dss_device *dssdev); 795 + 796 + int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len); 797 + bool (*detect)(struct omap_dss_device *dssdev); 798 + 799 + int (*set_hdmi_mode)(struct omap_dss_device *dssdev, bool hdmi_mode); 800 + int (*set_hdmi_infoframe)(struct omap_dss_device *dssdev, 801 + const struct hdmi_avi_infoframe *avi); 802 + }; 803 + 804 + enum omapdss_version omapdss_get_version(void); 805 + bool omapdss_is_initialized(void); 806 + 807 + int omap_dss_register_driver(struct omap_dss_driver *); 808 + void omap_dss_unregister_driver(struct omap_dss_driver *); 809 + 810 + int omapdss_register_display(struct omap_dss_device *dssdev); 811 + void omapdss_unregister_display(struct omap_dss_device *dssdev); 812 + 813 + struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev); 814 + void omap_dss_put_device(struct omap_dss_device *dssdev); 815 + #define for_each_dss_dev(d) while ((d = omap_dss_get_next_device(d)) != NULL) 816 + struct omap_dss_device *omap_dss_get_next_device(struct omap_dss_device *from); 817 + struct omap_dss_device *omap_dss_find_device(void *data, 818 + int (*match)(struct omap_dss_device *dssdev, void *data)); 819 + const char *omapdss_get_default_display_name(void); 820 + 821 + void videomode_to_omap_video_timings(const struct videomode *vm, 822 + struct omap_video_timings *ovt); 823 + void omap_video_timings_to_videomode(const struct omap_video_timings *ovt, 824 + struct videomode *vm); 825 + 826 + int dss_feat_get_num_mgrs(void); 827 + int dss_feat_get_num_ovls(void); 828 + enum omap_color_mode dss_feat_get_supported_color_modes(enum omap_plane plane); 829 + 830 + 831 + 832 + int omap_dss_get_num_overlay_managers(void); 833 + struct omap_overlay_manager *omap_dss_get_overlay_manager(int num); 834 + 835 + int omap_dss_get_num_overlays(void); 836 + struct omap_overlay *omap_dss_get_overlay(int num); 837 + 838 + int omapdss_register_output(struct omap_dss_device *output); 839 + void omapdss_unregister_output(struct omap_dss_device *output); 840 + struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id); 841 + struct omap_dss_device *omap_dss_find_output(const char *name); 842 + struct omap_dss_device *omap_dss_find_output_by_port_node(struct device_node *port); 843 + int omapdss_output_set_device(struct omap_dss_device *out, 844 + struct omap_dss_device *dssdev); 845 + int omapdss_output_unset_device(struct omap_dss_device *out); 846 + 847 + struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev); 848 + struct omap_overlay_manager *omapdss_find_mgr_from_display(struct omap_dss_device *dssdev); 849 + 850 + void omapdss_default_get_resolution(struct omap_dss_device *dssdev, 851 + u16 *xres, u16 *yres); 852 + int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev); 853 + void omapdss_default_get_timings(struct omap_dss_device *dssdev, 854 + struct omap_video_timings *timings); 855 + 856 + typedef void (*omap_dispc_isr_t) (void *arg, u32 mask); 857 + int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); 858 + int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); 859 + 860 + int omapdss_compat_init(void); 861 + void omapdss_compat_uninit(void); 862 + 863 + static inline bool omapdss_device_is_connected(struct omap_dss_device *dssdev) 864 + { 865 + return dssdev->src; 866 + } 867 + 868 + static inline bool omapdss_device_is_enabled(struct omap_dss_device *dssdev) 869 + { 870 + return dssdev->state == OMAP_DSS_DISPLAY_ACTIVE; 871 + } 872 + 873 + struct device_node * 874 + omapdss_of_get_next_port(const struct device_node *parent, 875 + struct device_node *prev); 876 + 877 + struct device_node * 878 + omapdss_of_get_next_endpoint(const struct device_node *parent, 879 + struct device_node *prev); 880 + 881 + struct device_node * 882 + omapdss_of_get_first_endpoint(const struct device_node *parent); 883 + 884 + struct omap_dss_device * 885 + omapdss_of_find_source_for_first_ep(struct device_node *node); 22 886 23 887 u32 dispc_read_irqstatus(void); 24 888 void dispc_clear_irqstatus(u32 mask);
+1 -2
drivers/gpu/drm/omapdrm/dss/output.c
··· 21 21 #include <linux/slab.h> 22 22 #include <linux/of.h> 23 23 24 - #include <video/omapdss.h> 25 - 24 + #include "omapdss.h" 26 25 #include "dss.h" 27 26 28 27 static LIST_HEAD(output_list);
+1 -2
drivers/gpu/drm/omapdrm/dss/pll.c
··· 22 22 #include <linux/regulator/consumer.h> 23 23 #include <linux/sched.h> 24 24 25 - #include <video/omapdss.h> 26 - 25 + #include "omapdss.h" 27 26 #include "dss.h" 28 27 29 28 #define PLL_CONTROL 0x0000
+1 -1
drivers/gpu/drm/omapdrm/dss/rfbi.c
··· 38 38 #include <linux/pm_runtime.h> 39 39 #include <linux/component.h> 40 40 41 - #include <video/omapdss.h> 41 + #include "omapdss.h" 42 42 #include "dss.h" 43 43 44 44 struct rfbi_reg { u16 idx; };
+1 -1
drivers/gpu/drm/omapdrm/dss/sdi.c
··· 29 29 #include <linux/of.h> 30 30 #include <linux/component.h> 31 31 32 - #include <video/omapdss.h> 32 + #include "omapdss.h" 33 33 #include "dss.h" 34 34 35 35 static struct {
+1 -2
drivers/gpu/drm/omapdrm/dss/venc.c
··· 37 37 #include <linux/of.h> 38 38 #include <linux/component.h> 39 39 40 - #include <video/omapdss.h> 41 - 40 + #include "omapdss.h" 42 41 #include "dss.h" 43 42 #include "dss_features.h" 44 43
+1 -2
drivers/gpu/drm/omapdrm/dss/video-pll.c
··· 17 17 #include <linux/platform_device.h> 18 18 #include <linux/sched.h> 19 19 20 - #include <video/omapdss.h> 21 - 20 + #include "omapdss.h" 22 21 #include "dss.h" 23 22 #include "dss_features.h" 24 23
-1
drivers/gpu/drm/omapdrm/omap_drv.h
··· 24 24 #include <linux/platform_data/omap_drm.h> 25 25 #include <linux/types.h> 26 26 #include <linux/wait.h> 27 - #include <video/omapdss.h> 28 27 29 28 #include <drm/drmP.h> 30 29 #include <drm/drm_crtc_helper.h>
+1 -1
drivers/media/platform/omap/omap_vout.c
··· 45 45 #include <media/v4l2-ioctl.h> 46 46 47 47 #include <video/omapvrfb.h> 48 - #include <video/omapdss.h> 48 + #include <video/omapfb_dss.h> 49 49 50 50 #include "omap_voutlib.h" 51 51 #include "omap_voutdef.h"
+1 -1
drivers/media/platform/omap/omap_voutdef.h
··· 11 11 #ifndef OMAP_VOUTDEF_H 12 12 #define OMAP_VOUTDEF_H 13 13 14 - #include <video/omapdss.h> 14 + #include <video/omapfb_dss.h> 15 15 #include <video/omapvrfb.h> 16 16 17 17 #define YUYV_BPP 2
+1 -1
drivers/media/platform/omap/omap_voutlib.c
··· 26 26 27 27 #include <linux/dma-mapping.h> 28 28 29 - #include <video/omapdss.h> 29 + #include <video/omapfb_dss.h> 30 30 31 31 #include "omap_voutlib.h" 32 32
+2 -8
drivers/video/fbdev/omap2/omapfb/displays/connector-analog-tv.c
··· 14 14 #include <linux/platform_device.h> 15 15 #include <linux/of.h> 16 16 17 - #include <video/omapdss.h> 17 + #include <video/omapfb_dss.h> 18 18 #include <video/omap-panel-data.h> 19 19 20 20 struct panel_drv_data { ··· 25 25 26 26 struct omap_video_timings timings; 27 27 28 - enum omap_dss_venc_type connector_type; 29 28 bool invert_polarity; 30 29 }; 31 30 ··· 43 44 }; 44 45 45 46 static const struct of_device_id tvc_of_match[]; 46 - 47 - struct tvc_of_data { 48 - enum omap_dss_venc_type connector_type; 49 - }; 50 47 51 48 #define to_panel_data(x) container_of(x, struct panel_drv_data, dssdev) 52 49 ··· 94 99 in->ops.atv->set_timings(in, &ddata->timings); 95 100 96 101 if (!ddata->dev->of_node) { 97 - in->ops.atv->set_type(in, ddata->connector_type); 102 + in->ops.atv->set_type(in, OMAP_DSS_VENC_TYPE_COMPOSITE); 98 103 99 104 in->ops.atv->invert_vid_out_polarity(in, 100 105 ddata->invert_polarity); ··· 202 207 203 208 ddata->in = in; 204 209 205 - ddata->connector_type = pdata->connector_type; 206 210 ddata->invert_polarity = pdata->invert_polarity; 207 211 208 212 dssdev = &ddata->dssdev;
+7 -53
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
··· 16 16 17 17 #include <drm/drm_edid.h> 18 18 19 - #include <video/omapdss.h> 20 - #include <video/omap-panel-data.h> 19 + #include <video/omapfb_dss.h> 21 20 22 21 static const struct omap_video_timings dvic_default_timings = { 23 22 .x_res = 640, ··· 235 236 .detect = dvic_detect, 236 237 }; 237 238 238 - static int dvic_probe_pdata(struct platform_device *pdev) 239 - { 240 - struct panel_drv_data *ddata = platform_get_drvdata(pdev); 241 - struct connector_dvi_platform_data *pdata; 242 - struct omap_dss_device *in, *dssdev; 243 - int i2c_bus_num; 244 - 245 - pdata = dev_get_platdata(&pdev->dev); 246 - i2c_bus_num = pdata->i2c_bus_num; 247 - 248 - if (i2c_bus_num != -1) { 249 - struct i2c_adapter *adapter; 250 - 251 - adapter = i2c_get_adapter(i2c_bus_num); 252 - if (!adapter) { 253 - dev_err(&pdev->dev, 254 - "Failed to get I2C adapter, bus %d\n", 255 - i2c_bus_num); 256 - return -EPROBE_DEFER; 257 - } 258 - 259 - ddata->i2c_adapter = adapter; 260 - } 261 - 262 - in = omap_dss_find_output(pdata->source); 263 - if (in == NULL) { 264 - i2c_put_adapter(ddata->i2c_adapter); 265 - 266 - dev_err(&pdev->dev, "Failed to find video source\n"); 267 - return -EPROBE_DEFER; 268 - } 269 - 270 - ddata->in = in; 271 - 272 - dssdev = &ddata->dssdev; 273 - dssdev->name = pdata->name; 274 - 275 - return 0; 276 - } 277 - 278 239 static int dvic_probe_of(struct platform_device *pdev) 279 240 { 280 241 struct panel_drv_data *ddata = platform_get_drvdata(pdev); ··· 272 313 struct omap_dss_device *dssdev; 273 314 int r; 274 315 316 + if (!pdev->dev.of_node) 317 + return -ENODEV; 318 + 275 319 ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL); 276 320 if (!ddata) 277 321 return -ENOMEM; 278 322 279 323 platform_set_drvdata(pdev, ddata); 280 324 281 - if (dev_get_platdata(&pdev->dev)) { 282 - r = dvic_probe_pdata(pdev); 283 - if (r) 284 - return r; 285 - } else if (pdev->dev.of_node) { 286 - r = dvic_probe_of(pdev); 287 - if (r) 288 - return r; 289 - } else { 290 - return -ENODEV; 291 - } 325 + r = dvic_probe_of(pdev); 326 + if (r) 327 + return r; 292 328 293 329 ddata->timings = dvic_default_timings; 294 330
+7 -37
drivers/video/fbdev/omap2/omapfb/displays/connector-hdmi.c
··· 17 17 18 18 #include <drm/drm_edid.h> 19 19 20 - #include <video/omapdss.h> 21 - #include <video/omap-panel-data.h> 20 + #include <video/omapfb_dss.h> 22 21 23 22 static const struct omap_video_timings hdmic_default_timings = { 24 23 .x_res = 640, ··· 205 206 .set_hdmi_infoframe = hdmic_set_infoframe, 206 207 }; 207 208 208 - static int hdmic_probe_pdata(struct platform_device *pdev) 209 - { 210 - struct panel_drv_data *ddata = platform_get_drvdata(pdev); 211 - struct connector_hdmi_platform_data *pdata; 212 - struct omap_dss_device *in, *dssdev; 213 - 214 - pdata = dev_get_platdata(&pdev->dev); 215 - 216 - ddata->hpd_gpio = -ENODEV; 217 - 218 - in = omap_dss_find_output(pdata->source); 219 - if (in == NULL) { 220 - dev_err(&pdev->dev, "Failed to find video source\n"); 221 - return -EPROBE_DEFER; 222 - } 223 - 224 - ddata->in = in; 225 - 226 - dssdev = &ddata->dssdev; 227 - dssdev->name = pdata->name; 228 - 229 - return 0; 230 - } 231 - 232 209 static int hdmic_probe_of(struct platform_device *pdev) 233 210 { 234 211 struct panel_drv_data *ddata = platform_get_drvdata(pdev); ··· 236 261 struct omap_dss_device *dssdev; 237 262 int r; 238 263 264 + if (!pdev->dev.of_node) 265 + return -ENODEV; 266 + 239 267 ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL); 240 268 if (!ddata) 241 269 return -ENOMEM; ··· 246 268 platform_set_drvdata(pdev, ddata); 247 269 ddata->dev = &pdev->dev; 248 270 249 - if (dev_get_platdata(&pdev->dev)) { 250 - r = hdmic_probe_pdata(pdev); 251 - if (r) 252 - return r; 253 - } else if (pdev->dev.of_node) { 254 - r = hdmic_probe_of(pdev); 255 - if (r) 256 - return r; 257 - } else { 258 - return -ENODEV; 259 - } 271 + r = hdmic_probe_of(pdev); 272 + if (r) 273 + return r; 260 274 261 275 if (gpio_is_valid(ddata->hpd_gpio)) { 262 276 r = devm_gpio_request_one(&pdev->dev, ddata->hpd_gpio,
+1 -1
drivers/video/fbdev/omap2/omapfb/displays/encoder-opa362.c
··· 20 20 #include <linux/slab.h> 21 21 #include <linux/of_gpio.h> 22 22 23 - #include <video/omapdss.h> 23 + #include <video/omapfb_dss.h> 24 24 25 25 struct panel_drv_data { 26 26 struct omap_dss_device dssdev;
+7 -39
drivers/video/fbdev/omap2/omapfb/displays/encoder-tfp410.c
··· 15 15 #include <linux/slab.h> 16 16 #include <linux/of_gpio.h> 17 17 18 - #include <video/omapdss.h> 19 - #include <video/omap-panel-data.h> 18 + #include <video/omapfb_dss.h> 20 19 21 20 struct panel_drv_data { 22 21 struct omap_dss_device dssdev; ··· 165 166 .get_timings = tfp410_get_timings, 166 167 }; 167 168 168 - static int tfp410_probe_pdata(struct platform_device *pdev) 169 - { 170 - struct panel_drv_data *ddata = platform_get_drvdata(pdev); 171 - struct encoder_tfp410_platform_data *pdata; 172 - struct omap_dss_device *dssdev, *in; 173 - 174 - pdata = dev_get_platdata(&pdev->dev); 175 - 176 - ddata->pd_gpio = pdata->power_down_gpio; 177 - 178 - ddata->data_lines = pdata->data_lines; 179 - 180 - in = omap_dss_find_output(pdata->source); 181 - if (in == NULL) { 182 - dev_err(&pdev->dev, "Failed to find video source\n"); 183 - return -ENODEV; 184 - } 185 - 186 - ddata->in = in; 187 - 188 - dssdev = &ddata->dssdev; 189 - dssdev->name = pdata->name; 190 - 191 - return 0; 192 - } 193 - 194 169 static int tfp410_probe_of(struct platform_device *pdev) 195 170 { 196 171 struct panel_drv_data *ddata = platform_get_drvdata(pdev); ··· 198 225 struct omap_dss_device *dssdev; 199 226 int r; 200 227 228 + if (!pdev->dev.of_node) 229 + return -ENODEV; 230 + 201 231 ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL); 202 232 if (!ddata) 203 233 return -ENOMEM; 204 234 205 235 platform_set_drvdata(pdev, ddata); 206 236 207 - if (dev_get_platdata(&pdev->dev)) { 208 - r = tfp410_probe_pdata(pdev); 209 - if (r) 210 - return r; 211 - } else if (pdev->dev.of_node) { 212 - r = tfp410_probe_of(pdev); 213 - if (r) 214 - return r; 215 - } else { 216 - return -ENODEV; 217 - } 237 + r = tfp410_probe_of(pdev); 238 + if (r) 239 + return r; 218 240 219 241 if (gpio_is_valid(ddata->pd_gpio)) { 220 242 r = devm_gpio_request_one(&pdev->dev, ddata->pd_gpio,
+1 -2
drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c
··· 16 16 #include <linux/platform_device.h> 17 17 #include <linux/gpio/consumer.h> 18 18 19 - #include <video/omapdss.h> 20 - #include <video/omap-panel-data.h> 19 + #include <video/omapfb_dss.h> 21 20 22 21 struct panel_drv_data { 23 22 struct omap_dss_device dssdev;
+1 -1
drivers/video/fbdev/omap2/omapfb/displays/panel-dpi.c
··· 16 16 #include <linux/of.h> 17 17 #include <linux/of_gpio.h> 18 18 19 - #include <video/omapdss.h> 19 + #include <video/omapfb_dss.h> 20 20 #include <video/omap-panel-data.h> 21 21 #include <video/of_display_timing.h> 22 22
+7 -47
drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c
··· 25 25 #include <linux/of_device.h> 26 26 #include <linux/of_gpio.h> 27 27 28 - #include <video/omapdss.h> 29 - #include <video/omap-panel-data.h> 28 + #include <video/omapfb_dss.h> 30 29 #include <video/mipi_display.h> 31 30 32 31 /* DSI Virtual channel. Hardcoded for now. */ ··· 1126 1127 .memory_read = dsicm_memory_read, 1127 1128 }; 1128 1129 1129 - static int dsicm_probe_pdata(struct platform_device *pdev) 1130 - { 1131 - const struct panel_dsicm_platform_data *pdata; 1132 - struct panel_drv_data *ddata = platform_get_drvdata(pdev); 1133 - struct omap_dss_device *dssdev, *in; 1134 - 1135 - pdata = dev_get_platdata(&pdev->dev); 1136 - 1137 - in = omap_dss_find_output(pdata->source); 1138 - if (in == NULL) { 1139 - dev_err(&pdev->dev, "failed to find video source\n"); 1140 - return -EPROBE_DEFER; 1141 - } 1142 - ddata->in = in; 1143 - 1144 - ddata->reset_gpio = pdata->reset_gpio; 1145 - 1146 - if (pdata->use_ext_te) 1147 - ddata->ext_te_gpio = pdata->ext_te_gpio; 1148 - else 1149 - ddata->ext_te_gpio = -1; 1150 - 1151 - ddata->ulps_timeout = pdata->ulps_timeout; 1152 - 1153 - ddata->use_dsi_backlight = pdata->use_dsi_backlight; 1154 - 1155 - ddata->pin_config = pdata->pin_config; 1156 - 1157 - dssdev = &ddata->dssdev; 1158 - dssdev->name = pdata->name; 1159 - 1160 - return 0; 1161 - } 1162 - 1163 1130 static int dsicm_probe_of(struct platform_device *pdev) 1164 1131 { 1165 1132 struct device_node *node = pdev->dev.of_node; ··· 1172 1207 1173 1208 dev_dbg(dev, "probe\n"); 1174 1209 1210 + if (!pdev->dev.of_node) 1211 + return -ENODEV; 1212 + 1175 1213 ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL); 1176 1214 if (!ddata) 1177 1215 return -ENOMEM; ··· 1182 1214 platform_set_drvdata(pdev, ddata); 1183 1215 ddata->pdev = pdev; 1184 1216 1185 - if (dev_get_platdata(dev)) { 1186 - r = dsicm_probe_pdata(pdev); 1187 - if (r) 1188 - return r; 1189 - } else if (pdev->dev.of_node) { 1190 - r = dsicm_probe_of(pdev); 1191 - if (r) 1192 - return r; 1193 - } else { 1194 - return -ENODEV; 1195 - } 1217 + r = dsicm_probe_of(pdev); 1218 + if (r) 1219 + return r; 1196 1220 1197 1221 ddata->timings.x_res = 864; 1198 1222 ddata->timings.y_res = 480;
+7 -51
drivers/video/fbdev/omap2/omapfb/displays/panel-lgphilips-lb035q02.c
··· 16 16 #include <linux/mutex.h> 17 17 #include <linux/gpio.h> 18 18 19 - #include <video/omapdss.h> 20 - #include <video/omap-panel-data.h> 19 + #include <video/omapfb_dss.h> 21 20 22 21 static struct omap_video_timings lb035q02_timings = { 23 22 .x_res = 320, ··· 239 240 .get_resolution = omapdss_default_get_resolution, 240 241 }; 241 242 242 - static int lb035q02_probe_pdata(struct spi_device *spi) 243 - { 244 - const struct panel_lb035q02_platform_data *pdata; 245 - struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); 246 - struct omap_dss_device *dssdev, *in; 247 - int r; 248 - 249 - pdata = dev_get_platdata(&spi->dev); 250 - 251 - in = omap_dss_find_output(pdata->source); 252 - if (in == NULL) { 253 - dev_err(&spi->dev, "failed to find video source '%s'\n", 254 - pdata->source); 255 - return -EPROBE_DEFER; 256 - } 257 - 258 - ddata->in = in; 259 - 260 - ddata->data_lines = pdata->data_lines; 261 - 262 - dssdev = &ddata->dssdev; 263 - dssdev->name = pdata->name; 264 - 265 - r = devm_gpio_request_one(&spi->dev, pdata->enable_gpio, 266 - GPIOF_OUT_INIT_LOW, "panel enable"); 267 - if (r) 268 - goto err_gpio; 269 - 270 - ddata->enable_gpio = gpio_to_desc(pdata->enable_gpio); 271 - 272 - ddata->backlight_gpio = pdata->backlight_gpio; 273 - 274 - return 0; 275 - err_gpio: 276 - omap_dss_put_device(ddata->in); 277 - return r; 278 - } 279 - 280 243 static int lb035q02_probe_of(struct spi_device *spi) 281 244 { 282 245 struct device_node *node = spi->dev.of_node; ··· 273 312 struct omap_dss_device *dssdev; 274 313 int r; 275 314 315 + if (!spi->dev.of_node) 316 + return -ENODEV; 317 + 276 318 ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL); 277 319 if (ddata == NULL) 278 320 return -ENOMEM; ··· 284 320 285 321 ddata->spi = spi; 286 322 287 - if (dev_get_platdata(&spi->dev)) { 288 - r = lb035q02_probe_pdata(spi); 289 - if (r) 290 - return r; 291 - } else if (spi->dev.of_node) { 292 - r = lb035q02_probe_of(spi); 293 - if (r) 294 - return r; 295 - } else { 296 - return -ENODEV; 297 - } 323 + r = lb035q02_probe_of(spi); 324 + if (r) 325 + return r; 298 326 299 327 if (gpio_is_valid(ddata->backlight_gpio)) { 300 328 r = devm_gpio_request_one(&spi->dev, ddata->backlight_gpio,
+7 -40
drivers/video/fbdev/omap2/omapfb/displays/panel-nec-nl8048hl11.c
··· 18 18 #include <linux/gpio.h> 19 19 #include <linux/of_gpio.h> 20 20 21 - #include <video/omapdss.h> 22 - #include <video/omap-panel-data.h> 21 + #include <video/omapfb_dss.h> 23 22 24 23 struct panel_drv_data { 25 24 struct omap_dss_device dssdev; ··· 232 233 }; 233 234 234 235 235 - static int nec_8048_probe_pdata(struct spi_device *spi) 236 - { 237 - const struct panel_nec_nl8048hl11_platform_data *pdata; 238 - struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); 239 - struct omap_dss_device *dssdev, *in; 240 - 241 - pdata = dev_get_platdata(&spi->dev); 242 - 243 - ddata->qvga_gpio = pdata->qvga_gpio; 244 - ddata->res_gpio = pdata->res_gpio; 245 - 246 - in = omap_dss_find_output(pdata->source); 247 - if (in == NULL) { 248 - dev_err(&spi->dev, "failed to find video source '%s'\n", 249 - pdata->source); 250 - return -EPROBE_DEFER; 251 - } 252 - ddata->in = in; 253 - 254 - ddata->data_lines = pdata->data_lines; 255 - 256 - dssdev = &ddata->dssdev; 257 - dssdev->name = pdata->name; 258 - 259 - return 0; 260 - } 261 - 262 236 static int nec_8048_probe_of(struct spi_device *spi) 263 237 { 264 238 struct device_node *node = spi->dev.of_node; ··· 268 296 269 297 dev_dbg(&spi->dev, "%s\n", __func__); 270 298 299 + if (!spi->dev.of_node) 300 + return -ENODEV; 301 + 271 302 spi->mode = SPI_MODE_0; 272 303 spi->bits_per_word = 32; 273 304 ··· 290 315 291 316 ddata->spi = spi; 292 317 293 - if (dev_get_platdata(&spi->dev)) { 294 - r = nec_8048_probe_pdata(spi); 295 - if (r) 296 - return r; 297 - } else if (spi->dev.of_node) { 298 - r = nec_8048_probe_of(spi); 299 - if (r) 300 - return r; 301 - } else { 302 - return -ENODEV; 303 - } 318 + r = nec_8048_probe_of(spi); 319 + if (r) 320 + return r; 304 321 305 322 if (gpio_is_valid(ddata->qvga_gpio)) { 306 323 r = devm_gpio_request_one(&spi->dev, ddata->qvga_gpio,
+7 -76
drivers/video/fbdev/omap2/omapfb/displays/panel-sharp-ls037v7dw01.c
··· 17 17 #include <linux/platform_device.h> 18 18 #include <linux/slab.h> 19 19 #include <linux/regulator/consumer.h> 20 - #include <video/omapdss.h> 21 - #include <video/omap-panel-data.h> 20 + #include <video/omapfb_dss.h> 22 21 23 22 struct panel_drv_data { 24 23 struct omap_dss_device dssdev; ··· 196 197 .get_resolution = omapdss_default_get_resolution, 197 198 }; 198 199 199 - static int sharp_ls_get_gpio(struct device *dev, int gpio, unsigned long flags, 200 - char *desc, struct gpio_desc **gpiod) 201 - { 202 - int r; 203 - 204 - r = devm_gpio_request_one(dev, gpio, flags, desc); 205 - if (r) { 206 - *gpiod = NULL; 207 - return r == -ENOENT ? 0 : r; 208 - } 209 - 210 - *gpiod = gpio_to_desc(gpio); 211 - 212 - return 0; 213 - } 214 - 215 - static int sharp_ls_probe_pdata(struct platform_device *pdev) 216 - { 217 - const struct panel_sharp_ls037v7dw01_platform_data *pdata; 218 - struct panel_drv_data *ddata = platform_get_drvdata(pdev); 219 - struct omap_dss_device *dssdev, *in; 220 - int r; 221 - 222 - pdata = dev_get_platdata(&pdev->dev); 223 - 224 - in = omap_dss_find_output(pdata->source); 225 - if (in == NULL) { 226 - dev_err(&pdev->dev, "failed to find video source '%s'\n", 227 - pdata->source); 228 - return -EPROBE_DEFER; 229 - } 230 - 231 - ddata->in = in; 232 - 233 - ddata->data_lines = pdata->data_lines; 234 - 235 - dssdev = &ddata->dssdev; 236 - dssdev->name = pdata->name; 237 - 238 - r = sharp_ls_get_gpio(&pdev->dev, pdata->mo_gpio, GPIOF_OUT_INIT_LOW, 239 - "lcd MO", &ddata->mo_gpio); 240 - if (r) 241 - return r; 242 - r = sharp_ls_get_gpio(&pdev->dev, pdata->lr_gpio, GPIOF_OUT_INIT_HIGH, 243 - "lcd LR", &ddata->lr_gpio); 244 - if (r) 245 - return r; 246 - r = sharp_ls_get_gpio(&pdev->dev, pdata->ud_gpio, GPIOF_OUT_INIT_HIGH, 247 - "lcd UD", &ddata->ud_gpio); 248 - if (r) 249 - return r; 250 - r = sharp_ls_get_gpio(&pdev->dev, pdata->resb_gpio, GPIOF_OUT_INIT_LOW, 251 - "lcd RESB", &ddata->resb_gpio); 252 - if (r) 253 - return r; 254 - r = sharp_ls_get_gpio(&pdev->dev, pdata->ini_gpio, GPIOF_OUT_INIT_LOW, 255 - "lcd INI", &ddata->ini_gpio); 256 - if (r) 257 - return r; 258 - 259 - return 0; 260 - } 261 - 262 200 static int sharp_ls_get_gpio_of(struct device *dev, int index, int val, 263 201 const char *desc, struct gpio_desc **gpiod) 264 202 { ··· 266 330 struct omap_dss_device *dssdev; 267 331 int r; 268 332 333 + if (!pdev->dev.of_node) 334 + return -ENODEV; 335 + 269 336 ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL); 270 337 if (ddata == NULL) 271 338 return -ENOMEM; 272 339 273 340 platform_set_drvdata(pdev, ddata); 274 341 275 - if (dev_get_platdata(&pdev->dev)) { 276 - r = sharp_ls_probe_pdata(pdev); 277 - if (r) 278 - return r; 279 - } else if (pdev->dev.of_node) { 280 - r = sharp_ls_probe_of(pdev); 281 - if (r) 282 - return r; 283 - } else { 284 - return -ENODEV; 285 - } 342 + r = sharp_ls_probe_of(pdev); 343 + if (r) 344 + return r; 286 345 287 346 ddata->videomode = sharp_ls_timings; 288 347
+1 -1
drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c
··· 33 33 #include <linux/of.h> 34 34 #include <linux/of_gpio.h> 35 35 36 - #include <video/omapdss.h> 36 + #include <video/omapfb_dss.h> 37 37 #include <video/omap-panel-data.h> 38 38 39 39 #define MIPID_CMD_READ_DISP_ID 0x04
+7 -38
drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c
··· 28 28 #include <linux/delay.h> 29 29 #include <linux/spi/spi.h> 30 30 #include <linux/gpio.h> 31 - #include <video/omapdss.h> 32 - #include <video/omap-panel-data.h> 31 + #include <video/omapfb_dss.h> 33 32 34 33 struct panel_drv_data { 35 34 struct omap_dss_device dssdev; ··· 364 365 .check_timings = td028ttec1_panel_check_timings, 365 366 }; 366 367 367 - static int td028ttec1_panel_probe_pdata(struct spi_device *spi) 368 - { 369 - const struct panel_tpo_td028ttec1_platform_data *pdata; 370 - struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); 371 - struct omap_dss_device *dssdev, *in; 372 - 373 - pdata = dev_get_platdata(&spi->dev); 374 - 375 - in = omap_dss_find_output(pdata->source); 376 - if (in == NULL) { 377 - dev_err(&spi->dev, "failed to find video source '%s'\n", 378 - pdata->source); 379 - return -EPROBE_DEFER; 380 - } 381 - 382 - ddata->in = in; 383 - 384 - ddata->data_lines = pdata->data_lines; 385 - 386 - dssdev = &ddata->dssdev; 387 - dssdev->name = pdata->name; 388 - 389 - return 0; 390 - } 391 - 392 368 static int td028ttec1_probe_of(struct spi_device *spi) 393 369 { 394 370 struct device_node *node = spi->dev.of_node; ··· 389 415 390 416 dev_dbg(&spi->dev, "%s\n", __func__); 391 417 418 + if (!spi->dev.of_node) 419 + return -ENODEV; 420 + 392 421 spi->bits_per_word = 9; 393 422 spi->mode = SPI_MODE_3; 394 423 ··· 409 432 410 433 ddata->spi_dev = spi; 411 434 412 - if (dev_get_platdata(&spi->dev)) { 413 - r = td028ttec1_panel_probe_pdata(spi); 414 - if (r) 415 - return r; 416 - } else if (spi->dev.of_node) { 417 - r = td028ttec1_probe_of(spi); 418 - if (r) 419 - return r; 420 - } else { 421 - return -ENODEV; 422 - } 435 + r = td028ttec1_probe_of(spi); 436 + if (r) 437 + return r; 423 438 424 439 ddata->videomode = td028ttec1_panel_timings; 425 440
+7 -39
drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c
··· 19 19 #include <linux/slab.h> 20 20 #include <linux/of_gpio.h> 21 21 22 - #include <video/omapdss.h> 23 - #include <video/omap-panel-data.h> 22 + #include <video/omapfb_dss.h> 24 23 25 24 #define TPO_R02_MODE(x) ((x) & 7) 26 25 #define TPO_R02_MODE_800x480 7 ··· 464 465 }; 465 466 466 467 467 - static int tpo_td043_probe_pdata(struct spi_device *spi) 468 - { 469 - const struct panel_tpo_td043mtea1_platform_data *pdata; 470 - struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); 471 - struct omap_dss_device *dssdev, *in; 472 - 473 - pdata = dev_get_platdata(&spi->dev); 474 - 475 - ddata->nreset_gpio = pdata->nreset_gpio; 476 - 477 - in = omap_dss_find_output(pdata->source); 478 - if (in == NULL) { 479 - dev_err(&spi->dev, "failed to find video source '%s'\n", 480 - pdata->source); 481 - return -EPROBE_DEFER; 482 - } 483 - ddata->in = in; 484 - 485 - ddata->data_lines = pdata->data_lines; 486 - 487 - dssdev = &ddata->dssdev; 488 - dssdev->name = pdata->name; 489 - 490 - return 0; 491 - } 492 - 493 468 static int tpo_td043_probe_of(struct spi_device *spi) 494 469 { 495 470 struct device_node *node = spi->dev.of_node; ··· 497 524 498 525 dev_dbg(&spi->dev, "%s\n", __func__); 499 526 527 + if (!spi->dev.of_node) 528 + return -ENODEV; 529 + 500 530 spi->bits_per_word = 16; 501 531 spi->mode = SPI_MODE_0; 502 532 ··· 517 541 518 542 ddata->spi = spi; 519 543 520 - if (dev_get_platdata(&spi->dev)) { 521 - r = tpo_td043_probe_pdata(spi); 522 - if (r) 523 - return r; 524 - } else if (spi->dev.of_node) { 525 - r = tpo_td043_probe_of(spi); 526 - if (r) 527 - return r; 528 - } else { 529 - return -ENODEV; 530 - } 544 + r = tpo_td043_probe_of(spi); 545 + if (r) 546 + return r; 531 547 532 548 ddata->mode = TPO_R02_MODE_800x480; 533 549 memcpy(ddata->gamma, tpo_td043_def_gamma, sizeof(ddata->gamma));
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/apply.c
··· 23 23 #include <linux/spinlock.h> 24 24 #include <linux/jiffies.h> 25 25 26 - #include <video/omapdss.h> 26 + #include <video/omapfb_dss.h> 27 27 28 28 #include "dss.h" 29 29 #include "dss_features.h"
+1 -3
drivers/video/fbdev/omap2/omapfb/dss/core.c
··· 35 35 #include <linux/suspend.h> 36 36 #include <linux/slab.h> 37 37 38 - #include <video/omapdss.h> 38 + #include <video/omapfb_dss.h> 39 39 40 40 #include "dss.h" 41 41 #include "dss_features.h" ··· 208 208 core.default_display_name = def_disp_name; 209 209 else if (pdata->default_display_name) 210 210 core.default_display_name = pdata->default_display_name; 211 - else if (pdata->default_device) 212 - core.default_display_name = pdata->default_device->name; 213 211 214 212 register_pm_notifier(&omap_dss_pm_notif_block); 215 213
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c
··· 26 26 #include <linux/interrupt.h> 27 27 #include <linux/seq_file.h> 28 28 29 - #include <video/omapdss.h> 29 + #include <video/omapfb_dss.h> 30 30 31 31 #include "dss.h" 32 32 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dispc.c
··· 41 41 #include <linux/of.h> 42 42 #include <linux/component.h> 43 43 44 - #include <video/omapdss.h> 44 + #include <video/omapfb_dss.h> 45 45 46 46 #include "dss.h" 47 47 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dispc_coefs.c
··· 18 18 */ 19 19 20 20 #include <linux/kernel.h> 21 - #include <video/omapdss.h> 21 + #include <video/omapfb_dss.h> 22 22 23 23 #include "dispc.h" 24 24
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/display-sysfs.c
··· 25 25 #include <linux/platform_device.h> 26 26 #include <linux/sysfs.h> 27 27 28 - #include <video/omapdss.h> 28 + #include <video/omapfb_dss.h> 29 29 #include "dss.h" 30 30 31 31 static ssize_t display_name_show(struct omap_dss_device *dssdev, char *buf)
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/display.c
··· 28 28 #include <linux/platform_device.h> 29 29 #include <linux/of.h> 30 30 31 - #include <video/omapdss.h> 31 + #include <video/omapfb_dss.h> 32 32 #include "dss.h" 33 33 #include "dss_features.h" 34 34
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dpi.c
··· 34 34 #include <linux/clk.h> 35 35 #include <linux/component.h> 36 36 37 - #include <video/omapdss.h> 37 + #include <video/omapfb_dss.h> 38 38 39 39 #include "dss.h" 40 40 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
··· 42 42 #include <linux/of_platform.h> 43 43 #include <linux/component.h> 44 44 45 - #include <video/omapdss.h> 45 + #include <video/omapfb_dss.h> 46 46 #include <video/mipi_display.h> 47 47 48 48 #include "dss.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
··· 18 18 #include <linux/of.h> 19 19 #include <linux/seq_file.h> 20 20 21 - #include <video/omapdss.h> 21 + #include <video/omapfb_dss.h> 22 22 23 23 #include "dss.h" 24 24
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dss.c
··· 41 41 #include <linux/suspend.h> 42 42 #include <linux/component.h> 43 43 44 - #include <video/omapdss.h> 44 + #include <video/omapfb_dss.h> 45 45 46 46 #include "dss.h" 47 47 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/dss_features.c
··· 23 23 #include <linux/err.h> 24 24 #include <linux/slab.h> 25 25 26 - #include <video/omapdss.h> 26 + #include <video/omapfb_dss.h> 27 27 28 28 #include "dss.h" 29 29 #include "dss_features.h"
+2 -1
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
··· 23 23 #include <linux/io.h> 24 24 #include <linux/platform_device.h> 25 25 #include <linux/hdmi.h> 26 - #include <video/omapdss.h> 26 + #include <video/omapfb_dss.h> 27 + #include <sound/omap-hdmi-audio.h> 27 28 28 29 #include "dss.h" 29 30
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
··· 33 33 #include <linux/gpio.h> 34 34 #include <linux/regulator/consumer.h> 35 35 #include <linux/component.h> 36 - #include <video/omapdss.h> 36 + #include <video/omapfb_dss.h> 37 37 #include <sound/omap-hdmi-audio.h> 38 38 39 39 #include "hdmi4_core.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
··· 38 38 #include <linux/gpio.h> 39 39 #include <linux/regulator/consumer.h> 40 40 #include <linux/component.h> 41 - #include <video/omapdss.h> 41 + #include <video/omapfb_dss.h> 42 42 #include <sound/omap-hdmi-audio.h> 43 43 44 44 #include "hdmi5_core.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c
··· 4 4 #include <linux/kernel.h> 5 5 #include <linux/err.h> 6 6 #include <linux/of.h> 7 - #include <video/omapdss.h> 7 + #include <video/omapfb_dss.h> 8 8 9 9 #include "hdmi.h" 10 10
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
··· 13 13 #include <linux/io.h> 14 14 #include <linux/platform_device.h> 15 15 #include <linux/slab.h> 16 - #include <video/omapdss.h> 16 + #include <video/omapfb_dss.h> 17 17 18 18 #include "dss.h" 19 19 #include "hdmi.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/hdmi_pll.c
··· 17 17 #include <linux/platform_device.h> 18 18 #include <linux/clk.h> 19 19 20 - #include <video/omapdss.h> 20 + #include <video/omapfb_dss.h> 21 21 22 22 #include "dss.h" 23 23 #include "hdmi.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/hdmi_wp.c
··· 14 14 #include <linux/err.h> 15 15 #include <linux/io.h> 16 16 #include <linux/platform_device.h> 17 - #include <video/omapdss.h> 17 + #include <video/omapfb_dss.h> 18 18 19 19 #include "dss.h" 20 20 #include "hdmi.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c
··· 26 26 #include <linux/platform_device.h> 27 27 #include <linux/jiffies.h> 28 28 29 - #include <video/omapdss.h> 29 + #include <video/omapfb_dss.h> 30 30 31 31 #include "dss.h" 32 32 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/manager.c
··· 28 28 #include <linux/platform_device.h> 29 29 #include <linux/jiffies.h> 30 30 31 - #include <video/omapdss.h> 31 + #include <video/omapfb_dss.h> 32 32 33 33 #include "dss.h" 34 34 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/output.c
··· 21 21 #include <linux/slab.h> 22 22 #include <linux/of.h> 23 23 24 - #include <video/omapdss.h> 24 + #include <video/omapfb_dss.h> 25 25 26 26 #include "dss.h" 27 27
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c
··· 26 26 #include <linux/kobject.h> 27 27 #include <linux/platform_device.h> 28 28 29 - #include <video/omapdss.h> 29 + #include <video/omapfb_dss.h> 30 30 31 31 #include "dss.h" 32 32 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/overlay.c
··· 30 30 #include <linux/delay.h> 31 31 #include <linux/slab.h> 32 32 33 - #include <video/omapdss.h> 33 + #include <video/omapfb_dss.h> 34 34 35 35 #include "dss.h" 36 36 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/pll.c
··· 22 22 #include <linux/regulator/consumer.h> 23 23 #include <linux/sched.h> 24 24 25 - #include <video/omapdss.h> 25 + #include <video/omapfb_dss.h> 26 26 27 27 #include "dss.h" 28 28
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/rfbi.c
··· 38 38 #include <linux/pm_runtime.h> 39 39 #include <linux/component.h> 40 40 41 - #include <video/omapdss.h> 41 + #include <video/omapfb_dss.h> 42 42 #include "dss.h" 43 43 44 44 struct rfbi_reg { u16 idx; };
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/sdi.c
··· 29 29 #include <linux/of.h> 30 30 #include <linux/component.h> 31 31 32 - #include <video/omapdss.h> 32 + #include <video/omapfb_dss.h> 33 33 #include "dss.h" 34 34 35 35 static struct {
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/venc.c
··· 37 37 #include <linux/of.h> 38 38 #include <linux/component.h> 39 39 40 - #include <video/omapdss.h> 40 + #include <video/omapfb_dss.h> 41 41 42 42 #include "dss.h" 43 43 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/dss/video-pll.c
··· 17 17 #include <linux/platform_device.h> 18 18 #include <linux/sched.h> 19 19 20 - #include <video/omapdss.h> 20 + #include <video/omapfb_dss.h> 21 21 22 22 #include "dss.h" 23 23 #include "dss_features.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c
··· 30 30 #include <linux/export.h> 31 31 #include <linux/sizes.h> 32 32 33 - #include <video/omapdss.h> 33 + #include <video/omapfb_dss.h> 34 34 #include <video/omapvrfb.h> 35 35 36 36 #include "omapfb.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/omapfb-main.c
··· 30 30 #include <linux/platform_device.h> 31 31 #include <linux/omapfb.h> 32 32 33 - #include <video/omapdss.h> 33 + #include <video/omapfb_dss.h> 34 34 #include <video/omapvrfb.h> 35 35 36 36 #include "omapfb.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/omapfb-sysfs.c
··· 29 29 #include <linux/mm.h> 30 30 #include <linux/omapfb.h> 31 31 32 - #include <video/omapdss.h> 32 + #include <video/omapfb_dss.h> 33 33 #include <video/omapvrfb.h> 34 34 35 35 #include "omapfb.h"
+1 -1
drivers/video/fbdev/omap2/omapfb/omapfb.h
··· 31 31 #include <linux/dma-attrs.h> 32 32 #include <linux/dma-mapping.h> 33 33 34 - #include <video/omapdss.h> 34 + #include <video/omapfb_dss.h> 35 35 36 36 #ifdef DEBUG 37 37 extern bool omapfb_debug;
+37
include/linux/platform_data/omapdss.h
··· 1 + /* 2 + * Copyright (C) 2016 Texas Instruments, Inc. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License as published by 6 + * the Free Software Foundation; either version 2 of the License, or 7 + * (at your option) any later version. 8 + */ 9 + 10 + #ifndef __OMAPDSS_PDATA_H 11 + #define __OMAPDSS_PDATA_H 12 + 13 + enum omapdss_version { 14 + OMAPDSS_VER_UNKNOWN = 0, 15 + OMAPDSS_VER_OMAP24xx, 16 + OMAPDSS_VER_OMAP34xx_ES1, /* OMAP3430 ES1.0, 2.0 */ 17 + OMAPDSS_VER_OMAP34xx_ES3, /* OMAP3430 ES3.0+ */ 18 + OMAPDSS_VER_OMAP3630, 19 + OMAPDSS_VER_AM35xx, 20 + OMAPDSS_VER_OMAP4430_ES1, /* OMAP4430 ES1.0 */ 21 + OMAPDSS_VER_OMAP4430_ES2, /* OMAP4430 ES2.0, 2.1, 2.2 */ 22 + OMAPDSS_VER_OMAP4, /* All other OMAP4s */ 23 + OMAPDSS_VER_OMAP5, 24 + OMAPDSS_VER_AM43xx, 25 + OMAPDSS_VER_DRA7xx, 26 + }; 27 + 28 + /* Board specific data */ 29 + struct omap_dss_board_info { 30 + const char *default_display_name; 31 + int (*dsi_enable_pads)(int dsi_id, unsigned int lane_mask); 32 + void (*dsi_disable_pads)(int dsi_id, unsigned int lane_mask); 33 + int (*set_min_bus_tput)(struct device *dev, unsigned long r); 34 + enum omapdss_version version; 35 + }; 36 + 37 + #endif /* __OMAPDSS_PDATA_H */
+7 -2
include/sound/omap-hdmi-audio.h
··· 16 16 * 17 17 */ 18 18 19 - #include <video/omapdss.h> 20 - 21 19 #ifndef __OMAP_HDMI_AUDIO_H__ 22 20 #define __OMAP_HDMI_AUDIO_H__ 21 + 22 + #include <linux/platform_data/omapdss.h> 23 + 24 + struct omap_dss_audio { 25 + struct snd_aes_iec958 *iec; 26 + struct snd_cea_861_aud_if *cea; 27 + }; 23 28 24 29 struct omap_hdmi_audio_ops { 25 30 int (*audio_startup)(struct device *dev,
-157
include/video/omap-panel-data.h
··· 27 27 #ifndef __OMAP_PANEL_DATA_H 28 28 #define __OMAP_PANEL_DATA_H 29 29 30 - #include <video/omapdss.h> 31 30 #include <video/display_timing.h> 32 - 33 - struct omap_dss_device; 34 - 35 - /** 36 - * encoder_tfp410 platform data 37 - * @name: name for this display entity 38 - * @power_down_gpio: gpio number for PD pin (or -1 if not available) 39 - * @data_lines: number of DPI datalines 40 - */ 41 - struct encoder_tfp410_platform_data { 42 - const char *name; 43 - const char *source; 44 - int power_down_gpio; 45 - int data_lines; 46 - }; 47 - 48 - 49 - /** 50 - * connector_dvi platform data 51 - * @name: name for this display entity 52 - * @source: name of the display entity used as a video source 53 - * @i2c_bus_num: i2c bus number to be used for reading EDID 54 - */ 55 - struct connector_dvi_platform_data { 56 - const char *name; 57 - const char *source; 58 - int i2c_bus_num; 59 - }; 60 - 61 - /** 62 - * connector_hdmi platform data 63 - * @name: name for this display entity 64 - * @source: name of the display entity used as a video source 65 - */ 66 - struct connector_hdmi_platform_data { 67 - const char *name; 68 - const char *source; 69 - }; 70 31 71 32 /** 72 33 * connector_atv platform data 73 34 * @name: name for this display entity 74 35 * @source: name of the display entity used as a video source 75 - * @connector_type: composite/svideo 76 36 * @invert_polarity: invert signal polarity 77 37 */ 78 38 struct connector_atv_platform_data { 79 39 const char *name; 80 40 const char *source; 81 41 82 - enum omap_dss_venc_type connector_type; 83 42 bool invert_polarity; 84 43 }; 85 44 ··· 64 105 }; 65 106 66 107 /** 67 - * panel_dsicm platform data 68 - * @name: name for this display entity 69 - * @source: name of the display entity used as a video source 70 - * @reset_gpio: gpio to reset the panel (or -1) 71 - * @use_ext_te: use external TE GPIO 72 - * @ext_te_gpio: external TE GPIO 73 - * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms) 74 - * @use_dsi_backlight: true if panel uses DSI command to control backlight 75 - * @pin_config: DSI pin configuration 76 - */ 77 - struct panel_dsicm_platform_data { 78 - const char *name; 79 - const char *source; 80 - 81 - int reset_gpio; 82 - 83 - bool use_ext_te; 84 - int ext_te_gpio; 85 - 86 - unsigned ulps_timeout; 87 - 88 - bool use_dsi_backlight; 89 - 90 - struct omap_dsi_pin_config pin_config; 91 - }; 92 - 93 - /** 94 108 * panel_acx565akm platform data 95 109 * @name: name for this display entity 96 110 * @source: name of the display entity used as a video source ··· 77 145 int reset_gpio; 78 146 79 147 int datapairs; 80 - }; 81 - 82 - /** 83 - * panel_lb035q02 platform data 84 - * @name: name for this display entity 85 - * @source: name of the display entity used as a video source 86 - * @data_lines: number of DPI datalines 87 - * @backlight_gpio: gpio to enable/disable the backlight (or -1) 88 - * @enable_gpio: gpio to enable/disable the panel (or -1) 89 - */ 90 - struct panel_lb035q02_platform_data { 91 - const char *name; 92 - const char *source; 93 - 94 - int data_lines; 95 - 96 - int backlight_gpio; 97 - int enable_gpio; 98 - }; 99 - 100 - /** 101 - * panel_sharp_ls037v7dw01 platform data 102 - * @name: name for this display entity 103 - * @source: name of the display entity used as a video source 104 - * @data_lines: number of DPI datalines 105 - * @resb_gpio: reset signal GPIO 106 - * @ini_gpio: power on control GPIO 107 - * @mo_gpio: selection for resolution(VGA/QVGA) GPIO 108 - * @lr_gpio: selection for horizontal scanning direction GPIO 109 - * @ud_gpio: selection for vertical scanning direction GPIO 110 - */ 111 - struct panel_sharp_ls037v7dw01_platform_data { 112 - const char *name; 113 - const char *source; 114 - 115 - int data_lines; 116 - 117 - int resb_gpio; 118 - int ini_gpio; 119 - int mo_gpio; 120 - int lr_gpio; 121 - int ud_gpio; 122 - }; 123 - 124 - /** 125 - * panel-tpo-td043mtea1 platform data 126 - * @name: name for this display entity 127 - * @source: name of the display entity used as a video source 128 - * @data_lines: number of DPI datalines 129 - * @nreset_gpio: reset signal 130 - */ 131 - struct panel_tpo_td043mtea1_platform_data { 132 - const char *name; 133 - const char *source; 134 - 135 - int data_lines; 136 - 137 - int nreset_gpio; 138 - }; 139 - 140 - /** 141 - * panel-nec-nl8048hl11 platform data 142 - * @name: name for this display entity 143 - * @source: name of the display entity used as a video source 144 - * @data_lines: number of DPI datalines 145 - * @res_gpio: reset signal 146 - * @qvga_gpio: selection for resolution(QVGA/WVGA) 147 - */ 148 - struct panel_nec_nl8048hl11_platform_data { 149 - const char *name; 150 - const char *source; 151 - 152 - int data_lines; 153 - 154 - int res_gpio; 155 - int qvga_gpio; 156 - }; 157 - 158 - /** 159 - * panel-tpo-td028ttec1 platform data 160 - * @name: name for display entity 161 - * @source: name of the display entity used as a video source 162 - * @data_lines: number of DPI datalines 163 - */ 164 - struct panel_tpo_td028ttec1_platform_data { 165 - const char *name; 166 - const char *source; 167 - 168 - int data_lines; 169 148 }; 170 149 171 150 #endif /* __OMAP_PANEL_DATA_H */
+9 -51
include/video/omapdss.h include/video/omapfb_dss.h
··· 1 1 /* 2 - * Copyright (C) 2008 Nokia Corporation 3 - * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com> 2 + * Copyright (C) 2016 Texas Instruments, Inc. 4 3 * 5 - * This program is free software; you can redistribute it and/or modify it 6 - * under the terms of the GNU General Public License version 2 as published by 7 - * the Free Software Foundation. 8 - * 9 - * This program is distributed in the hope that it will be useful, but WITHOUT 10 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 - * more details. 13 - * 14 - * You should have received a copy of the GNU General Public License along with 15 - * this program. If not, see <http://www.gnu.org/licenses/>. 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License as published by 6 + * the Free Software Foundation; either version 2 of the License, or 7 + * (at your option) any later version. 16 8 */ 17 9 18 - #ifndef __OMAP_OMAPDSS_H 19 - #define __OMAP_OMAPDSS_H 10 + #ifndef __OMAPFB_DSS_H 11 + #define __OMAPFB_DSS_H 20 12 21 13 #include <linux/list.h> 22 14 #include <linux/kobject.h> 23 15 #include <linux/device.h> 24 16 #include <linux/interrupt.h> 17 + #include <linux/platform_data/omapdss.h> 25 18 26 19 #include <video/videomode.h> 27 20 ··· 160 167 OMAP_DSS_DISPLAY_ACTIVE, 161 168 }; 162 169 163 - struct omap_dss_audio { 164 - struct snd_aes_iec958 *iec; 165 - struct snd_cea_861_aud_if *cea; 166 - }; 167 - 168 170 enum omap_dss_rotation_type { 169 171 OMAP_DSS_ROT_DMA = 1 << 0, 170 172 OMAP_DSS_ROT_VRFB = 1 << 1, ··· 271 283 bool ddr_clk_always_on; 272 284 enum omap_dss_dsi_trans_mode trans_mode; 273 285 }; 274 - 275 - enum omapdss_version { 276 - OMAPDSS_VER_UNKNOWN = 0, 277 - OMAPDSS_VER_OMAP24xx, 278 - OMAPDSS_VER_OMAP34xx_ES1, /* OMAP3430 ES1.0, 2.0 */ 279 - OMAPDSS_VER_OMAP34xx_ES3, /* OMAP3430 ES3.0+ */ 280 - OMAPDSS_VER_OMAP3630, 281 - OMAPDSS_VER_AM35xx, 282 - OMAPDSS_VER_OMAP4430_ES1, /* OMAP4430 ES1.0 */ 283 - OMAPDSS_VER_OMAP4430_ES2, /* OMAP4430 ES2.0, 2.1, 2.2 */ 284 - OMAPDSS_VER_OMAP4, /* All other OMAP4s */ 285 - OMAPDSS_VER_OMAP5, 286 - OMAPDSS_VER_AM43xx, 287 - OMAPDSS_VER_DRA7xx, 288 - }; 289 - 290 - /* Board specific data */ 291 - struct omap_dss_board_info { 292 - int num_devices; 293 - struct omap_dss_device **devices; 294 - struct omap_dss_device *default_device; 295 - const char *default_display_name; 296 - int (*dsi_enable_pads)(int dsi_id, unsigned lane_mask); 297 - void (*dsi_disable_pads)(int dsi_id, unsigned lane_mask); 298 - int (*set_min_bus_tput)(struct device *dev, unsigned long r); 299 - enum omapdss_version version; 300 - }; 301 - 302 - /* Init with the board info */ 303 - extern int omap_display_init(struct omap_dss_board_info *board_data); 304 286 305 287 struct omap_video_timings { 306 288 /* Unit: pixels */ ··· 857 899 struct omap_dss_device * 858 900 omapdss_of_find_source_for_first_ep(struct device_node *node); 859 901 860 - #endif 902 + #endif /* __OMAPFB_DSS_H */
-1
sound/soc/omap/omap-hdmi-audio.c
··· 28 28 #include <sound/asoundef.h> 29 29 #include <sound/omap-pcm.h> 30 30 #include <sound/omap-hdmi-audio.h> 31 - #include <video/omapdss.h> 32 31 33 32 #define DRV_NAME "omap-hdmi-audio" 34 33