static int tlv320aic31_restore(struct himedia_device* pdev) { int i; for (i = 0; i < chip_count; i++) { if (tlv320aic31_device_init(i) < 0) { printk(KERN_ALERT "%s %d, tlv320aic31 device init fail!\n", __FUNCTION__, __LINE__); return -1; } } printk(KERN_ALERT "%s %d\n", __FUNCTION__, __LINE__); return 0; }
static int __init tlv320aic31_init(void) { unsigned int i, ret; #ifdef CONFIG_HISI_SNAPSHOT_BOOT snprintf(s_stTlv320aic31Device.devfs_name, sizeof(s_stTlv320aic31Device.devfs_name), DEV_NAME); s_stTlv320aic31Device.minor = HIMEDIA_DYNAMIC_MINOR; s_stTlv320aic31Device.fops = &tlv320aic31_fops; s_stTlv320aic31Device.drvops = &stTlv320aic31DrvOps; s_stTlv320aic31Device.owner = THIS_MODULE; ret = himedia_register(&s_stTlv320aic31Device); if (ret) { DPRINTK(0, "could not register tlv320aic31 device"); return -1; } #else ret = misc_register(&tlv320aic31_dev); if (ret) { DPRINTK(0, "could not register tlv320aic31 device"); return -1; } #endif i2c_client_init(); for (i = 0; i < chip_count; i++) { if (tlv320aic31_device_init(i) < 0) { goto init_fail; } } DPRINTK(1, "tlv320aic31 driver init successful!"); printk("load tlv320aic31.ko ok!\n"); return ret; init_fail: #ifdef CONFIG_HISI_SNAPSHOT_BOOT himedia_unregister(&s_stTlv320aic31Device); #else misc_deregister(&tlv320aic31_dev); #endif DPRINTK(0, "tlv320aic31 device init fail,deregister it!"); return -1; }
static int __init tlv320aic31_init(void) { unsigned int i,ret; ret = misc_register(&tlv320aic31_dev); if(ret) { DPRINTK(0,"could not register tlv320aic31 device"); return -1; } for(i = 0;i< chip_count;i++) { if(tlv320aic31_device_init(i) < 0) { goto init_fail; } } DPRINTK(1,"tlv320aic31 driver init successful!"); return ret; init_fail: misc_deregister(&tlv320aic31_dev); DPRINTK(0,"tlv320aic31 device init fail,deregister it!"); return -1; }