@ -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: |
@ -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 |
|||
|
@ -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 |
@ -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 */ |
@ -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)"); |
@ -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; |
@ -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)); |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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/ |
@ -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, |
@ -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); |
|||
|