This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/v4l-utils.git tree:
Subject: v4l-utils: sync with latest kernel headers. Author: Hans Verkuil <hans.verk...@cisco.com> Date: Wed Dec 5 10:41:47 2012 +0100 I had to make quite a few changes due to the introduction of the uapi directory, lots of paths had to be changed. Signed-off-by: Hans Verkuil <hans.verk...@cisco.com> Makefile.am | 16 +- contrib/freebsd/Makefile.am | 2 +- contrib/freebsd/bsdify.sh | 2 +- contrib/freebsd/include/linux/dvb/dmx.h | 7 +- contrib/freebsd/include/linux/dvb/version.h | 2 +- contrib/freebsd/include/linux/dvb/video.h | 6 +- contrib/freebsd/include/linux/input.h | 514 +------------------------ contrib/freebsd/include/linux/uinput.h | 66 +--- contrib/freebsd/include/linux/videodev2.h | 49 +++- contrib/freebsd/patches/dvb-dmx-header.diff | 17 +- contrib/freebsd/patches/dvb-video-header.diff | 14 +- contrib/freebsd/patches/input-header.diff | 16 +- contrib/freebsd/patches/series | 1 + contrib/freebsd/patches/uinput-header.diff | 10 + contrib/freebsd/patches/videodev2-header.diff | 21 +- include/linux/videodev2.h | 47 ++- lib/libdvbv5/gen_dvb_structs.pl | 2 +- utils/keytable/Makefile.am | 4 +- utils/keytable/rc_keymaps/imon_mce | 2 +- utils/keytable/rc_keymaps/rc6_mce | 2 +- utils/keytable/rc_maps.cfg | 164 ++++---- 21 files changed, 251 insertions(+), 713 deletions(-) --- http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=fe2aa5f767eba7276978a82cf62349a3cd1ff937 diff --git a/Makefile.am b/Makefile.am index 32582f1..491c83d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,18 +12,18 @@ EXTRA_DIST = include README.lib README.lib-multi-threading # custom targets sync-with-kernel: - @if [ ! -f $(KERNEL_DIR)/include/linux/videodev2.h -o \ - ! -f $(KERNEL_DIR)/include/linux/v4l2-controls.h -o \ - ! -f $(KERNEL_DIR)/include/linux/v4l2-common.h -o \ - ! -f $(KERNEL_DIR)/include/linux/ivtv.h -o \ + @if [ ! -f $(KERNEL_DIR)/include/uapi/linux/videodev2.h -o \ + ! -f $(KERNEL_DIR)/include/uapi/linux/v4l2-controls.h -o \ + ! -f $(KERNEL_DIR)/include/uapi/linux/v4l2-common.h -o \ + ! -f $(KERNEL_DIR)/include/uapi/linux/ivtv.h -o \ ! -f $(KERNEL_DIR)/include/media/v4l2-chip-ident.h ]; then \ echo "Error you must set KERNEL_DIR to point to an extracted kernel source dir"; \ exit 1; \ fi - cp -a $(KERNEL_DIR)/include/linux/videodev2.h $(top_srcdir)/include/linux - cp -a $(KERNEL_DIR)/include/linux/v4l2-controls.h $(top_srcdir)/include/linux - cp -a $(KERNEL_DIR)/include/linux/v4l2-common.h $(top_srcdir)/include/linux - cp -a $(KERNEL_DIR)/include/linux/ivtv.h $(top_srcdir)/include/linux + cp -a $(KERNEL_DIR)/include/uapi/linux/videodev2.h $(top_srcdir)/include/linux + cp -a $(KERNEL_DIR)/include/uapi/linux/v4l2-controls.h $(top_srcdir)/include/linux + cp -a $(KERNEL_DIR)/include/uapi/linux/v4l2-common.h $(top_srcdir)/include/linux + cp -a $(KERNEL_DIR)/include/uapi/linux/ivtv.h $(top_srcdir)/include/linux cp -a $(KERNEL_DIR)/include/media/v4l2-chip-ident.h $(top_srcdir)/include/media $(MAKE) -C utils/keytable $@ diff --git a/contrib/freebsd/Makefile.am b/contrib/freebsd/Makefile.am index e23d161..45856bc 100644 --- a/contrib/freebsd/Makefile.am +++ b/contrib/freebsd/Makefile.am @@ -8,7 +8,7 @@ sync-with-kernel: for i in input.h ivtv.h uinput.h videodev2.h v4l2-controls.h v4l2-common.h dvb/{audio.h,ca.h,dmx.h,frontend.h,net.h,osd.h,version.h,video.h}; do \ mkdir -p include/linux/$$(dirname $$i); \ - cp $(KERNEL_DIR)/include/linux/$$i include/linux/$$i; \ + cp $(KERNEL_DIR)/include/uapi/linux/$$i include/linux/$$i; \ done mkdir -p include/media diff --git a/contrib/freebsd/bsdify.sh b/contrib/freebsd/bsdify.sh index bbe29bb..6547b61 100755 --- a/contrib/freebsd/bsdify.sh +++ b/contrib/freebsd/bsdify.sh @@ -30,7 +30,7 @@ rm -rf include .pc for i in input.h ivtv.h uinput.h videodev2.h v4l2-controls.h v4l2-common.h dvb/{audio.h,ca.h,dmx.h,frontend.h,net.h,osd.h,version.h,video.h}; do mkdir -p include/linux/$(dirname $i) - cp $KERNEL_DIR/include/linux/$i include/linux/$i + cp $KERNEL_DIR/include/uapi/linux/$i include/linux/$i done mkdir -p include/media diff --git a/contrib/freebsd/include/linux/dvb/dmx.h b/contrib/freebsd/include/linux/dvb/dmx.h index 1c48e6b..4b3fee8 100644 --- a/contrib/freebsd/include/linux/dvb/dmx.h +++ b/contrib/freebsd/include/linux/dvb/dmx.h @@ -21,13 +21,14 @@ * */ -#ifndef _DVBDMX_H_ -#define _DVBDMX_H_ +#ifndef _UAPI_DVBDMX_H_ +#define _UAPI_DVBDMX_H_ #include <stdint.h> #include <sys/types.h> #include <time.h> + #define DMX_FILTER_SIZE 16 typedef enum @@ -150,4 +151,4 @@ struct dmx_stc { #define DMX_ADD_PID _IOW('o', 51, uint16_t) #define DMX_REMOVE_PID _IOW('o', 52, uint16_t) -#endif /*_DVBDMX_H_*/ +#endif /* _UAPI_DVBDMX_H_ */ diff --git a/contrib/freebsd/include/linux/dvb/version.h b/contrib/freebsd/include/linux/dvb/version.h index 20e5eac..827cce7 100644 --- a/contrib/freebsd/include/linux/dvb/version.h +++ b/contrib/freebsd/include/linux/dvb/version.h @@ -24,6 +24,6 @@ #define _DVBVERSION_H_ #define DVB_API_VERSION 5 -#define DVB_API_VERSION_MINOR 8 +#define DVB_API_VERSION_MINOR 9 #endif /*_DVBVERSION_H_*/ diff --git a/contrib/freebsd/include/linux/dvb/video.h b/contrib/freebsd/include/linux/dvb/video.h index acd2cc0..55d919e 100644 --- a/contrib/freebsd/include/linux/dvb/video.h +++ b/contrib/freebsd/include/linux/dvb/video.h @@ -21,8 +21,8 @@ * */ -#ifndef _DVBVIDEO_H_ -#define _DVBVIDEO_H_ +#ifndef _UAPI_DVBVIDEO_H_ +#define _UAPI_DVBVIDEO_H_ #include <sys/types.h> #include <stdint.h> @@ -269,4 +269,4 @@ typedef uint16_t video_attributes_t; #define VIDEO_COMMAND _IOWR('o', 59, struct video_command) #define VIDEO_TRY_COMMAND _IOWR('o', 60, struct video_command) -#endif /*_DVBVIDEO_H_*/ +#endif /* _UAPI_DVBVIDEO_H_ */ diff --git a/contrib/freebsd/include/linux/input.h b/contrib/freebsd/include/linux/input.h index 48b04be..1016fef 100644 --- a/contrib/freebsd/include/linux/input.h +++ b/contrib/freebsd/include/linux/input.h @@ -1,6 +1,3 @@ -#ifndef _INPUT_H -#define _INPUT_H - /* * Copyright (c) 1999-2002 Vojtech Pavlik * @@ -8,11 +5,10 @@ * under the terms of the GNU General Public License version 2 as published by * the Free Software Foundation. */ +#ifndef _UAPI_INPUT_H +#define _UAPI_INPUT_H -#ifdef __KERNEL__ -#include <linux/time.h> -#include <linux/list.h> -#else +#ifndef __KERNEL__ #include <stdint.h> #include <sys/time.h> #include <sys/ioctl.h> @@ -56,6 +52,7 @@ typedef int8_t __s8; #endif #endif + /* * The event structure itself */ @@ -854,11 +851,6 @@ struct input_keymap_entry { #define ABS_MT_TOOL_X 0x3c /* Center X tool position */ #define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */ -#ifdef __KERNEL__ -/* Implementation details, userspace should not care about these */ -#define ABS_MT_FIRST ABS_MT_TOUCH_MAJOR -#define ABS_MT_LAST ABS_MT_TOOL_Y -#endif #define ABS_MAX 0x3f #define ABS_CNT (ABS_MAX+1) @@ -1194,500 +1186,4 @@ struct ff_effect { #define FF_MAX 0x7f #define FF_CNT (FF_MAX+1) -#ifdef __KERNEL__ - -/* - * In-kernel definitions. - */ - -#include <linux/device.h> -#include <linux/fs.h> -#include <linux/timer.h> -#include <linux/mod_devicetable.h> - -/** - * struct input_dev - represents an input device - * @name: name of the device - * @phys: physical path to the device in the system hierarchy - * @uniq: unique identification code for the device (if device has it) - * @id: id of the device (struct input_id) - * @propbit: bitmap of device properties and quirks - * @evbit: bitmap of types of events supported by the device (EV_KEY, - * EV_REL, etc.) - * @keybit: bitmap of keys/buttons this device has - * @relbit: bitmap of relative axes for the device - * @absbit: bitmap of absolute axes for the device - * @mscbit: bitmap of miscellaneous events supported by the device - * @ledbit: bitmap of leds present on the device - * @sndbit: bitmap of sound effects supported by the device - * @ffbit: bitmap of force feedback effects supported by the device - * @swbit: bitmap of switches present on the device - * @hint_events_per_packet: average number of events generated by the - * device in a packet (between EV_SYN/SYN_REPORT events). Used by - * event handlers to estimate size of the buffer needed to hold - * events. - * @keycodemax: size of keycode table - * @keycodesize: size of elements in keycode table - * @keycode: map of scancodes to keycodes for this device - * @getkeycode: optional legacy method to retrieve current keymap. - * @setkeycode: optional method to alter current keymap, used to implement - * sparse keymaps. If not supplied default mechanism will be used. - * The method is being called while holding event_lock and thus must - * not sleep - * @ff: force feedback structure associated with the device if device - * supports force feedback effects - * @repeat_key: stores key code of the last key pressed; used to implement - * software autorepeat - * @timer: timer for software autorepeat - * @rep: current values for autorepeat parameters (delay, rate) - * @mt: pointer to array of struct input_mt_slot holding current values - * of tracked contacts - * @mtsize: number of MT slots the device uses - * @slot: MT slot currently being transmitted - * @trkid: stores MT tracking ID for the current contact - * @absinfo: array of &struct input_absinfo elements holding information - * about absolute axes (current value, min, max, flat, fuzz, - * resolution) - * @key: reflects current state of device's keys/buttons - * @led: reflects current state of device's LEDs - * @snd: reflects current state of sound effects - * @sw: reflects current state of device's switches - * @open: this method is called when the very first user calls - * input_open_device(). The driver must prepare the device - * to start generating events (start polling thread, - * request an IRQ, submit URB, etc.) - * @close: this method is called when the very last user calls - * input_close_device(). - * @flush: purges the device. Most commonly used to get rid of force - * feedback effects loaded into the device when disconnecting - * from it - * @event: event handler for events sent _to_ the device, like EV_LED - * or EV_SND. The device is expected to carry out the requested - * action (turn on a LED, play sound, etc.) The call is protected - * by @event_lock and must not sleep - * @grab: input handle that currently has the device grabbed (via - * EVIOCGRAB ioctl). When a handle grabs a device it becomes sole - * recipient for all input events coming from the device - * @event_lock: this spinlock is is taken when input core receives - * and processes a new event for the device (in input_event()). - * Code that accesses and/or modifies parameters of a device - * (such as keymap or absmin, absmax, absfuzz, etc.) after device - * has been registered with input core must take this lock. - * @mutex: serializes calls to open(), close() and flush() methods - * @users: stores number of users (input handlers) that opened this - * device. It is used by input_open_device() and input_close_device() - * to make sure that dev->open() is only called when the first - * user opens device and dev->close() is called when the very - * last user closes the device - * @going_away: marks devices that are in a middle of unregistering and - * causes input_open_device*() fail with -ENODEV. - * @sync: set to %true when there were no new events since last EV_SYN - * @dev: driver model's view of this device - * @h_list: list of input handles associated with the device. When - * accessing the list dev->mutex must be held - * @node: used to place the device onto input_dev_list - */ -struct input_dev { - const char *name; - const char *phys; - const char *uniq; - struct input_id id; - - unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)]; - - unsigned long evbit[BITS_TO_LONGS(EV_CNT)]; - unsigned long keybit[BITS_TO_LONGS(KEY_CNT)]; - unsigned long relbit[BITS_TO_LONGS(REL_CNT)]; - unsigned long absbit[BITS_TO_LONGS(ABS_CNT)]; - unsigned long mscbit[BITS_TO_LONGS(MSC_CNT)]; - unsigned long ledbit[BITS_TO_LONGS(LED_CNT)]; - unsigned long sndbit[BITS_TO_LONGS(SND_CNT)]; - unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; - unsigned long swbit[BITS_TO_LONGS(SW_CNT)]; - - unsigned int hint_events_per_packet; - - unsigned int keycodemax; - unsigned int keycodesize; - void *keycode; - - int (*setkeycode)(struct input_dev *dev, - const struct input_keymap_entry *ke, - unsigned int *old_keycode); - int (*getkeycode)(struct input_dev *dev, - struct input_keymap_entry *ke); - - struct ff_device *ff; - - unsigned int repeat_key; - struct timer_list timer; - - int rep[REP_CNT]; - - struct input_mt_slot *mt; - int mtsize; - int slot; - int trkid; - - struct input_absinfo *absinfo; - - unsigned long key[BITS_TO_LONGS(KEY_CNT)]; - unsigned long led[BITS_TO_LONGS(LED_CNT)]; - unsigned long snd[BITS_TO_LONGS(SND_CNT)]; - unsigned long sw[BITS_TO_LONGS(SW_CNT)]; - - int (*open)(struct input_dev *dev); - void (*close)(struct input_dev *dev); - int (*flush)(struct input_dev *dev, struct file *file); - int (*event)(struct input_dev *dev, unsigned int type, unsigned int code, int value); - - struct input_handle __rcu *grab; - - spinlock_t event_lock; - struct mutex mutex; - - unsigned int users; - bool going_away; - - bool sync; - - struct device dev; - - struct list_head h_list; - struct list_head node; -}; -#define to_input_dev(d) container_of(d, struct input_dev, dev) - -/* - * Verify that we are in sync with input_device_id mod_devicetable.h #defines - */ - -#if EV_MAX != INPUT_DEVICE_ID_EV_MAX -#error "EV_MAX and INPUT_DEVICE_ID_EV_MAX do not match" -#endif - -#if KEY_MIN_INTERESTING != INPUT_DEVICE_ID_KEY_MIN_INTERESTING -#error "KEY_MIN_INTERESTING and INPUT_DEVICE_ID_KEY_MIN_INTERESTING do not match" -#endif - -#if KEY_MAX != INPUT_DEVICE_ID_KEY_MAX -#error "KEY_MAX and INPUT_DEVICE_ID_KEY_MAX do not match" -#endif - -#if REL_MAX != INPUT_DEVICE_ID_REL_MAX -#error "REL_MAX and INPUT_DEVICE_ID_REL_MAX do not match" -#endif - -#if ABS_MAX != INPUT_DEVICE_ID_ABS_MAX -#error "ABS_MAX and INPUT_DEVICE_ID_ABS_MAX do not match" -#endif - -#if MSC_MAX != INPUT_DEVICE_ID_MSC_MAX -#error "MSC_MAX and INPUT_DEVICE_ID_MSC_MAX do not match" -#endif - -#if LED_MAX != INPUT_DEVICE_ID_LED_MAX -#error "LED_MAX and INPUT_DEVICE_ID_LED_MAX do not match" -#endif - -#if SND_MAX != INPUT_DEVICE_ID_SND_MAX -#error "SND_MAX and INPUT_DEVICE_ID_SND_MAX do not match" -#endif - -#if FF_MAX != INPUT_DEVICE_ID_FF_MAX -#error "FF_MAX and INPUT_DEVICE_ID_FF_MAX do not match" -#endif - -#if SW_MAX != INPUT_DEVICE_ID_SW_MAX -#error "SW_MAX and INPUT_DEVICE_ID_SW_MAX do not match" -#endif - -#define INPUT_DEVICE_ID_MATCH_DEVICE \ - (INPUT_DEVICE_ID_MATCH_BUS | INPUT_DEVICE_ID_MATCH_VENDOR | INPUT_DEVICE_ID_MATCH_PRODUCT) -#define INPUT_DEVICE_ID_MATCH_DEVICE_AND_VERSION \ - (INPUT_DEVICE_ID_MATCH_DEVICE | INPUT_DEVICE_ID_MATCH_VERSION) - -struct input_handle; - -/** - * struct input_handler - implements one of interfaces for input devices - * @private: driver-specific data - * @event: event handler. This method is being called by input core with - * interrupts disabled and dev->event_lock spinlock held and so - * it may not sleep - * @filter: similar to @event; separates normal event handlers from - * "filters". - * @match: called after comparing device's id with handler's id_table - * to perform fine-grained matching between device and handler - * @connect: called when attaching a handler to an input device - * @disconnect: disconnects a handler from input device - * @start: starts handler for given handle. This function is called by - * input core right after connect() method and also when a process - * that "grabbed" a device releases it - * @fops: file operations this driver implements - * @minor: beginning of range of 32 minors for devices this driver - * can provide - * @name: name of the handler, to be shown in /proc/bus/input/handlers - * @id_table: pointer to a table of input_device_ids this driver can - * handle - * @h_list: list of input handles associated with the handler - * @node: for placing the driver onto input_handler_list - * - * Input handlers attach to input devices and create input handles. There - * are likely several handlers attached to any given input device at the - * same time. All of them will get their copy of input event generated by - * the device. - * - * The very same structure is used to implement input filters. Input core - * allows filters to run first and will not pass event to regular handlers - * if any of the filters indicate that the event should be filtered (by - * returning %true from their filter() method). - * - * Note that input core serializes calls to connect() and disconnect() - * methods. - */ -struct input_handler { - - void *private; - - void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value); - bool (*filter)(struct input_handle *handle, unsigned int type, unsigned int code, int value); - bool (*match)(struct input_handler *handler, struct input_dev *dev); - int (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id); - void (*disconnect)(struct input_handle *handle); - void (*start)(struct input_handle *handle); - - const struct file_operations *fops; - int minor; - const char *name; - - const struct input_device_id *id_table; - - struct list_head h_list; - struct list_head node; -}; - -/** - * struct input_handle - links input device with an input handler - * @private: handler-specific data - * @open: counter showing whether the handle is 'open', i.e. should deliver - * events from its device - * @name: name given to the handle by handler that created it - * @dev: input device the handle is attached to - * @handler: handler that works with the device through this handle - * @d_node: used to put the handle on device's list of attached handles - * @h_node: used to put the handle on handler's list of handles from which - * it gets events - */ -struct input_handle { - - void *private; - - int open; - const char *name; - - struct input_dev *dev; - struct input_handler *handler; - - struct list_head d_node; - struct list_head h_node; -}; - -struct input_dev *input_allocate_device(void); -void input_free_device(struct input_dev *dev); - -static inline struct input_dev *input_get_device(struct input_dev *dev) -{ - return dev ? to_input_dev(get_device(&dev->dev)) : NULL; -} - -static inline void input_put_device(struct input_dev *dev) -{ - if (dev) - put_device(&dev->dev); -} - -static inline void *input_get_drvdata(struct input_dev *dev) -{ - return dev_get_drvdata(&dev->dev); -} - -static inline void input_set_drvdata(struct input_dev *dev, void *data) -{ - dev_set_drvdata(&dev->dev, data); -} - -int __must_check input_register_device(struct input_dev *); -void input_unregister_device(struct input_dev *); - -void input_reset_device(struct input_dev *); - -int __must_check input_register_handler(struct input_handler *); -void input_unregister_handler(struct input_handler *); - -int input_handler_for_each_handle(struct input_handler *, void *data, - int (*fn)(struct input_handle *, void *)); - -int input_register_handle(struct input_handle *); -void input_unregister_handle(struct input_handle *); - -int input_grab_device(struct input_handle *); -void input_release_device(struct input_handle *); - -int input_open_device(struct input_handle *); -void input_close_device(struct input_handle *); - -int input_flush_device(struct input_handle *handle, struct file *file); - -void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value); -void input_inject_event(struct input_handle *handle, unsigned int type, unsigned int code, int value); - -static inline void input_report_key(struct input_dev *dev, unsigned int code, int value) -{ - input_event(dev, EV_KEY, code, !!value); -} - -static inline void input_report_rel(struct input_dev *dev, unsigned int code, int value) -{ - input_event(dev, EV_REL, code, value); -} - -static inline void input_report_abs(struct input_dev *dev, unsigned int code, int value) -{ - input_event(dev, EV_ABS, code, value); -} - -static inline void input_report_ff_status(struct input_dev *dev, unsigned int code, int value) -{ - input_event(dev, EV_FF_STATUS, code, value); -} - -static inline void input_report_switch(struct input_dev *dev, unsigned int code, int value) -{ - input_event(dev, EV_SW, code, !!value); -} - -static inline void input_sync(struct input_dev *dev) -{ - input_event(dev, EV_SYN, SYN_REPORT, 0); -} - -static inline void input_mt_sync(struct input_dev *dev) -{ - input_event(dev, EV_SYN, SYN_MT_REPORT, 0); -} - -void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int code); - -/** - * input_set_events_per_packet - tell handlers about the driver event rate - * @dev: the input device used by the driver - * @n_events: the average number of events between calls to input_sync() - * - * If the event rate sent from a device is unusually large, use this - * function to set the expected event rate. This will allow handlers - * to set up an appropriate buffer size for the event stream, in order - * to minimize information loss. - */ -static inline void input_set_events_per_packet(struct input_dev *dev, int n_events) -{ - dev->hint_events_per_packet = n_events; -} - -void input_alloc_absinfo(struct input_dev *dev); -void input_set_abs_params(struct input_dev *dev, unsigned int axis, - int min, int max, int fuzz, int flat); - -#define INPUT_GENERATE_ABS_ACCESSORS(_suffix, _item) \ -static inline int input_abs_get_##_suffix(struct input_dev *dev, \ - unsigned int axis) \ -{ \ - return dev->absinfo ? dev->absinfo[axis]._item : 0; \ -} \ - \ -static inline void input_abs_set_##_suffix(struct input_dev *dev, \ - unsigned int axis, int val) \ -{ \ - input_alloc_absinfo(dev); \ - if (dev->absinfo) \ - dev->absinfo[axis]._item = val; \ -} - -INPUT_GENERATE_ABS_ACCESSORS(val, value) -INPUT_GENERATE_ABS_ACCESSORS(min, minimum) -INPUT_GENERATE_ABS_ACCESSORS(max, maximum) -INPUT_GENERATE_ABS_ACCESSORS(fuzz, fuzz) -INPUT_GENERATE_ABS_ACCESSORS(flat, flat) -INPUT_GENERATE_ABS_ACCESSORS(res, resolution) - -int input_scancode_to_scalar(const struct input_keymap_entry *ke, - unsigned int *scancode); - -int input_get_keycode(struct input_dev *dev, struct input_keymap_entry *ke); -int input_set_keycode(struct input_dev *dev, - const struct input_keymap_entry *ke); - -extern struct class input_class; - -/** - * struct ff_device - force-feedback part of an input device - * @upload: Called to upload an new effect into device - * @erase: Called to erase an effect from device - * @playback: Called to request device to start playing specified effect - * @set_gain: Called to set specified gain - * @set_autocenter: Called to auto-center device - * @destroy: called by input core when parent input device is being - * destroyed - * @private: driver-specific data, will be freed automatically - * @ffbit: bitmap of force feedback capabilities truly supported by - * device (not emulated like ones in input_dev->ffbit) - * @mutex: mutex for serializing access to the device - * @max_effects: maximum number of effects supported by device - * @effects: pointer to an array of effects currently loaded into device - * @effect_owners: array of effect owners; when file handle owning - * an effect gets closed the effect is automatically erased - * - * Every force-feedback device must implement upload() and playback() - * methods; erase() is optional. set_gain() and set_autocenter() need - * only be implemented if driver sets up FF_GAIN and FF_AUTOCENTER - * bits. - * - * Note that playback(), set_gain() and set_autocenter() are called with - * dev->event_lock spinlock held and interrupts off and thus may not - * sleep. - */ -struct ff_device { - int (*upload)(struct input_dev *dev, struct ff_effect *effect, - struct ff_effect *old); - int (*erase)(struct input_dev *dev, int effect_id); - - int (*playback)(struct input_dev *dev, int effect_id, int value); - void (*set_gain)(struct input_dev *dev, u16 gain); - void (*set_autocenter)(struct input_dev *dev, u16 magnitude); - - void (*destroy)(struct ff_device *); - - void *private; - - unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; - - struct mutex mutex; - - int max_effects; - struct ff_effect *effects; - struct file *effect_owners[]; -}; - -int input_ff_create(struct input_dev *dev, unsigned int max_effects); -void input_ff_destroy(struct input_dev *dev); - -int input_ff_event(struct input_dev *dev, unsigned int type, unsigned int code, int value); - -int input_ff_upload(struct input_dev *dev, struct ff_effect *effect, struct file *file); -int input_ff_erase(struct input_dev *dev, int effect_id, struct file *file); - -int input_ff_create_memless(struct input_dev *dev, void *data, - int (*play_effect)(struct input_dev *, void *, struct ff_effect *)); - -#endif -#endif +#endif /* _UAPI_INPUT_H */ diff --git a/contrib/freebsd/include/linux/uinput.h b/contrib/freebsd/include/linux/uinput.h index 2aa2881..687e3ce 100644 --- a/contrib/freebsd/include/linux/uinput.h +++ b/contrib/freebsd/include/linux/uinput.h @@ -1,5 +1,3 @@ -#ifndef __UINPUT_H_ -#define __UINPUT_H_ /* * User level driver support for input subsystem * @@ -31,62 +29,25 @@ * 0.1 20/06/2002 * - first public version */ +#ifndef _UAPI__UINPUT_H_ +#define _UAPI__UINPUT_H_ #include <linux/input.h> #define UINPUT_VERSION 3 -#ifdef __KERNEL__ -#define UINPUT_NAME "uinput" -#define UINPUT_BUFFER_SIZE 16 -#define UINPUT_NUM_REQUESTS 16 - -enum uinput_state { UIST_NEW_DEVICE, UIST_SETUP_COMPLETE, UIST_CREATED }; - -struct uinput_request { - int id; - int code; /* UI_FF_UPLOAD, UI_FF_ERASE */ - - int retval; - struct completion done; - - union { - int effect_id; - struct { - struct ff_effect *effect; - struct ff_effect *old; - } upload; - } u; -}; - -struct uinput_device { - struct input_dev *dev; - struct mutex mutex; - enum uinput_state state; - wait_queue_head_t waitq; - unsigned char ready; - unsigned char head; - unsigned char tail; - struct input_event buff[UINPUT_BUFFER_SIZE]; - unsigned int ff_effects_max; - - struct uinput_request *requests[UINPUT_NUM_REQUESTS]; - wait_queue_head_t requests_waitq; - spinlock_t requests_lock; -}; -#endif /* __KERNEL__ */ struct uinput_ff_upload { - int request_id; - int retval; + uint32_t request_id; + int32_t retval; struct ff_effect effect; struct ff_effect old; }; struct uinput_ff_erase { - int request_id; - int retval; - int effect_id; + uint32_t request_id; + int32_t retval; + uint32_t effect_id; }; /* ioctl */ @@ -166,11 +127,10 @@ struct uinput_ff_erase { struct uinput_user_dev { char name[UINPUT_MAX_NAME_SIZE]; struct input_id id; - int ff_effects_max; - int absmax[ABS_CNT]; - int absmin[ABS_CNT]; - int absfuzz[ABS_CNT]; - int absflat[ABS_CNT]; + uint32_t ff_effects_max; + int32_t absmax[ABS_CNT]; + int32_t absmin[ABS_CNT]; + int32_t absfuzz[ABS_CNT]; + int32_t absflat[ABS_CNT]; }; -#endif /* __UINPUT_H_ */ - +#endif /* _UAPI__UINPUT_H_ */ diff --git a/contrib/freebsd/include/linux/videodev2.h b/contrib/freebsd/include/linux/videodev2.h index 9198b9e..36f4183 100644 --- a/contrib/freebsd/include/linux/videodev2.h +++ b/contrib/freebsd/include/linux/videodev2.h @@ -53,9 +53,10 @@ * Hans Verkuil <hverk...@xs4all.nl> * et al. */ -#ifndef __LINUX_VIDEODEV2_H -#define __LINUX_VIDEODEV2_H +#ifndef _UAPI__LINUX_VIDEODEV2_H +#define _UAPI__LINUX_VIDEODEV2_H +#ifndef __KERNEL__ #include <stdint.h> #include <sys/time.h> #include <sys/types.h> @@ -90,6 +91,11 @@ typedef int8_t __s8; #endif #endif +#else +#include <linux/compiler.h> +#include <linux/ioctl.h> +#include <linux/types.h> +#endif #include <linux/v4l2-common.h> #include <linux/v4l2-controls.h> @@ -214,6 +220,7 @@ enum v4l2_memory { V4L2_MEMORY_MMAP = 1, V4L2_MEMORY_USERPTR = 2, V4L2_MEMORY_OVERLAY = 3, + V4L2_MEMORY_DMABUF = 4, }; /* see also http://vektor.theorem.ca/graphics/ycbcr/ */ @@ -630,6 +637,8 @@ struct v4l2_requestbuffers { * should be passed to mmap() called on the video node) * @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer * pointing to this plane + * @fd: when memory is V4L2_MEMORY_DMABUF, a userspace file + * descriptor associated with this plane * @data_offset: offset in the plane to the start of data; usually 0, * unless there is a header in front of the data * @@ -644,6 +653,7 @@ struct v4l2_plane { union { uint32_t mem_offset; unsigned long userptr; + int32_t fd; } m; uint32_t data_offset; uint32_t reserved[11]; @@ -668,6 +678,8 @@ struct v4l2_plane { * (or a "cookie" that should be passed to mmap() as offset) * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR; * a userspace pointer pointing to this buffer + * @fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF; + * a userspace file descriptor associated with this buffer * @planes: for multiplanar buffers; userspace pointer to the array of plane * info structs for this buffer * @length: size in bytes of the buffer (NOT its payload) for single-plane @@ -694,6 +706,7 @@ struct v4l2_buffer { uint32_t offset; unsigned long userptr; struct v4l2_plane *planes; + int32_t fd; } m; uint32_t length; uint32_t reserved2; @@ -715,6 +728,33 @@ struct v4l2_buffer { #define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800 #define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000 +/** + * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor + * + * @index: id number of the buffer + * @type: enum v4l2_buf_type; buffer type (type == *_MPLANE for + * multiplanar buffers); + * @plane: index of the plane to be exported, 0 for single plane queues + * @flags: flags for newly created file, currently only O_CLOEXEC is + * supported, refer to manual of open syscall for more details + * @fd: file descriptor associated with DMABUF (set by driver) + * + * Contains data used for exporting a video buffer as DMABUF file descriptor. + * The buffer is identified by a 'cookie' returned by VIDIOC_QUERYBUF + * (identical to the cookie used to mmap() the buffer to userspace). All + * reserved fields must be set to zero. The field reserved0 is expected to + * become a structure 'type' allowing an alternative layout of the structure + * content. Therefore this field should not be used for any other extensions. + */ +struct v4l2_exportbuffer { + uint32_t type; /* enum v4l2_buf_type */ + uint32_t index; + uint32_t plane; + uint32_t flags; + int32_t fd; + uint32_t reserved[11]; +}; + /* * O V E R L A Y P R E V I E W */ @@ -765,7 +805,7 @@ struct v4l2_window { struct v4l2_captureparm { uint32_t capability; /* Supported modes */ uint32_t capturemode; /* Current mode */ - struct v4l2_fract timeperframe; /* Time per frame in .1us units */ + struct v4l2_fract timeperframe; /* Time per frame in seconds */ uint32_t extendedmode; /* Driver-specific extensions */ uint32_t readbuffers; /* # of buffers for read */ uint32_t reserved[4]; @@ -1916,6 +1956,7 @@ struct v4l2_create_buffers { #define VIDIOC_S_FBUF _IOW('V', 11, struct v4l2_framebuffer) #define VIDIOC_OVERLAY _IOW('V', 14, int) #define VIDIOC_QBUF _IOWR('V', 15, struct v4l2_buffer) +#define VIDIOC_EXPBUF _IOWR('V', 16, struct v4l2_exportbuffer) #define VIDIOC_DQBUF _IOWR('V', 17, struct v4l2_buffer) #define VIDIOC_STREAMON _IOW('V', 18, int) #define VIDIOC_STREAMOFF _IOW('V', 19, int) @@ -2023,4 +2064,4 @@ struct v4l2_create_buffers { #define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */ -#endif /* __LINUX_VIDEODEV2_H */ +#endif /* _UAPI__LINUX_VIDEODEV2_H */ diff --git a/contrib/freebsd/patches/dvb-dmx-header.diff b/contrib/freebsd/patches/dvb-dmx-header.diff index 6e871da..b86cb8f 100644 --- a/contrib/freebsd/patches/dvb-dmx-header.diff +++ b/contrib/freebsd/patches/dvb-dmx-header.diff @@ -1,18 +1,15 @@ ---- a/include/linux/dvb/dmx.h -+++ b/include/linux/dvb/dmx.h -@@ -24,13 +24,9 @@ - #ifndef _DVBDMX_H_ - #define _DVBDMX_H_ +--- freebsd/include/linux/dvb/dmx.h.orig 2012-12-05 10:26:23.000000000 +0100 ++++ freebsd/include/linux/dvb/dmx.h 2012-12-05 10:27:35.989684418 +0100 +@@ -24,10 +24,9 @@ + #ifndef _UAPI_DVBDMX_H_ + #define _UAPI_DVBDMX_H_ -#include <linux/types.h> --#ifdef __KERNEL__ --#include <linux/time.h> --#else +-#ifndef __KERNEL__ +#include <stdint.h> +#include <sys/types.h> #include <time.h> -#endif -- - #define DMX_FILTER_SIZE 16 + #define DMX_FILTER_SIZE 16 diff --git a/contrib/freebsd/patches/dvb-video-header.diff b/contrib/freebsd/patches/dvb-video-header.diff index 6d7b225..7d9fc0e 100644 --- a/contrib/freebsd/patches/dvb-video-header.diff +++ b/contrib/freebsd/patches/dvb-video-header.diff @@ -1,13 +1,11 @@ ---- a/include/linux/dvb/video.h -+++ b/include/linux/dvb/video.h -@@ -24,13 +24,9 @@ - #ifndef _DVBVIDEO_H_ - #define _DVBVIDEO_H_ +--- freebsd/include/linux/dvb/video.h.orig 2012-12-05 10:28:14.000000000 +0100 ++++ freebsd/include/linux/dvb/video.h 2012-12-05 10:29:13.054783858 +0100 +@@ -24,11 +24,9 @@ + #ifndef _UAPI_DVBVIDEO_H_ + #define _UAPI_DVBVIDEO_H_ -#include <linux/types.h> --#ifdef __KERNEL__ --#include <linux/compiler.h> --#else +-#ifndef __KERNEL__ +#include <sys/types.h> #include <stdint.h> #include <time.h> diff --git a/contrib/freebsd/patches/input-header.diff b/contrib/freebsd/patches/input-header.diff index dcf10f5..db1194c 100644 --- a/contrib/freebsd/patches/input-header.diff +++ b/contrib/freebsd/patches/input-header.diff @@ -1,9 +1,11 @@ ---- a/include/linux/input.h -+++ b/include/linux/input.h -@@ -13,11 +13,48 @@ - #include <linux/time.h> - #include <linux/list.h> - #else +--- freebsd/include/linux/input.h.orig 2012-12-05 10:18:56.000000000 +0100 ++++ freebsd/include/linux/input.h 2012-12-05 10:22:11.228350200 +0100 +@@ -8,13 +8,49 @@ + #ifndef _UAPI_INPUT_H + #define _UAPI_INPUT_H + +- + #ifndef __KERNEL__ +#include <stdint.h> #include <sys/time.h> #include <sys/ioctl.h> @@ -47,5 +49,5 @@ #endif +#endif + /* - * The event structure itself diff --git a/contrib/freebsd/patches/series b/contrib/freebsd/patches/series index 991accf..a78be3e 100644 --- a/contrib/freebsd/patches/series +++ b/contrib/freebsd/patches/series @@ -1,4 +1,5 @@ input-header.diff +uinput-header.diff ivtv-header.diff videodev2-header.diff dvb-audio-header.diff diff --git a/contrib/freebsd/patches/uinput-header.diff b/contrib/freebsd/patches/uinput-header.diff new file mode 100644 index 0000000..a92f7d5 --- /dev/null +++ b/contrib/freebsd/patches/uinput-header.diff @@ -0,0 +1,10 @@ +--- freebsd/include/linux/uinput.h.orig 2012-12-05 10:38:23.417354136 +0100 ++++ freebsd/include/linux/uinput.h 2012-12-05 10:38:27.832358799 +0100 +@@ -32,7 +32,6 @@ + #ifndef _UAPI__UINPUT_H_ + #define _UAPI__UINPUT_H_ + +-#include <linux/types.h> + #include <linux/input.h> + + #define UINPUT_VERSION 3 diff --git a/contrib/freebsd/patches/videodev2-header.diff b/contrib/freebsd/patches/videodev2-header.diff index 8e43677..f440e65 100644 --- a/contrib/freebsd/patches/videodev2-header.diff +++ b/contrib/freebsd/patches/videodev2-header.diff @@ -1,12 +1,9 @@ ---- a/include/linux/videodev2.h -+++ b/include/linux/videodev2.h -@@ -56,14 +56,40 @@ - #ifndef __LINUX_VIDEODEV2_H - #define __LINUX_VIDEODEV2_H +--- freebsd/include/linux/videodev2.h.orig 2012-12-05 10:23:08.000000000 +0100 ++++ freebsd/include/linux/videodev2.h 2012-12-05 10:25:46.864570965 +0100 +@@ -57,11 +57,45 @@ + #define _UAPI__LINUX_VIDEODEV2_H --#ifdef __KERNEL__ --#include <linux/time.h> /* need struct timeval */ --#else + #ifndef __KERNEL__ +#include <stdint.h> #include <sys/time.h> +#include <sys/types.h> @@ -30,9 +27,6 @@ +#ifndef __s64 +typedef int64_t __s64; #endif --#include <linux/compiler.h> --#include <linux/ioctl.h> --#include <linux/types.h> +#ifndef __s32 +typedef int32_t __s32; +#endif @@ -44,6 +38,11 @@ +#endif +#endif + ++#else + #include <linux/compiler.h> + #include <linux/ioctl.h> + #include <linux/types.h> ++#endif #include <linux/v4l2-common.h> #include <linux/v4l2-controls.h> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 873adbe..3cf3e94 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -53,12 +53,10 @@ * Hans Verkuil <hverk...@xs4all.nl> * et al. */ -#ifndef __LINUX_VIDEODEV2_H -#define __LINUX_VIDEODEV2_H +#ifndef _UAPI__LINUX_VIDEODEV2_H +#define _UAPI__LINUX_VIDEODEV2_H -#ifdef __KERNEL__ -#include <linux/time.h> /* need struct timeval */ -#else +#ifndef __KERNEL__ #include <sys/time.h> #endif #include <linux/compiler.h> @@ -188,6 +186,7 @@ enum v4l2_memory { V4L2_MEMORY_MMAP = 1, V4L2_MEMORY_USERPTR = 2, V4L2_MEMORY_OVERLAY = 3, + V4L2_MEMORY_DMABUF = 4, }; /* see also http://vektor.theorem.ca/graphics/ycbcr/ */ @@ -604,6 +603,8 @@ struct v4l2_requestbuffers { * should be passed to mmap() called on the video node) * @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer * pointing to this plane + * @fd: when memory is V4L2_MEMORY_DMABUF, a userspace file + * descriptor associated with this plane * @data_offset: offset in the plane to the start of data; usually 0, * unless there is a header in front of the data * @@ -618,6 +619,7 @@ struct v4l2_plane { union { __u32 mem_offset; unsigned long userptr; + __s32 fd; } m; __u32 data_offset; __u32 reserved[11]; @@ -642,6 +644,8 @@ struct v4l2_plane { * (or a "cookie" that should be passed to mmap() as offset) * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR; * a userspace pointer pointing to this buffer + * @fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF; + * a userspace file descriptor associated with this buffer * @planes: for multiplanar buffers; userspace pointer to the array of plane * info structs for this buffer * @length: size in bytes of the buffer (NOT its payload) for single-plane @@ -668,6 +672,7 @@ struct v4l2_buffer { __u32 offset; unsigned long userptr; struct v4l2_plane *planes; + __s32 fd; } m; __u32 length; __u32 reserved2; @@ -689,6 +694,33 @@ struct v4l2_buffer { #define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800 #define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000 +/** + * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor + * + * @index: id number of the buffer + * @type: enum v4l2_buf_type; buffer type (type == *_MPLANE for + * multiplanar buffers); + * @plane: index of the plane to be exported, 0 for single plane queues + * @flags: flags for newly created file, currently only O_CLOEXEC is + * supported, refer to manual of open syscall for more details + * @fd: file descriptor associated with DMABUF (set by driver) + * + * Contains data used for exporting a video buffer as DMABUF file descriptor. + * The buffer is identified by a 'cookie' returned by VIDIOC_QUERYBUF + * (identical to the cookie used to mmap() the buffer to userspace). All + * reserved fields must be set to zero. The field reserved0 is expected to + * become a structure 'type' allowing an alternative layout of the structure + * content. Therefore this field should not be used for any other extensions. + */ +struct v4l2_exportbuffer { + __u32 type; /* enum v4l2_buf_type */ + __u32 index; + __u32 plane; + __u32 flags; + __s32 fd; + __u32 reserved[11]; +}; + /* * O V E R L A Y P R E V I E W */ @@ -739,7 +771,7 @@ struct v4l2_window { struct v4l2_captureparm { __u32 capability; /* Supported modes */ __u32 capturemode; /* Current mode */ - struct v4l2_fract timeperframe; /* Time per frame in .1us units */ + struct v4l2_fract timeperframe; /* Time per frame in seconds */ __u32 extendedmode; /* Driver-specific extensions */ __u32 readbuffers; /* # of buffers for read */ __u32 reserved[4]; @@ -1890,6 +1922,7 @@ struct v4l2_create_buffers { #define VIDIOC_S_FBUF _IOW('V', 11, struct v4l2_framebuffer) #define VIDIOC_OVERLAY _IOW('V', 14, int) #define VIDIOC_QBUF _IOWR('V', 15, struct v4l2_buffer) +#define VIDIOC_EXPBUF _IOWR('V', 16, struct v4l2_exportbuffer) #define VIDIOC_DQBUF _IOWR('V', 17, struct v4l2_buffer) #define VIDIOC_STREAMON _IOW('V', 18, int) #define VIDIOC_STREAMOFF _IOW('V', 19, int) @@ -1997,4 +2030,4 @@ struct v4l2_create_buffers { #define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */ -#endif /* __LINUX_VIDEODEV2_H */ +#endif /* _UAPI__LINUX_VIDEODEV2_H */ diff --git a/lib/libdvbv5/gen_dvb_structs.pl b/lib/libdvbv5/gen_dvb_structs.pl index 8962d41..80e2642 100755 --- a/lib/libdvbv5/gen_dvb_structs.pl +++ b/lib/libdvbv5/gen_dvb_structs.pl @@ -468,7 +468,7 @@ sub output_arrays($$$$$) } } -my $fe_file = "$dir/linux/dvb/frontend.h"; +my $fe_file = "$dir/uapi/linux/dvb/frontend.h"; copy $fe_file, "../include/dvb-frontend.h"; diff --git a/utils/keytable/Makefile.am b/utils/keytable/Makefile.am index 886d800..d1ebc80 100644 --- a/utils/keytable/Makefile.am +++ b/utils/keytable/Makefile.am @@ -14,7 +14,7 @@ install-data-local: $(install_sh) -d "$(DESTDIR)$(keytableuserdir)" sync-with-kernel: - @if [ ! -f $(KERNEL_DIR)/include/linux/input.h ]; then \ + @if [ ! -f $(KERNEL_DIR)/include/uapi/linux/input.h ]; then \ echo "Error you must set KERNEL_DIR to point to an extracted kernel source dir"; \ exit 1; \ fi @@ -22,7 +22,7 @@ sync-with-kernel: @printf "struct parse_key {\n\tchar *name;\n\tunsigned int value;\n} " > $(srcdir)/parse.h @printf "keynames[] = {\n" >> $(srcdir)/parse.h - @more $(KERNEL_DIR)/include/linux/input.h | perl -n \ + @more $(KERNEL_DIR)/include/uapi/linux/input.h | perl -n \ -e 'if (m/^\#define\s+(KEY_[^\s]+)\s+(0x[\d\w]+|[\d]+)/) ' \ -e '{ printf "\t{\"%s\", %s},\n",$$1,$$2; }' \ -e 'if (m/^\#define\s+(BTN_[^\s]+)\s+(0x[\d\w]+|[\d]+)/) ' \ diff --git a/utils/keytable/rc_keymaps/imon_mce b/utils/keytable/rc_keymaps/imon_mce index 00dbde0..a2d1f1f 100644 --- a/utils/keytable/rc_keymaps/imon_mce +++ b/utils/keytable/rc_keymaps/imon_mce @@ -1,4 +1,4 @@ -# table imon_mce, type: RC6 +# table imon_mce, type: RC6_MCE 0x800ff415 KEY_REWIND 0x800ff414 KEY_FASTFORWARD 0x800ff41b KEY_PREVIOUS diff --git a/utils/keytable/rc_keymaps/rc6_mce b/utils/keytable/rc_keymaps/rc6_mce index 0ef6f43..ed56d93 100644 --- a/utils/keytable/rc_keymaps/rc6_mce +++ b/utils/keytable/rc_keymaps/rc6_mce @@ -1,4 +1,4 @@ -# table rc6_mce, type: RC6 +# table rc6_mce, type: RC6_MCE 0x800f0400 KEY_NUMERIC_0 0x800f0401 KEY_NUMERIC_1 0x800f0402 KEY_NUMERIC_2 diff --git a/utils/keytable/rc_maps.cfg b/utils/keytable/rc_maps.cfg index 567b8e0..89ba3f2 100644 --- a/utils/keytable/rc_maps.cfg +++ b/utils/keytable/rc_maps.cfg @@ -30,103 +30,103 @@ # devices supported by the linux kernel #driver table file -* rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs -* rc-purpletv purpletv -* rc-gotview7135 gotview7135 -* rc-apac-viewcomp apac_viewcomp -* rc-pinnacle-color pinnacle_color -* rc-avermedia-cardbus avermedia_cardbus +* rc-terratec-slim-2 terratec_slim_2 +* rc-adstech-dvb-t-pci adstech_dvb_t_pci +* rc-ati-tv-wonder-hd-600 ati_tv_wonder_hd_600 +* rc-behold-columbus behold_columbus +* rc-encore-enltv2 encore_enltv2 +* rc-tt-1500 tt_1500 +* rc-tevii-nec tevii_nec +* rc-eztv eztv +* rc-iodata-bctv7e iodata_bctv7e +* rc-pctv-sedna pctv_sedna * rc-pinnacle-pctv-hd pinnacle_pctv_hd -* rc-kworld-plus-tv-analog kworld_plus_tv_analog -* rc-azurewave-ad-tu700 azurewave_ad_tu700 +* rc-hauppauge hauppauge +* rc-rc6-mce rc6_mce +* rc-cinergy-1400 cinergy_1400 * rc-digitalnow-tinytwin digitalnow_tinytwin -* rc-fusionhdtv-mce fusionhdtv_mce -* rc-pixelview-new pixelview_new -* rc-genius-tvgo-a11mce genius_tvgo_a11mce -* rc-dm1105-nec dm1105_nec -* rc-lme2510 lme2510 +* rc-it913x-v2 it913x_v2 +* rc-budget-ci-old budget_ci_old * rc-encore-enltv encore_enltv -* rc-winfast-usbii-deluxe winfast_usbii_deluxe +* rc-pixelview-new pixelview_new +* rc-leadtek-y04g0051 leadtek_y04g0051 +* rc-kaiomy kaiomy +* rc-digittrade digittrade +* rc-videomate-k100 videomate_k100 +* rc-msi-tvanywhere-plus msi_tvanywhere_plus +* rc-avermedia-rm-ks avermedia_rm_ks * rc-anysee anysee -* rc-rc6-mce rc6_mce -* rc-adstech-dvb-t-pci adstech_dvb_t_pci -* rc-kworld-pc150u kworld_pc150u -* rc-iodata-bctv7e iodata_bctv7e -* rc-msi-digivox-iii msi_digivox_iii * rc-medion-x10-digitainer medion_x10_digitainer * rc-avermedia-m733a-rm-k6 avermedia_m733a_rm_k6 -* rc-behold behold -* rc-technisat-usb2 technisat_usb2 -* rc-tt-1500 tt_1500 -* rc-pctv-sedna pctv_sedna -* rc-nebula nebula -* rc-pv951 pv951 -* rc-budget-ci-old budget_ci_old -* rc-terratec-slim-2 terratec_slim_2 -* rc-medion-x10 medion_x10 -* rc-pinnacle-grey pinnacle_grey -* rc-tbs-nec tbs_nec -* rc-avermedia avermedia -* rc-medion-x10-or2x medion_x10_or2x -* rc-dib0700-rc5 dib0700_rc5 -* rc-dntv-live-dvb-t dntv_live_dvb_t -* rc-tevii-nec tevii_nec -* rc-cinergy cinergy -* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro -* rc-norwood norwood -* rc-msi-digivox-ii msi_digivox_ii -* rc-asus-pc39 asus_pc39 -* rc-npgtech npgtech -* rc-powercolor-real-angel powercolor_real_angel -* rc-streamzap streamzap -* rc-twinhan1027 twinhan_vp1027_dvbs -* rc-ati-x10 ati_x10 +* rc-proteus-2309 proteus_2309 +* rc-fusionhdtv-mce fusionhdtv_mce * rc-kworld-315u kworld_315u -* rc-eztv eztv -* rc-ati-tv-wonder-hd-600 ati_tv_wonder_hd_600 -* rc-alink-dtu-m alink_dtu_m +* rc-dntv-live-dvb-t dntv_live_dvb_t * rc-pixelview pixelview -* rc-msi-tvanywhere msi_tvanywhere -* rc-videomate-k100 videomate_k100 -* rc-trekstor trekstor +* rc-nebula nebula * rc-avertv-303 avertv_303 -* rc-videomate-s350 videomate_s350 -* rc-em-terratec em_terratec -* rc-videomate-tv-pvr videomate_tv_pvr -* rc-dib0700-nec dib0700_nec -* rc-flydvb flydvb -* rc-behold-columbus behold_columbus -* rc-real-audio-220-32-keys real_audio_220_32_keys * rc-imon-pad imon_pad -* rc-encore-enltv-fm53 encore_enltv_fm53 -* rc-it913x-v2 it913x_v2 * rc-avermedia-dvbt avermedia_dvbt -* rc-kaiomy kaiomy -* rc-manli manli +* rc-gotview7135 gotview7135 +* rc-flydvb flydvb +* rc-avermedia avermedia +* rc-pinnacle-grey pinnacle_grey +* rc-purpletv purpletv +* rc-behold behold +* rc-dib0700-nec dib0700_nec +* rc-msi-digivox-iii msi_digivox_iii +* rc-kworld-pc150u kworld_pc150u * rc-flyvideo flyvideo -* rc-hauppauge hauppauge -* rc-leadtek-y04g0051 leadtek_y04g0051 -* rc-gadmei-rm008z gadmei_rm008z -* rc-evga-indtube evga_indtube -* rc-msi-tvanywhere-plus msi_tvanywhere_plus -* rc-tivo tivo -* rc-total-media-in-hand total_media_in_hand -* rc-avermedia-m135a avermedia_m135a -* rc-asus-ps3-100 asus_ps3_100 -* rc-snapstream-firefly snapstream_firefly -* rc-encore-enltv2 encore_enltv2 -* rc-terratec-cinergy-xs terratec_cinergy_xs -* rc-pixelview-002t pixelview_002t -* rc-pixelview-mk12 pixelview_mk12 -* rc-imon-mce imon_mce -* rc-cinergy-1400 cinergy_1400 -* rc-proteus-2309 proteus_2309 -* rc-digittrade digittrade -* rc-it913x-v1 it913x_v1 +* rc-alink-dtu-m alink_dtu_m * rc-avermedia-a16d avermedia_a16d -* rc-avermedia-rm-ks avermedia_rm_ks * rc-terratec-slim terratec_slim +* rc-genius-tvgo-a11mce genius_tvgo_a11mce +* rc-winfast-usbii-deluxe winfast_usbii_deluxe +* rc-pixelview-mk12 pixelview_mk12 +* rc-streamzap streamzap +* rc-ati-x10 ati_x10 +* rc-technisat-usb2 technisat_usb2 +* rc-it913x-v1 it913x_v1 +* rc-terratec-cinergy-xs terratec_cinergy_xs +* rc-avermedia-m135a avermedia_m135a +* rc-tivo tivo +* rc-norwood norwood +* rc-imon-mce imon_mce +* rc-asus-pc39 asus_pc39 +* rc-videomate-tv-pvr videomate_tv_pvr +* rc-dib0700-rc5 dib0700_rc5 +* rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs +* rc-pixelview-002t pixelview_002t +* rc-em-terratec em_terratec +* rc-apac-viewcomp apac_viewcomp +* rc-lme2510 lme2510 +* rc-encore-enltv-fm53 encore_enltv_fm53 +* rc-kworld-plus-tv-analog kworld_plus_tv_analog +* rc-twinhan1027 twinhan_vp1027_dvbs +* rc-pv951 pv951 +* rc-gadmei-rm008z gadmei_rm008z +* rc-asus-ps3-100 asus_ps3_100 +* rc-msi-tvanywhere msi_tvanywhere +* rc-manli manli +* rc-cinergy cinergy +* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro +* rc-avermedia-cardbus avermedia_cardbus +* rc-azurewave-ad-tu700 azurewave_ad_tu700 +* rc-dm1105-nec dm1105_nec * rc-winfast winfast +* rc-videomate-s350 videomate_s350 +* rc-npgtech npgtech +* rc-powercolor-real-angel powercolor_real_angel +* rc-total-media-in-hand total_media_in_hand +* rc-msi-digivox-ii msi_digivox_ii +* rc-pinnacle-color pinnacle_color +* rc-real-audio-220-32-keys real_audio_220_32_keys +* rc-medion-x10 medion_x10 +* rc-snapstream-firefly snapstream_firefly +* rc-evga-indtube evga_indtube +* rc-tbs-nec tbs_nec +* rc-medion-x10-or2x medion_x10_or2x +* rc-trekstor trekstor # * * a800 # found in a800.c # * * af9005 # found in af9005-remote.c # * * cinergyt2 # found in cinergyT2-core.c _______________________________________________ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits