static int __init riva_ssr_module_init(void) { int ret; /* 8960_LA1P5_CR #:XXX, WH Lee, 20120621 */ /* Add Boot log */ printk("BootLog, +%s\n", __func__); /* WH Lee, 20120621 */ ret = smsm_state_cb_register(SMSM_WCNSS_STATE, SMSM_RESET, smsm_state_cb_hdlr, 0); if (ret < 0) { pr_err("%s: Unable to register smsm callback for Riva Reset! %d\n", MODULE_NAME, ret); goto out; } ret = request_irq(RIVA_APSS_WDOG_BITE_RESET_RDY_IRQ, riva_wdog_bite_irq_hdlr, IRQF_TRIGGER_RISING, "riva_wdog", NULL); if (ret < 0) { pr_err("%s: Unable to register for Riva bite interrupt (%d)\n", MODULE_NAME, ret); goto out; } ret = riva_restart_init(); if (ret < 0) { pr_err("%s: Unable to register with ssr. (%d)\n", MODULE_NAME, ret); goto out; } riva_ramdump_dev = create_ramdump_device("riva"); if (!riva_ramdump_dev) { pr_err("%s: Unable to create ramdump device.\n", MODULE_NAME); ret = -ENOMEM; goto out; } INIT_DELAYED_WORK(&cancel_vote_work, riva_post_bootup); pr_info("%s: module initialized\n", MODULE_NAME); out: /* 8960_LA1P5_CR #:XXX, WH Lee, 20120621 */ /* Add Boot log */ printk("BootLog, -%s, ret=%d\n", __func__,ret); /* WH Lee, 20120621 */ return ret; }
static int __init riva_ssr_module_init(void) { int ret; ret = smsm_state_cb_register(SMSM_WCNSS_STATE, SMSM_RESET, smsm_state_cb_hdlr, 0); if (ret < 0) { pr_err("%s: Unable to register smsm callback for Riva Reset!" " (%d)\n", MODULE_NAME, ret); goto out; } ret = request_irq(RIVA_APSS_WDOG_BITE_RESET_RDY_IRQ, riva_wdog_bite_irq_hdlr, IRQF_TRIGGER_HIGH, "riva_wdog", NULL); if (ret < 0) { pr_err("%s: Unable to register for Riva bite interrupt" " (%d)\n", MODULE_NAME, ret); goto out1; } ret = riva_restart_init(); if (ret < 0) { pr_err("%s: Unable to register with ssr. (%d)\n", MODULE_NAME, ret); goto out2; } riva_ramdump_dev = create_ramdump_device("riva"); if (!riva_ramdump_dev) { pr_err("%s: Unable to create ramdump device.\n", MODULE_NAME); ret = -ENOMEM; goto out2; } INIT_DELAYED_WORK(&cancel_vote_work, riva_post_bootup); pr_info("%s: module initialized\n", MODULE_NAME); return ret; out2: free_irq(RIVA_APSS_WDOG_BITE_RESET_RDY_IRQ, NULL); out1: smsm_state_cb_deregister(SMSM_WCNSS_STATE, SMSM_RESET, smsm_state_cb_hdlr, 0); out: return ret; }