static int __init sffsdr_init(void) { int ret; if (!machine_is_sffsdr()) return -EINVAL; platform_device_register(&pcm3008_codec); sffsdr_snd_device = platform_device_alloc("soc-audio", 0); if (!sffsdr_snd_device) { ; return -ENOMEM; } platform_set_drvdata(sffsdr_snd_device, &snd_soc_sffsdr); platform_device_add_data(sffsdr_snd_device, &sffsdr_snd_data, sizeof(sffsdr_snd_data)); ret = platform_device_add_resources(sffsdr_snd_device, sffsdr_snd_resources, ARRAY_SIZE(sffsdr_snd_resources)); if (ret) { ; goto error; } ret = platform_device_add(sffsdr_snd_device); if (ret) goto error; return ret; error: platform_device_put(sffsdr_snd_device); return ret; }
static int __init sffsdr_init(void) { int ret; if (!machine_is_sffsdr()) return -EINVAL; sffsdr_snd_device = platform_device_alloc("soc-audio", 0); if (!sffsdr_snd_device) { printk(KERN_ERR "platform device allocation failed\n"); return -ENOMEM; } platform_set_drvdata(sffsdr_snd_device, &sffsdr_snd_devdata); sffsdr_snd_devdata.dev = &sffsdr_snd_device->dev; platform_device_add_data(sffsdr_snd_device, &sffsdr_snd_data, sizeof(sffsdr_snd_data)); ret = platform_device_add_resources(sffsdr_snd_device, sffsdr_snd_resources, ARRAY_SIZE(sffsdr_snd_resources)); if (ret) { printk(KERN_ERR "platform device add ressources failed\n"); goto error; } ret = platform_device_add(sffsdr_snd_device); if (ret) goto error; return ret; error: platform_device_put(sffsdr_snd_device); return ret; }