diff options
Diffstat (limited to 'arch/m32r/kernel')
| -rw-r--r-- | arch/m32r/kernel/smp.c | 3 | ||||
| -rw-r--r-- | arch/m32r/kernel/time.c | 6 | ||||
| -rw-r--r-- | arch/m32r/kernel/vmlinux.lds.S | 2 | 
3 files changed, 7 insertions, 4 deletions
| diff --git a/arch/m32r/kernel/smp.c b/arch/m32r/kernel/smp.c index 1b7598e6f6e..31cef20b299 100644 --- a/arch/m32r/kernel/smp.c +++ b/arch/m32r/kernel/smp.c @@ -17,6 +17,7 @@  #include <linux/irq.h>  #include <linux/interrupt.h> +#include <linux/sched.h>  #include <linux/spinlock.h>  #include <linux/mm.h>  #include <linux/smp.h> @@ -805,7 +806,7 @@ unsigned long send_IPI_mask_phys(cpumask_t physid_mask, int ipi_num,  	if (mask & ~physids_coerce(phys_cpu_present_map))  		BUG(); -	if (ipi_num >= NR_IPIS) +	if (ipi_num >= NR_IPIS || ipi_num < 0)  		BUG();  	mask <<= IPI_SHIFT; diff --git a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c index e7fee0f198d..9cedcef1157 100644 --- a/arch/m32r/kernel/time.c +++ b/arch/m32r/kernel/time.c @@ -75,7 +75,7 @@ u32 arch_gettimeoffset(void)  		count = 0;  	count = (latch - count) * TICK_SIZE; -	elapsed_time = (count + latch / 2) / latch; +	elapsed_time = DIV_ROUND_CLOSEST(count, latch);  	/* NOTE: LATCH is equal to the "interval" value (= reload count). */  #else /* CONFIG_SMP */ @@ -93,7 +93,7 @@ u32 arch_gettimeoffset(void)  	p_count = count;  	count = (latch - count) * TICK_SIZE; -	elapsed_time = (count + latch / 2) / latch; +	elapsed_time = DIV_ROUND_CLOSEST(count, latch);  	/* NOTE: LATCH is equal to the "interval" value (= reload count). */  #endif /* CONFIG_SMP */  #elif defined(CONFIG_CHIP_M32310) @@ -211,7 +211,7 @@ void __init time_init(void)  		bus_clock = boot_cpu_data.bus_clock;  		divide = boot_cpu_data.timer_divide; -		latch = (bus_clock/divide + HZ / 2) / HZ; +		latch = DIV_ROUND_CLOSEST(bus_clock/divide, HZ);  		printk("Timer start : latch = %ld\n", latch); diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S index 8ceb6181d80..7da94eaa082 100644 --- a/arch/m32r/kernel/vmlinux.lds.S +++ b/arch/m32r/kernel/vmlinux.lds.S @@ -42,6 +42,8 @@ SECTIONS    _etext = .;			/* End of text section */    EXCEPTION_TABLE(16) +  NOTES +    RODATA    RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)    _edata = .;			/* End of data section */ | 
