Merge branch 'x86/cleanups' into x86/apic
Merge in the cleanups because a followup x86/apic change relies on them. Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
879060d574
6 changed files with 12 additions and 17 deletions
|
@ -156,7 +156,6 @@ struct x86_cpuinit_ops {
|
||||||
/**
|
/**
|
||||||
* struct x86_platform_ops - platform specific runtime functions
|
* struct x86_platform_ops - platform specific runtime functions
|
||||||
* @calibrate_tsc: calibrate TSC
|
* @calibrate_tsc: calibrate TSC
|
||||||
* @wallclock_init: init the wallclock device
|
|
||||||
* @get_wallclock: get time from HW clock like RTC etc.
|
* @get_wallclock: get time from HW clock like RTC etc.
|
||||||
* @set_wallclock: set time back to HW clock
|
* @set_wallclock: set time back to HW clock
|
||||||
* @is_untracked_pat_range exclude from PAT logic
|
* @is_untracked_pat_range exclude from PAT logic
|
||||||
|
@ -167,7 +166,6 @@ struct x86_cpuinit_ops {
|
||||||
*/
|
*/
|
||||||
struct x86_platform_ops {
|
struct x86_platform_ops {
|
||||||
unsigned long (*calibrate_tsc)(void);
|
unsigned long (*calibrate_tsc)(void);
|
||||||
void (*wallclock_init)(void);
|
|
||||||
unsigned long (*get_wallclock)(void);
|
unsigned long (*get_wallclock)(void);
|
||||||
int (*set_wallclock)(unsigned long nowtime);
|
int (*set_wallclock)(unsigned long nowtime);
|
||||||
void (*iommu_shutdown)(void);
|
void (*iommu_shutdown)(void);
|
||||||
|
|
|
@ -2293,6 +2293,7 @@ ioapic_set_affinity(struct irq_data *data, const struct cpumask *mask,
|
||||||
/* Only the high 8 bits are valid. */
|
/* Only the high 8 bits are valid. */
|
||||||
dest = SET_APIC_LOGICAL_ID(dest);
|
dest = SET_APIC_LOGICAL_ID(dest);
|
||||||
__target_IO_APIC_irq(irq, dest, data->chip_data);
|
__target_IO_APIC_irq(irq, dest, data->chip_data);
|
||||||
|
ret = IRQ_SET_MASK_OK_NOCOPY;
|
||||||
}
|
}
|
||||||
raw_spin_unlock_irqrestore(&ioapic_lock, flags);
|
raw_spin_unlock_irqrestore(&ioapic_lock, flags);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -3118,7 +3119,7 @@ msi_set_affinity(struct irq_data *data, const struct cpumask *mask, bool force)
|
||||||
|
|
||||||
__write_msi_msg(data->msi_desc, &msg);
|
__write_msi_msg(data->msi_desc, &msg);
|
||||||
|
|
||||||
return 0;
|
return IRQ_SET_MASK_OK_NOCOPY;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_SMP */
|
#endif /* CONFIG_SMP */
|
||||||
|
|
||||||
|
@ -3240,7 +3241,7 @@ dmar_msi_set_affinity(struct irq_data *data, const struct cpumask *mask,
|
||||||
|
|
||||||
dmar_msi_write(irq, &msg);
|
dmar_msi_write(irq, &msg);
|
||||||
|
|
||||||
return 0;
|
return IRQ_SET_MASK_OK_NOCOPY;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_SMP */
|
#endif /* CONFIG_SMP */
|
||||||
|
@ -3293,7 +3294,7 @@ static int hpet_msi_set_affinity(struct irq_data *data,
|
||||||
|
|
||||||
hpet_msi_write(data->handler_data, &msg);
|
hpet_msi_write(data->handler_data, &msg);
|
||||||
|
|
||||||
return 0;
|
return IRQ_SET_MASK_OK_NOCOPY;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_SMP */
|
#endif /* CONFIG_SMP */
|
||||||
|
@ -3366,7 +3367,7 @@ ht_set_affinity(struct irq_data *data, const struct cpumask *mask, bool force)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
target_ht_irq(data->irq, dest, cfg->vector);
|
target_ht_irq(data->irq, dest, cfg->vector);
|
||||||
return 0;
|
return IRQ_SET_MASK_OK_NOCOPY;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -119,7 +119,7 @@ static __init void early_serial_init(char *s)
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
unsigned divisor;
|
unsigned divisor;
|
||||||
unsigned baud = DEFAULT_BAUD;
|
unsigned baud = DEFAULT_BAUD;
|
||||||
char *e;
|
ssize_t ret;
|
||||||
|
|
||||||
if (*s == ',')
|
if (*s == ',')
|
||||||
++s;
|
++s;
|
||||||
|
@ -127,14 +127,14 @@ static __init void early_serial_init(char *s)
|
||||||
if (*s) {
|
if (*s) {
|
||||||
unsigned port;
|
unsigned port;
|
||||||
if (!strncmp(s, "0x", 2)) {
|
if (!strncmp(s, "0x", 2)) {
|
||||||
early_serial_base = simple_strtoul(s, &e, 16);
|
ret = kstrtoint(s, 16, &early_serial_base);
|
||||||
} else {
|
} else {
|
||||||
static const int __initconst bases[] = { 0x3f8, 0x2f8 };
|
static const int __initconst bases[] = { 0x3f8, 0x2f8 };
|
||||||
|
|
||||||
if (!strncmp(s, "ttyS", 4))
|
if (!strncmp(s, "ttyS", 4))
|
||||||
s += 4;
|
s += 4;
|
||||||
port = simple_strtoul(s, &e, 10);
|
ret = kstrtouint(s, 10, &port);
|
||||||
if (port > 1 || s == e)
|
if (ret || port > 1)
|
||||||
port = 0;
|
port = 0;
|
||||||
early_serial_base = bases[port];
|
early_serial_base = bases[port];
|
||||||
}
|
}
|
||||||
|
@ -149,8 +149,8 @@ static __init void early_serial_init(char *s)
|
||||||
outb(0x3, early_serial_base + MCR); /* DTR + RTS */
|
outb(0x3, early_serial_base + MCR); /* DTR + RTS */
|
||||||
|
|
||||||
if (*s) {
|
if (*s) {
|
||||||
baud = simple_strtoul(s, &e, 0);
|
ret = kstrtouint(s, 0, &baud);
|
||||||
if (baud == 0 || s == e)
|
if (ret || baud == 0)
|
||||||
baud = DEFAULT_BAUD;
|
baud = DEFAULT_BAUD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1031,8 +1031,6 @@ void __init setup_arch(char **cmdline_p)
|
||||||
|
|
||||||
x86_init.timers.wallclock_init();
|
x86_init.timers.wallclock_init();
|
||||||
|
|
||||||
x86_platform.wallclock_init();
|
|
||||||
|
|
||||||
mcheck_init();
|
mcheck_init();
|
||||||
|
|
||||||
arch_init_ideal_nops();
|
arch_init_ideal_nops();
|
||||||
|
|
|
@ -29,7 +29,6 @@ void __init x86_init_uint_noop(unsigned int unused) { }
|
||||||
void __init x86_init_pgd_noop(pgd_t *unused) { }
|
void __init x86_init_pgd_noop(pgd_t *unused) { }
|
||||||
int __init iommu_init_noop(void) { return 0; }
|
int __init iommu_init_noop(void) { return 0; }
|
||||||
void iommu_shutdown_noop(void) { }
|
void iommu_shutdown_noop(void) { }
|
||||||
void wallclock_init_noop(void) { }
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The platform setup functions are preset with the default functions
|
* The platform setup functions are preset with the default functions
|
||||||
|
@ -101,7 +100,6 @@ static int default_i8042_detect(void) { return 1; };
|
||||||
|
|
||||||
struct x86_platform_ops x86_platform = {
|
struct x86_platform_ops x86_platform = {
|
||||||
.calibrate_tsc = native_calibrate_tsc,
|
.calibrate_tsc = native_calibrate_tsc,
|
||||||
.wallclock_init = wallclock_init_noop,
|
|
||||||
.get_wallclock = mach_get_cmos_time,
|
.get_wallclock = mach_get_cmos_time,
|
||||||
.set_wallclock = mach_set_rtc_mmss,
|
.set_wallclock = mach_set_rtc_mmss,
|
||||||
.iommu_shutdown = iommu_shutdown_noop,
|
.iommu_shutdown = iommu_shutdown_noop,
|
||||||
|
|
|
@ -227,7 +227,7 @@ uv_set_irq_affinity(struct irq_data *data, const struct cpumask *mask,
|
||||||
if (cfg->move_in_progress)
|
if (cfg->move_in_progress)
|
||||||
send_cleanup_vector(cfg);
|
send_cleanup_vector(cfg);
|
||||||
|
|
||||||
return 0;
|
return IRQ_SET_MASK_OK_NOCOPY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue