diff -uNr codec_engine_2_21/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c codec_engine_2_21_fix/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c --- codec_engine_2_21/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2008-10-24 20:58:01.000000000 +0100 +++ codec_engine_2_21_fix/cetools/packages/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c 2009-02-20 23:46:42.000000000 +0000 @@ -37,6 +37,10 @@ #endif /* ----------------------------------- OS Specific Headers */ +#include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) +#include +#endif #include #include #include @@ -190,6 +194,16 @@ */ STATIC Int32 major = 230 ; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) +/** ---------------------------------------------------------------------------- + * @name dsplink_class + * + * @desc class struct for device create. + * ---------------------------------------------------------------------------- + */ +STATIC struct class *dsplink_class; +#endif + /** ---------------------------------------------------------------------------- * @name DRV_IsInitialized * @@ -673,6 +687,11 @@ } #endif /* if defined (CHNL_COMPONENT) */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) + dsplink_class = class_create(THIS_MODULE, "dsplink"); + device_create(dsplink_class, NULL, MKDEV(major, 0), NULL, "dsplink"); +#endif + if (DSP_SUCCEEDED (status)) { DRV_IsInitialized = TRUE ; } @@ -717,6 +736,11 @@ } #endif /* if defined (CHNL_COMPONENT) */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) + device_destroy(dsplink_class, MKDEV(major, 0)); + class_destroy(dsplink_class); +#endif + unregister_chrdev (major, "dsplink") ; DRV_IsInitialized = FALSE ;