aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/omap-iommu.h5
-rw-r--r--include/linux/platform_data/media/mmp-camera.h19
-rw-r--r--include/linux/sony-laptop.h4
-rw-r--r--include/media/dvb-usb-ids.h1
-rw-r--r--include/media/dvbdev.h2
-rw-r--r--include/media/media-entity.h2
-rw-r--r--include/media/rc-core.h1
-rw-r--r--include/media/v4l2-dev.h25
-rw-r--r--include/media/v4l2-device.h4
-rw-r--r--include/media/v4l2-fwnode.h2
-rw-r--r--include/media/v4l2-ioctl.h12
-rw-r--r--include/media/videobuf-dvb.h59
-rw-r--r--include/media/vsp1.h45
-rw-r--r--include/uapi/linux/lirc.h6
-rw-r--r--include/uapi/linux/omap3isp.h22
-rw-r--r--include/video/omapfb_dss.h54
16 files changed, 159 insertions, 104 deletions
diff --git a/include/linux/omap-iommu.h b/include/linux/omap-iommu.h
index c1aede46718b..ce1b7c6283ee 100644
--- a/include/linux/omap-iommu.h
+++ b/include/linux/omap-iommu.h
@@ -13,7 +13,12 @@
13#ifndef _OMAP_IOMMU_H_ 13#ifndef _OMAP_IOMMU_H_
14#define _OMAP_IOMMU_H_ 14#define _OMAP_IOMMU_H_
15 15
16#ifdef CONFIG_OMAP_IOMMU
16extern void omap_iommu_save_ctx(struct device *dev); 17extern void omap_iommu_save_ctx(struct device *dev);
17extern void omap_iommu_restore_ctx(struct device *dev); 18extern void omap_iommu_restore_ctx(struct device *dev);
19#else
20static inline void omap_iommu_save_ctx(struct device *dev) {}
21static inline void omap_iommu_restore_ctx(struct device *dev) {}
22#endif
18 23
19#endif 24#endif
diff --git a/include/linux/platform_data/media/mmp-camera.h b/include/linux/platform_data/media/mmp-camera.h
index 83804028115c..d2d3a443eedf 100644
--- a/include/linux/platform_data/media/mmp-camera.h
+++ b/include/linux/platform_data/media/mmp-camera.h
@@ -3,8 +3,27 @@
3 * Information for the Marvell Armada MMP camera 3 * Information for the Marvell Armada MMP camera
4 */ 4 */
5 5
6#include <media/v4l2-mediabus.h>
7
8enum dphy3_algo {
9 DPHY3_ALGO_DEFAULT = 0,
10 DPHY3_ALGO_PXA910,
11 DPHY3_ALGO_PXA2128
12};
13
6struct mmp_camera_platform_data { 14struct mmp_camera_platform_data {
7 struct platform_device *i2c_device; 15 struct platform_device *i2c_device;
8 int sensor_power_gpio; 16 int sensor_power_gpio;
9 int sensor_reset_gpio; 17 int sensor_reset_gpio;
18 enum v4l2_mbus_type bus_type;
19 int mclk_min; /* The minimal value of MCLK */
20 int mclk_src; /* which clock source the MCLK derives from */
21 int mclk_div; /* Clock Divider Value for MCLK */
22 /*
23 * MIPI support
24 */
25 int dphy[3]; /* DPHY: CSI2_DPHY3, CSI2_DPHY5, CSI2_DPHY6 */
26 enum dphy3_algo dphy3_algo; /* algos for calculate CSI2_DPHY3 */
27 int lane; /* ccic used lane number; 0 means DVP mode */
28 int lane_clk;
10}; 29};
diff --git a/include/linux/sony-laptop.h b/include/linux/sony-laptop.h
index 1a4b77317fa1..374d0fdb0743 100644
--- a/include/linux/sony-laptop.h
+++ b/include/linux/sony-laptop.h
@@ -28,7 +28,11 @@
28#define SONY_PIC_COMMAND_GETCAMERAROMVERSION 18 /* obsolete */ 28#define SONY_PIC_COMMAND_GETCAMERAROMVERSION 18 /* obsolete */
29#define SONY_PIC_COMMAND_GETCAMERAREVISION 19 /* obsolete */ 29#define SONY_PIC_COMMAND_GETCAMERAREVISION 19 /* obsolete */
30 30
31#if IS_ENABLED(CONFIG_SONY_LAPTOP)
31int sony_pic_camera_command(int command, u8 value); 32int sony_pic_camera_command(int command, u8 value);
33#else
34static inline int sony_pic_camera_command(int command, u8 value) { return 0; };
35#endif
32 36
33#endif /* __KERNEL__ */ 37#endif /* __KERNEL__ */
34 38
diff --git a/include/media/dvb-usb-ids.h b/include/media/dvb-usb-ids.h
index 28e2be5c8a98..f9e73b4a6e89 100644
--- a/include/media/dvb-usb-ids.h
+++ b/include/media/dvb-usb-ids.h
@@ -418,6 +418,7 @@
418#define USB_PID_SVEON_STV27 0xd3af 418#define USB_PID_SVEON_STV27 0xd3af
419#define USB_PID_TURBOX_DTT_2000 0xd3a4 419#define USB_PID_TURBOX_DTT_2000 0xd3a4
420#define USB_PID_WINTV_SOLOHD 0x0264 420#define USB_PID_WINTV_SOLOHD 0x0264
421#define USB_PID_WINTV_SOLOHD_2 0x8268
421#define USB_PID_EVOLVEO_XTRATV_STICK 0xa115 422#define USB_PID_EVOLVEO_XTRATV_STICK 0xa115
422#define USB_PID_HAMA_DVBT_HYBRID 0x2758 423#define USB_PID_HAMA_DVBT_HYBRID 0x2758
423#define USB_PID_XBOX_ONE_TUNER 0x02d5 424#define USB_PID_XBOX_ONE_TUNER 0x02d5
diff --git a/include/media/dvbdev.h b/include/media/dvbdev.h
index ee91516ad074..881ca461b7bb 100644
--- a/include/media/dvbdev.h
+++ b/include/media/dvbdev.h
@@ -91,6 +91,7 @@ struct dvb_frontend;
91 * @mfe_dvbdev: Frontend device in use, in the case of MFE 91 * @mfe_dvbdev: Frontend device in use, in the case of MFE
92 * @mfe_lock: Lock to prevent using the other frontends when MFE is 92 * @mfe_lock: Lock to prevent using the other frontends when MFE is
93 * used. 93 * used.
94 * @mdev_lock: Protect access to the mdev pointer.
94 * @mdev: pointer to struct media_device, used when the media 95 * @mdev: pointer to struct media_device, used when the media
95 * controller is used. 96 * controller is used.
96 * @conn: RF connector. Used only if the device has no separate 97 * @conn: RF connector. Used only if the device has no separate
@@ -114,6 +115,7 @@ struct dvb_adapter {
114 struct mutex mfe_lock; /* access lock for thread creation */ 115 struct mutex mfe_lock; /* access lock for thread creation */
115 116
116#if defined(CONFIG_MEDIA_CONTROLLER_DVB) 117#if defined(CONFIG_MEDIA_CONTROLLER_DVB)
118 struct mutex mdev_lock;
117 struct media_device *mdev; 119 struct media_device *mdev;
118 struct media_entity *conn; 120 struct media_entity *conn;
119 struct media_pad *conn_pads; 121 struct media_pad *conn_pads;
diff --git a/include/media/media-entity.h b/include/media/media-entity.h
index a732af1dbba0..3aa3d58d1d58 100644
--- a/include/media/media-entity.h
+++ b/include/media/media-entity.h
@@ -842,7 +842,7 @@ struct media_entity *media_entity_get(struct media_entity *entity);
842 * a fwnode. This is useful for devices which use more complex 842 * a fwnode. This is useful for devices which use more complex
843 * mappings of media pads. 843 * mappings of media pads.
844 * 844 *
845 * If the entity dose not implement the get_fwnode_pad() operation 845 * If the entity does not implement the get_fwnode_pad() operation
846 * then this function searches the entity for the first pad that 846 * then this function searches the entity for the first pad that
847 * matches the @direction_flags. 847 * matches the @direction_flags.
848 * 848 *
diff --git a/include/media/rc-core.h b/include/media/rc-core.h
index 6742fd86ff65..61571773a98d 100644
--- a/include/media/rc-core.h
+++ b/include/media/rc-core.h
@@ -347,6 +347,7 @@ static inline void ir_raw_event_reset(struct rc_dev *dev)
347 struct ir_raw_event ev = { .reset = true }; 347 struct ir_raw_event ev = { .reset = true };
348 348
349 ir_raw_event_store(dev, &ev); 349 ir_raw_event_store(dev, &ev);
350 dev->idle = true;
350 ir_raw_event_handle(dev); 351 ir_raw_event_handle(dev);
351} 352}
352 353
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index f60cf9cf3b9c..456ac13eca1d 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -30,6 +30,7 @@
30 * @VFL_TYPE_SUBDEV: for V4L2 subdevices 30 * @VFL_TYPE_SUBDEV: for V4L2 subdevices
31 * @VFL_TYPE_SDR: for Software Defined Radio tuners 31 * @VFL_TYPE_SDR: for Software Defined Radio tuners
32 * @VFL_TYPE_TOUCH: for touch sensors 32 * @VFL_TYPE_TOUCH: for touch sensors
33 * @VFL_TYPE_MAX: number of VFL types, must always be last in the enum
33 */ 34 */
34enum vfl_devnode_type { 35enum vfl_devnode_type {
35 VFL_TYPE_GRABBER = 0, 36 VFL_TYPE_GRABBER = 0,
@@ -237,7 +238,6 @@ struct v4l2_file_operations {
237 * @ioctl_ops: pointer to &struct v4l2_ioctl_ops with ioctl callbacks 238 * @ioctl_ops: pointer to &struct v4l2_ioctl_ops with ioctl callbacks
238 * 239 *
239 * @valid_ioctls: bitmap with the valid ioctls for this device 240 * @valid_ioctls: bitmap with the valid ioctls for this device
240 * @disable_locking: bitmap with the ioctls that don't require locking
241 * @lock: pointer to &struct mutex serialization lock 241 * @lock: pointer to &struct mutex serialization lock
242 * 242 *
243 * .. note:: 243 * .. note::
@@ -290,7 +290,6 @@ struct video_device
290 const struct v4l2_ioctl_ops *ioctl_ops; 290 const struct v4l2_ioctl_ops *ioctl_ops;
291 DECLARE_BITMAP(valid_ioctls, BASE_VIDIOC_PRIVATE); 291 DECLARE_BITMAP(valid_ioctls, BASE_VIDIOC_PRIVATE);
292 292
293 DECLARE_BITMAP(disable_locking, BASE_VIDIOC_PRIVATE);
294 struct mutex *lock; 293 struct mutex *lock;
295}; 294};
296 295
@@ -437,28 +436,6 @@ void video_device_release(struct video_device *vdev);
437void video_device_release_empty(struct video_device *vdev); 436void video_device_release_empty(struct video_device *vdev);
438 437
439/** 438/**
440 * v4l2_is_known_ioctl - Checks if a given cmd is a known V4L ioctl
441 *
442 * @cmd: ioctl command
443 *
444 * returns true if cmd is a known V4L2 ioctl
445 */
446bool v4l2_is_known_ioctl(unsigned int cmd);
447
448/** v4l2_disable_ioctl_locking - mark that a given command
449 * shouldn't use core locking
450 *
451 * @vdev: pointer to &struct video_device
452 * @cmd: ioctl command
453 */
454static inline void v4l2_disable_ioctl_locking(struct video_device *vdev,
455 unsigned int cmd)
456{
457 if (_IOC_NR(cmd) < BASE_VIDIOC_PRIVATE)
458 set_bit(_IOC_NR(cmd), vdev->disable_locking);
459}
460
461/**
462 * v4l2_disable_ioctl- mark that a given command isn't implemented. 439 * v4l2_disable_ioctl- mark that a given command isn't implemented.
463 * shouldn't use core locking 440 * shouldn't use core locking
464 * 441 *
diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h
index 0c9e4da55499..b330e4a08a6b 100644
--- a/include/media/v4l2-device.h
+++ b/include/media/v4l2-device.h
@@ -33,7 +33,7 @@ struct v4l2_ctrl_handler;
33 * struct v4l2_device - main struct to for V4L2 device drivers 33 * struct v4l2_device - main struct to for V4L2 device drivers
34 * 34 *
35 * @dev: pointer to struct device. 35 * @dev: pointer to struct device.
36 * @mdev: pointer to struct media_device 36 * @mdev: pointer to struct media_device, may be NULL.
37 * @subdevs: used to keep track of the registered subdevs 37 * @subdevs: used to keep track of the registered subdevs
38 * @lock: lock this struct; can be used by the driver as well 38 * @lock: lock this struct; can be used by the driver as well
39 * if this struct is embedded into a larger struct. 39 * if this struct is embedded into a larger struct.
@@ -58,9 +58,7 @@ struct v4l2_ctrl_handler;
58 */ 58 */
59struct v4l2_device { 59struct v4l2_device {
60 struct device *dev; 60 struct device *dev;
61#if defined(CONFIG_MEDIA_CONTROLLER)
62 struct media_device *mdev; 61 struct media_device *mdev;
63#endif
64 struct list_head subdevs; 62 struct list_head subdevs;
65 spinlock_t lock; 63 spinlock_t lock;
66 char name[V4L2_DEVICE_NAME_SIZE]; 64 char name[V4L2_DEVICE_NAME_SIZE];
diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h
index c228ec1c77cf..9cccab618b98 100644
--- a/include/media/v4l2-fwnode.h
+++ b/include/media/v4l2-fwnode.h
@@ -99,7 +99,7 @@ struct v4l2_fwnode_endpoint {
99 struct fwnode_endpoint base; 99 struct fwnode_endpoint base;
100 /* 100 /*
101 * Fields below this line will be zeroed by 101 * Fields below this line will be zeroed by
102 * v4l2_fwnode_parse_endpoint() 102 * v4l2_fwnode_endpoint_parse()
103 */ 103 */
104 enum v4l2_mbus_type bus_type; 104 enum v4l2_mbus_type bus_type;
105 union { 105 union {
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
index a7b3f7c75d62..a8dbf5b54b5c 100644
--- a/include/media/v4l2-ioctl.h
+++ b/include/media/v4l2-ioctl.h
@@ -658,18 +658,6 @@ void v4l_printk_ioctl(const char *prefix, unsigned int cmd);
658 658
659struct video_device; 659struct video_device;
660 660
661
662/**
663 * v4l2_ioctl_get_lock - get the mutex (if any) that it is need to lock for
664 * a given command.
665 *
666 * @vdev: Pointer to struct &video_device.
667 * @cmd: Ioctl name.
668 *
669 * .. note:: Internal use only. Should not be used outside V4L2 core.
670 */
671struct mutex *v4l2_ioctl_get_lock(struct video_device *vdev, unsigned int cmd);
672
673/* names for fancy debug output */ 661/* names for fancy debug output */
674extern const char *v4l2_field_names[]; 662extern const char *v4l2_field_names[];
675extern const char *v4l2_type_names[]; 663extern const char *v4l2_type_names[];
diff --git a/include/media/videobuf-dvb.h b/include/media/videobuf-dvb.h
deleted file mode 100644
index c9c81990a56c..000000000000
--- a/include/media/videobuf-dvb.h
+++ /dev/null
@@ -1,59 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2#include <media/dvbdev.h>
3#include <media/dmxdev.h>
4#include <media/dvb_demux.h>
5#include <media/dvb_net.h>
6#include <media/dvb_frontend.h>
7
8#ifndef _VIDEOBUF_DVB_H_
9#define _VIDEOBUF_DVB_H_
10
11struct videobuf_dvb {
12 /* filling that the job of the driver */
13 char *name;
14 struct dvb_frontend *frontend;
15 struct videobuf_queue dvbq;
16
17 /* video-buf-dvb state info */
18 struct mutex lock;
19 struct task_struct *thread;
20 int nfeeds;
21
22 /* videobuf_dvb_(un)register manges this */
23 struct dvb_demux demux;
24 struct dmxdev dmxdev;
25 struct dmx_frontend fe_hw;
26 struct dmx_frontend fe_mem;
27 struct dvb_net net;
28};
29
30struct videobuf_dvb_frontend {
31 struct list_head felist;
32 int id;
33 struct videobuf_dvb dvb;
34};
35
36struct videobuf_dvb_frontends {
37 struct list_head felist;
38 struct mutex lock;
39 struct dvb_adapter adapter;
40 int active_fe_id; /* Indicates which frontend in the felist is in use */
41 int gate; /* Frontend with gate control 0=!MFE,1=fe0,2=fe1 etc */
42};
43
44int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f,
45 struct module *module,
46 void *adapter_priv,
47 struct device *device,
48 short *adapter_nr,
49 int mfe_shared);
50
51void videobuf_dvb_unregister_bus(struct videobuf_dvb_frontends *f);
52
53struct videobuf_dvb_frontend * videobuf_dvb_alloc_frontend(struct videobuf_dvb_frontends *f, int id);
54void videobuf_dvb_dealloc_frontends(struct videobuf_dvb_frontends *f);
55
56struct videobuf_dvb_frontend * videobuf_dvb_get_frontend(struct videobuf_dvb_frontends *f, int id);
57int videobuf_dvb_find_frontend(struct videobuf_dvb_frontends *f, struct dvb_frontend *p);
58
59#endif /* _VIDEOBUF_DVB_H_ */
diff --git a/include/media/vsp1.h b/include/media/vsp1.h
index 68a8abe4fac5..678c24de1ac6 100644
--- a/include/media/vsp1.h
+++ b/include/media/vsp1.h
@@ -34,13 +34,23 @@ struct vsp1_du_lif_config {
34 unsigned int width; 34 unsigned int width;
35 unsigned int height; 35 unsigned int height;
36 36
37 void (*callback)(void *, bool); 37 void (*callback)(void *data, bool completed, u32 crc);
38 void *callback_data; 38 void *callback_data;
39}; 39};
40 40
41int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index, 41int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index,
42 const struct vsp1_du_lif_config *cfg); 42 const struct vsp1_du_lif_config *cfg);
43 43
44/**
45 * struct vsp1_du_atomic_config - VSP atomic configuration parameters
46 * @pixelformat: plane pixel format (V4L2 4CC)
47 * @pitch: line pitch in bytes, for all planes
48 * @mem: DMA memory address for each plane of the frame buffer
49 * @src: source rectangle in the frame buffer (integer coordinates)
50 * @dst: destination rectangle on the display (integer coordinates)
51 * @alpha: alpha value (0: fully transparent, 255: fully opaque)
52 * @zpos: Z position of the plane (from 0 to number of planes minus 1)
53 */
44struct vsp1_du_atomic_config { 54struct vsp1_du_atomic_config {
45 u32 pixelformat; 55 u32 pixelformat;
46 unsigned int pitch; 56 unsigned int pitch;
@@ -51,11 +61,42 @@ struct vsp1_du_atomic_config {
51 unsigned int zpos; 61 unsigned int zpos;
52}; 62};
53 63
64/**
65 * enum vsp1_du_crc_source - Source used for CRC calculation
66 * @VSP1_DU_CRC_NONE: CRC calculation disabled
67 * @VSP1_DU_CRC_PLANE: Perform CRC calculation on an input plane
68 * @VSP1_DU_CRC_OUTPUT: Perform CRC calculation on the composed output
69 */
70enum vsp1_du_crc_source {
71 VSP1_DU_CRC_NONE,
72 VSP1_DU_CRC_PLANE,
73 VSP1_DU_CRC_OUTPUT,
74};
75
76/**
77 * struct vsp1_du_crc_config - VSP CRC computation configuration parameters
78 * @source: source for CRC calculation
79 * @index: index of the CRC source plane (when source is set to plane)
80 */
81struct vsp1_du_crc_config {
82 enum vsp1_du_crc_source source;
83 unsigned int index;
84};
85
86/**
87 * struct vsp1_du_atomic_pipe_config - VSP atomic pipe configuration parameters
88 * @crc: CRC computation configuration
89 */
90struct vsp1_du_atomic_pipe_config {
91 struct vsp1_du_crc_config crc;
92};
93
54void vsp1_du_atomic_begin(struct device *dev, unsigned int pipe_index); 94void vsp1_du_atomic_begin(struct device *dev, unsigned int pipe_index);
55int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index, 95int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index,
56 unsigned int rpf, 96 unsigned int rpf,
57 const struct vsp1_du_atomic_config *cfg); 97 const struct vsp1_du_atomic_config *cfg);
58void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index); 98void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index,
99 const struct vsp1_du_atomic_pipe_config *cfg);
59int vsp1_du_map_sg(struct device *dev, struct sg_table *sgt); 100int vsp1_du_map_sg(struct device *dev, struct sg_table *sgt);
60void vsp1_du_unmap_sg(struct device *dev, struct sg_table *sgt); 101void vsp1_du_unmap_sg(struct device *dev, struct sg_table *sgt);
61 102
diff --git a/include/uapi/linux/lirc.h b/include/uapi/linux/lirc.h
index f189931042a7..6b319581882f 100644
--- a/include/uapi/linux/lirc.h
+++ b/include/uapi/linux/lirc.h
@@ -134,6 +134,12 @@
134#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32) 134#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32)
135 135
136/* 136/*
137 * Return the recording timeout, which is either set by
138 * the ioctl LIRC_SET_REC_TIMEOUT or by the kernel after setting the protocols.
139 */
140#define LIRC_GET_REC_TIMEOUT _IOR('i', 0x00000024, __u32)
141
142/*
137 * struct lirc_scancode - decoded scancode with protocol for use with 143 * struct lirc_scancode - decoded scancode with protocol for use with
138 * LIRC_MODE_SCANCODE 144 * LIRC_MODE_SCANCODE
139 * 145 *
diff --git a/include/uapi/linux/omap3isp.h b/include/uapi/linux/omap3isp.h
index 1a920145db04..87b55755f4ff 100644
--- a/include/uapi/linux/omap3isp.h
+++ b/include/uapi/linux/omap3isp.h
@@ -55,6 +55,8 @@
55 _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct omap3isp_h3a_af_config) 55 _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct omap3isp_h3a_af_config)
56#define VIDIOC_OMAP3ISP_STAT_REQ \ 56#define VIDIOC_OMAP3ISP_STAT_REQ \
57 _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data) 57 _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data)
58#define VIDIOC_OMAP3ISP_STAT_REQ_TIME32 \
59 _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data_time32)
58#define VIDIOC_OMAP3ISP_STAT_EN \ 60#define VIDIOC_OMAP3ISP_STAT_EN \
59 _IOWR('V', BASE_VIDIOC_PRIVATE + 7, unsigned long) 61 _IOWR('V', BASE_VIDIOC_PRIVATE + 7, unsigned long)
60 62
@@ -165,7 +167,14 @@ struct omap3isp_h3a_aewb_config {
165 * @config_counter: Number of the configuration associated with the data. 167 * @config_counter: Number of the configuration associated with the data.
166 */ 168 */
167struct omap3isp_stat_data { 169struct omap3isp_stat_data {
170#ifdef __KERNEL__
171 struct {
172 __s64 tv_sec;
173 __s64 tv_usec;
174 } ts;
175#else
168 struct timeval ts; 176 struct timeval ts;
177#endif
169 void __user *buf; 178 void __user *buf;
170 __u32 buf_size; 179 __u32 buf_size;
171 __u16 frame_number; 180 __u16 frame_number;
@@ -173,6 +182,19 @@ struct omap3isp_stat_data {
173 __u16 config_counter; 182 __u16 config_counter;
174}; 183};
175 184
185#ifdef __KERNEL__
186struct omap3isp_stat_data_time32 {
187 struct {
188 __s32 tv_sec;
189 __s32 tv_usec;
190 } ts;
191 __u32 buf;
192 __u32 buf_size;
193 __u16 frame_number;
194 __u16 cur_frame;
195 __u16 config_counter;
196};
197#endif
176 198
177/* Histogram related structs */ 199/* Histogram related structs */
178 200
diff --git a/include/video/omapfb_dss.h b/include/video/omapfb_dss.h
index 1d38901d599d..12755d8d9b4f 100644
--- a/include/video/omapfb_dss.h
+++ b/include/video/omapfb_dss.h
@@ -774,6 +774,12 @@ struct omap_dss_driver {
774 const struct hdmi_avi_infoframe *avi); 774 const struct hdmi_avi_infoframe *avi);
775}; 775};
776 776
777#define for_each_dss_dev(d) while ((d = omap_dss_get_next_device(d)) != NULL)
778
779typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
780
781#if IS_ENABLED(CONFIG_FB_OMAP2)
782
777enum omapdss_version omapdss_get_version(void); 783enum omapdss_version omapdss_get_version(void);
778bool omapdss_is_initialized(void); 784bool omapdss_is_initialized(void);
779 785
@@ -785,7 +791,6 @@ void omapdss_unregister_display(struct omap_dss_device *dssdev);
785 791
786struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev); 792struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev);
787void omap_dss_put_device(struct omap_dss_device *dssdev); 793void omap_dss_put_device(struct omap_dss_device *dssdev);
788#define for_each_dss_dev(d) while ((d = omap_dss_get_next_device(d)) != NULL)
789struct omap_dss_device *omap_dss_get_next_device(struct omap_dss_device *from); 794struct omap_dss_device *omap_dss_get_next_device(struct omap_dss_device *from);
790struct omap_dss_device *omap_dss_find_device(void *data, 795struct omap_dss_device *omap_dss_find_device(void *data,
791 int (*match)(struct omap_dss_device *dssdev, void *data)); 796 int (*match)(struct omap_dss_device *dssdev, void *data));
@@ -826,7 +831,6 @@ int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev);
826void omapdss_default_get_timings(struct omap_dss_device *dssdev, 831void omapdss_default_get_timings(struct omap_dss_device *dssdev,
827 struct omap_video_timings *timings); 832 struct omap_video_timings *timings);
828 833
829typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
830int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); 834int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
831int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); 835int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
832 836
@@ -856,5 +860,51 @@ omapdss_of_get_first_endpoint(const struct device_node *parent);
856 860
857struct omap_dss_device * 861struct omap_dss_device *
858omapdss_of_find_source_for_first_ep(struct device_node *node); 862omapdss_of_find_source_for_first_ep(struct device_node *node);
863#else
864
865static inline enum omapdss_version omapdss_get_version(void)
866{ return OMAPDSS_VER_UNKNOWN; };
867
868static inline bool omapdss_is_initialized(void)
869{ return false; };
870
871static inline int omap_dispc_register_isr(omap_dispc_isr_t isr,
872 void *arg, u32 mask)
873{ return 0; };
874
875static inline int omap_dispc_unregister_isr(omap_dispc_isr_t isr,
876 void *arg, u32 mask)
877{ return 0; };
878
879static inline struct omap_dss_device
880*omap_dss_get_device(struct omap_dss_device *dssdev)
881{ return NULL; };
882
883static inline struct omap_dss_device
884*omap_dss_get_next_device(struct omap_dss_device *from)
885{return NULL; };
886
887static inline void omap_dss_put_device(struct omap_dss_device *dssdev) {};
888
889static inline int omapdss_compat_init(void)
890{ return 0; };
891
892static inline void omapdss_compat_uninit(void) {};
893
894static inline int omap_dss_get_num_overlay_managers(void)
895{ return 0; };
896
897static inline struct omap_overlay_manager *omap_dss_get_overlay_manager(int num)
898{ return NULL; };
899
900static inline int omap_dss_get_num_overlays(void)
901{ return 0; };
902
903static inline struct omap_overlay *omap_dss_get_overlay(int num)
904{ return NULL; };
905
906
907#endif /* FB_OMAP2 */
908
859 909
860#endif /* __OMAPFB_DSS_H */ 910#endif /* __OMAPFB_DSS_H */