opt[DTRACEOPT_CLEANRATE] = dtrace_cleanrate_max;
hdlr.cyh_func = (cyc_func_t)dtrace_state_clean;
- hdlr.cyh_arg = state;
+ hdlr.cyh_arg = (uintptr_t)state;
hdlr.cyh_level = CY_LOW_LEVEL;
when.cyt_when = ktime_set(0, 0);
state->dts_cleaner = cyclic_add(&hdlr, &when);
hdlr.cyh_func = (cyc_func_t)dtrace_state_deadman;
- hdlr.cyh_arg = state;
+ hdlr.cyh_arg = (uintptr_t)state;
hdlr.cyh_level = CY_LOW_LEVEL;
when.cyt_when = ktime_set(0, 0);
static int profile_max; /* maximum number of profile probes */
static atomic_t profile_total; /* current number of profile probes */
-static void profile_tick(void *arg)
+static void profile_tick(uintptr_t arg)
{
- profile_probe_t *prof = arg;
+ profile_probe_t *prof = (profile_probe_t *)arg;
unsigned long pc = 0, upc = 0;
#ifdef PROBE_PCS
struct pt_regs *regs = get_irq_regs();
}
#ifdef OMNI_CYCLICS
-static void profile_prof(void *arg)
+static void profile_prof(uintptr_t arg)
{
- profile_probe_percpu_t *pcpu = arg;
+ profile_probe_percpu_t *pcpu = (profile_probe_percpu_t *)arg;
profile_probe_t *prof = pcpu->profc_probe;
ktime_t late;
struct pt_regs *regs = get_irq_regs();
if (prof->prof_kind == PROF_TICK) {
hdlr.cyh_func = profile_tick;
- hdlr.cyh_arg = prof;
+ hdlr.cyh_arg = (uintptr_t)prof;
hdlr.cyh_level = CY_HIGH_LEVEL;
when.cyt_interval = prof->prof_interval;
omni.cyo_online = profile_online;
omni.cyo_offline = profile_offline;
- omni.cyo_arg = prof;
+ omni.cyo_arg = (uintptr_t)prof;
prof->prof_cyclic = cyclic_add_omni(&omni);
#endif