rpms/kernel/devel lirc-2.6.33.patch, NONE, 1.1 config-generic, 1.345, 1.346 kernel.spec, 1.1890, 1.1891 lirc-2.6.32.patch, 1.1, NONE
Jarod Wilson
jwilson at fedoraproject.org
Tue Jan 12 21:14:29 UTC 2010
Author: jwilson
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15580
Modified Files:
config-generic kernel.spec
Added Files:
lirc-2.6.33.patch
Removed Files:
lirc-2.6.32.patch
Log Message:
* Tue Jan 12 2010 Jarod Wilson <jarod at redhat.com>
- Update lirc patch for 2.6.33 kfifo changes
- Add Broadcom Crystal HD video decoder driver from staging
lirc-2.6.33.patch:
drivers/input/Kconfig | 2
drivers/input/Makefile | 2
drivers/input/lirc/Kconfig | 116 +
drivers/input/lirc/Makefile | 21
drivers/input/lirc/lirc_bt829.c | 383 +++++
drivers/input/lirc/lirc_dev.c | 736 ++++++++++
drivers/input/lirc/lirc_dev.h | 225 +++
drivers/input/lirc/lirc_ene0100.c | 646 +++++++++
drivers/input/lirc/lirc_ene0100.h | 169 ++
drivers/input/lirc/lirc_i2c.c | 536 +++++++
drivers/input/lirc/lirc_igorplugusb.c | 556 +++++++
drivers/input/lirc/lirc_imon.c | 1054 ++++++++++++++
drivers/input/lirc/lirc_it87.c | 991 +++++++++++++
drivers/input/lirc/lirc_it87.h | 116 +
drivers/input/lirc/lirc_ite8709.c | 540 +++++++
drivers/input/lirc/lirc_mceusb.c | 1222 +++++++++++++++++
drivers/input/lirc/lirc_parallel.c | 709 +++++++++
drivers/input/lirc/lirc_parallel.h | 26
drivers/input/lirc/lirc_sasem.c | 931 +++++++++++++
drivers/input/lirc/lirc_serial.c | 1317 ++++++++++++++++++
drivers/input/lirc/lirc_sir.c | 1283 +++++++++++++++++
drivers/input/lirc/lirc_streamzap.c | 794 +++++++++++
drivers/input/lirc/lirc_ttusbir.c | 397 +++++
drivers/input/lirc/lirc_zilog.c | 1396 +++++++++++++++++++
drivers/input/misc/Kconfig | 12
drivers/input/misc/Makefile | 1
drivers/input/misc/imon.c | 2430 ++++++++++++++++++++++++++++++++++
include/linux/lirc.h | 94 +
28 files changed, 16705 insertions(+)
--- NEW FILE lirc-2.6.33.patch ---
include/linux/lirc.h | 94 ++
drivers/input/Kconfig | 2 +
drivers/input/Makefile | 2 +
drivers/input/lirc/Kconfig | 116 ++
drivers/input/lirc/Makefile | 21 +
drivers/input/lirc/lirc_bt829.c | 383 ++++++
drivers/input/lirc/lirc_dev.c | 736 ++++++++++
drivers/input/lirc/lirc_dev.h | 225 +++
drivers/input/lirc/lirc_ene0100.c | 646 +++++++++
drivers/input/lirc/lirc_ene0100.h | 169 +++
drivers/input/lirc/lirc_i2c.c | 536 ++++++++
drivers/input/lirc/lirc_igorplugusb.c | 556 ++++++++
drivers/input/lirc/lirc_imon.c | 1054 ++++++++++++++
drivers/input/lirc/lirc_it87.c | 991 ++++++++++++++
drivers/input/lirc/lirc_it87.h | 116 ++
drivers/input/lirc/lirc_ite8709.c | 540 ++++++++
drivers/input/lirc/lirc_mceusb.c | 1222 +++++++++++++++++
drivers/input/lirc/lirc_parallel.c | 709 ++++++++++
drivers/input/lirc/lirc_parallel.h | 26 +
drivers/input/lirc/lirc_sasem.c | 931 +++++++++++++
drivers/input/lirc/lirc_serial.c | 1317 ++++++++++++++++++
drivers/input/lirc/lirc_sir.c | 1283 +++++++++++++++++
drivers/input/lirc/lirc_streamzap.c | 794 +++++++++++
drivers/input/lirc/lirc_ttusbir.c | 397 ++++++
drivers/input/lirc/lirc_zilog.c | 1396 +++++++++++++++++++
drivers/input/misc/Kconfig | 12 +
drivers/input/misc/Makefile | 1 +
drivers/input/misc/imon.c | 2430 +++++++++++++++++++++++++++++++++
28 files changed, 16705 insertions(+), 0 deletions(-)
diff --git a/include/linux/lirc.h b/include/linux/lirc.h
new file mode 100644
index 0000000..8ae64fa
--- /dev/null
+++ b/include/linux/lirc.h
@@ -0,0 +1,94 @@
+/*
+ * lirc.h - linux infrared remote control header file
+ * last modified 2007/09/27
+ */
+
+#ifndef _LINUX_LIRC_H
+#define _LINUX_LIRC_H
+
+#include <linux/types.h>
+#include <linux/ioctl.h>
+
+#define PULSE_BIT 0x01000000
+#define PULSE_MASK 0x00FFFFFF
+
+/*** lirc compatible hardware features ***/
+
+#define LIRC_MODE2SEND(x) (x)
+#define LIRC_SEND2MODE(x) (x)
+#define LIRC_MODE2REC(x) ((x) << 16)
+#define LIRC_REC2MODE(x) ((x) >> 16)
+
+#define LIRC_MODE_RAW 0x00000001
+#define LIRC_MODE_PULSE 0x00000002
+#define LIRC_MODE_MODE2 0x00000004
+#define LIRC_MODE_LIRCCODE 0x00000010
+
+
+#define LIRC_CAN_SEND_RAW LIRC_MODE2SEND(LIRC_MODE_RAW)
+#define LIRC_CAN_SEND_PULSE LIRC_MODE2SEND(LIRC_MODE_PULSE)
+#define LIRC_CAN_SEND_MODE2 LIRC_MODE2SEND(LIRC_MODE_MODE2)
+#define LIRC_CAN_SEND_LIRCCODE LIRC_MODE2SEND(LIRC_MODE_LIRCCODE)
+
+#define LIRC_CAN_SEND_MASK 0x0000003f
+
+#define LIRC_CAN_SET_SEND_CARRIER 0x00000100
+#define LIRC_CAN_SET_SEND_DUTY_CYCLE 0x00000200
+#define LIRC_CAN_SET_TRANSMITTER_MASK 0x00000400
+
+#define LIRC_CAN_REC_RAW LIRC_MODE2REC(LIRC_MODE_RAW)
+#define LIRC_CAN_REC_PULSE LIRC_MODE2REC(LIRC_MODE_PULSE)
+#define LIRC_CAN_REC_MODE2 LIRC_MODE2REC(LIRC_MODE_MODE2)
+#define LIRC_CAN_REC_LIRCCODE LIRC_MODE2REC(LIRC_MODE_LIRCCODE)
+
+#define LIRC_CAN_REC_MASK LIRC_MODE2REC(LIRC_CAN_SEND_MASK)
+
+#define LIRC_CAN_SET_REC_CARRIER (LIRC_CAN_SET_SEND_CARRIER << 16)
+#define LIRC_CAN_SET_REC_DUTY_CYCLE (LIRC_CAN_SET_SEND_DUTY_CYCLE << 16)
+
+#define LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE 0x40000000
+#define LIRC_CAN_SET_REC_CARRIER_RANGE 0x80000000
+#define LIRC_CAN_GET_REC_RESOLUTION 0x20000000
+
+#define LIRC_CAN_SEND(x) ((x)&LIRC_CAN_SEND_MASK)
+#define LIRC_CAN_REC(x) ((x)&LIRC_CAN_REC_MASK)
+
+#define LIRC_CAN_NOTIFY_DECODE 0x01000000
+
+/*** IOCTL commands for lirc driver ***/
+
+#define LIRC_GET_FEATURES _IOR('i', 0x00000000, uint64_t)
+
+#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, uint64_t)
+#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, uint64_t)
+#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, uint32_t)
+#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, uint32_t)
+#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, uint32_t)
+#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, uint32_t)
+#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, uint32_t)
+
+/* code length in bits, currently only for LIRC_MODE_LIRCCODE */
+#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, uint64_t)
+
+#define LIRC_SET_SEND_MODE _IOW('i', 0x00000011, uint64_t)
+#define LIRC_SET_REC_MODE _IOW('i', 0x00000012, uint64_t)
+/* Note: these can reset the according pulse_width */
+#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, uint32_t)
+#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, uint32_t)
+#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, uint32_t)
+#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, uint32_t)
+#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, uint32_t)
+
+/*
+ * to set a range use
+ * LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE with the
+ * lower bound first and later
+ * LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound
+ */
+
+#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, uint32_t)
+#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, uint32_t)
+
+#define LIRC_NOTIFY_DECODE _IO('i', 0x00000020)
+
+#endif
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
index 07c2cd4..ebc8743 100644
--- a/drivers/input/Kconfig
+++ b/drivers/input/Kconfig
@@ -183,6 +183,8 @@ source "drivers/input/tablet/Kconfig"
source "drivers/input/touchscreen/Kconfig"
+source "drivers/input/lirc/Kconfig"
+
source "drivers/input/misc/Kconfig"
endif
diff --git a/drivers/input/Makefile b/drivers/input/Makefile
index 7ad212d..cb119e7 100644
--- a/drivers/input/Makefile
+++ b/drivers/input/Makefile
@@ -26,3 +26,5 @@ obj-$(CONFIG_INPUT_MISC) += misc/
obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o
obj-$(CONFIG_XEN_KBDDEV_FRONTEND) += xen-kbdfront.o
+
+obj-$(CONFIG_INPUT_LIRC) += lirc/
diff --git a/drivers/input/lirc/Kconfig b/drivers/input/lirc/Kconfig
new file mode 100644
index 0000000..86fc063
--- /dev/null
+++ b/drivers/input/lirc/Kconfig
@@ -0,0 +1,116 @@
+#
+# LIRC driver(s) configuration
+#
+menuconfig INPUT_LIRC
+ tristate "Linux Infrared Remote Control IR receiver/transmitter drivers"
+ help
+ Say Y here, and all supported Linux Infrared Remote Control IR and
+ RF receiver and transmitter drivers will be displayed. When paired
+ with a remote control and the lirc daemon, the receiver drivers
+ allow control of your Linux system via remote control.
+
+if INPUT_LIRC
+
+config LIRC_BT829
+ tristate "BT829 based hardware"
+ depends on INPUT_LIRC
+ help
+ Driver for the IR interface on BT829-based hardware
+
+config LIRC_ENE0100
+ tristate "ENE KB3924/ENE0100 CIR Port Reciever"
+ depends on INPUT_LIRC
+ help
+ This is a driver for CIR port handled by ENE KB3924 embedded
+ controller found on some notebooks.
+ It appears on PNP list as ENE0100.
+
+config LIRC_I2C
+ tristate "I2C Based IR Receivers"
+ depends on INPUT_LIRC
+ help
+ Driver for I2C-based IR receivers, such as those commonly
+ found onboard Hauppauge PVR-150/250/350 video capture cards
+
+config LIRC_IGORPLUGUSB
+ tristate "Igor Cesko's USB IR Receiver"
+ depends on INPUT_LIRC && USB
+ help
+ Driver for Igor Cesko's USB IR Receiver
+
[...16519 lines suppressed...]
+ product = le16_to_cpu(usbdev->descriptor.idProduct);
+
+ dev_dbg(dev, "%s: found iMON device (%04x:%04x, intf%d)\n",
+ __func__, vendor, product, ifnum);
+
+ /* prevent races probing devices w/multiple interfaces */
+ mutex_lock(&driver_lock);
+
+ first_if = usb_ifnum_to_if(usbdev, 0);
+ first_if_ctx = (struct imon_context *)usb_get_intfdata(first_if);
+
+
+ if (ifnum == 0) {
+ ictx = imon_init_intf0(interface);
+ if (!ictx) {
+ err("%s: failed to initialize context!\n", __func__);
+ ret = -ENODEV;
+ goto fail;
+ }
+
+ imon_set_display_type(ictx, interface);
+
+ if (ictx->display_supported)
+ imon_init_display(ictx, interface);
+
+ if (product == 0xffdc) {
+ /* RF products *also* use 0xffdc... sigh... */
+ sysfs_err = sysfs_create_group(&interface->dev.kobj,
+ &imon_rf_attribute_group);
+ if (sysfs_err)
+ err("%s: Could not create RF sysfs entries(%d)",
+ __func__, sysfs_err);
+ }
+
+ } else {
+ /* this is the secondary interface on the device */
+ ictx = imon_init_intf1(interface, first_if_ctx);
+ if (!ictx) {
+ err("%s: failed to attach to context!\n", __func__);
+ ret = -ENODEV;
+ goto fail;
+ }
+
+ }
+
+ usb_set_intfdata(interface, ictx);
+
+ /* set IR protocol/remote type */
+ imon_set_ir_protocol(ictx);
+
+ dev_info(dev, "iMON device (%04x:%04x, intf%d) on "
+ "usb<%d:%d> initialized\n", vendor, product, ifnum,
+ usbdev->bus->busnum, usbdev->devnum);
+
+ mutex_unlock(&ictx->lock);
+ mutex_unlock(&driver_lock);
+
+ return 0;
+
+fail:
+ mutex_unlock(&driver_lock);
+ dev_err(dev, "unable to register, err %d\n", ret);
+
+ return ret;
+}
+
+/**
+ * Callback function for USB core API: disconnect
+ */
+static void __devexit imon_disconnect(struct usb_interface *interface)
+{
+ struct imon_context *ictx;
+ struct device *dev;
+ int ifnum;
+
+ /* prevent races with multi-interface device probing and display_open */
+ mutex_lock(&driver_lock);
+
+ ictx = usb_get_intfdata(interface);
+ dev = ictx->dev;
+ ifnum = interface->cur_altsetting->desc.bInterfaceNumber;
+
+ mutex_lock(&ictx->lock);
+
+ /*
+ * sysfs_remove_group is safe to call even if sysfs_create_group
+ * hasn't been called
+ */
+ sysfs_remove_group(&interface->dev.kobj,
+ &imon_display_attribute_group);
+ sysfs_remove_group(&interface->dev.kobj,
+ &imon_rf_attribute_group);
+
+ usb_set_intfdata(interface, NULL);
+
+ /* Abort ongoing write */
+ if (ictx->tx.busy) {
+ usb_kill_urb(ictx->tx_urb);
+ complete_all(&ictx->tx.finished);
+ }
+
+ if (ifnum == 0) {
+ ictx->dev_present_intf0 = 0;
+ usb_kill_urb(ictx->rx_urb_intf0);
+ sparse_keymap_free(ictx->idev);
+ input_unregister_device(ictx->idev);
+ if (ictx->display_supported) {
+ if (ictx->display_type == IMON_DISPLAY_TYPE_LCD)
+ usb_deregister_dev(interface, &imon_lcd_class);
+ else
+ usb_deregister_dev(interface, &imon_vfd_class);
+ }
+ } else {
+ ictx->dev_present_intf1 = 0;
+ usb_kill_urb(ictx->rx_urb_intf1);
+ if (ictx->display_type == IMON_DISPLAY_TYPE_VGA)
+ input_unregister_device(ictx->touch);
+ }
+
+ if (!ictx->dev_present_intf0 && !ictx->dev_present_intf1) {
+ if (ictx->display_type == IMON_DISPLAY_TYPE_VGA)
+ del_timer_sync(&ictx->ttimer);
+ mutex_unlock(&ictx->lock);
+ if (!ictx->display_isopen)
+ free_imon_context(ictx);
+ } else {
+ if (ictx->ir_protocol == IMON_IR_PROTOCOL_MCE)
+ del_timer_sync(&ictx->itimer);
+ mutex_unlock(&ictx->lock);
+ }
+
+ mutex_unlock(&driver_lock);
+
+ dev_dbg(dev, "%s: iMON device (intf%d) disconnected\n",
+ __func__, ifnum);
+}
+
+static int imon_suspend(struct usb_interface *intf, pm_message_t message)
+{
+ struct imon_context *ictx = usb_get_intfdata(intf);
+ int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
+
+ if (ifnum == 0)
+ usb_kill_urb(ictx->rx_urb_intf0);
+ else
+ usb_kill_urb(ictx->rx_urb_intf1);
+
+ return 0;
+}
+
+static int imon_resume(struct usb_interface *intf)
+{
+ int rc = 0;
+ struct imon_context *ictx = usb_get_intfdata(intf);
+ int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
+
+ if (ifnum == 0) {
+ usb_fill_int_urb(ictx->rx_urb_intf0, ictx->usbdev_intf0,
+ usb_rcvintpipe(ictx->usbdev_intf0,
+ ictx->rx_endpoint_intf0->bEndpointAddress),
+ ictx->usb_rx_buf, sizeof(ictx->usb_rx_buf),
+ usb_rx_callback_intf0, ictx,
+ ictx->rx_endpoint_intf0->bInterval);
+
+ rc = usb_submit_urb(ictx->rx_urb_intf0, GFP_ATOMIC);
+
+ } else {
+ usb_fill_int_urb(ictx->rx_urb_intf1, ictx->usbdev_intf1,
+ usb_rcvintpipe(ictx->usbdev_intf1,
+ ictx->rx_endpoint_intf1->bEndpointAddress),
+ ictx->usb_rx_buf, sizeof(ictx->usb_rx_buf),
+ usb_rx_callback_intf1, ictx,
+ ictx->rx_endpoint_intf1->bInterval);
+
+ rc = usb_submit_urb(ictx->rx_urb_intf1, GFP_ATOMIC);
+ }
+
+ return rc;
+}
+
+static int __init imon_init(void)
+{
+ int rc;
+
+ rc = usb_register(&imon_driver);
+ if (rc) {
+ err("%s: usb register failed(%d)", __func__, rc);
+ rc = -ENODEV;
+ }
+
+ return rc;
+}
+
+static void __exit imon_exit(void)
+{
+ usb_deregister(&imon_driver);
+}
+
+module_init(imon_init);
+module_exit(imon_exit);
Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.345
retrieving revision 1.346
diff -u -p -r1.345 -r1.346
--- config-generic 11 Jan 2010 19:38:43 -0000 1.345
+++ config-generic 12 Jan 2010 21:14:28 -0000 1.346
@@ -2526,6 +2526,11 @@ CONFIG_VIDEO_PVRUSB2_SYSFS=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
#
+# Broadcom Crystal HD video decoder driver
+#
+CONFIG_CRYSTALHD=m
+
+#
# Graphics support
#
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1890
retrieving revision 1.1891
diff -u -p -r1.1890 -r1.1891
--- kernel.spec 11 Jan 2010 22:26:43 -0000 1.1890
+++ kernel.spec 12 Jan 2010 21:14:28 -0000 1.1891
@@ -670,8 +670,9 @@ Patch701: linux-2.6.31-modules-ro-nx.pat
Patch800: linux-2.6-crash-driver.patch
-Patch1515: lirc-2.6.32.patch
+Patch1515: lirc-2.6.33.patch
Patch1517: hdpvr-ir-enable.patch
+Patch1520: crystalhd-2.6.34-staging.patch
# virt + ksm patches
Patch1551: linux-2.6-ksm-kvm.patch
@@ -1274,9 +1275,11 @@ ApplyPatch linux-2.6-ata-quirk.patch
ApplyPatch linux-2.6-crash-driver.patch
# http://www.lirc.org/
-#ApplyPatch lirc-2.6.32.patch
+ApplyPatch lirc-2.6.33.patch
# enable IR receiver on Hauppauge HD PVR (v4l-dvb merge pending)
ApplyPatch hdpvr-ir-enable.patch
+# Broadcom Crystal HD video decoder
+ApplyPatch crystalhd-2.6.34-staging.patch
# Add kernel KSM support
# Optimize KVM for KSM support
@@ -1973,6 +1976,10 @@ fi
# and build.
%changelog
+* Tue Jan 12 2010 Jarod Wilson <jarod at redhat.com>
+- Update lirc patch for 2.6.33 kfifo changes
+- Add Broadcom Crystal HD video decoder driver from staging
+
* Mon Jan 11 2010 Kyle McMartin <kyle at redhat.com>
- include/asm is gone, kludge it for now.
--- lirc-2.6.32.patch DELETED ---
More information about the scm-commits
mailing list