Commit 18b15fcd authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes form Peter Anvin

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND
  arch/x86/platform/geode/net5501.c: change active_low to 0 for LED driver
  x86, relocs: Remove an unused variable
  asm-generic: Use __BITS_PER_LONG in statfs.h
  x86/amd: Re-enable CPU topology extensions in case BIOS has disabled it
parents 271fd5d7 ab27a20e
...@@ -403,13 +403,11 @@ static void print_absolute_symbols(void) ...@@ -403,13 +403,11 @@ static void print_absolute_symbols(void)
for (i = 0; i < ehdr.e_shnum; i++) { for (i = 0; i < ehdr.e_shnum; i++) {
struct section *sec = &secs[i]; struct section *sec = &secs[i];
char *sym_strtab; char *sym_strtab;
Elf32_Sym *sh_symtab;
int j; int j;
if (sec->shdr.sh_type != SHT_SYMTAB) { if (sec->shdr.sh_type != SHT_SYMTAB) {
continue; continue;
} }
sh_symtab = sec->symtab;
sym_strtab = sec->link->strtab; sym_strtab = sec->link->strtab;
for (j = 0; j < sec->shdr.sh_size/sizeof(Elf32_Sym); j++) { for (j = 0; j < sec->shdr.sh_size/sizeof(Elf32_Sym); j++) {
Elf32_Sym *sym; Elf32_Sym *sym;
......
...@@ -580,6 +580,24 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c) ...@@ -580,6 +580,24 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
} }
} }
/* re-enable TopologyExtensions if switched off by BIOS */
if ((c->x86 == 0x15) &&
(c->x86_model >= 0x10) && (c->x86_model <= 0x1f) &&
!cpu_has(c, X86_FEATURE_TOPOEXT)) {
u64 val;
if (!rdmsrl_amd_safe(0xc0011005, &val)) {
val |= 1ULL << 54;
wrmsrl_amd_safe(0xc0011005, val);
rdmsrl(0xc0011005, val);
if (val & (1ULL << 54)) {
set_cpu_cap(c, X86_FEATURE_TOPOEXT);
printk(KERN_INFO FW_INFO "CPU: Re-enabling "
"disabled Topology Extensions Support\n");
}
}
}
cpu_detect_cache_sizes(c); cpu_detect_cache_sizes(c);
/* Multi core CPU? */ /* Multi core CPU? */
......
...@@ -63,7 +63,7 @@ static struct gpio_led net5501_leds[] = { ...@@ -63,7 +63,7 @@ static struct gpio_led net5501_leds[] = {
.name = "net5501:1", .name = "net5501:1",
.gpio = 6, .gpio = 6,
.default_trigger = "default-on", .default_trigger = "default-on",
.active_low = 1, .active_low = 0,
}, },
}; };
......
...@@ -78,7 +78,7 @@ static int __devinit mfld_pb_probe(struct platform_device *pdev) ...@@ -78,7 +78,7 @@ static int __devinit mfld_pb_probe(struct platform_device *pdev)
input_set_capability(input, EV_KEY, KEY_POWER); input_set_capability(input, EV_KEY, KEY_POWER);
error = request_threaded_irq(irq, NULL, mfld_pb_isr, 0, error = request_threaded_irq(irq, NULL, mfld_pb_isr, IRQF_NO_SUSPEND,
DRIVER_NAME, input); DRIVER_NAME, input);
if (error) { if (error) {
dev_err(&pdev->dev, "Unable to request irq %d for mfld power" dev_err(&pdev->dev, "Unable to request irq %d for mfld power"
......
...@@ -15,7 +15,7 @@ typedef __kernel_fsid_t fsid_t; ...@@ -15,7 +15,7 @@ typedef __kernel_fsid_t fsid_t;
* with a 10' pole. * with a 10' pole.
*/ */
#ifndef __statfs_word #ifndef __statfs_word
#if BITS_PER_LONG == 64 #if __BITS_PER_LONG == 64
#define __statfs_word long #define __statfs_word long
#else #else
#define __statfs_word __u32 #define __statfs_word __u32
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment