Remove unneeded historic code / New API conversions.

 * Code that depends on LINUX_VERSION_CODE & KERNEL_VERSION < 2.6 can be
  * deleted in most cases. (Mostly/all? done)
 * checking for NULL on probe routines for net drivers
 * get rid of init_module / cleanup_module
 * call SET_MODULE_OWNER or use .owner = THIS_MODULE instead of using
  * MOD_{INC,DEC}_USE_COUNT (none left in 2.6.22-rc4-mm2)
 * Use pci_set_drvdata() to set dev->driver_data, likewise use pci_get_drvdata() instead of reading directly.
  . - dev->driver_data = pcigame; + pci_set_drvdata(dev, pcigame);
 * get rid of access_ok with copy_*_user get/put_user, only needed if using copy_*_user et al
 * MODULE_PARM must die:
  * [D: http://marc.theaimsgroup.com/?l=linux-kernel&m=109826168201622&w=2]
  * [E: http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm2/broken-out/remove-module_parm-from-allyesconfig-almost.patch]
  * (only driver that references it is ./drivers/scsi/gdth.c and it wraps it in a KERNEL_VERSION check, so its done)
 * convert drivers to new PCI API
 * get rid of check_region, use just request_region checking its return (2.2 request_region returned void) and now the driver init sequence is not to be serialized anymore, so races are possible (look at cardbus/pcihotplug code)
  * [D: http://lists.osdl.org/pipermail/kernel-janitors/2004-January/000346.html]
 * ALL PCI drivers should call pci_enable_device --before-- reading pdev->irq or pdev->resource[]. irq and resource[] may not have correct values until after PCI hotplug setup occurs at pci_enable_device() time. Many PCI drivers need to be evaluated and checked for this. Many of these fixed already at: http://marc.theaimsgroup.com/?l=linux-kernel&m=98449691919682&w=3
 * convert cli/sti/save_flags/save_flags_cli/restore_flags usage to accepted locking primitives; see Documentation/cli-sti-removal.txt and Documentation/spinlocks.txt for details.
  * [E: http://linux.bkbits.net:8080/linux-2.6/cset@419b78fcaLKtZt39OF_dslTbk-b3KQ?nav=index.html|ChangeSet@-8w]
  * This item is a hard one. Full understanding of what data structures should be protected by introduced locks is required. Testing on real hardware is almost mandatory.
 * yield() considered harmful:
  * [D: http://marc.theaimsgroup.com/?t=106554796200005]
  * Don't forget to set_current_state(TASK_{,UN}INTERRUPTIBLE); before schedule*(). Consider using msleep();.
 * Anything which uses sleep_on*() has a 90% chance of being broken. Fix them all, because we want to remove sleep_on() and friends.
  * [D: http://boudicca.tux.org/hypermail/linux-kernel/2001week05/0305.html]
  * Be sure to read replies too.
 * Callers of schedule_timeout() who pass in an absolute constant (i.e. with no reference to HZ) may be broken, especially with a variable HZ value. Verify which behavior is intended: if the caller needs the shortest delay possible, then schedule_timeout(1) is correct and a comment can be added; if they actually need a certain amount of time, then use msleep() or schedule_timeout with an appropriate {msecs,usecs,nsecs}_to_jiffies() call.
 * Replace (un)register_ioctl32_conversion with ioctl_compat
  * [D: http://lkml.org/lkml/2005/1/5/106]
  * as of 2007/08/16 only ones left are in: 
    {{{Documentation/scsi/ChangeLog.megaraid
drivers/usb/misc/sisusbvga/sisusb.c
drivers/video/sis/sis_main.c }}}