Browse Source

Added linux26-rt (2.6.21.6) - The Linux kernel 2.6 Real-Time branch

early
Alejandro Mery 17 years ago
parent
commit
f039f6f773
  1. 105
      base/linux26-rt/12-conf-hacks.patch
  2. 55
      base/linux26-rt/2.6.10-sparc64.patch
  3. 36
      base/linux26-rt/20-kernel-cc.patch
  4. 39
      base/linux26-rt/95-adb-mapping.patch
  5. 59
      base/linux26-rt/96-usb-hid-apple-kbd-mapping.patch
  6. 412
      base/linux26-rt/adaptec-usbxchange.patch
  7. 29
      base/linux26-rt/arch-ppc-horizon-name-clash.patch
  8. 23
      base/linux26-rt/disable-broken.lst
  9. 45
      base/linux26-rt/eth-naming.patch
  10. 36
      base/linux26-rt/linux26-rt.cache
  11. 17
      base/linux26-rt/linux26-rt.conf
  12. 49
      base/linux26-rt/linux26-rt.desc
  13. 32
      base/linux26-rt/sk98lin-export-id-table.patch
  14. 39
      base/linux26-rt/sparc64-video.patch

105
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 <clifford@clifford.at> and adapted
for various new 2.5/2.6 kernels by Rene Rebe <rene@exactcode.de>.
--- ./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:

55
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 <rene@exactcode.de>
--- 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

36
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 <god@clifford.at>
--- 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

39
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 <rene@exactcode.de>
--- ./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 */

59
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 <rene@exactcode.de>
--- 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 <linux/hid.h>
-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)");

412
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 <rene@exactcode.de>
--- 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 <rene@exactcode.de> */
+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 <rene@exactcode.de> */
+
+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 <rene@exactcode.de>
+ *
+ * Initial work by:
+ * (c) 2004 Beier & Dauskardt IT <sda@bdit.de>
+ *
+ * Based on emi26.c:
+ * (c) 2002 Tapio Laxström <tapio.laxstrom@iptime.fi>
+ *
+ * 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 <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/slab.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/usb.h>
+#include <linux/firmware.h>
+
+#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 <rene@exactcode.de>, Sancho Dauskardt <sda@bdit.de>");
+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 <rene@exactcode.de>
+ *
+ * Initial work by:
+ * (c) 2004 Beier & Dauskardt IT <sda@bdit.de>
+ *
+ * Based on emi26.c:
+ * (c) 2002 Tapio Laxström <tapio.laxstrom@iptime.fi>
+ *
+ * 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;

29
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));

23
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

45
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

36
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

17
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

49
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 <torvalds@transmeta.com>
[A] Ingo Molnar <mingo@redhat.com>
[A] Thomas Gleixner <tglx@timesys.com>
[M] Alejandro Mery <amery@opensde.org>
[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/

32
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 <rene@exactcode.de>
--- 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,

39
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 <mikpe@it.uu.se>
Confirmed to fix ATi@U5 and Creator@U30.
- Rene Rebe <rene@exactcode.de>
--- 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);
Loading…
Cancel
Save