From: Karol Lewandowski Date: Wed, 16 Jan 2013 10:36:08 +0000 (+0100) Subject: vdpram: Simplify cdev operations X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a3823dd74a1ad943afe894d9533769a52c19d6b3;p=sdk%2Femulator%2Femulator-kernel.git vdpram: Simplify cdev operations Change-Id: I0d4a5f211997f69111ed79b1192e17fa38bb555e --- diff --git a/drivers/char/vdpram.c b/drivers/char/vdpram.c index 609472dfe9dc..8d1a29893ee1 100755 --- a/drivers/char/vdpram.c +++ b/drivers/char/vdpram.c @@ -580,26 +580,19 @@ long vdpram_ioctl(struct file* filp, unsigned int cmd, unsigned long arg) */ static void vdpram_setup_cdev(struct vdpram_dev *dev, int index) { - int err, devno = vdpram_devno + index; - - if (index % 2 ==0) { - dev->flag = 1; - cdev_init(&dev->cdev, &vdpram_even_fops); - dev->cdev.owner = THIS_MODULE; - err = cdev_add (&dev->cdev, devno, 1); - dev->index = index; - } - else { - dev->flag = 0; - cdev_init(&dev->cdev, &vdpram_odd_fops); - dev->cdev.owner = THIS_MODULE; - err = cdev_add (&dev->cdev, devno, 1); - dev->index = index; - } + dev_t node = MKDEV(vdpram_major, index); + int err; + int is_odd = index & 1; // "index % 2" equivalent + + dev->flag = !is_odd; + cdev_init(&dev->cdev, is_odd ? &vdpram_odd_fops : &vdpram_even_fops); + dev->cdev.owner = THIS_MODULE; + err = cdev_add (&dev->cdev, node, 1); + dev->index = index; /* Fail gracefully if need be */ if (err) - printk(KERN_NOTICE "Error %d adding deive%d\n", err, index); + printk(KERN_NOTICE "Error %d adding device%d\n", err, index); }