aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/include/asm/x86_init.h2
-rw-r--r--arch/x86/kernel/apic/io_apic.c9
-rw-r--r--arch/x86/kernel/early_printk.c12
-rw-r--r--arch/x86/kernel/setup.c2
-rw-r--r--arch/x86/kernel/x86_init.c2
-rw-r--r--arch/x86/platform/uv/uv_irq.c2
6 files changed, 12 insertions, 17 deletions
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index c090af10ac7d..42d2ae18dab2 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -156,7 +156,6 @@ struct x86_cpuinit_ops {
156/** 156/**
157 * struct x86_platform_ops - platform specific runtime functions 157 * struct x86_platform_ops - platform specific runtime functions
158 * @calibrate_tsc: calibrate TSC 158 * @calibrate_tsc: calibrate TSC
159 * @wallclock_init: init the wallclock device
160 * @get_wallclock: get time from HW clock like RTC etc. 159 * @get_wallclock: get time from HW clock like RTC etc.
161 * @set_wallclock: set time back to HW clock 160 * @set_wallclock: set time back to HW clock
162 * @is_untracked_pat_range exclude from PAT logic 161 * @is_untracked_pat_range exclude from PAT logic
@@ -167,7 +166,6 @@ struct x86_cpuinit_ops {
167 */ 166 */
168struct x86_platform_ops { 167struct x86_platform_ops {
169 unsigned long (*calibrate_tsc)(void); 168 unsigned long (*calibrate_tsc)(void);
170 void (*wallclock_init)(void);
171 unsigned long (*get_wallclock)(void); 169 unsigned long (*get_wallclock)(void);
172 int (*set_wallclock)(unsigned long nowtime); 170 int (*set_wallclock)(unsigned long nowtime);
173 void (*iommu_shutdown)(void); 171 void (*iommu_shutdown)(void);
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 0540f083f452..7cbd397884f5 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -2293,6 +2293,7 @@ ioapic_set_affinity(struct irq_data *data, const struct cpumask *mask,
2293 /* Only the high 8 bits are valid. */ 2293 /* Only the high 8 bits are valid. */
2294 dest = SET_APIC_LOGICAL_ID(dest); 2294 dest = SET_APIC_LOGICAL_ID(dest);
2295 __target_IO_APIC_irq(irq, dest, data->chip_data); 2295 __target_IO_APIC_irq(irq, dest, data->chip_data);
2296 ret = IRQ_SET_MASK_OK_NOCOPY;
2296 } 2297 }
2297 raw_spin_unlock_irqrestore(&ioapic_lock, flags); 2298 raw_spin_unlock_irqrestore(&ioapic_lock, flags);
2298 return ret; 2299 return ret;
@@ -3118,7 +3119,7 @@ msi_set_affinity(struct irq_data *data, const struct cpumask *mask, bool force)
3118 3119
3119 __write_msi_msg(data->msi_desc, &msg); 3120 __write_msi_msg(data->msi_desc, &msg);
3120 3121
3121 return 0; 3122 return IRQ_SET_MASK_OK_NOCOPY;
3122} 3123}
3123#endif /* CONFIG_SMP */ 3124#endif /* CONFIG_SMP */
3124 3125
@@ -3240,7 +3241,7 @@ dmar_msi_set_affinity(struct irq_data *data, const struct cpumask *mask,
3240 3241
3241 dmar_msi_write(irq, &msg); 3242 dmar_msi_write(irq, &msg);
3242 3243
3243 return 0; 3244 return IRQ_SET_MASK_OK_NOCOPY;
3244} 3245}
3245 3246
3246#endif /* CONFIG_SMP */ 3247#endif /* CONFIG_SMP */
@@ -3293,7 +3294,7 @@ static int hpet_msi_set_affinity(struct irq_data *data,
3293 3294
3294 hpet_msi_write(data->handler_data, &msg); 3295 hpet_msi_write(data->handler_data, &msg);
3295 3296
3296 return 0; 3297 return IRQ_SET_MASK_OK_NOCOPY;
3297} 3298}
3298 3299
3299#endif /* CONFIG_SMP */ 3300#endif /* CONFIG_SMP */
@@ -3366,7 +3367,7 @@ ht_set_affinity(struct irq_data *data, const struct cpumask *mask, bool force)
3366 return -1; 3367 return -1;
3367 3368
3368 target_ht_irq(data->irq, dest, cfg->vector); 3369 target_ht_irq(data->irq, dest, cfg->vector);
3369 return 0; 3370 return IRQ_SET_MASK_OK_NOCOPY;
3370} 3371}
3371 3372
3372#endif 3373#endif
diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c
index 9b9f18b49918..5e4771266f1a 100644
--- a/arch/x86/kernel/early_printk.c
+++ b/arch/x86/kernel/early_printk.c
@@ -119,7 +119,7 @@ static __init void early_serial_init(char *s)
119 unsigned char c; 119 unsigned char c;
120 unsigned divisor; 120 unsigned divisor;
121 unsigned baud = DEFAULT_BAUD; 121 unsigned baud = DEFAULT_BAUD;
122 char *e; 122 ssize_t ret;
123 123
124 if (*s == ',') 124 if (*s == ',')
125 ++s; 125 ++s;
@@ -127,14 +127,14 @@ static __init void early_serial_init(char *s)
127 if (*s) { 127 if (*s) {
128 unsigned port; 128 unsigned port;
129 if (!strncmp(s, "0x", 2)) { 129 if (!strncmp(s, "0x", 2)) {
130 early_serial_base = simple_strtoul(s, &e, 16); 130 ret = kstrtoint(s, 16, &early_serial_base);
131 } else { 131 } else {
132 static const int __initconst bases[] = { 0x3f8, 0x2f8 }; 132 static const int __initconst bases[] = { 0x3f8, 0x2f8 };
133 133
134 if (!strncmp(s, "ttyS", 4)) 134 if (!strncmp(s, "ttyS", 4))
135 s += 4; 135 s += 4;
136 port = simple_strtoul(s, &e, 10); 136 ret = kstrtouint(s, 10, &port);
137 if (port > 1 || s == e) 137 if (ret || port > 1)
138 port = 0; 138 port = 0;
139 early_serial_base = bases[port]; 139 early_serial_base = bases[port];
140 } 140 }
@@ -149,8 +149,8 @@ static __init void early_serial_init(char *s)
149 outb(0x3, early_serial_base + MCR); /* DTR + RTS */ 149 outb(0x3, early_serial_base + MCR); /* DTR + RTS */
150 150
151 if (*s) { 151 if (*s) {
152 baud = simple_strtoul(s, &e, 0); 152 ret = kstrtouint(s, 0, &baud);
153 if (baud == 0 || s == e) 153 if (ret || baud == 0)
154 baud = DEFAULT_BAUD; 154 baud = DEFAULT_BAUD;
155 } 155 }
156 156
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 16be6dc14db1..f4b9b80e1b95 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1031,8 +1031,6 @@ void __init setup_arch(char **cmdline_p)
1031 1031
1032 x86_init.timers.wallclock_init(); 1032 x86_init.timers.wallclock_init();
1033 1033
1034 x86_platform.wallclock_init();
1035
1036 mcheck_init(); 1034 mcheck_init();
1037 1035
1038 arch_init_ideal_nops(); 1036 arch_init_ideal_nops();
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 35c5e543f550..9f3167e891ef 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -29,7 +29,6 @@ void __init x86_init_uint_noop(unsigned int unused) { }
29void __init x86_init_pgd_noop(pgd_t *unused) { } 29void __init x86_init_pgd_noop(pgd_t *unused) { }
30int __init iommu_init_noop(void) { return 0; } 30int __init iommu_init_noop(void) { return 0; }
31void iommu_shutdown_noop(void) { } 31void iommu_shutdown_noop(void) { }
32void wallclock_init_noop(void) { }
33 32
34/* 33/*
35 * The platform setup functions are preset with the default functions 34 * The platform setup functions are preset with the default functions
@@ -101,7 +100,6 @@ static int default_i8042_detect(void) { return 1; };
101 100
102struct x86_platform_ops x86_platform = { 101struct x86_platform_ops x86_platform = {
103 .calibrate_tsc = native_calibrate_tsc, 102 .calibrate_tsc = native_calibrate_tsc,
104 .wallclock_init = wallclock_init_noop,
105 .get_wallclock = mach_get_cmos_time, 103 .get_wallclock = mach_get_cmos_time,
106 .set_wallclock = mach_set_rtc_mmss, 104 .set_wallclock = mach_set_rtc_mmss,
107 .iommu_shutdown = iommu_shutdown_noop, 105 .iommu_shutdown = iommu_shutdown_noop,
diff --git a/arch/x86/platform/uv/uv_irq.c b/arch/x86/platform/uv/uv_irq.c
index a67c7a6bac7e..acf7752da952 100644
--- a/arch/x86/platform/uv/uv_irq.c
+++ b/arch/x86/platform/uv/uv_irq.c
@@ -227,7 +227,7 @@ uv_set_irq_affinity(struct irq_data *data, const struct cpumask *mask,
227 if (cfg->move_in_progress) 227 if (cfg->move_in_progress)
228 send_cleanup_vector(cfg); 228 send_cleanup_vector(cfg);
229 229
230 return 0; 230 return IRQ_SET_MASK_OK_NOCOPY;
231} 231}
232 232
233/* 233/*