Going through the linux 2.6.36 source code at lxr.linux.no, I could not find the ioctl() method in file_operations. Instead I found two new calls: unlocked_ioctl() and compat_ioctl(). What is the difference between ioctl(), unlocked_ioctl(), and compat_ioctl()?