📄 v2.6.20-rc1-gitcurrent.patch
字号:
diff --git a/Documentation/DocBook/genericirq.tmpl b/Documentation/DocBook/genericirq.tmplindex 0f4a4b6..4215f69 100644--- a/Documentation/DocBook/genericirq.tmpl+++ b/Documentation/DocBook/genericirq.tmpl@@ -303,10 +303,10 @@ desc->status |= running; do { if (desc->status & masked) desc->chip->enable();- desc-status &= ~pending;+ desc->status &= ~pending; handle_IRQ_event(desc->action); } while (status & pending);-desc-status &= ~running;+desc->status &= ~running; desc->chip->end(); </programlisting> </para>diff --git a/MAINTAINERS b/MAINTAINERSindex dea5b2a..3e926e7 100644--- a/MAINTAINERS+++ b/MAINTAINERS@@ -1277,6 +1277,12 @@ L: linux-nvidia@lists.surfsouth.com W: http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml S: Maintained +HID CORE LAYER+P: Jiri Kosina+M: jkosina@suse.cz+L: linux-input@atrey.karlin.mff.cuni.cz+S: Maintained+ HIGH-SPEED SCC DRIVER FOR AX.25 P: Klaus Kudielka M: klaus.kudielka@ieee.orgdiff --git a/Makefile b/Makefileindex dc82462..4a47203 100644--- a/Makefile+++ b/Makefile@@ -496,11 +496,6 @@ else CFLAGS += -fomit-frame-pointer endif -ifdef CONFIG_UNWIND_INFO-CFLAGS += -fasynchronous-unwind-tables-LDFLAGS_vmlinux += --eh-frame-hdr-endif- ifdef CONFIG_DEBUG_INFO CFLAGS += -g endifdiff --git a/arch/i386/defconfig b/arch/i386/defconfigindex 3265208..e075ff0 100644--- a/arch/i386/defconfig+++ b/arch/i386/defconfig@@ -1493,8 +1493,6 @@ # CONFIG_DEBUG_FS is not set # CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_LIST is not set # CONFIG_FRAME_POINTER is not set-CONFIG_UNWIND_INFO=y-CONFIG_STACK_UNWIND=y # CONFIG_FORCED_INLINING is not set # CONFIG_HEADERS_CHECK is not set # CONFIG_RCU_TORTURE_TEST is not setdiff --git a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.cindex 18f4715..b735458 100644--- a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c+++ b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c@@ -126,27 +126,6 @@ static unsigned extract_freq(u32 val, st } } -static void wrport(u16 port, u8 bit_width, u32 value)-{- if (bit_width <= 8)- outb(value, port);- else if (bit_width <= 16)- outw(value, port);- else if (bit_width <= 32)- outl(value, port);-}--static void rdport(u16 port, u8 bit_width, u32 * ret)-{- *ret = 0;- if (bit_width <= 8)- *ret = inb(port);- else if (bit_width <= 16)- *ret = inw(port);- else if (bit_width <= 32)- *ret = inl(port);-}- struct msr_addr { u32 reg; };@@ -177,7 +156,9 @@ static void do_drv_read(struct drv_cmd * rdmsr(cmd->addr.msr.reg, cmd->val, h); break; case SYSTEM_IO_CAPABLE:- rdport(cmd->addr.io.port, cmd->addr.io.bit_width, &cmd->val);+ acpi_os_read_port((acpi_io_address)cmd->addr.io.port,+ &cmd->val,+ (u32)cmd->addr.io.bit_width); break; default: break;@@ -193,7 +174,9 @@ static void do_drv_write(struct drv_cmd wrmsr(cmd->addr.msr.reg, cmd->val, h); break; case SYSTEM_IO_CAPABLE:- wrport(cmd->addr.io.port, cmd->addr.io.bit_width, cmd->val);+ acpi_os_write_port((acpi_io_address)cmd->addr.io.port,+ cmd->val,+ (u32)cmd->addr.io.bit_width); break; default: break;@@ -699,14 +682,14 @@ #endif if (result) goto err_freqfree; - switch (data->cpu_feature) {+ switch (perf->control_register.space_id) { case ACPI_ADR_SPACE_SYSTEM_IO: /* Current speed is unknown and not detectable by IO port */ policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu); break; case ACPI_ADR_SPACE_FIXED_HARDWARE: acpi_cpufreq_driver.get = get_cur_freq_on_cpu;- get_cur_freq_on_cpu(cpu);+ policy->cur = get_cur_freq_on_cpu(cpu); break; default: break;diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.cindex c548daa..6d9c97a 100644--- a/arch/i386/kernel/cpu/cpufreq/longhaul.c+++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c@@ -787,8 +787,10 @@ #endif switch (c->x86_model) { case 6 ... 9: return cpufreq_register_driver(&longhaul_driver);+ case 10:+ printk(KERN_ERR PFX "Use acpi-cpufreq driver for VIA C7\n"); default:- printk (KERN_INFO PFX "Unknown VIA CPU. Contact davej@codemonkey.org.uk\n");+ ;; } return -ENODEV;diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.Sindex de34b7f..06461b8 100644--- a/arch/i386/kernel/entry.S+++ b/arch/i386/kernel/entry.S@@ -979,38 +979,6 @@ ENTRY(spurious_interrupt_bug) jmp error_code CFI_ENDPROC -#ifdef CONFIG_STACK_UNWIND-ENTRY(arch_unwind_init_running)- CFI_STARTPROC- movl 4(%esp), %edx- movl (%esp), %ecx- leal 4(%esp), %eax- movl %ebx, PT_EBX(%edx)- xorl %ebx, %ebx- movl %ebx, PT_ECX(%edx)- movl %ebx, PT_EDX(%edx)- movl %esi, PT_ESI(%edx)- movl %edi, PT_EDI(%edx)- movl %ebp, PT_EBP(%edx)- movl %ebx, PT_EAX(%edx)- movl $__USER_DS, PT_DS(%edx)- movl $__USER_DS, PT_ES(%edx)- movl $0, PT_GS(%edx)- movl %ebx, PT_ORIG_EAX(%edx)- movl %ecx, PT_EIP(%edx)- movl 12(%esp), %ecx- movl $__KERNEL_CS, PT_CS(%edx)- movl %ebx, PT_EFLAGS(%edx)- movl %eax, PT_OLDESP(%edx)- movl 8(%esp), %eax- movl %ecx, 8(%esp)- movl PT_EBX(%edx), %ebx- movl $__KERNEL_DS, PT_OLDSS(%edx)- jmpl *%eax- CFI_ENDPROC-ENDPROC(arch_unwind_init_running)-#endif- ENTRY(kernel_thread_helper) pushl $0 # fake return address for unwinder CFI_STARTPROCdiff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.cindex 2b30dbf..0efad8a 100644--- a/arch/i386/kernel/traps.c+++ b/arch/i386/kernel/traps.c@@ -94,11 +94,6 @@ asmlinkage void spurious_interrupt_bug(v asmlinkage void machine_check(void); int kstack_depth_to_print = 24;-#ifdef CONFIG_STACK_UNWIND-static int call_trace = 1;-#else-#define call_trace (-1)-#endif ATOMIC_NOTIFIER_HEAD(i386die_chain); int register_die_notifier(struct notifier_block *nb)@@ -152,33 +147,6 @@ #endif return ebp; } -struct ops_and_data {- struct stacktrace_ops *ops;- void *data;-};--static asmlinkage int-dump_trace_unwind(struct unwind_frame_info *info, void *data)-{- struct ops_and_data *oad = (struct ops_and_data *)data;- int n = 0;- unsigned long sp = UNW_SP(info);-- if (arch_unw_user_mode(info))- return -1;- while (unwind(info) == 0 && UNW_PC(info)) {- n++;- oad->ops->address(oad->data, UNW_PC(info));- if (arch_unw_user_mode(info))- break;- if ((sp & ~(PAGE_SIZE - 1)) == (UNW_SP(info) & ~(PAGE_SIZE - 1))- && sp > UNW_SP(info))- break;- sp = UNW_SP(info);- }- return n;-}- #define MSG(msg) ops->warning(data, msg) void dump_trace(struct task_struct *task, struct pt_regs *regs,@@ -190,41 +158,6 @@ void dump_trace(struct task_struct *task if (!task) task = current; - if (call_trace >= 0) {- int unw_ret = 0;- struct unwind_frame_info info;- struct ops_and_data oad = { .ops = ops, .data = data };-- if (regs) {- if (unwind_init_frame_info(&info, task, regs) == 0)- unw_ret = dump_trace_unwind(&info, &oad);- } else if (task == current)- unw_ret = unwind_init_running(&info, dump_trace_unwind,- &oad);- else {- if (unwind_init_blocked(&info, task) == 0)- unw_ret = dump_trace_unwind(&info, &oad);- }- if (unw_ret > 0) {- if (call_trace == 1 && !arch_unw_user_mode(&info)) {- ops->warning_symbol(data,- "DWARF2 unwinder stuck at %s",- UNW_PC(&info));- if (UNW_SP(&info) >= PAGE_OFFSET) {- MSG("Leftover inexact backtrace:");- stack = (void *)UNW_SP(&info);- if (!stack)- return;- ebp = UNW_FP(&info);- } else- MSG("Full inexact backtrace again:");- } else if (call_trace >= 1)- return;- else- MSG("Full inexact backtrace again:");- } else- MSG("Inexact backtrace:");- } if (!stack) { unsigned long dummy; stack = &dummy;@@ -1258,19 +1191,3 @@ static int __init kstack_setup(char *s) return 1; } __setup("kstack=", kstack_setup);--#ifdef CONFIG_STACK_UNWIND-static int __init call_trace_setup(char *s)-{- if (strcmp(s, "old") == 0)- call_trace = -1;- else if (strcmp(s, "both") == 0)- call_trace = 0;- else if (strcmp(s, "newfallback") == 0)- call_trace = 1;- else if (strcmp(s, "new") == 2)- call_trace = 2;- return 1;-}-__setup("call_trace=", call_trace_setup);-#endifdiff --git a/arch/s390/defconfig b/arch/s390/defconfigindex a6ec919..5368cf4 100644--- a/arch/s390/defconfig+++ b/arch/s390/defconfig@@ -1,14 +1,15 @@ # # Automatically generated make config: don't edit-# Linux kernel version: 2.6.19-rc2-# Wed Oct 18 17:11:10 2006+# Linux kernel version: 2.6.20-rc1+# Fri Dec 15 16:52:28 2006 # CONFIG_MMU=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y+# CONFIG_ARCH_HAS_ILOG2_U32 is not set+# CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_HWEIGHT=y-CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_TIME=y CONFIG_S390=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"@@ -37,12 +38,13 @@ # CONFIG_AUDITSYSCALL is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y # CONFIG_CPUSETS is not set+CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set CONFIG_INITRAMFS_SOURCE="" # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y # CONFIG_EMBEDDED is not set-# CONFIG_SYSCTL_SYSCALL is not set+CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set@@ -119,6 +121,7 @@ # CONFIG_SMALL_STACK is not set CONFIG_CHECK_STACK=y CONFIG_STACK_GUARD=256 # CONFIG_WARN_STACK is not set+CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set@@ -128,6 +131,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_RESOURCES_64BIT=y+CONFIG_HOLES_IN_ZONE=y # # I/O subsystem configuration@@ -196,6 +200,7 @@ CONFIG_INET_TCP_DIAG=y # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic"+# CONFIG_TCP_MD5SIG is not set CONFIG_IPV6=y # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set@@ -211,7 +216,6 @@ CONFIG_INET6_XFRM_MODE_BEET=y # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set CONFIG_IPV6_SIT=y # CONFIG_IPV6_TUNNEL is not set-# CONFIG_IPV6_SUBTREES is not set # CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETFILTER is not set@@ -246,6 +250,7 @@ # # QoS and/or fair queueing # CONFIG_NET_SCHED=y+CONFIG_NET_SCH_FIFO=y CONFIG_NET_SCH_CLK_JIFFIES=y # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set # CONFIG_NET_SCH_CLK_CPU is not set@@ -277,6 +282,7 @@ CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m # CONFIG_CLS_U32_PERF is not set+CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m # CONFIG_NET_EMATCH is not set@@ -315,6 +321,7 @@ # SCSI device support # # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y+# CONFIG_SCSI_TGT is not set CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y @@ -335,6 +342,7 @@ # CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y+CONFIG_SCSI_SCAN_ASYNC=y # # SCSI Transports@@ -546,6 +554,7 @@ CONFIG_DNOTIFY=y # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set # CONFIG_FUSE_FS is not set+CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems@@ -571,7 +580,7 @@ CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y-# CONFIG_CONFIGFS_FS is not set+CONFIG_CONFIGFS_FS=m # # Miscellaneous filesystems@@ -616,7 +625,6 @@ # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set # CONFIG_9P_FS is not set-CONFIG_GENERIC_ACL=y # # Partition Types@@ -646,6 +654,14 @@ # # CONFIG_NLS is not set #+# Distributed Lock Manager+#+CONFIG_DLM=m+CONFIG_DLM_TCP=y+# CONFIG_DLM_SCTP is not set+# CONFIG_DLM_DEBUG is not set++# # Instrumentation Support # @@ -663,6 +679,8 @@ # CONFIG_PRINTK_TIME is not set CONFIG_ENABLE_MUST_CHECK=y CONFIG_MAGIC_SYSRQ=y # CONFIG_UNUSED_SYMBOLS is not set+CONFIG_DEBUG_FS=y+CONFIG_HEADERS_CHECK=y CONFIG_DEBUG_KERNEL=y CONFIG_LOG_BUF_SHIFT=17 # CONFIG_SCHEDSTATS is not set@@ -679,13 +697,11 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_INFO is not set-CONFIG_DEBUG_FS=y # CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_LIST is not set # CONFIG_FRAME_POINTER is not set # CONFIG_UNWIND_INFO is not set CONFIG_FORCED_INLINING=y-CONFIG_HEADERS_CHECK=y # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_LKDTM is not set @@ -699,10 +715,11 @@ # # Cryptographic options # CONFIG_CRYPTO=y-CONFIG_CRYPTO_ALGAPI=m-CONFIG_CRYPTO_BLKCIPHER=m-CONFIG_CRYPTO_MANAGER=m+CONFIG_CRYPTO_ALGAPI=y+CONFIG_CRYPTO_BLKCIPHER=y+CONFIG_CRYPTO_MANAGER=y # CONFIG_CRYPTO_HMAC is not set+# CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set # CONFIG_CRYPTO_MD5 is not set@@ -713,8 +730,10 @@ # CONFIG_CRYPTO_SHA256_S390 is not set # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set # CONFIG_CRYPTO_TGR192 is not set+# CONFIG_CRYPTO_GF128MUL is not set CONFIG_CRYPTO_ECB=m-CONFIG_CRYPTO_CBC=m+CONFIG_CRYPTO_CBC=y+# CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_DES_S390 is not set # CONFIG_CRYPTO_BLOWFISH is not set@@ -740,8 +759,10 @@ # # # Library routines #+CONFIG_BITREVERSE=m # CONFIG_CRC_CCITT is not set # CONFIG_CRC16 is not set CONFIG_CRC32=m # CONFIG_LIBCRC32C is not set CONFIG_PLIST=y+CONFIG_IOMAP_COPY=ydiff --git a/arch/s390/hypfs/hypfs_diag.c b/arch/s390/hypfs/hypfs_diag.cindex 443fa37..2782cf9 100644--- a/arch/s390/hypfs/hypfs_diag.c+++ b/arch/s390/hypfs/hypfs_diag.c@@ -379,7 +379,7 @@ static void *diag204_alloc_vbuf(int page static void *diag204_alloc_rbuf(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -