stm_heartbeat
stm_source_unregister_device(&stm_heartbeat[i].data);
kfree(stm_heartbeat[i].data.name);
} stm_heartbeat[STM_HEARTBEAT_MAX];
struct stm_heartbeat *heartbeat = container_of(hr, struct stm_heartbeat,
struct stm_heartbeat *heartbeat =
container_of(data, struct stm_heartbeat, data);
struct stm_heartbeat *heartbeat =
container_of(data, struct stm_heartbeat, data);
stm_heartbeat[i].data.name =
if (!stm_heartbeat[i].data.name) {
stm_heartbeat[i].data.nr_chans = 1;
stm_heartbeat[i].data.type = STM_USER;
stm_heartbeat[i].data.link = stm_heartbeat_link;
stm_heartbeat[i].data.unlink = stm_heartbeat_unlink;
hrtimer_setup(&stm_heartbeat[i].hrtimer, stm_heartbeat_hrtimer_handler,
ret = stm_source_register_device(NULL, &stm_heartbeat[i].data);
stm_source_unregister_device(&stm_heartbeat[i].data);
kfree(stm_heartbeat[i].data.name);