diff --git a/base/linux26-rt/12-conf-hacks.patch b/base/linux26-rt/12-conf-hacks.patch new file mode 100644 index 000000000..c3f34bdc3 --- /dev/null +++ b/base/linux26-rt/12-conf-hacks.patch @@ -0,0 +1,105 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/12-conf-hacks.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2006 The T2 SDE Project +# Copyright (C) 1998 - 2003 Clifford Wolf +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +Set all unset options to module. Needed by the T2 / ROCK Linux kernel +configuration. + +Initally written by Clifford Wold and adapted +for various new 2.5/2.6 kernels by Rene Rebe . + +--- ./scripts/kconfig/Makefile.orig 2006-03-19 19:38:46.080184500 +0100 ++++ ./scripts/kconfig/Makefile 2006-03-19 20:01:55.859040250 +0100 +@@ -2,7 +2,7 @@ + # Kernel configuration targets + # These targets are used from top-level makefile + +-PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config ++PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig no2modconfig update-po-config + + xconfig: $(obj)/qconf + $< arch/$(ARCH)/Kconfig +@@ -56,6 +56,9 @@ + allmodconfig: $(obj)/conf + $< -m arch/$(ARCH)/Kconfig + ++no2modconfig: scripts/kconfig/conf ++ $< -M arch/$(ARCH)/Kconfig ++ + defconfig: $(obj)/conf + ifeq ($(KBUILD_DEFCONFIG),) + $< -d arch/$(ARCH)/Kconfig +@@ -77,6 +80,7 @@ + @echo ' randconfig - New config with random answer to all options' + @echo ' defconfig - New config with default answer to all options' + @echo ' allmodconfig - New config selecting modules when possible' ++ @echo ' no2modconfig - New config selecting modules for disabled options' + @echo ' allyesconfig - New config where all options are accepted with yes' + @echo ' allnoconfig - New config where all options are answered with no' + +--- linux-2.6.17/scripts/kconfig/conf.c 2006-06-18 03:49:35.000000000 +0200 ++++ linux26.macbook/scripts/kconfig/conf.c 2006-07-22 11:57:17.000000000 +0200 +@@ -21,6 +21,7 @@ + ask_all, + ask_new, + ask_silent, ++ set_no2mod, + set_default, + set_yes, + set_mod, +@@ -83,6 +84,15 @@ + } + + switch (input_mode) { ++ case set_no2mod: ++ if (type == S_TRISTATE && ++ sym_get_tristate_value(sym) == no) { ++ fprintf(stderr, "Setting %s to 'm'.\n", sym->name); ++ line[0] = 'm'; ++ line[1] = '\n'; ++ line[2] = 0; ++ break; ++ } + case set_no: + case set_mod: + case set_yes: +@@ -372,6 +382,7 @@ + break; + case set_random: + def = (random() % cnt) + 1; ++ case set_no2mod: + case set_default: + case set_yes: + case set_mod: +@@ -523,6 +534,9 @@ + case 'm': + input_mode = set_mod; + break; ++ case 'M': ++ input_mode = set_no2mod; ++ break; + case 'y': + input_mode = set_yes; + break; +@@ -565,6 +579,7 @@ + } + case ask_all: + case ask_new: ++ case set_no2mod: + conf_read(NULL); + break; + case set_no: diff --git a/base/linux26-rt/2.6.10-sparc64.patch b/base/linux26-rt/2.6.10-sparc64.patch new file mode 100644 index 000000000..b1f9a23bf --- /dev/null +++ b/base/linux26-rt/2.6.10-sparc64.patch @@ -0,0 +1,55 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/2.6.10-sparc64.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2006 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +The new copy_user stuff return value does yield warnings and thus we can not +compile the sparc dirs with -Werror ... + + - Rene Rebe + +--- linux-2.6.10/arch/sparc64/kernel/Makefile.vanilla 2005-02-01 20:35:16.000000000 +0100 ++++ linux-2.6.10/arch/sparc64/kernel/Makefile 2005-02-01 20:35:30.000000000 +0100 +@@ -3,7 +3,7 @@ + # + + EXTRA_AFLAGS := -ansi +-EXTRA_CFLAGS := -Werror ++EXTRA_CFLAGS := + + extra-y := head.o init_task.o vmlinux.lds + +--- linux-2.6.10/arch/sparc64/lib/Makefile.vanilla 2005-02-01 20:35:53.000000000 +0100 ++++ linux-2.6.10/arch/sparc64/lib/Makefile 2005-02-01 20:35:58.000000000 +0100 +@@ -3,7 +3,7 @@ + # + + EXTRA_AFLAGS := -ansi +-EXTRA_CFLAGS := -Werror ++EXTRA_CFLAGS := + + lib-y := PeeCeeI.o copy_page.o clear_page.o strlen.o strncmp.o \ + memscan.o strncpy_from_user.o strlen_user.o memcmp.o checksum.o \ +--- linux-2.6.10/arch/sparc64/mm/Makefile.vanilla 2005-02-01 20:35:39.000000000 +0100 ++++ linux-2.6.10/arch/sparc64/mm/Makefile 2005-02-01 20:35:47.000000000 +0100 +@@ -3,7 +3,7 @@ + # + + EXTRA_AFLAGS := -ansi +-EXTRA_CFLAGS := -Werror ++EXTRA_CFLAGS := + + obj-y := ultra.o tlb.o fault.o init.o generic.o extable.o + diff --git a/base/linux26-rt/20-kernel-cc.patch b/base/linux26-rt/20-kernel-cc.patch new file mode 100644 index 000000000..712ee878b --- /dev/null +++ b/base/linux26-rt/20-kernel-cc.patch @@ -0,0 +1,36 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/20-kernel-cc.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2006 The T2 SDE Project +# Copyright (C) 1998 - 2003 Clifford Wolf +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + + +This Patch is specific to ROCK Linux and not available as stand-alone patch. + + - Clifford Wolf + +--- linux/Makefile ++++ linux/Makefile +@@ -27,7 +27,9 @@ + + AS = $(CROSS_COMPILE)as + LD = $(CROSS_COMPILE)ld +-CC = $(CROSS_COMPILE)gcc ++KCC = $(CROSS_COMPILE)kcc ++GCC = $(CROSS_COMPILE)gcc ++CC = $(if $(shell sh -c 'type -p $(KCC)'),$(KCC),$(GCC)) + CPP = $(CC) -E + AR = $(CROSS_COMPILE)ar + NM = $(CROSS_COMPILE)nm diff --git a/base/linux26-rt/95-adb-mapping.patch b/base/linux26-rt/95-adb-mapping.patch new file mode 100644 index 000000000..d32c56e7f --- /dev/null +++ b/base/linux26-rt/95-adb-mapping.patch @@ -0,0 +1,39 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/95-adb-mapping.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2006 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +Well, after fixing user-space apps here and there it became too annoying +and counter productive, since nowadays user-space expect full "i386 style", +linux mapping anyways. So let's correct the alt and altgr mapping in the +kernel in the first place. + + - Rene Rebe + +--- ./drivers/macintosh/adbhid.c.orig 2004-10-18 23:55:36.000000000 +0200 ++++ ./drivers/macintosh/adbhid.c 2004-10-19 18:58:36.972070126 +0200 +@@ -130,10 +130,10 @@ + /* 0x34 */ KEY_KPENTER, /* 96 */ + /* 0x35 */ KEY_ESC, /* 1 */ + /* 0x36 */ KEY_LEFTCTRL, /* 29 */ +- /* 0x37 */ KEY_LEFTMETA, /* 125 */ ++ /* 0x37 */ KEY_LEFTALT, /* 125 */ + /* 0x38 */ KEY_LEFTSHIFT, /* 42 */ + /* 0x39 */ KEY_CAPSLOCK, /* 58 */ +- /* 0x3a */ KEY_LEFTALT, /* 56 */ ++ /* 0x3a */ KEY_RIGHTALT, /* 56 */ + /* 0x3b */ KEY_LEFT, /* 105 */ + /* 0x3c */ KEY_RIGHT, /* 106 */ + /* 0x3d */ KEY_DOWN, /* 108 */ diff --git a/base/linux26-rt/96-usb-hid-apple-kbd-mapping.patch b/base/linux26-rt/96-usb-hid-apple-kbd-mapping.patch new file mode 100644 index 000000000..0da2d456a --- /dev/null +++ b/base/linux26-rt/96-usb-hid-apple-kbd-mapping.patch @@ -0,0 +1,59 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/96-usb-hid-apple-kbd-mapping.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2007 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +The Apple USB keyboards carry symbols differing from the on-wire values sent. +So we swap the events here simillar as in the 95-adb-mapping patch. +Likewise, default to the normal F* keys for usability on the Linux desktop. + + - Rene Rebe + +--- linux-2.6.20/drivers/hid/hid-input.c.vanilla 2007-02-05 11:24:46.737682437 +0100 ++++ linux-2.6.20/drivers/hid/hid-input.c 2007-02-05 11:24:52.770026201 +0100 +@@ -256,8 +256,20 @@ + set_bit(EV_REP, input->evbit); + + if ((usage->hid & HID_USAGE) < 256) { +- if (!hid_keyboard[usage->hid & HID_USAGE]) goto ignore; +- map_key_clear(hid_keyboard[usage->hid & HID_USAGE]); ++ unsigned char code = hid_keyboard[usage->hid & HID_USAGE]; ++ if (!code) goto ignore; ++ ++ /* Apple? */ ++ if (input->id.vendor == 0x5ac) { ++ /* alt->altgr, lmeta->alt, and no dups ++ due Linux meta bit parsing */ ++ switch (code) { ++ case 56: code = 100; break; ++ case 125: code = 56; break; ++ case 100: code = 127; break; ++ } ++ } ++ map_key_clear(code); + } else + map_key(KEY_UNKNOWN); + +--- linux-2.6.20/drivers/hid/hid-input.c.vanilla 2007-02-05 11:24:46.737682437 +0100 ++++ linux-2.6.20/drivers/hid/hid-input.c 2007-02-05 11:24:52.770026201 +0100 +@@ -35,7 +35,7 @@ + + #include + +-static int hid_pb_fnmode = 1; ++static int hid_pb_fnmode = 2; + module_param_named(pb_fnmode, hid_pb_fnmode, int, 0644); + MODULE_PARM_DESC(pb_fnmode, + "Mode of fn key on PowerBooks (0 = disabled, 1 = fkeyslast, 2 = fkeysfirst)"); diff --git a/base/linux26-rt/adaptec-usbxchange.patch b/base/linux26-rt/adaptec-usbxchange.patch new file mode 100644 index 000000000..8b1a1e035 --- /dev/null +++ b/base/linux26-rt/adaptec-usbxchange.patch @@ -0,0 +1,412 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/adaptec-usbxchange.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2006 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +Support for the Adaptec USB*Xchange family of USB<->SCSI cables. + + - Rene Rebe + +--- linux-2.6.15-mm4/drivers/usb/storage/Kconfig 2006-01-30 12:16:10.838447250 +0100 ++++ linux-2.6.15-usb2x/drivers/usb/storage/Kconfig 2006-01-30 12:09:28.857325000 +0100 +@@ -134,6 +134,13 @@ + this input in any keybinding software. (e.g. gnome's keyboard short- + cuts) + ++config USB_USBXCHANGE ++ tristate "Adaptec USBXchange and USB2Xchange firmware loader" ++ depends on USB_STORAGE ++ help ++ Say Y here to include additional code to load the firmware into the ++ Adaptec USBXchange and USB2Xchange USB --> SCSI converter dongle. ++ + config USB_LIBUSUAL + bool "The shared table of common (or usual) storage devices" + depends on USB +--- linux-2.6.15-mm4/drivers/usb/storage/Makefile 2006-01-30 12:16:10.838447250 +0100 ++++ linux-2.6.15-usb2x/drivers/usb/storage/Makefile 2006-01-30 12:08:29.781633000 +0100 +@@ -24,6 +24,8 @@ + usb-storage-objs := scsiglue.o protocol.o transport.o usb.o \ + initializers.o $(usb-storage-obj-y) + ++obj-$(CONFIG_USB_USBXCHANGE) += usbxchange_fw.o ++ + ifneq ($(CONFIG_USB_LIBUSUAL),) + obj-$(CONFIG_USB) += libusual.o + endif +--- linux-2.6.19/drivers/usb/storage/initializers.c.vanilla 2006-11-30 09:14:20.000000000 +0100 ++++ linux-2.6.19/drivers/usb/storage/initializers.c 2006-11-30 09:14:55.000000000 +0100 +@@ -91,3 +91,28 @@ + + return (res ? -1 : 0); + } ++ ++/* Firmware Initialisation for the Adaptec USB2Xchange, needed for ++ * to recognize devices properly. René Rebe */ ++int usb2xchange_init(struct us_data *us) ++{ ++ int result; ++ ++ US_DEBUGP ("usb2xchange_init: initialising after reenumeration.\n"); ++ ++ result = usb_control_msg(us->pusb_dev, us->send_ctrl_pipe, ++ 0x5a, 0x40, 0x01, ++ 0, 0, // buffer, ++ 0, // length, ++ 300); ++ US_DEBUGP ("usb2xchange_init: reset #1 (%d)\n", result); ++ ++ result = usb_control_msg(us->pusb_dev, us->send_ctrl_pipe, ++ 0x5a, 0x40, 0x02, ++ 0, 0, // buffer, ++ 0, // length, ++ 300); ++ US_DEBUGP ("usb2xchange_init: reset #2 (%d)\n", result); ++ ++ return result; ++} +--- linux-2.6.15-mm4/drivers/usb/storage/initializers.h 2006-01-30 12:16:10.826446500 +0100 ++++ linux-2.6.15-usb2x/drivers/usb/storage/initializers.h 2006-01-30 12:04:35.110967000 +0100 +@@ -48,2 +48,5 @@ + * flash reader */ + int usb_stor_ucr61s2b_init(struct us_data *us); ++ ++/* Firmware Initialization for the Adaptec USB2Xchange */ ++int usb2xchange_init(struct us_data *us); +--- linux-2.6.15-mm4/drivers/usb/storage/unusual_devs.h 2006-01-30 12:16:10.870449250 +0100 ++++ linux-2.6.15-usb2x/drivers/usb/storage/unusual_devs.h 2006-01-27 21:49:46.570867000 +0100 +@@ -1180,6 +1180,21 @@ + US_FL_SINGLE_LUN), + #endif + ++/* Adaptec USBXchange and USB2Xchange, after firmware download. ++ * Requires Ez-USB Style firmware loader. René Rebe */ ++ ++UNUSUAL_DEV( 0x03f3, 0x2001, 0x0000, 0xffff, ++ "Adaptec", ++ "USBXchange", ++ US_SC_SCSI, US_PR_BULK, NULL, ++ 0 ), ++ ++UNUSUAL_DEV( 0x03f3, 0x2003, 0x0000, 0xffff, ++ "Adaptec", ++ "USB2Xchange", ++ US_SC_SCSI, US_PR_BULK, usb2xchange_init, ++ US_FL_SCM_MULT_TARG ), ++ + /* Control/Bulk transport for all SubClass values */ + USUAL_DEV(US_SC_RBC, US_PR_CB, USB_US_TYPE_STOR), + USUAL_DEV(US_SC_8020, US_PR_CB, USB_US_TYPE_STOR), +--- linux-2.6.15-mm4/drivers/usb/storage/usbxchange_fw.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.15-usb2x/drivers/usb/storage/usbxchange_fw.c 2006-01-28 09:45:14.308438000 +0100 +@@ -0,0 +1,215 @@ ++/* ++ * Firmware loader for Adaptec USBXchange / USB2Xchange. ++ * ++ * Uploads device firmware into the Adaptec USBXchange and USB2Xchange ++ * USB --> SCSI dongle. ++ * ++ * Current development and maintenance by: ++ * (c) 2005 René Rebe ++ * ++ * Initial work by: ++ * (c) 2004 Beier & Dauskardt IT ++ * ++ * Based on emi26.c: ++ * (c) 2002 Tapio Laxström ++ * ++ * To use this driver, you need to get the devices firmware from some ++ * windows driver: ++ * usbxchg_win_v120.exe - for USBXchange ++ * usb2xchg_win_drv_v200.exe - for USB2Xchange ++ * ++ * Hotplug firmware loader compatible files can be found at: ++ * http://dl.exactcode.de/adaptec-usbxchange/ ++ * ++ * Note: ++ * The USB2Xchange seems to have some internal buffer < 64K. ++ * Sending 64K requests crashes the device. Possibly it needs a ++ * "max_sectors: 8" setting. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License, as published by ++ * the Free Software Foundation, version 2. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "usbxchange_fw.h" ++ ++static int usbxchange_writememory(struct usb_device *dev, int address, ++ unsigned char *data, int length, ++ __u8 bRequest); ++static int usbxchange_set_reset(struct usb_device *dev, int cpureg, ++ unsigned char reset_bit); ++static int usbxchange_load_firmware(struct usb_device *dev); ++ ++static int usbxchange_probe(struct usb_interface *iface, ++ const struct usb_device_id *id); ++static void usbxchange_disconnect(struct usb_interface *iface); ++static int __init usbxchange_init(void); ++static void __exit usbxchange_exit(void); ++ ++#define usbxchange_VENDOR_ID 0x03f3 ++#define usbxchange_PRODUCT_ID 0x2000 ++#define usb2xchange_PRODUCT_ID 0x2002 ++ ++static struct usb_device_id usbxchange_usb_ids[] = { ++ {USB_DEVICE(usbxchange_VENDOR_ID, usbxchange_PRODUCT_ID)}, ++ {USB_DEVICE(usbxchange_VENDOR_ID, usb2xchange_PRODUCT_ID)}, ++ {} /* terminating entry */ ++}; ++ ++MODULE_DEVICE_TABLE(usb, usbxchange_usb_ids); ++ ++/* thanks to drivers/usb/serial/keyspan_pda.c code */ ++static int usbxchange_writememory(struct usb_device *dev, int address, ++ unsigned char *data, int length, __u8 request) ++{ ++ int result; ++ unsigned char *buffer = kmalloc(length, GFP_KERNEL); ++ ++ if (!buffer) { ++ printk(KERN_ERR "usbxchange: kmalloc(%d) failed.\n", length); ++ return -ENOMEM; ++ } ++ memcpy(buffer, data, length); ++ result = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), request, 0x40, ++ address, 0, buffer, length, 300); ++ kfree(buffer); ++ return result; ++} ++ ++/* thanks to drivers/usb/serial/keyspan_pda.c code */ ++static int usbxchange_set_reset(struct usb_device *dev, int cpureg, ++ unsigned char reset_bit) ++{ ++ int response; ++ printk(KERN_INFO "%s - %d\n", __FUNCTION__, reset_bit); ++ response = ++ usbxchange_writememory(dev, cpureg, &reset_bit, 1, ++ ANCHOR_LOAD_INTERNAL); ++ if (response < 0) { ++ printk(KERN_ERR "usbxchange: set_reset (%d) failed\n", ++ reset_bit); ++ } ++ return response; ++} ++ ++static int usbxchange_load_firmware(struct usb_device *dev) ++{ ++ INTEL_HEX_RECORD *record; ++ int err, cpureg; ++ ++ const struct firmware *firmware; ++ ++ switch (le16_to_cpu(dev->descriptor.idProduct)) { ++ case usbxchange_PRODUCT_ID: ++ err = request_firmware(&firmware, "usbxchange.fw", &dev->dev); ++ cpureg = CPUCS_REG; ++ break; ++ case usb2xchange_PRODUCT_ID: ++ err = request_firmware(&firmware, "usb2xchange.fw", &dev->dev); ++ cpureg = CPUCS_REG_FX2; ++ break; ++ default: ++ printk(KERN_ERR "%s - device not recognized %x\n", __FUNCTION__, ++ le16_to_cpu(dev->descriptor.idProduct)); ++ return 1; ++ } ++ ++ if (err != 0) { ++ printk(KERN_ERR "Hotplug firmware request failed.\n"); ++ return err; ++ } ++ ++ /* Stop CPU */ ++ err = usbxchange_set_reset(dev, cpureg, 1); ++ err = usbxchange_set_reset(dev, cpureg, 1); ++ if (err < 0) { ++ printk(KERN_ERR "%s - error stopping dongle CPU: error = %d\n", ++ __FUNCTION__, err); ++ return err; ++ } ++ ++ /* Upload firmware */ ++ for (record = (INTEL_HEX_RECORD *)firmware->data; ++ record->type == 0; record++) { ++ ++ err = usbxchange_writememory(dev, le32_to_cpu(record->address), ++ record->data, ++ le32_to_cpu(record->length), ++ ANCHOR_LOAD_INTERNAL); ++ if (err < 0) { ++ printk(KERN_ERR ++ "%s - error loading firmware: error = %d\n", ++ __FUNCTION__, err); ++ return err; ++ } ++ } ++ ++ /* De-assert reset (let the CPU run) */ ++ err = usbxchange_set_reset(dev, cpureg, 1); ++ err = usbxchange_set_reset(dev, cpureg, 0); ++ if (err < 0) { ++ printk(KERN_ERR "%s - error resetting dongle CPU: error = %d\n", ++ __FUNCTION__, err); ++ return err; ++ } ++ ++ return 0; ++} ++ ++static int usbxchange_probe(struct usb_interface *iface, ++ const struct usb_device_id *id) ++{ ++ struct usb_device *dev = interface_to_usbdev(iface); ++ ++ printk(KERN_INFO "%s start\n", __FUNCTION__); ++ ++ usbxchange_load_firmware(dev); ++ ++ /* forcing an unload would save some kB of kernel memory ... */ ++ return 0; ++} ++ ++static void usbxchange_disconnect(struct usb_interface *iface) ++{ ++} ++ ++static struct usb_driver usbxchange_driver = { ++ .name = "usbxchange_fw", ++ .probe = usbxchange_probe, ++ .disconnect = usbxchange_disconnect, ++ .id_table = usbxchange_usb_ids, ++}; ++ ++static int __init usbxchange_init(void) ++{ ++ usb_register(&usbxchange_driver); ++ return 0; ++} ++ ++static void __exit usbxchange_exit(void) ++{ ++ usb_deregister(&usbxchange_driver); ++} ++ ++module_init(usbxchange_init); ++module_exit(usbxchange_exit); ++ ++MODULE_AUTHOR("René Rebe , Sancho Dauskardt "); ++MODULE_DESCRIPTION("Adaptec USBXchange firmware loader."); ++MODULE_LICENSE("GPL"); ++ ++/* vi:ai:syntax=c:sw=8:ts=8:tw=80 ++ */ +--- linux-2.6.15-mm4/drivers/usb/storage/usbxchange_fw.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.15-usb2x/drivers/usb/storage/usbxchange_fw.h 2006-01-27 17:18:18.246377000 +0100 +@@ -0,0 +1,45 @@ ++/* ++ * Firmware loader for Adaptec USBXchange / USB2Xchange. ++ * ++ * Uploads device firmware into the Adaptec USBXchange and USB2Xchange ++ * USB --> SCSI dongle. ++ * ++ * Current development and maintenance by: ++ * (c) 2005 René Rebe ++ * ++ * Initial work by: ++ * (c) 2004 Beier & Dauskardt IT ++ * ++ * Based on emi26.c: ++ * (c) 2002 Tapio Laxström ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License, as published by ++ * the Free Software Foundation, version 2. ++ */ ++ ++#ifndef _USB_USBXCHANGE_FW_H_INCLUDED ++#define _USB_USBXCHANGE_FW_H_INCLUDED ++ ++#define MAX_INTEL_HEX_RECORD_LENGTH 16 ++typedef struct _INTEL_HEX_RECORD { ++ __u32 length; ++ __u32 address; ++ __u32 type; ++ __u8 data[MAX_INTEL_HEX_RECORD_LENGTH]; ++} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD; ++ ++/* Vendor specific request code for Anchor Upload/Download ++ (This one is implemented in the core). */ ++#define ANCHOR_LOAD_INTERNAL 0xA0 ++ ++/* EZ-USB Control and Status Register. Bit 0 controls 8051 reset */ ++#define CPUCS_REG 0x7F92 /* original / FX */ ++#define CPUCS_REG_FX2 0xE600 /* FX2 */ ++ ++#endif +--- linux-2.6.15/drivers/usb/storage/transport.c 2006-01-03 04:21:10.000000000 +0100 ++++ ./drivers/usb/storage/transport.c 2006-01-30 19:41:26.727402000 +0100 +@@ -984,6 +984,11 @@ + bcb->Lun = srb->device->lun; + if (us->flags & US_FL_SCM_MULT_TARG) + bcb->Lun |= srb->device->id << 4; ++ /* Adaptec USB2Xchange */ ++ if (us->pusb_dev->descriptor.idVendor == 0x03f3 && ++ us->pusb_dev->descriptor.idProduct == 0x2003) ++ bcb->Lun = srb->device->id; ++ + bcb->Length = srb->cmd_len; + + /* copy the command payload */ +@@ -1069,6 +1074,20 @@ + US_DEBUGP("Bulk Status S 0x%x T 0x%x R %u Stat 0x%x\n", + le32_to_cpu(bcs->Signature), bcs->Tag, + residue, bcs->Status); ++ if (bcs->Status > US_BULK_STAT_FAIL) { ++ /* Adaptec USB2XCHANGE ? */ ++ if (us->pusb_dev->descriptor.idVendor == 0x03f3 && ++ us->pusb_dev->descriptor.idProduct == 0x2003) { ++ ++ /* This device will send ++ * bcs->Status == 0x8a for unused LUN's ++ * bcs->Status == 0x02 for SRB's that require SENSE. ++ */ ++ bcs->Status = US_BULK_STAT_OK; ++ fake_sense = 1; ++ US_DEBUGP("Patched Bulk status to %d.\n", bcs->Status); ++ } ++ } + if (bcs->Tag != us->tag || bcs->Status > US_BULK_STAT_PHASE) { + US_DEBUGP("Bulk logical error\n"); + return USB_STOR_TRANSPORT_ERROR; diff --git a/base/linux26-rt/arch-ppc-horizon-name-clash.patch b/base/linux26-rt/arch-ppc-horizon-name-clash.patch new file mode 100644 index 000000000..c49537de8 --- /dev/null +++ b/base/linux26-rt/arch-ppc-horizon-name-clash.patch @@ -0,0 +1,29 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/arch-ppc-horizon-name-clash.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2006 The T2 SDE Project +# Copyright (C) 1998 - 2003 Clifford Wolf +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +--- ./drivers/atm/horizon.c.orig 2003-09-04 20:22:19.000000000 +0200 ++++ ./drivers/atm/horizon.c 2003-09-04 20:24:36.000000000 +0200 +@@ -481,7 +481,7 @@ + return; + } + +-static inline void dump_regs (hrz_dev * dev) { ++static inline void dump_horizon_regs (hrz_dev * dev) { + #ifdef DEBUG_HORIZON + PRINTD (DBG_REGS, "CONTROL 0: %#x", rd_regl (dev, CONTROL_0_REG)); + PRINTD (DBG_REGS, "RX CONFIG: %#x", rd_regw (dev, RX_CONFIG_OFF)); diff --git a/base/linux26-rt/disable-broken.lst b/base/linux26-rt/disable-broken.lst new file mode 100644 index 000000000..8d584d9b3 --- /dev/null +++ b/base/linux26-rt/disable-broken.lst @@ -0,0 +1,23 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/disable-broken.lst +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 1998 - 2003 Clifford Wolf +# +# More information can be found in the files COPYING and README. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. A copy of the +# GNU General Public License can be found in the file COPYING. +# --- SDE-COPYRIGHT-NOTE-END --- + +CONFIG_PNPBIOS 2003-08-26 compiles but freezes (2.6.0-test4) +CONFIG_BLK_DEV_IDESCSI 2003-12-24 broken and obsolete anyway (2.6.0) +CONFIG_FB_RADEON_OLD 2004-10-25 obsolete and oopses on auto-detected load due to in-kernel new FB_RADEON driver (2.6.9) +CONFIG_BLK_DEV_UB 2005-01-21 the driver just sucks (2.6.9/10) +CONFIG_DEVFS 2005-06-19 obsolete in OpenSDE (2.6.x) +CONFIG_SOUND_PRIME 2006-01-06 obsolete +CONFIG_QLOGIC_FC 2006-01-20 obsolete +CONFIG_EEPRO100 2006-02-01 obsolete diff --git a/base/linux26-rt/eth-naming.patch b/base/linux26-rt/eth-naming.patch new file mode 100644 index 000000000..928fdf301 --- /dev/null +++ b/base/linux26-rt/eth-naming.patch @@ -0,0 +1,45 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/eth-naming.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2006 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +diff -ur linux-2.6.16/drivers/net/wireless/airo.c linux-2.6.16/drivers/net/wireless-unified/airo.c +--- linux-2.6.16/drivers/net/wireless/airo.c 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16/drivers/net/wireless-unified/airo.c 2006-06-06 17:25:52.000000000 +0200 +@@ -2659,7 +2659,7 @@ + struct net_device *ethdev) + { + int err; +- struct net_device *dev = alloc_netdev(0, "wifi%d", wifi_setup); ++ struct net_device *dev = alloc_netdev(0, "eth%d", wifi_setup); + if (!dev) + return NULL; + dev->priv = ethdev->priv; +diff -ur linux-2.6.16/drivers/net/wireless/hostap/hostap_hw.c linux-2.6.16/drivers/net/wireless-unified/hostap/hostap_hw.c +--- linux-2.6.16/drivers/net/wireless/hostap/hostap_hw.c 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16/drivers/net/wireless-unified/hostap/hostap_hw.c 2006-06-06 17:26:58.000000000 +0200 +@@ -82,10 +82,10 @@ + module_param_array(dtim_period, int, NULL, 0444); + MODULE_PARM_DESC(dtim_period, "DTIM period"); + +-static char dev_template[16] = "wlan%d"; ++static char dev_template[16] = "eth%d"; + module_param_string(dev_template, dev_template, sizeof(dev_template), 0444); + MODULE_PARM_DESC(dev_template, "Prefix for network device name (default: " +- "wlan%d)"); ++ "eth%d)"); + + #ifdef final_version + #define EXTRA_EVENTS_WTERR 0 diff --git a/base/linux26-rt/linux26-rt.cache b/base/linux26-rt/linux26-rt.cache new file mode 100644 index 000000000..69f44e079 --- /dev/null +++ b/base/linux26-rt/linux26-rt.cache @@ -0,0 +1,36 @@ + +[TIMESTAMP] 1118278880 Wed Jun 8 21:01:20 2005 +[CONFIG-ID] 2.1.0-rc1-x86-pentium4-generic +[BUILDTIME] 119313 (5) +[SIZE] 42.83 MB, 1569 files + +[DEP] 00-dirtree +[DEP] alsa-lib +[DEP] bash +[DEP] binutils +[DEP] bzip2 +[DEP] coreutils +[DEP] diffutils +[DEP] e2fsprogs +[DEP] findutils +[DEP] gawk +[DEP] gcc +[DEP] glibc +[DEP] grep +[DEP] gzip +[DEP] libdnet +[DEP] libusb +[DEP] linux-header +[DEP] m4 +[DEP] make +[DEP] mktemp +[DEP] module-init-tools +[DEP] modutils +[DEP] net-tools +[DEP] patch +[DEP] perl +[DEP] sed +[DEP] sysfiles +[DEP] tar +[DEP] util-linux +[DEP] xorg diff --git a/base/linux26-rt/linux26-rt.conf b/base/linux26-rt/linux26-rt.conf new file mode 100644 index 000000000..9a1ece806 --- /dev/null +++ b/base/linux26-rt/linux26-rt.conf @@ -0,0 +1,17 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/linux26-rt.conf +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2006 The T2 SDE Project +# Copyright (C) 1998 - 2003 Clifford Wolf +# +# More information can be found in the files COPYING and README. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. A copy of the +# GNU General Public License can be found in the file COPYING. +# --- SDE-COPYRIGHT-NOTE-END --- + +. $base/package/*/linux26/linux26.conf diff --git a/base/linux26-rt/linux26-rt.desc b/base/linux26-rt/linux26-rt.desc new file mode 100644 index 000000000..033fb51ed --- /dev/null +++ b/base/linux26-rt/linux26-rt.desc @@ -0,0 +1,49 @@ + +[COPY] --- SDE-COPYRIGHT-NOTE-BEGIN --- +[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch. +[COPY] +[COPY] Filename: package/.../linux26-rt/linux26-rt.desc +[COPY] Copyright (C) 2007 The OpenSDE Project +[COPY] +[COPY] More information can be found in the files COPYING and README. +[COPY] +[COPY] This program is free software; you can redistribute it and/or modify +[COPY] it under the terms of the GNU General Public License as published by +[COPY] the Free Software Foundation; version 2 of the License. A copy of the +[COPY] GNU General Public License can be found in the file COPYING. +[COPY] --- SDE-COPYRIGHT-NOTE-END --- + +[I] The Linux kernel 2.6 Real-Time branch + +[T] The standard Linux kernel does only meet soft-realtime requirements: it +[T] provides basic POSIX operations for userspace time handling but has no +[T] guarantees for hard timing deadlines. With Ingo Molnar's Realtime +[T] Preemption patch (referenced to as RT-Preempt) and Thomas Gleixner's +[T] generic clock event layer with high resolution support, the kernel gains +[T] hard realtime capabilities. +[T] +[T] The RT-Preempt patch has raised quite some interest throughout the +[T] industry. Its clean design and consequent aim towards mainline integration +[T] makes it an interesting option for hard and firm realtime applications, +[T] reaching from professional audio to industrial control. + +[U] http://www.kernel.org/ + +[A] Linus Torvalds +[A] Ingo Molnar +[A] Thomas Gleixner +[M] Alejandro Mery + +[C] base/kernel +[F] KERNEL + +[E] group kernel-bin + +[L] GPL +[S] Stable +[V] 2.6.21.6 +[P] X -?---5---9 102.060 + +[D] 28349517 linux-2.6.21.tar.bz2 http://ftp.kernel.org/pub/linux/kernel/v2.6/ +[D] 1416663892 patch-2.6.21.6.bz2 http://kernel.org/pub/linux/kernel/v2.6/ +[D] 441588407 patch-2.6.21.6-rt21 http://www.kernel.org/pub/linux/kernel/projects/rt/older/ diff --git a/base/linux26-rt/sk98lin-export-id-table.patch b/base/linux26-rt/sk98lin-export-id-table.patch new file mode 100644 index 000000000..18336f1eb --- /dev/null +++ b/base/linux26-rt/sk98lin-export-id-table.patch @@ -0,0 +1,32 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/sk98lin-export-id-table.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2004 - 2006 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +Well, no idea why this is missing ... + + - Rene Rebe + +--- linux-2.6.11/drivers/net/sk98lin/skge.c.vanilla 2005-05-25 18:36:44.000000000 +0200 ++++ linux-2.6.11/drivers/net/sk98lin/skge.c 2005-05-25 18:38:33.000000000 +0200 +@@ -5152,6 +5152,8 @@ + { 0, } + }; + ++MODULE_DEVICE_TABLE(pci, skge_pci_tbl); ++ + static struct pci_driver skge_driver = { + .name = "skge", + .id_table = skge_pci_tbl, diff --git a/base/linux26-rt/sparc64-video.patch b/base/linux26-rt/sparc64-video.patch new file mode 100644 index 000000000..c4387f023 --- /dev/null +++ b/base/linux26-rt/sparc64-video.patch @@ -0,0 +1,39 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../linux26-rt/sparc64-video.patch +# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2006 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +In 2.6.17 sparc64 kernels, X11 runs _extremely_ slowly with +frequent lock-up like behaviour on my Ultra5 (ATI Mach64). + +I finally managed to trace the cause to this change in 2.6.16-git6: + + - Mikael Pettersson + +Confirmed to fix ATi@U5 and Creator@U30. + + - Rene Rebe + +--- a/arch/sparc64/mm/generic.c ++++ b/arch/sparc64/mm/generic.c +@@ -140,6 +144,7 @@ int io_remap_pfn_range(struct vm_area_st + vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP; + vma->vm_pgoff = phys_base >> PAGE_SHIFT; + ++ prot = __pgprot(pg_iobits); + offset -= from; + dir = pgd_offset(mm, from); + flush_cache_range(vma, beg, end); +