goto out;
/* create runtime sysfs entries */
- device_create_file(omap_dsp->dev, &dev_attr_loadinfo);
+ ret = device_create_file(omap_dsp->dev, &dev_attr_loadinfo);
+ if (ret)
+ printk(KERN_ERR "device_create_file failed: %d\n", ret);
out:
dsp_mem_disable((void *)dspmem_base);
void __init dsp_ctl_init(void)
{
- device_create_file(omap_dsp->dev, &dev_attr_ifver);
- device_create_file(omap_dsp->dev, &dev_attr_cpustat);
- device_create_file(omap_dsp->dev, &dev_attr_icrmask);
+ int ret;
+
+ ret = device_create_file(omap_dsp->dev, &dev_attr_ifver);
+ ret |= device_create_file(omap_dsp->dev, &dev_attr_cpustat);
+ ret |= device_create_file(omap_dsp->dev, &dev_attr_icrmask);
+ if (ret)
+ printk(KERN_ERR "device_create_file failed: %d\n", ret);
}
void dsp_ctl_exit(void)
/* MMU interrupt is not enabled until DSP runs */
disable_irq(omap_dsp->mmu_irq);
- device_create_file(omap_dsp->dev, &dev_attr_mmu);
- device_create_file(omap_dsp->dev, &dev_attr_exmap);
- device_create_file(omap_dsp->dev, &dev_attr_mempool);
+ ret = device_create_file(omap_dsp->dev, &dev_attr_mmu);
+ ret |= device_create_file(omap_dsp->dev, &dev_attr_exmap);
+ ret |= device_create_file(omap_dsp->dev, &dev_attr_mempool);
+ if (ret)
+ printk(KERN_ERR "device_create_file failed: %d\n", ret);
return 0;
}
static int taskdev_init(struct taskdev *dev, char *name, unsigned char minor)
{
+ int ret;
+
taskdev[minor] = dev;
spin_lock_init(&dev->proc_list_lock);
dev->dev.bus = &dsptask_bus;
sprintf(dev->dev.bus_id, "dsptask%d", minor);
dev->dev.release = dsptask_dev_release;
- device_register(&dev->dev);
- device_create_file(&dev->dev, &dev_attr_devname);
- device_create_file(&dev->dev, &dev_attr_devstate);
- device_create_file(&dev->dev, &dev_attr_proc_list);
+ ret = device_register(&dev->dev);
+ if (ret)
+ printk(KERN_ERR "device_register failed: %d\n", ret);
+ ret = device_create_file(&dev->dev, &dev_attr_devname);
+ ret |= device_create_file(&dev->dev, &dev_attr_devstate);
+ ret |= device_create_file(&dev->dev, &dev_attr_proc_list);
+ if (ret)
+ printk(KERN_ERR "device_create_file failed: %d\n", ret);
class_device_create(dsp_task_class, NULL,
MKDEV(OMAP_DSP_TASK_MAJOR, minor),
NULL, "dsptask%d", minor);
static int taskdev_attach_task(struct taskdev *dev, struct dsptask *task)
{
u16 ttyp = task->ttyp;
+ int ret;
dev->fops.read =
sndtyp_acv(ttyp) ?
if (task->map_length)
dev->fops.mmap = dsp_task_mmap;
- device_create_file(&dev->dev, &dev_attr_taskname);
- device_create_file(&dev->dev, &dev_attr_ttyp);
+ ret = device_create_file(&dev->dev, &dev_attr_taskname);
+ ret |= device_create_file(&dev->dev, &dev_attr_ttyp);
if (sndtyp_wd(ttyp)) {
- device_create_file(&dev->dev, &dev_attr_fifosz);
- device_create_file(&dev->dev, &dev_attr_fifocnt);
+ ret |= device_create_file(&dev->dev, &dev_attr_fifosz);
+ ret |= device_create_file(&dev->dev, &dev_attr_fifocnt);
} else
- device_create_file(&dev->dev, &dev_attr_ipblink);
- device_create_file(&dev->dev, &dev_attr_wsz);
+ ret |= device_create_file(&dev->dev, &dev_attr_ipblink);
+ ret |= device_create_file(&dev->dev, &dev_attr_wsz);
if (task->map_length)
- device_create_file(&dev->dev, &dev_attr_mmap);
+ ret |= device_create_file(&dev->dev, &dev_attr_mmap);
+ if (ret)
+ printk(KERN_ERR "device_create_file failed: %d\n", ret);
dev->task = task;
task->dev = dev;
return retval;
}
- bus_register(&dsptask_bus);
+ retval = bus_register(&dsptask_bus);
+ if (retval) {
+ printk(KERN_ERR
+ "omapdsp: failed to register DSP task bus: %d\n",
+ retval);
+ unregister_chrdev(OMAP_DSP_TASK_MAJOR, "dsptask");
+ return -EINVAL;
+ }
retval = driver_register(&dsptask_driver);
if (retval) {
printk(KERN_ERR