static int set_userport_rtc_enabled(int value, void *param) { int val = value ? 1 : 0; if (userport_rtc_58321a_enabled == val) { return 0; } if (val) { rtc58321a_context = rtc58321a_init("USER"); userport_rtc_list_item = userport_device_register(&rtc_device); if (userport_rtc_list_item == NULL) { return -1; } } else { if (rtc58321a_context) { rtc58321a_destroy(rtc58321a_context, rtc58321a_rtc_save); rtc58321a_context = NULL; } userport_device_unregister(userport_rtc_list_item); userport_rtc_list_item = NULL; } userport_rtc_58321a_enabled = val; return 0; }
void userport_rtc_58321a_resources_shutdown(void) { if (rtc58321a_context) { rtc58321a_destroy(rtc58321a_context, rtc58321a_rtc_save); rtc58321a_context = NULL; } }
static int set_userport_rtc_enabled(int value, void *param) { int val = value ? 1 : 0; if (userport_rtc_enabled == val) { return 0; } if (val) { rtc58321a_context = rtc58321a_init("USER"); } else { if (rtc58321a_context) { rtc58321a_destroy(rtc58321a_context, rtc58321a_rtc_save); rtc58321a_context = NULL; } } userport_rtc_enabled = val; return 0; }