aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/device.h2
-rw-r--r--include/linux/irq.h11
-rw-r--r--include/linux/kmod.h2
-rw-r--r--include/linux/mod_devicetable.h12
-rw-r--r--include/linux/pm.h37
-rw-r--r--include/linux/sched.h1
-rw-r--r--include/linux/sysfs.h30
-rw-r--r--include/linux/usb.h4
-rw-r--r--include/linux/usb/ch9.h22
-rw-r--r--include/linux/usb/iowarrior.h33
-rw-r--r--include/linux/usb/quirks.h11
-rw-r--r--include/linux/videodev2.h71
12 files changed, 189 insertions, 47 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index d1a3a27c3988..39a3199a826d 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -294,8 +294,6 @@ extern void class_device_initialize(struct class_device *);
294extern int __must_check class_device_add(struct class_device *); 294extern int __must_check class_device_add(struct class_device *);
295extern void class_device_del(struct class_device *); 295extern void class_device_del(struct class_device *);
296 296
297extern int class_device_rename(struct class_device *, char *);
298
299extern struct class_device * class_device_get(struct class_device *); 297extern struct class_device * class_device_get(struct class_device *);
300extern void class_device_put(struct class_device *); 298extern void class_device_put(struct class_device *);
301 299
diff --git a/include/linux/irq.h b/include/linux/irq.h
index aa5b3e6178a0..b0a44b8e0281 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -200,17 +200,6 @@ extern int setup_irq(unsigned int irq, struct irqaction *new);
200#endif 200#endif
201 201
202#ifdef CONFIG_SMP 202#ifdef CONFIG_SMP
203static inline void set_native_irq_info(int irq, cpumask_t mask)
204{
205 irq_desc[irq].affinity = mask;
206}
207#else
208static inline void set_native_irq_info(int irq, cpumask_t mask)
209{
210}
211#endif
212
213#ifdef CONFIG_SMP
214 203
215#if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE) 204#if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE)
216 205
diff --git a/include/linux/kmod.h b/include/linux/kmod.h
index cc8e674ae27a..10f505c8431d 100644
--- a/include/linux/kmod.h
+++ b/include/linux/kmod.h
@@ -28,10 +28,8 @@
28#ifdef CONFIG_KMOD 28#ifdef CONFIG_KMOD
29/* modprobe exit status on success, -ve on error. Return value 29/* modprobe exit status on success, -ve on error. Return value
30 * usually useless though. */ 30 * usually useless though. */
31extern void kmod_sysfs_init(void);
32extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2))); 31extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2)));
33#else 32#else
34static inline void kmod_sysfs_init(void) {};
35static inline int request_module(const char * name, ...) { return -ENOSYS; } 33static inline int request_module(const char * name, ...) { return -ENOSYS; }
36#endif 34#endif
37 35
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index e0c393cc7240..e96b2dee10bb 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -320,4 +320,16 @@ struct eisa_device_id {
320 320
321#define EISA_DEVICE_MODALIAS_FMT "eisa:s%s" 321#define EISA_DEVICE_MODALIAS_FMT "eisa:s%s"
322 322
323struct parisc_device_id {
324 __u8 hw_type; /* 5 bits used */
325 __u8 hversion_rev; /* 4 bits */
326 __u16 hversion; /* 12 bits */
327 __u32 sversion; /* 20 bits */
328};
329
330#define PA_HWTYPE_ANY_ID 0xff
331#define PA_HVERSION_REV_ANY_ID 0xff
332#define PA_HVERSION_ANY_ID 0xffff
333#define PA_SVERSION_ANY_ID 0xffffffff
334
323#endif /* LINUX_MOD_DEVICETABLE_H */ 335#endif /* LINUX_MOD_DEVICETABLE_H */
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 070394e846d0..21db05ac7c0b 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -120,15 +120,48 @@ typedef int __bitwise suspend_disk_method_t;
120#define PM_DISK_TESTPROC ((__force suspend_disk_method_t) 6) 120#define PM_DISK_TESTPROC ((__force suspend_disk_method_t) 6)
121#define PM_DISK_MAX ((__force suspend_disk_method_t) 7) 121#define PM_DISK_MAX ((__force suspend_disk_method_t) 7)
122 122
123/**
124 * struct pm_ops - Callbacks for managing platform dependent suspend states.
125 * @valid: Callback to determine whether the given state can be entered.
126 * If %CONFIG_SOFTWARE_SUSPEND is set then %PM_SUSPEND_DISK is
127 * always valid and never passed to this call.
128 * If not assigned, all suspend states are advertised as valid
129 * in /sys/power/state (but can still be rejected by prepare or enter.)
130 *
131 * @prepare: Prepare the platform for the given suspend state. Can return a
132 * negative error code if necessary.
133 *
134 * @enter: Enter the given suspend state, must be assigned. Can return a
135 * negative error code if necessary.
136 *
137 * @finish: Called when the system has left the given state and all devices
138 * are resumed. The return value is ignored.
139 *
140 * @pm_disk_mode: Set to the disk method that the user should be able to
141 * configure for suspend-to-disk. Since %PM_DISK_SHUTDOWN,
142 * %PM_DISK_REBOOT, %PM_DISK_TEST and %PM_DISK_TESTPROC
143 * are always allowed, currently only %PM_DISK_PLATFORM
144 * makes sense. If the user then choses %PM_DISK_PLATFORM,
145 * the @prepare call will be called before suspending to disk
146 * (if present), the @enter call should be present and will
147 * be called after all state has been saved and the machine
148 * is ready to be shut down/suspended/..., and the @finish
149 * callback is called after state has been restored. All
150 * these calls are called with %PM_SUSPEND_DISK as the state.
151 */
123struct pm_ops { 152struct pm_ops {
124 suspend_disk_method_t pm_disk_mode;
125 int (*valid)(suspend_state_t state); 153 int (*valid)(suspend_state_t state);
126 int (*prepare)(suspend_state_t state); 154 int (*prepare)(suspend_state_t state);
127 int (*enter)(suspend_state_t state); 155 int (*enter)(suspend_state_t state);
128 int (*finish)(suspend_state_t state); 156 int (*finish)(suspend_state_t state);
157 suspend_disk_method_t pm_disk_mode;
129}; 158};
130 159
131extern void pm_set_ops(struct pm_ops *); 160/**
161 * pm_set_ops - set platform dependent power management ops
162 * @pm_ops: The new power management operations to set.
163 */
164extern void pm_set_ops(struct pm_ops *pm_ops);
132extern struct pm_ops *pm_ops; 165extern struct pm_ops *pm_ops;
133extern int pm_suspend(suspend_state_t state); 166extern int pm_suspend(suspend_state_t state);
134 167
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 5053dc01fad4..6f7c9a4d80e5 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1329,6 +1329,7 @@ extern int kill_pid_info(int sig, struct siginfo *info, struct pid *pid);
1329extern int kill_pid_info_as_uid(int, struct siginfo *, struct pid *, uid_t, uid_t, u32); 1329extern int kill_pid_info_as_uid(int, struct siginfo *, struct pid *, uid_t, uid_t, u32);
1330extern int kill_pgrp(struct pid *pid, int sig, int priv); 1330extern int kill_pgrp(struct pid *pid, int sig, int priv);
1331extern int kill_pid(struct pid *pid, int sig, int priv); 1331extern int kill_pid(struct pid *pid, int sig, int priv);
1332extern int kill_proc_info(int, struct siginfo *, pid_t);
1332extern void do_notify_parent(struct task_struct *, int); 1333extern void do_notify_parent(struct task_struct *, int);
1333extern void force_sig(int, struct task_struct *); 1334extern void force_sig(int, struct task_struct *);
1334extern void force_sig_specific(int, struct task_struct *); 1335extern void force_sig_specific(int, struct task_struct *);
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index 192de3afa96b..21805b500aa2 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -17,6 +17,7 @@
17struct kobject; 17struct kobject;
18struct module; 18struct module;
19struct nameidata; 19struct nameidata;
20struct dentry;
20 21
21struct attribute { 22struct attribute {
22 const char * name; 23 const char * name;
@@ -68,18 +69,6 @@ struct sysfs_ops {
68 ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t); 69 ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t);
69}; 70};
70 71
71struct sysfs_dirent {
72 atomic_t s_count;
73 struct list_head s_sibling;
74 struct list_head s_children;
75 void * s_element;
76 int s_type;
77 umode_t s_mode;
78 struct dentry * s_dentry;
79 struct iattr * s_iattr;
80 atomic_t s_event;
81};
82
83#define SYSFS_ROOT 0x0001 72#define SYSFS_ROOT 0x0001
84#define SYSFS_DIR 0x0002 73#define SYSFS_DIR 0x0002
85#define SYSFS_KOBJ_ATTR 0x0004 74#define SYSFS_KOBJ_ATTR 0x0004
@@ -126,6 +115,11 @@ void sysfs_remove_bin_file(struct kobject *kobj, struct bin_attribute *attr);
126int __must_check sysfs_create_group(struct kobject *, 115int __must_check sysfs_create_group(struct kobject *,
127 const struct attribute_group *); 116 const struct attribute_group *);
128void sysfs_remove_group(struct kobject *, const struct attribute_group *); 117void sysfs_remove_group(struct kobject *, const struct attribute_group *);
118int sysfs_add_file_to_group(struct kobject *kobj,
119 const struct attribute *attr, const char *group);
120void sysfs_remove_file_from_group(struct kobject *kobj,
121 const struct attribute *attr, const char *group);
122
129void sysfs_notify(struct kobject * k, char *dir, char *attr); 123void sysfs_notify(struct kobject * k, char *dir, char *attr);
130 124
131 125
@@ -210,6 +204,18 @@ static inline void sysfs_remove_group(struct kobject * k, const struct attribute
210 ; 204 ;
211} 205}
212 206
207static inline int sysfs_add_file_to_group(struct kobject *kobj,
208 const struct attribute *attr, const char *group)
209{
210 return 0;
211}
212
213static inline void sysfs_remove_file_from_group(struct kobject *kobj,
214 const struct attribute *attr, const char *group);
215{
216 ;
217}
218
213static inline void sysfs_notify(struct kobject * k, char *dir, char *attr) 219static inline void sysfs_notify(struct kobject * k, char *dir, char *attr)
214{ 220{
215} 221}
diff --git a/include/linux/usb.h b/include/linux/usb.h
index a8e8d1ecebb1..87dc75a6cee1 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -388,10 +388,14 @@ struct usb_device {
388 struct usb_device *children[USB_MAXCHILDREN]; 388 struct usb_device *children[USB_MAXCHILDREN];
389 389
390 int pm_usage_cnt; /* usage counter for autosuspend */ 390 int pm_usage_cnt; /* usage counter for autosuspend */
391 u32 quirks; /* quirks of the whole device */
392
391#ifdef CONFIG_PM 393#ifdef CONFIG_PM
392 struct delayed_work autosuspend; /* for delayed autosuspends */ 394 struct delayed_work autosuspend; /* for delayed autosuspends */
393 struct mutex pm_mutex; /* protects PM operations */ 395 struct mutex pm_mutex; /* protects PM operations */
394 396
397 unsigned autosuspend_delay; /* in jiffies */
398
395 unsigned auto_pm:1; /* autosuspend/resume in progress */ 399 unsigned auto_pm:1; /* autosuspend/resume in progress */
396 unsigned do_remote_wakeup:1; /* remote wakeup should be enabled */ 400 unsigned do_remote_wakeup:1; /* remote wakeup should be enabled */
397#endif 401#endif
diff --git a/include/linux/usb/ch9.h b/include/linux/usb/ch9.h
index 245c72531228..1122a6c2c1a3 100644
--- a/include/linux/usb/ch9.h
+++ b/include/linux/usb/ch9.h
@@ -1,8 +1,9 @@
1/* 1/*
2 * This file holds USB constants and structures that are needed for USB 2 * This file holds USB constants and structures that are needed for
3 * device APIs. These are used by the USB device model, which is defined 3 * USB device APIs. These are used by the USB device model, which is
4 * in chapter 9 of the USB 2.0 specification. Linux has several APIs in C 4 * defined in chapter 9 of the USB 2.0 specification and in the
5 * that need these: 5 * Wireless USB 1.0 (spread around). Linux has several APIs in C that
6 * need these:
6 * 7 *
7 * - the master/host side Linux-USB kernel driver API; 8 * - the master/host side Linux-USB kernel driver API;
8 * - the "usbfs" user space API; and 9 * - the "usbfs" user space API; and
@@ -14,6 +15,19 @@
14 * 15 *
15 * There's also "Wireless USB", using low power short range radios for 16 * There's also "Wireless USB", using low power short range radios for
16 * peripheral interconnection but otherwise building on the USB framework. 17 * peripheral interconnection but otherwise building on the USB framework.
18 *
19 * Note all descriptors are declared '__attribute__((packed))' so that:
20 *
21 * [a] they never get padded, either internally (USB spec writers
22 * probably handled that) or externally;
23 *
24 * [b] so that accessing bigger-than-a-bytes fields will never
25 * generate bus errors on any platform, even when the location of
26 * its descriptor inside a bundle isn't "naturally aligned", and
27 *
28 * [c] for consistency, removing all doubt even when it appears to
29 * someone that the two other points are non-issues for that
30 * particular descriptor type.
17 */ 31 */
18 32
19#ifndef __LINUX_USB_CH9_H 33#ifndef __LINUX_USB_CH9_H
diff --git a/include/linux/usb/iowarrior.h b/include/linux/usb/iowarrior.h
new file mode 100644
index 000000000000..cbbe020a4f5c
--- /dev/null
+++ b/include/linux/usb/iowarrior.h
@@ -0,0 +1,33 @@
1#ifndef _IOWARRIOR_H_
2#define _IOWARRIOR_H_
3
4#define CODEMERCS_MAGIC_NUMBER 0xC0 /* like COde Mercenaries */
5
6/* Define the ioctl commands for reading and writing data */
7#define IOW_WRITE _IOW(CODEMERCS_MAGIC_NUMBER, 1, __u8 *)
8#define IOW_READ _IOW(CODEMERCS_MAGIC_NUMBER, 2, __u8 *)
9
10/*
11 A struct for available device info which is read
12 with the ioctl IOW_GETINFO.
13 To be compatible with 2.4 userspace which didn't have an easy way to get
14 this information.
15*/
16struct iowarrior_info {
17 __u32 vendor; /* vendor id : supposed to be USB_VENDOR_ID_CODEMERCS in all cases */
18 __u32 product; /* product id : depends on type of chip (USB_DEVICE_ID_CODEMERCS_XXXXX) */
19 __u8 serial[9]; /* the serial number of our chip (if a serial-number is not available this is empty string) */
20 __u32 revision; /* revision number of the chip */
21 __u32 speed; /* USB-speed of the device (0=UNKNOWN, 1=LOW, 2=FULL 3=HIGH) */
22 __u32 power; /* power consumption of the device in mA */
23 __u32 if_num; /* the number of the endpoint */
24 __u32 report_size; /* size of the data-packets on this interface */
25};
26
27/*
28 Get some device-information (product-id , serial-number etc.)
29 in order to identify a chip.
30*/
31#define IOW_GETINFO _IOR(CODEMERCS_MAGIC_NUMBER, 3, struct iowarrior_info)
32
33#endif /* _IOWARRIOR_H_ */
diff --git a/include/linux/usb/quirks.h b/include/linux/usb/quirks.h
new file mode 100644
index 000000000000..6bac8faacbc6
--- /dev/null
+++ b/include/linux/usb/quirks.h
@@ -0,0 +1,11 @@
1/*
2 * This file holds the definitions of quirks found in USB devices.
3 * Only quirks that affect the whole device, not an interface,
4 * belong here.
5 */
6
7/* device must not be autosuspended */
8#define USB_QUIRK_NO_AUTOSUSPEND 0x00000001
9
10/* string descriptors must not be fetched using a 255-byte read */
11#define USB_QUIRK_STRING_FETCH_255 0x00000002
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index d94e2683be52..65a165f918c9 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1,5 +1,45 @@
1/* 1/*
2 * Video for Linux Two 2 * Video for Linux Two header file
3 *
4 * Copyright (C) 1999-2007 the contributors
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * Alternatively you can redistribute this file under the terms of the
17 * BSD license as stated below:
18 *
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions
21 * are met:
22 * 1. Redistributions of source code must retain the above copyright
23 * notice, this list of conditions and the following disclaimer.
24 * 2. Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in
26 * the documentation and/or other materials provided with the
27 * distribution.
28 * 3. The names of its contributors may not be used to endorse or promote
29 * products derived from this software without specific prior written
30 * permission.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
35 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
37 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
38 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
39 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
40 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
41 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
42 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3 * 43 *
4 * Header file for v4l or V4L2 drivers and applications 44 * Header file for v4l or V4L2 drivers and applications
5 * with public API. 45 * with public API.
@@ -8,8 +48,9 @@
8 * 48 *
9 * See http://linuxtv.org for more info 49 * See http://linuxtv.org for more info
10 * 50 *
11 * Author: Bill Dirks <bdirks@pacbell.net> 51 * Author: Bill Dirks <bill@thedirks.org>
12 * Justin Schoeman 52 * Justin Schoeman
53 * Hans Verkuil <hverkuil@xs4all.nl>
13 * et al. 54 * et al.
14 */ 55 */
15#ifndef __LINUX_VIDEODEV2_H 56#ifndef __LINUX_VIDEODEV2_H
@@ -90,11 +131,8 @@ enum v4l2_buf_type {
90 V4L2_BUF_TYPE_VIDEO_OVERLAY = 3, 131 V4L2_BUF_TYPE_VIDEO_OVERLAY = 3,
91 V4L2_BUF_TYPE_VBI_CAPTURE = 4, 132 V4L2_BUF_TYPE_VBI_CAPTURE = 4,
92 V4L2_BUF_TYPE_VBI_OUTPUT = 5, 133 V4L2_BUF_TYPE_VBI_OUTPUT = 5,
93#if 1
94 /* Experimental Sliced VBI */
95 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, 134 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6,
96 V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, 135 V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7,
97#endif
98 V4L2_BUF_TYPE_PRIVATE = 0x80, 136 V4L2_BUF_TYPE_PRIVATE = 0x80,
99}; 137};
100 138
@@ -186,10 +224,8 @@ struct v4l2_capability
186#define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */ 224#define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */
187#define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */ 225#define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */
188#define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */ 226#define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */
189#if 1
190#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ 227#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */
191#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ 228#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */
192#endif
193#define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ 229#define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */
194 230
195#define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ 231#define V4L2_CAP_TUNER 0x00010000 /* has a tuner */
@@ -1179,7 +1215,6 @@ struct v4l2_vbi_format
1179#define V4L2_VBI_UNSYNC (1<< 0) 1215#define V4L2_VBI_UNSYNC (1<< 0)
1180#define V4L2_VBI_INTERLACED (1<< 1) 1216#define V4L2_VBI_INTERLACED (1<< 1)
1181 1217
1182#if 1
1183/* Sliced VBI 1218/* Sliced VBI
1184 * 1219 *
1185 * This implements is a proposal V4L2 API to allow SLICED VBI 1220 * This implements is a proposal V4L2 API to allow SLICED VBI
@@ -1212,7 +1247,6 @@ struct v4l2_sliced_vbi_format
1212#define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) 1247#define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525)
1213#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) 1248#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625)
1214 1249
1215
1216struct v4l2_sliced_vbi_cap 1250struct v4l2_sliced_vbi_cap
1217{ 1251{
1218 __u16 service_set; 1252 __u16 service_set;
@@ -1233,7 +1267,6 @@ struct v4l2_sliced_vbi_data
1233 __u32 reserved; /* must be 0 */ 1267 __u32 reserved; /* must be 0 */
1234 __u8 data[48]; 1268 __u8 data[48];
1235}; 1269};
1236#endif
1237 1270
1238/* 1271/*
1239 * A G G R E G A T E S T R U C T U R E S 1272 * A G G R E G A T E S T R U C T U R E S
@@ -1249,9 +1282,7 @@ struct v4l2_format
1249 struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE 1282 struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE
1250 struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY 1283 struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY
1251 struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE 1284 struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE
1252#if 1
1253 struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE 1285 struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
1254#endif
1255 __u8 raw_data[200]; // user-defined 1286 __u8 raw_data[200]; // user-defined
1256 } fmt; 1287 } fmt;
1257}; 1288};
@@ -1271,6 +1302,17 @@ struct v4l2_streamparm
1271}; 1302};
1272 1303
1273/* 1304/*
1305 * A D V A N C E D D E B U G G I N G
1306 */
1307
1308/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */
1309struct v4l2_register {
1310 __u64 reg;
1311 __u32 i2c_id; /* I2C driver ID of the I2C chip, or 0 for the host */
1312 __u32 val;
1313};
1314
1315/*
1274 * I O C T L C O D E S F O R V I D E O D E V I C E S 1316 * I O C T L C O D E S F O R V I D E O D E V I C E S
1275 * 1317 *
1276 */ 1318 */
@@ -1328,9 +1370,7 @@ struct v4l2_streamparm
1328#define VIDIOC_ENUMAUDOUT _IOWR ('V', 66, struct v4l2_audioout) 1370#define VIDIOC_ENUMAUDOUT _IOWR ('V', 66, struct v4l2_audioout)
1329#define VIDIOC_G_PRIORITY _IOR ('V', 67, enum v4l2_priority) 1371#define VIDIOC_G_PRIORITY _IOR ('V', 67, enum v4l2_priority)
1330#define VIDIOC_S_PRIORITY _IOW ('V', 68, enum v4l2_priority) 1372#define VIDIOC_S_PRIORITY _IOW ('V', 68, enum v4l2_priority)
1331#if 1
1332#define VIDIOC_G_SLICED_VBI_CAP _IOWR ('V', 69, struct v4l2_sliced_vbi_cap) 1373#define VIDIOC_G_SLICED_VBI_CAP _IOWR ('V', 69, struct v4l2_sliced_vbi_cap)
1333#endif
1334#define VIDIOC_LOG_STATUS _IO ('V', 70) 1374#define VIDIOC_LOG_STATUS _IO ('V', 70)
1335#define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls) 1375#define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls)
1336#define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls) 1376#define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls)
@@ -1339,6 +1379,9 @@ struct v4l2_streamparm
1339#define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum) 1379#define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum)
1340#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum) 1380#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum)
1341#endif 1381#endif
1382/* only implemented if CONFIG_VIDEO_ADV_DEBUG is defined */
1383#define VIDIOC_DBG_S_REGISTER _IOW ('d', 100, struct v4l2_register)
1384#define VIDIOC_DBG_G_REGISTER _IOWR('d', 101, struct v4l2_register)
1342 1385
1343#ifdef __OLD_VIDIOC_ 1386#ifdef __OLD_VIDIOC_
1344/* for compatibility, will go away some day */ 1387/* for compatibility, will go away some day */