home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / isdn_compat.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  3.5 KB  |  96 lines

  1. #ifndef _LINUX_ISDN_COMPAT_H
  2. #define _LINUX_ISDN_COMPAT_H
  3.  
  4. #ifdef __KERNEL__
  5. #include <linux/version.h>
  6.  
  7. #if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18)
  8.  
  9. #define set_current_state(sta) (current->state = sta)
  10. #define module_init(x)  int init_module(void) { return x(); }
  11. #define module_exit(x)  void cleanup_module(void) { x(); }
  12. #define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0 = 0; } while (0)
  13. #define init_MUTEX(x)                           *(x)=MUTEX
  14. #define init_MUTEX_LOCKED(x)                    *(x)=MUTEX_LOCKED
  15. #define __devinit
  16. #define __devinitdata
  17.  
  18. #else
  19. #define COMPAT_HAS_NEW_WAITQ
  20. #endif
  21.  
  22. #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
  23.  
  24. #define COMPAT_HAS_2_2_PCI
  25. #define get_pcibase(ps,nr) ps->base_address[nr]
  26. #define pci_resource_start_io(pdev,nr)    pdev->base_address[nr] & PCI_BASE_ADDRESS_IO_MASK
  27. #define pci_resource_start_mem(pdev,nr)    pdev->base_address[nr] & PCI_BASE_ADDRESS_MEM_MASK
  28. #define pci_get_sub_vendor(pdev, id)    pci_read_config_word(pdev, PCI_SUBSYSTEM_VENDOR_ID, &id)
  29. #define pci_get_sub_system(pdev, id)    pci_read_config_word(pdev, PCI_SUBSYSTEM_ID, &id)
  30. #define dev_kfree_skb_any(a)        dev_kfree_skb(a)
  31. #define dev_kfree_skb_irq(a)        dev_kfree_skb(a)
  32. typedef    struct timer_list        timer_t;
  33. #else /* 2.4.0 and later */
  34. #include <linux/netdevice.h>
  35. #define pci_resource_start_io(pdev, nr) pci_resource_start(pdev, nr)
  36. #define pci_resource_start_mem(pdev, nr) pci_resource_start(pdev, nr)
  37. #define get_pcibase(ps, nr) ps->resource[nr].start
  38. #define pci_get_sub_system(pdev, id)    id = pdev->subsystem_device
  39. #define pci_get_sub_vendor(pdev, id)    id = pdev->subsystem_vendor
  40. #endif /* 2,4,0 */
  41.  
  42. #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
  43. #ifndef IRQ_HANDLED /* maybe these are also defined in include/linux/interrupt.h */
  44. typedef void irqreturn_t;
  45. #define IRQ_NONE
  46. #define IRQ_HANDLED
  47. #define IRQ_RETVAL(x)
  48. #endif
  49. #define CAPI_SendMessage_void
  50. #define OLDCAPI_DRIVER_INTERFACE
  51. #undef  HAS_WORKQUEUE
  52. #define work_struct    tq_struct
  53. #define INIT_WORK(q, f, d)    (q)->routine=f;(q)->data=d;
  54. #define schedule_work(q)    queue_task(q, &tq_immediate);mark_bh(IMMEDIATE_BH);
  55. #define MAKEDAEMON(n)        daemonize();strcpy(current->comm, n)
  56. #undef NEW_ISAPNP
  57. #define pnp_register_driver(d)        isapnp_register_driver(d)
  58. #define pnp_unregister_driver(d)    isapnp_unregister_driver(d)
  59. #define pnp_get_drvdata(d)        pci_get_drvdata(d)
  60. #define pnp_set_drvdata(p,d)        pci_set_drvdata(p,d)
  61. #define pnp_activate_dev(d)        isapnp_activate_dev(d, "mISDN")
  62. #define pnp_disable_dev(d)        ((struct pci_dev *)d)->prepare(d);((struct pci_dev *)d)->deactivate(d)
  63. #define pnp_port_start(d,n)        d->resource[n].start
  64. #define pnp_irq(d,n)            d->irq_resource[n].start
  65. #undef iminor
  66. #define iminor(i)    MINOR(i->i_rdev)
  67. #else
  68. #undef  OLDCAPI_DRIVER_INTERFACE
  69. #define HAS_WORKQUEUE
  70. #undef  MINOR
  71. #define MINOR(inode)    minor(inode)
  72. #define NEED_JIFFIES_INCLUDE
  73. #define MAKEDAEMON(n)    daemonize(n)
  74. #define NEW_ISAPNP
  75. #endif /* 2,5,0 */
  76.  
  77. #ifndef COMPAT_HAS_NEW_WAITQ
  78. typedef struct wait_queue wait_queue_t;
  79. typedef struct wait_queue *wait_queue_head_t;
  80.  
  81. #define DECLARE_WAITQUEUE(wait, current)    struct wait_queue wait = { current, NULL }
  82. #define DECLARE_WAIT_QUEUE_HEAD(wait)        wait_queue_head_t wait
  83. #define init_waitqueue_head(x)            *(x)=NULL
  84. #define init_waitqueue_entry(q,p)        ((q)->task)=(p)
  85. #endif /* COMPAT_HAS_NEW_WAITQ */
  86.  
  87. #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
  88. #define    OLD_PCI_REGISTER_DRIVER    1
  89. #define pci_get_subsys pci_find_subsys
  90. #else
  91. #undef    OLD_PCI_REGISTER_DRIVER
  92. #endif
  93.  
  94. #endif /* __KERNEL__ */
  95. #endif /* _LINUX_ISDN_COMPAT_H */
  96.