rpms/kernel/devel linux-2.6-edid-check.patch, NONE, 1.1 linux-2.6-pwc-powerup-by-default.patch, NONE, 1.1 linux-2.6-smsc-ircc2-pnp.patch, NONE, 1.1 linux-2.6-usbhid-wireless-security-lock.patch, NONE, 1.1 linux-2.6-w1-hush-debug.patch, NONE, 1.1 linux-2.6-x86_64-ati-apic-timer.patch, NONE, 1.1 kernel-2.6.spec, 1.1822, 1.1823
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Fri Jan 6 06:41:28 UTC 2006
Author: davej
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv12651
Modified Files:
kernel-2.6.spec
Added Files:
linux-2.6-edid-check.patch
linux-2.6-pwc-powerup-by-default.patch
linux-2.6-smsc-ircc2-pnp.patch
linux-2.6-usbhid-wireless-security-lock.patch
linux-2.6-w1-hush-debug.patch
linux-2.6-x86_64-ati-apic-timer.patch
Log Message:
- Add timer quirk for ATI chipsets.
- Reboot through BIOS on HP laptops.
- Additional check in x86 edid parser.
- power up pwc webcam by default
- don't confuse wireless security lock as a mouse.
- Hush some debug messages in w1 driver.
linux-2.6-edid-check.patch:
video.S | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
--- NEW FILE linux-2.6-edid-check.patch ---
--- linux-2.6.15/arch/i386/boot/video.S~ 2006-01-06 01:26:06.000000000 -0500
+++ linux-2.6.15/arch/i386/boot/video.S 2006-01-06 01:28:40.000000000 -0500
@@ -1951,9 +1951,18 @@ store_edid:
stosl
movw $0x4f15, %ax # do VBE/DDC
- movw $0x01, %bx
+ movw $0x00, %bx # INSTALLATION CHECK / CAPABILITIES
movw $0x00, %cx
- movw $0x00, %dx
+ movw $0x00, %dx
+ movw $0x140, %di
+ int $0x10
+ cmpb $0x01, %ah
+ je no_edid
+
+ movw $0x4f15, %ax # do VBE/DDC
+ movw $0x01, %bx # READ_EDID
+ movw $0x00, %cx
+ movw $0x00, %dx
movw $0x140, %di
int $0x10
linux-2.6-pwc-powerup-by-default.patch:
pwc-if.c | 6 ++++++
1 files changed, 6 insertions(+)
--- NEW FILE linux-2.6-pwc-powerup-by-default.patch ---
--- linux-2.6.13/drivers/usb/media/pwc/pwc-if.c~ 2005-09-28 18:59:49.000000000 -0400
+++ linux-2.6.13/drivers/usb/media/pwc/pwc-if.c 2005-09-28 19:09:08.000000000 -0400
@@ -1946,6 +1946,12 @@ static int usb_pwc_probe(struct usb_inte
if (hint < MAX_DEV_HINTS)
device_hint[hint].pdev = pdev;
+ if (!power_save) {
+ i = pwc_camera_power(pdev, 1);
+ if (i < 0)
+ Info("Failed to power up the camera! (%d)\n", i);
+ }
+
Trace(TRACE_PROBE, "probe() function returning struct at 0x%p.\n", pdev);
usb_set_intfdata (intf, pdev);
return 0;
linux-2.6-smsc-ircc2-pnp.patch:
smsc-ircc2.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 67 insertions(+)
--- NEW FILE linux-2.6-smsc-ircc2-pnp.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=153970
--- linux-2.6.13/drivers/net/irda/smsc-ircc2.c~ 2005-10-25 00:38:18.000000000 -0400
+++ linux-2.6.13/drivers/net/irda/smsc-ircc2.c 2005-10-25 00:43:03.000000000 -0400
@@ -54,6 +54,7 @@
#include <linux/serial_reg.h>
#include <linux/dma-mapping.h>
#include <linux/platform_device.h>
+#include <linux/pnp.h>
#include <asm/io.h>
#include <asm/dma.h>
@@ -68,6 +69,7 @@
#include "smsc-ircc2.h"
#include "smsc-sio.h"
+static int pnp_registered_port;
MODULE_AUTHOR("Daniele Peri <peri at csai.unipa.it>");
MODULE_DESCRIPTION("SMC IrCC SIR/FIR controller driver");
@@ -325,6 +327,61 @@ static inline void register_bank(int iob
}
+/* PNP probing */
+
+static const struct pnp_device_id smsc_ircc_pnp_table[] = {
+{
+ .id = "SMCf010",
+ .driver_data = 0
+},
+{ }
+};
+
+MODULE_DEVICE_TABLE(pnp, smsc_ircc_pnp_table);
+
+static int __devinit
+smsc_ircc_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *id)
+{
+ unsigned int firbase, sirbase;
+ u8 dma, irq;
+
+ if (pnp_port_valid(dev, 0) &&
+ !(pnp_port_flags(dev, 0) & IORESOURCE_DISABLED))
+ sirbase = pnp_port_start(dev, 0);
+ else
+ return -EINVAL;
+
+ if (pnp_port_valid(dev, 1) &&
+ !(pnp_port_flags(dev, 1) & IORESOURCE_DISABLED))
+ firbase = pnp_port_start(dev, 1);
+ else
+ return -EINVAL;
+
+ if (pnp_irq_valid(dev, 0) &&
+ !(pnp_irq_flags(dev, 0) & IORESOURCE_DISABLED))
+ irq = pnp_irq(dev, 0);
+ else
+ return -EINVAL;
+
+ if (pnp_dma_valid(dev, 0) &&
+ !(pnp_dma_flags(dev, 0) & IORESOURCE_DISABLED))
+ dma = pnp_dma(dev, 0);
+ else
+ return -EINVAL;
+
+ if (smsc_ircc_open(firbase, sirbase, dma, irq))
+ return -ENODEV;
+
+ return 0;
+}
+
+static struct pnp_driver smsc_ircc_pnp_driver = {
+ .name = "smsc-ircc2",
+ .id_table = smsc_ircc_pnp_table,
+ .probe = smsc_ircc_pnp_probe,
+};
+
+
/*******************************************************************************
*
*
@@ -1741,6 +1798,8 @@ static void __exit smsc_ircc_cleanup(voi
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
+ if (pnp_registered_port)
+ pnp_unregister_driver(&smsc_ircc_pnp_driver);
for (i = 0; i < 2; i++) {
if (dev_self[i])
smsc_ircc_close(dev_self[i]);
@@ -1998,8 +2057,16 @@ static int __init smsc_ircc_look_for_chi
struct smsc_chip_address *address;
char *type;
unsigned int cfg_base, found;
+ int r;
found = 0;
+
+ r = pnp_register_driver(&smsc_ircc_pnp_driver);
+ if (r >= 0) {
+ pnp_registered_port = 1;
+ found += r;
+ }
+
address = possible_addresses;
while (address->cfg_base) {
linux-2.6-usbhid-wireless-security-lock.patch:
hid-core.c | 4 ++++
1 files changed, 4 insertions(+)
--- NEW FILE linux-2.6-usbhid-wireless-security-lock.patch ---
bugzilla 147479
diff -ur linux-2.6.11.orig/drivers/usb/input/hid-core.c linux-2.6.11/drivers/usb/input/hid-core.c
--- linux-2.6.11.orig/drivers/usb/input/hid-core.c 2005-03-02 08:38:10.000000000 +0100
+++ linux-2.6.11/drivers/usb/input/hid-core.c 2005-07-24 19:25:35.000000000 +0200
@@ -1494,6 +1494,9 @@
#define USB_VENDOR_ID_DELORME 0x1163
#define USB_DEVICE_ID_DELORME_EARTHMATE 0x0100
+#define USB_VENDOR_ID_CYPRES 0x04b4
+#define USB_DEVICE_ID_SITECOM_WSL 0x7417
+
static struct hid_blacklist {
__u16 idVendor;
__u16 idProduct;
@@ -1586,6 +1589,7 @@
{ USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EARTHMATE, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_SITECOM_WSL, HID_QUIRK_IGNORE },
{ 0, 0 }
};
linux-2.6-w1-hush-debug.patch:
w1.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE linux-2.6-w1-hush-debug.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=167403
--- linux-2.6.13/drivers/w1/w1.c~ 2005-09-28 06:09:13.000000000 -0400
+++ linux-2.6.13/drivers/w1/w1.c 2005-09-28 06:09:27.000000000 -0400
@@ -593,7 +593,7 @@ void w1_search(struct w1_master *dev, w1
* Return 0 - device(s) present, 1 - no devices present.
*/
if (w1_reset_bus(dev)) {
- dev_dbg(&dev->dev, "No devices present on the wire.\n");
+ //dev_dbg(&dev->dev, "No devices present on the wire.\n");
break;
}
linux-2.6-x86_64-ati-apic-timer.patch:
io_apic.c | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
--- NEW FILE linux-2.6-x86_64-ati-apic-timer.patch ---
ATI's AMD64 chipsets appear to have the interesting "feature" that every
timer tick causes an interrupt from both the APIC and the legacy PIC.
The following patch checks if the northbridge matches the affected
chipsets, and if so disables APIC pin 1. As an added bonus, it skips the
acpi timer override since I haven't found one of these machines where
it's needed and it's actively harmful on at least some of them. We've
been shipping this patch in Ubuntu with no reported issues.
This is kernel bugzilla number 3927.
Signed-off-by: Matthew Garrett <mjg59 at srcf.ucam.og>
--- io_apic.c.orig 2005-09-20 21:43:42.000000000 +0100
+++ a/arch/x86_64/kernel/io_apic.c 2005-09-20 22:33:42.000000000 +0100
@@ -258,18 +259,24 @@ void __init check_ioapic(void)
for (func = 0; func < 8; func++) {
u32 class;
u32 vendor;
+ u16 product;
u8 type;
class = read_pci_config(num,slot,func,
PCI_CLASS_REVISION);
+
if (class == 0xffffffff)
break;
- if ((class >> 16) != PCI_CLASS_BRIDGE_PCI)
+ if ((class >> 16) != PCI_CLASS_BRIDGE_PCI &&
+ (class >> 16) != PCI_CLASS_BRIDGE_HOST)
continue;
vendor = read_pci_config(num, slot, func,
PCI_VENDOR_ID);
vendor &= 0xffff;
+
+ product = read_pci_config_16(num, slot, func,
+ PCI_DEVICE_ID);
switch (vendor) {
case PCI_VENDOR_ID_VIA:
#ifdef CONFIG_GART_IOMMU
@@ -292,8 +299,18 @@ void __init check_ioapic(void)
#endif
/* RED-PEN skip them on mptables too? */
return;
- }
+ case PCI_VENDOR_ID_ATI:
+ if (product==0x5950 || product==0x5951) {
+ printk(KERN_INFO "ATI board detected - disabling APIC pin 1\n");
+#ifdef CONFIG_ACPI
+ /* This seems to be wrong, too */
+ acpi_skip_timer_override = 1;
+#endif
+ disable_timer_pin_1 = 1;
+ }
+ return;
+ }
/* No multi-function device? */
type = read_pci_config_byte(num,slot,func,
PCI_HEADER_TYPE);
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.1822
retrieving revision 1.1823
diff -u -r1.1822 -r1.1823
--- kernel-2.6.spec 6 Jan 2006 03:15:23 -0000 1.1822
+++ kernel-2.6.spec 6 Jan 2006 06:41:25 -0000 1.1823
@@ -221,6 +221,8 @@
Patch203: linux-2.6.14-intel-cache-build.patch
Patch204: linux-2.6-x86_64-silence-up-apic-errors.patch
Patch205: linux-2.6-x86_64-disable-hotplug-guessing.patch
+Patch206: linux-2.6-x86_64-ati-apic-timer.patch
+Patch207: linux-2.6-edid-check.patch
# 300 - 399 ppc(64)
Patch300: linux-2.6.15-default-powerpc.patch
@@ -360,9 +362,10 @@
Patch1770: linux-2.6-valid-ether-addr.patch
Patch1780: linux-2.6-firmware-loader-timeout.patch
Patch1790: linux-2.6-softcursor-persistent-alloc.patch
-
-# ACPI patches.
-Patch1800: linux-2.6-acpi-thinkpad-c2c3.patch
+Patch1800: linux-2.6-pwc-powerup-by-default.patch
+Patch1810: linux-2.6-smsc-ircc2-pnp.patch
+Patch1820: linux-2.6-usbhid-wireless-security-lock.patch
+Patch1830: linux-2.6-w1-hush-debug.patch
# Warn about usage of various obsolete functionality that may go away.
Patch1900: linux-2.6-obsolete-idescsi-warning.patch
@@ -376,6 +379,9 @@
Patch2001: linux-2.6-vm-silence-atomic-alloc-failures.patch
Patch2002: linux-2.6-vm-debug.patch
+# ACPI patches.
+Patch2100: linux-2.6-acpi-thinkpad-c2c3.patch
+
# Broadcom wireless driver
Patch5000: linux-2.6-bcm43xx.patch
Patch5001: linux-2.6-bcm43xx-quiet.patch
@@ -630,6 +636,10 @@
%patch204 -p1
# Disable guessing of how many hotplug cpus to add.
%patch205 -p1
+# ATI timer quirk.
+%patch206 -p1
+# Reboot thru bios on HP laptops.
+%patch207 -p1
#
# ppc64
@@ -859,10 +869,14 @@
%patch1780 -p1
# Use persistent allocation in softcursor
%patch1790 -p1
-
-# ACPI patches.
-# Blacklist another 'No C2/C3 states' Thinkpad R40e BIOS.
+# Power up PWC driver by default.
%patch1800 -p1
+# PNP support for smsc-ircc2
+%patch1810 -p1
+# don't mistake security lock as a mouse
+%patch1820 -p1
+# Silence debug messages in w1
+%patch1830 -p1
# Warn about obsolete functionality usage.
%patch1900 -p1
@@ -880,6 +894,10 @@
# Try to trace some negative pagecount errors.
%patch2002 -p1
+# ACPI patches.
+# Blacklist another 'No C2/C3 states' Thinkpad R40e BIOS.
+%patch2100 -p1
+
#
# Patches 5000 to 6000 are reserved for new drivers that are about to
# be merged upstream
@@ -952,7 +970,7 @@
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -prep/" Makefile
# get rid of unwanted files resulting from patch fuzz
-find . -name "*.orig" -o -name "*~" -exec rm -fv {} \; >/dev/null &
+find . -name "*.orig" -o -name "*~" -exec rm -f {} \; >/dev/null &
###
### build
@@ -1394,6 +1412,14 @@
%endif
%changelog
+* Fri Jan 6 2006 Dave Jones <davej at redhat.com>
+- Add timer quirk for ATI chipsets.
+- Reboot through BIOS on HP laptops.
+- Additional check in x86 edid parser.
+- power up pwc webcam by default
+- don't confuse wireless security lock as a mouse.
+- Hush some debug messages in w1 driver.
+
* Thu Jan 5 2006 Dave Jones <davej at redhat.com>
- Try to debug some negative pagecount errors.
More information about the fedora-cvs-commits
mailing list