sparc_config
extern struct sparc_config sparc_config;
struct sparc_config sparc_config;
sparc_config.get_cycles_offset = leon_cycles_offset;
sparc_config.cs_period = 1000000 / HZ;
sparc_config.features |= FEAT_L10_CLOCKSOURCE;
sparc_config.features |= FEAT_L10_CLOCKEVENT;
sparc_config.init_timers = leon_init_timers;
sparc_config.build_device_irq = _leon_build_device_irq;
sparc_config.clock_rate = 1000000;
sparc_config.clear_clock_irq = leon_clear_clock_irq;
sparc_config.load_profile_irq = leon_load_profile_irq;
sparc_config.build_device_irq(op, intr[i].pri);
sparc_config.build_device_irq(op, irq[i]);
sparc_config.clock_rate = SBUS_CLOCK_RATE / HZ;
sparc_config.features |= FEAT_L10_CLOCKEVENT;
sparc_config.features |= FEAT_L10_CLOCKSOURCE;
sparc_config.get_cycles_offset = pcic_cycles_offset;
sparc_config.build_device_irq = pcic_build_device_irq;
sparc_config.clear_clock_irq = pcic_clear_clock_irq;
sparc_config.load_profile_irq = pcic_load_profile_irq;
sparc_config.cs_period = SBUS_CLOCK_RATE * 2; /* 2 seconds */
sparc_config.cs_period = SBUS_CLOCK_RATE / HZ; /* 1/HZ sec */
sparc_config.features |= FEAT_L10_CLOCKEVENT;
sparc_config.features |= FEAT_L10_CLOCKSOURCE;
sbus_writel(timer_value(sparc_config.cs_period),
sparc_config.init_timers = sun4d_init_timers;
sparc_config.build_device_irq = sun4d_build_device_irq;
sparc_config.clock_rate = SBUS_CLOCK_RATE;
sparc_config.clear_clock_irq = sun4d_clear_clock_irq;
sparc_config.load_profile_irq = sun4d_load_profile_irq;
sparc_config.cs_period = SBUS_CLOCK_RATE * 2; /* 2 seconds */
sparc_config.features |= FEAT_L14_ONESHOT;
sparc_config.cs_period = SBUS_CLOCK_RATE / HZ; /* 1/HZ sec */
sparc_config.features |= FEAT_L10_CLOCKEVENT;
sparc_config.features |= FEAT_L10_CLOCKSOURCE;
sbus_writel(timer_value(sparc_config.cs_period),
sparc_config.init_timers = sun4m_init_timers;
sparc_config.build_device_irq = sun4m_build_device_irq;
sparc_config.clock_rate = SBUS_CLOCK_RATE;
sparc_config.clear_clock_irq = sun4m_clear_clock_irq;
sparc_config.load_profile_irq = sun4m_load_profile_irq;
sparc_config.load_profile_irq(cpu, 0); /* Is this needless? */
ce->mult = div_sc(sparc_config.clock_rate, NSEC_PER_SEC,
offset += sparc_config.cs_period;
offset = sparc_config.get_cycles_offset();
cycles *= sparc_config.cs_period;
return clocksource_register_hz(&timer_cs, sparc_config.clock_rate);
sparc_config.load_profile_irq(cpu, 0);
sparc_config.load_profile_irq(cpu, SBUS_CLOCK_RATE / HZ);
sparc_config.load_profile_irq(cpu, next);
if (sparc_config.features & FEAT_L14_ONESHOT)
ce->mult = div_sc(sparc_config.clock_rate, NSEC_PER_SEC,
ce->max_delta_ns = clockevent_delta2ns(sparc_config.clock_rate, ce);
ce->max_delta_ticks = (unsigned long)sparc_config.clock_rate;
if (sparc_config.features & FEAT_L10_CLOCKEVENT)
if (sparc_config.features & FEAT_L10_CLOCKSOURCE)
sparc_config.get_cycles_offset = sbus_cycles_offset;
sparc_config.init_timers();
sparc_config.features = 0;
sparc_config.clear_clock_irq();
sparc_config.clear_clock_irq();