Permalink
Browse files

Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'
  • Loading branch information...
2 parents 3dff875 + e07cccf commit 438f7c82206df757599e6346725eb09b3635ae45 @tmlind tmlind committed Sep 9, 2009
Showing with 986 additions and 529 deletions.
  1. +1 −2 MAINTAINERS
  2. +1 −1 Makefile
  3. +3 −1 arch/ia64/kernel/dma-mapping.c
  4. +5 −3 arch/ia64/lib/ip_fast_csum.S
  5. +1 −1 arch/parisc/kernel/traps.c
  6. +3 −3 arch/powerpc/kernel/power7-pmu.c
  7. +0 −1 arch/powerpc/sysdev/xilinx_intc.c
  8. +1 −1 arch/sparc/kernel/irq_64.c
  9. +1 −1 arch/sparc/kernel/nmi.c
  10. +1 −1 arch/sparc/prom/misc_64.c
  11. +3 −4 arch/sparc/prom/printf.c
  12. +10 −0 arch/x86/kernel/apic/probe_64.c
  13. +2 −0 arch/x86/xen/enlighten.c
  14. +1 −1 block/blk-sysfs.c
  15. +9 −2 crypto/algapi.c
  16. +12 −0 drivers/acpi/acpica/exstorob.c
  17. +5 −2 drivers/acpi/video.c
  18. +13 −1 drivers/ata/ata_piix.c
  19. +1 −2 drivers/char/n_tty.c
  20. +1 −9 drivers/char/pty.c
  21. +7 −88 drivers/cpufreq/cpufreq.c
  22. +2 −2 drivers/firewire/core-iso.c
  23. +14 −0 drivers/firewire/ohci.c
  24. +4 −4 drivers/firewire/sbp2.c
  25. +7 −0 drivers/gpu/drm/i915/i915_drv.h
  26. +48 −38 drivers/gpu/drm/i915/i915_gem.c
  27. +48 −3 drivers/gpu/drm/i915/intel_bios.c
  28. +10 −1 drivers/gpu/drm/i915/intel_crt.c
  29. +15 −56 drivers/gpu/drm/i915/intel_display.c
  30. +12 −0 drivers/gpu/drm/i915/intel_dp.c
  31. +20 −0 drivers/gpu/drm/i915/intel_drv.h
  32. +6 −0 drivers/gpu/drm/i915/intel_dvo.c
  33. +12 −6 drivers/gpu/drm/i915/intel_hdmi.c
  34. +2 −0 drivers/gpu/drm/i915/intel_lvds.c
  35. +12 −1 drivers/gpu/drm/i915/intel_sdvo.c
  36. +2 −0 drivers/gpu/drm/i915/intel_tv.c
  37. +35 −0 drivers/input/keyboard/atkbd.c
  38. +8 −0 drivers/input/serio/i8042-x86ia64io.h
  39. +13 −0 drivers/md/dm-exception-store.c
  40. +4 −0 drivers/md/dm-exception-store.h
  41. +24 −15 drivers/md/dm-log-userspace-base.c
  42. +4 −2 drivers/md/dm-log-userspace-transfer.c
  43. +1 −1 drivers/md/dm-log-userspace-transfer.h
  44. +7 −1 drivers/md/dm-raid1.c
  45. +53 −35 drivers/md/dm-snap-persistent.c
  46. +21 −2 drivers/md/dm-snap.c
  47. +12 −1 drivers/md/dm-stripe.c
  48. +33 −18 drivers/md/dm-table.c
  49. +10 −5 drivers/md/dm.c
  50. +24 −16 drivers/media/dvb/siano/Kconfig
  51. +5 −4 drivers/media/dvb/siano/Makefile
  52. +44 −0 drivers/media/dvb/siano/smsdvb.c
  53. +30 −24 drivers/media/dvb/siano/smssdio.c
  54. +41 −3 drivers/media/video/em28xx/em28xx-cards.c
  55. +1 −0 drivers/media/video/em28xx/em28xx.h
  56. +1 −1 drivers/media/video/gspca/Kconfig
  57. +1 −1 drivers/media/video/zr364xx.c
  58. +1 −1 drivers/mtd/devices/m25p80.c
  59. +9 −6 drivers/mtd/nftlcore.c
  60. +1 −0 drivers/net/gianfar.c
  61. +67 −53 drivers/net/wireless/ipw2x00/ipw2200.c
  62. +23 −0 drivers/pci/iov.c
  63. +13 −0 drivers/pci/pci.h
  64. +2 −2 drivers/pci/setup-bus.c
  65. +4 −4 drivers/pci/setup-res.c
  66. +1 −0 drivers/platform/x86/toshiba_acpi.c
  67. +1 −1 fs/autofs4/expire.c
  68. +4 −13 fs/compat.c
  69. +38 −25 fs/exec.c
  70. +4 −0 fs/ext2/namei.c
  71. +10 −0 fs/jffs2/wbuf.c
  72. +1 −1 fs/nilfs2/btnode.c
  73. +14 −6 fs/notify/inotify/inotify_user.c
  74. +2 −2 fs/ocfs2/aops.c
  75. +11 −0 fs/ocfs2/dcache.c
  76. +1 −1 fs/xfs/linux-2.6/xfs_ioctl32.c
  77. +1 −0 include/crypto/algapi.h
  78. +2 −2 include/crypto/internal/skcipher.h
  79. +1 −0 include/linux/binfmts.h
  80. +4 −0 include/linux/device-mapper.h
  81. +12 −1 include/linux/dm-log-userspace.h
  82. +1 −1 include/linux/lmb.h
  83. +15 −0 include/linux/workqueue.h
  84. +2 −2 include/net/pkt_sched.h
  85. +5 −2 kernel/module.c
  86. +2 −1 kernel/perf_counter.c
  87. +1 −2 mm/nommu.c
  88. +4 −2 mm/page_alloc.c
  89. +14 −1 mm/percpu.c
  90. +2 −2 mm/slub.c
  91. +1 −1 net/core/sock.c
  92. +7 −5 net/sched/sch_api.c
  93. +11 −14 net/sched/sch_cbq.c
  94. +1 −0 net/sunrpc/clnt.c
  95. +20 −14 sound/pci/hda/patch_realtek.c
  96. +1 −0 sound/pci/hda/patch_via.c
  97. +3 −0 sound/pci/oxygen/oxygen_lib.c
  98. +2 −0 sound/pci/oxygen/oxygen_pcm.c
View
@@ -2239,8 +2239,7 @@ S: Maintained
F: drivers/media/video/gspca/pac207.c
GSPCA SN9C20X SUBDRIVER
-P: Brian Johnson
-M: brijohn@gmail.com
+M: Brian Johnson <brijohn@gmail.com>
L: linux-media@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
View
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 31
-EXTRAVERSION = -rc8
+EXTRAVERSION = -rc9
NAME = Man-Eating Seals of Antiquity
# *DOCUMENTATION*
@@ -10,7 +10,9 @@ EXPORT_SYMBOL(dma_ops);
static int __init dma_init(void)
{
- dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES);
+ dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES);
+
+ return 0;
}
fs_initcall(dma_init);
@@ -96,20 +96,22 @@ END(ip_fast_csum)
GLOBAL_ENTRY(csum_ipv6_magic)
ld4 r20=[in0],4
ld4 r21=[in1],4
- dep r15=in3,in2,32,16
+ zxt4 in2=in2
;;
ld4 r22=[in0],4
ld4 r23=[in1],4
- mux1 r15=r15,@rev
+ dep r15=in3,in2,32,16
;;
ld4 r24=[in0],4
ld4 r25=[in1],4
- shr.u r15=r15,16
+ mux1 r15=r15,@rev
add r16=r20,r21
add r17=r22,r23
+ zxt4 in4=in4
;;
ld4 r26=[in0],4
ld4 r27=[in1],4
+ shr.u r15=r15,16
add r18=r24,r25
add r8=r16,r17
;;
@@ -532,7 +532,7 @@ void notrace handle_interruption(int code, struct pt_regs *regs)
/* Kill the user process later */
regs->iaoq[0] = 0 | 3;
regs->iaoq[1] = regs->iaoq[0] + 4;
- regs->iasq[0] = regs->iasq[0] = regs->sr[7];
+ regs->iasq[0] = regs->iasq[1] = regs->sr[7];
regs->gr[0] &= ~PSW_B;
return;
}
@@ -317,7 +317,7 @@ static int power7_generic_events[] = {
*/
static int power7_cache_events[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
[C(L1D)] = { /* RESULT_ACCESS RESULT_MISS */
- [C(OP_READ)] = { 0x400f0, 0xc880 },
+ [C(OP_READ)] = { 0xc880, 0x400f0 },
[C(OP_WRITE)] = { 0, 0x300f0 },
[C(OP_PREFETCH)] = { 0xd8b8, 0 },
},
@@ -327,8 +327,8 @@ static int power7_cache_events[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
[C(OP_PREFETCH)] = { 0x408a, 0 },
},
[C(LL)] = { /* RESULT_ACCESS RESULT_MISS */
- [C(OP_READ)] = { 0x6080, 0x6084 },
- [C(OP_WRITE)] = { 0x6082, 0x6086 },
+ [C(OP_READ)] = { 0x16080, 0x26080 },
+ [C(OP_WRITE)] = { 0x16082, 0x26082 },
[C(OP_PREFETCH)] = { 0, 0 },
},
[C(DTLB)] = { /* RESULT_ACCESS RESULT_MISS */
@@ -234,7 +234,6 @@ static void xilinx_i8259_cascade(unsigned int irq, struct irq_desc *desc)
generic_handle_irq(cascade_irq);
/* Let xilinx_intc end the interrupt */
- desc->chip->ack(irq);
desc->chip->unmask(irq);
}
@@ -886,7 +886,7 @@ void notrace init_irqwork_curcpu(void)
* Therefore you cannot make any OBP calls, not even prom_printf,
* from these two routines.
*/
-static void __cpuinit register_one_mondo(unsigned long paddr, unsigned long type, unsigned long qmask)
+static void __cpuinit notrace register_one_mondo(unsigned long paddr, unsigned long type, unsigned long qmask)
{
unsigned long num_entries = (qmask + 1) / 64;
unsigned long status;
View
@@ -103,7 +103,7 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs)
}
if (!touched && __get_cpu_var(last_irq_sum) == sum) {
local_inc(&__get_cpu_var(alert_counter));
- if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz)
+ if (local_read(&__get_cpu_var(alert_counter)) == 30 * nmi_hz)
die_nmi("BUG: NMI Watchdog detected LOCKUP",
regs, panic_on_timeout);
} else {
@@ -88,7 +88,7 @@ void prom_cmdline(void)
/* Drop into the prom, but completely terminate the program.
* No chance of continuing.
*/
-void prom_halt(void)
+void notrace prom_halt(void)
{
#ifdef CONFIG_SUN_LDOMS
if (ldom_domaining_enabled)
View
@@ -14,14 +14,14 @@
*/
#include <linux/kernel.h>
+#include <linux/compiler.h>
#include <asm/openprom.h>
#include <asm/oplib.h>
static char ppbuf[1024];
-void
-prom_write(const char *buf, unsigned int n)
+void notrace prom_write(const char *buf, unsigned int n)
{
char ch;
@@ -33,8 +33,7 @@ prom_write(const char *buf, unsigned int n)
}
}
-void
-prom_printf(const char *fmt, ...)
+void notrace prom_printf(const char *fmt, ...)
{
va_list args;
int i;
@@ -44,6 +44,11 @@ static struct apic *apic_probe[] __initdata = {
NULL,
};
+static int apicid_phys_pkg_id(int initial_apic_id, int index_msb)
+{
+ return hard_smp_processor_id() >> index_msb;
+}
+
/*
* Check the APIC IDs in bios_cpu_apicid and choose the APIC mode.
*/
@@ -69,6 +74,11 @@ void __init default_setup_apic_routing(void)
printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
}
+ if (is_vsmp_box()) {
+ /* need to update phys_pkg_id */
+ apic->phys_pkg_id = apicid_phys_pkg_id;
+ }
+
/*
* Now that apic routing model is selected, configure the
* fault handling for intr remapping.
View
@@ -215,6 +215,7 @@ static __init void xen_init_cpuid_mask(void)
(1 << X86_FEATURE_ACPI)); /* disable ACPI */
ax = 1;
+ cx = 0;
xen_cpuid(&ax, &bx, &cx, &dx);
/* cpuid claims we support xsave; try enabling it to see what happens */
@@ -1059,6 +1060,7 @@ asmlinkage void __init xen_start_kernel(void)
/* set up basic CPUID stuff */
cpu_detect(&new_cpu_data);
new_cpu_data.hard_math = 1;
+ new_cpu_data.wp_works_ok = 1;
new_cpu_data.x86_capability[0] = cpuid_edx(1);
#endif
View
@@ -133,7 +133,7 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count)
return -EINVAL;
spin_lock_irq(q->queue_lock);
- blk_queue_max_sectors(q, max_sectors_kb << 1);
+ q->limits.max_sectors = max_sectors_kb << 1;
spin_unlock_irq(q->queue_lock);
return ret;
View
@@ -692,7 +692,7 @@ int crypto_enqueue_request(struct crypto_queue *queue,
}
EXPORT_SYMBOL_GPL(crypto_enqueue_request);
-struct crypto_async_request *crypto_dequeue_request(struct crypto_queue *queue)
+void *__crypto_dequeue_request(struct crypto_queue *queue, unsigned int offset)
{
struct list_head *request;
@@ -707,7 +707,14 @@ struct crypto_async_request *crypto_dequeue_request(struct crypto_queue *queue)
request = queue->list.next;
list_del(request);
- return list_entry(request, struct crypto_async_request, list);
+ return (char *)list_entry(request, struct crypto_async_request, list) -
+ offset;
+}
+EXPORT_SYMBOL_GPL(__crypto_dequeue_request);
+
+struct crypto_async_request *crypto_dequeue_request(struct crypto_queue *queue)
+{
+ return __crypto_dequeue_request(queue, 0);
}
EXPORT_SYMBOL_GPL(crypto_dequeue_request);
@@ -70,6 +70,12 @@ acpi_ex_store_buffer_to_buffer(union acpi_operand_object *source_desc,
ACPI_FUNCTION_TRACE_PTR(ex_store_buffer_to_buffer, source_desc);
+ /* If Source and Target are the same, just return */
+
+ if (source_desc == target_desc) {
+ return_ACPI_STATUS(AE_OK);
+ }
+
/* We know that source_desc is a buffer by now */
buffer = ACPI_CAST_PTR(u8, source_desc->buffer.pointer);
@@ -161,6 +167,12 @@ acpi_ex_store_string_to_string(union acpi_operand_object *source_desc,
ACPI_FUNCTION_TRACE_PTR(ex_store_string_to_string, source_desc);
+ /* If Source and Target are the same, just return */
+
+ if (source_desc == target_desc) {
+ return_ACPI_STATUS(AE_OK);
+ }
+
/* We know that source_desc is a string by now */
buffer = ACPI_CAST_PTR(u8, source_desc->string.pointer);
View
@@ -2004,8 +2004,11 @@ static int acpi_video_bus_put_one_device(struct acpi_video_device *device)
status = acpi_remove_notify_handler(device->dev->handle,
ACPI_DEVICE_NOTIFY,
acpi_video_device_notify);
- sysfs_remove_link(&device->backlight->dev.kobj, "device");
- backlight_device_unregister(device->backlight);
+ if (device->backlight) {
+ sysfs_remove_link(&device->backlight->dev.kobj, "device");
+ backlight_device_unregister(device->backlight);
+ device->backlight = NULL;
+ }
if (device->cdev) {
sysfs_remove_link(&device->dev->dev.kobj,
"thermal_cooling");
View
@@ -664,6 +664,8 @@ static int piix_pata_prereset(struct ata_link *link, unsigned long deadline)
return ata_sff_prereset(link, deadline);
}
+static DEFINE_SPINLOCK(piix_lock);
+
/**
* piix_set_piomode - Initialize host controller PATA PIO timings
* @ap: Port whose timings we are configuring
@@ -677,8 +679,9 @@ static int piix_pata_prereset(struct ata_link *link, unsigned long deadline)
static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
{
- unsigned int pio = adev->pio_mode - XFER_PIO_0;
struct pci_dev *dev = to_pci_dev(ap->host->dev);
+ unsigned long flags;
+ unsigned int pio = adev->pio_mode - XFER_PIO_0;
unsigned int is_slave = (adev->devno != 0);
unsigned int master_port= ap->port_no ? 0x42 : 0x40;
unsigned int slave_port = 0x44;
@@ -708,6 +711,8 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
if (adev->class == ATA_DEV_ATA)
control |= 4; /* PPE enable */
+ spin_lock_irqsave(&piix_lock, flags);
+
/* PIO configuration clears DTE unconditionally. It will be
* programmed in set_dmamode which is guaranteed to be called
* after set_piomode if any DMA mode is available.
@@ -747,6 +752,8 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
udma_enable &= ~(1 << (2 * ap->port_no + adev->devno));
pci_write_config_byte(dev, 0x48, udma_enable);
}
+
+ spin_unlock_irqrestore(&piix_lock, flags);
}
/**
@@ -764,6 +771,7 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
static void do_pata_set_dmamode(struct ata_port *ap, struct ata_device *adev, int isich)
{
struct pci_dev *dev = to_pci_dev(ap->host->dev);
+ unsigned long flags;
u8 master_port = ap->port_no ? 0x42 : 0x40;
u16 master_data;
u8 speed = adev->dma_mode;
@@ -777,6 +785,8 @@ static void do_pata_set_dmamode(struct ata_port *ap, struct ata_device *adev, in
{ 2, 1 },
{ 2, 3 }, };
+ spin_lock_irqsave(&piix_lock, flags);
+
pci_read_config_word(dev, master_port, &master_data);
if (ap->udma_mask)
pci_read_config_byte(dev, 0x48, &udma_enable);
@@ -867,6 +877,8 @@ static void do_pata_set_dmamode(struct ata_port *ap, struct ata_device *adev, in
/* Don't scribble on 0x48 if the controller does not support UDMA */
if (ap->udma_mask)
pci_write_config_byte(dev, 0x48, udma_enable);
+
+ spin_unlock_irqrestore(&piix_lock, flags);
}
/**
View
@@ -300,8 +300,7 @@ static int do_output_char(unsigned char c, struct tty_struct *tty, int space)
if (space < 2)
return -1;
tty->canon_column = tty->column = 0;
- tty_put_char(tty, '\r');
- tty_put_char(tty, c);
+ tty->ops->write(tty, "\r\n", 2);
return 2;
}
tty->canon_column = tty->column;
View
@@ -109,21 +109,13 @@ static int pty_space(struct tty_struct *to)
* the other side of the pty/tty pair.
*/
-static int pty_write(struct tty_struct *tty, const unsigned char *buf,
- int count)
+static int pty_write(struct tty_struct *tty, const unsigned char *buf, int c)
{
struct tty_struct *to = tty->link;
- int c;
if (tty->stopped)
return 0;
- /* This isn't locked but our 8K is quite sloppy so no
- big deal */
-
- c = pty_space(to);
- if (c > count)
- c = count;
if (c > 0) {
/* Stuff the data into the input queue of the other end */
c = tty_insert_flip_string(to, buf, c);
Oops, something went wrong.

0 comments on commit 438f7c8

Please sign in to comment.