diff options
Diffstat (limited to 'arch/ppc')
| -rw-r--r-- | arch/ppc/Kconfig | 4 | ||||
| -rw-r--r-- | arch/ppc/kernel/time.c | 7 | ||||
| -rw-r--r-- | arch/ppc/syslib/ocp.c | 2 | 
3 files changed, 7 insertions, 6 deletions
| diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index 36dee0ff5ca0..6ab7e5ea5fcf 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
| @@ -47,6 +47,10 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER | |||
| 47 | bool | 47 | bool | 
| 48 | default y | 48 | default y | 
| 49 | 49 | ||
| 50 | config ARCH_MAY_HAVE_PC_FDC | ||
| 51 | bool | ||
| 52 | default y | ||
| 53 | |||
| 50 | source "init/Kconfig" | 54 | source "init/Kconfig" | 
| 51 | 55 | ||
| 52 | menu "Processor" | 56 | menu "Processor" | 
| diff --git a/arch/ppc/kernel/time.c b/arch/ppc/kernel/time.c index bf4ddca5e853..a3c5281a5d2d 100644 --- a/arch/ppc/kernel/time.c +++ b/arch/ppc/kernel/time.c | |||
| @@ -169,7 +169,7 @@ void timer_interrupt(struct pt_regs * regs) | |||
| 169 | * We should have an rtc call that only sets the minutes and | 169 | * We should have an rtc call that only sets the minutes and | 
| 170 | * seconds like on Intel to avoid problems with non UTC clocks. | 170 | * seconds like on Intel to avoid problems with non UTC clocks. | 
| 171 | */ | 171 | */ | 
| 172 | if ( ppc_md.set_rtc_time && (time_status & STA_UNSYNC) == 0 && | 172 | if ( ppc_md.set_rtc_time && ntp_synced() && | 
| 173 | xtime.tv_sec - last_rtc_update >= 659 && | 173 | xtime.tv_sec - last_rtc_update >= 659 && | 
| 174 | abs((xtime.tv_nsec / 1000) - (1000000-1000000/HZ)) < 500000/HZ && | 174 | abs((xtime.tv_nsec / 1000) - (1000000-1000000/HZ)) < 500000/HZ && | 
| 175 | jiffies - wall_jiffies == 1) { | 175 | jiffies - wall_jiffies == 1) { | 
| @@ -271,10 +271,7 @@ int do_settimeofday(struct timespec *tv) | |||
| 271 | */ | 271 | */ | 
| 272 | last_rtc_update = new_sec - 658; | 272 | last_rtc_update = new_sec - 658; | 
| 273 | 273 | ||
| 274 | time_adjust = 0; /* stop active adjtime() */ | 274 | ntp_clear(); | 
| 275 | time_status |= STA_UNSYNC; | ||
| 276 | time_maxerror = NTP_PHASE_LIMIT; | ||
| 277 | time_esterror = NTP_PHASE_LIMIT; | ||
| 278 | write_sequnlock_irqrestore(&xtime_lock, flags); | 275 | write_sequnlock_irqrestore(&xtime_lock, flags); | 
| 279 | clock_was_set(); | 276 | clock_was_set(); | 
| 280 | return 0; | 277 | return 0; | 
| diff --git a/arch/ppc/syslib/ocp.c b/arch/ppc/syslib/ocp.c index e5fd2ae503ea..9ccce438bd7a 100644 --- a/arch/ppc/syslib/ocp.c +++ b/arch/ppc/syslib/ocp.c | |||
| @@ -165,7 +165,7 @@ ocp_device_remove(struct device *dev) | |||
| 165 | } | 165 | } | 
| 166 | 166 | ||
| 167 | static int | 167 | static int | 
| 168 | ocp_device_suspend(struct device *dev, u32 state) | 168 | ocp_device_suspend(struct device *dev, pm_message_t state) | 
| 169 | { | 169 | { | 
| 170 | struct ocp_device *ocp_dev = to_ocp_dev(dev); | 170 | struct ocp_device *ocp_dev = to_ocp_dev(dev); | 
| 171 | struct ocp_driver *ocp_drv = to_ocp_drv(dev->driver); | 171 | struct ocp_driver *ocp_drv = to_ocp_drv(dev->driver); | 
