((file->f_mode & FMODE_READ) && s->dma_adc.mapped);
 
 #ifdef DEBUG
-       for (count=0; count<sizeof(ioctl_str)/sizeof(ioctl_str[0]); count++) {
+       for (count = 0; count < ARRAY_SIZE(ioctl_str); count++) {
                if (ioctl_str[count].cmd == cmd)
                        break;
        }
-       if (count < sizeof(ioctl_str) / sizeof(ioctl_str[0]))
+       if (count < ARRAY_SIZE(ioctl_str))
                pr_debug("ioctl %s, arg=0x%lxn", ioctl_str[count].str, arg);
        else
                pr_debug("ioctl 0x%x unknown, arg=0x%lx\n", cmd, arg);
 
        int val, ret;
 
 #ifdef VRC5477_AC97_DEBUG
-       for (count=0; count<sizeof(ioctl_str)/sizeof(ioctl_str[0]); count++) {
+       for (count = 0; count < ARRAY_SIZE(ioctl_str); count++) {
                if (ioctl_str[count].cmd == cmd)
                        break;
        }
-       if (count < sizeof(ioctl_str)/sizeof(ioctl_str[0]))
+       if (count < ARRAY_SIZE(ioctl_str))
                printk(KERN_INFO PFX "ioctl %s\n", ioctl_str[count].str);
        else
                printk(KERN_INFO PFX "ioctl unknown, 0x%x\n", cmd);
 
 #include <linux/poll.h>
 #include <linux/smp_lock.h>
 #include <linux/mutex.h>
+#include <linux/kernel.h>
 
 #include <asm/byteorder.h>
 #include <asm/dma.h>
 #if 0
                 val = SOUND_MASK_LINE;
                 mixer_ioctl(s, SOUND_MIXER_WRITE_RECSRC, (unsigned long) &val);
-                for (i = 0; i < sizeof(initvol) / sizeof(initvol[0]); i++) {
+                for (i = 0; i < ARRAY_SIZE(initvol); i++) {
                         val = initvol[i].vol;
                         mixer_ioctl(s, initvol[i].mixch, (unsigned long) &val);
                 }