Summary of common error types in Kernel
1)Enomem
Dev-> base = ioremap (mem-> Start, resource_size (MEM ));
If (! Dev-> base ){
R =-enomem;
Goto err_free_mem;
}
Dev = kzarloc (sizeof (struct omap_i2c_dev), gfp_kernel );
If (! Dev ){
R =-enomem;/* Memory Allocation failed */
Goto err_release_region;
}
2)Erestartsys
If (down_interruptible (& gdma. Lock) <0 ){
Return-erestartsys ;/**/
}
3)Ebusy
Ioarea = request_mem_region (mem-> Start, resource_size (MEM ),
Pdev-> name );
If (! Ioarea ){
Dev_err (& pdev-> Dev, "I2C region already claimed/N ");
Return-ebusy;/* Memory occupied */
}
4)Enodev
IRQ = platform_get_resource (pdev, ioresource_irq, 0 );
If (! IRQ ){
Dev_err (& pdev-> Dev, "No IRQ resource? /N ");
Return-enodev;/* this device does not exist */
}
5)Efault
If (copy_in_user (& cmap-> Start, & cmap32-> Start, 2 * sizeof (_ u32 )))
Return-efault;
6)Eagain
If (io_remap_pfn_range (VMA, VMA-> vm_start, off> page_shift,
VMA-> vm_end-VMA-> vm_start, VMA-> vm_page_prot ))
Return-eagain;
7)Einval
If (VMA-> vm_pgoff> (~ 0ul> page_shift ))
Return-einval;/* invalid */
Author: woodpecker <Pecker.hu@gmail.com>