Merge /pub/scm/linux/kernel/git/torvalds/linux-2.6
[powerpc.git] / arch / powerpc / kernel / time.c
index 46a24de..7cedef8 100644 (file)
@@ -631,7 +631,8 @@ void timer_interrupt(struct pt_regs * regs)
        calculate_steal_time();
 
 #ifdef CONFIG_PPC_ISERIES
-       get_lppaca()->int_dword.fields.decr_int = 0;
+       if (firmware_has_feature(FW_FEATURE_ISERIES))
+               get_lppaca()->int_dword.fields.decr_int = 0;
 #endif
 
        while ((ticks = tb_ticks_since(per_cpu(last_jiffy, cpu)))
@@ -674,7 +675,7 @@ void timer_interrupt(struct pt_regs * regs)
        set_dec(next_dec);
 
 #ifdef CONFIG_PPC_ISERIES
-       if (hvlpevent_is_pending())
+       if (firmware_has_feature(FW_FEATURE_ISERIES) && hvlpevent_is_pending())
                process_hvlpevents();
 #endif
 
@@ -774,7 +775,7 @@ int do_settimeofday(struct timespec *tv)
         * settimeofday to perform this operation.
         */
 #ifdef CONFIG_PPC_ISERIES
-       if (first_settimeofday) {
+       if (firmware_has_feature(FW_FEATURE_ISERIES) && first_settimeofday) {
                iSeries_tb_recal();
                first_settimeofday = 0;
        }
@@ -833,7 +834,7 @@ static int __init get_freq(char *name, int cells, unsigned long *val)
        cpu = of_find_node_by_type(NULL, "cpu");
 
        if (cpu) {
-               fp = get_property(cpu, name, NULL);
+               fp = of_get_property(cpu, name, NULL);
                if (fp) {
                        found = 1;
                        *val = of_read_ulong(fp, cells);