Udev is there, it just looks different in the 2.6.23 kernel.  CMEM
v2.00.01 was written for the 2.6.10 kernel.  Sometime between 2.6.10 and
2.6.23 the 'class_simple' interface was replaced by 'class'.  Later
CMEMs support both interfaces, dependant on:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)

#undef USE_CLASS_SIMPLE

#else  /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) */

#define USE_CLASS_SIMPLE

#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) */ 
...
...
#ifdef USE_CLASS_SIMPLE
    cmem_class = class_simple_create(THIS_MODULE, "cmem");
#else
    cmem_class = class_create(THIS_MODULE, "cmem");
#endif
    if (IS_ERR(cmem_class)) {
        __E("Error creating cmem device class.\n");
        err = -EIO;
        goto fail_after_reg;
    }

#ifdef USE_CLASS_SIMPLE
    class_simple_device_add(cmem_class, MKDEV(cmem_major, 0), NULL,
"cmem");
#else
    class_device_create(cmem_class, NULL, MKDEV(cmem_major, 0), NULL,
"cmem");
#endif

So you have a few options:
        - stick with what you're doing
        - manually modify your cmemk.c file to convert usage of
class_simple to class (quite easy), and use USE_UDEV=1
        - upgrade to CMEM 2.10 or later

Regards,

- Rob

> -----Original Message-----
> From: steven.zhang [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, June 11, 2008 10:21 PM
> To: Tivy, Robert
> Cc: davinci
> Subject: RE: cmem issure of DVEVM_1_30
> 
> Yes,USE_UDEV is disable.
> If I enable it, compile error arises.
> class_simple_create not define.
> My kernel version is 2.6.23 which is cut from davinci tree.
> 
> As I know, udev is included in almost every 2.6 kernel based 
> Linux distribution.But why davinci kernel tree does not support it?
> 
> However, I can create /dev/cmem manually with the help of Andre.
> Thanks.
> 
>  Steven
> On Wed, 2008-06-11 at 12:15 -0500, Tivy, Robert wrote:
> > Steven,
> > 
> > Did you use the provided Makefile (which includes ../../Rules.make)?
> > There is a macro USE_UDEV that needs to be set to 1 in order to get 
> > insmod-time /dev/cmem creation.  This setting of USE_UDEV 
> is usually 
> > done in the provided 'make' file Rules.make and is 
> 'consumed' in the 
> > rule to build cmemk.c.
> > 
> > Regards,
> > 
> > - Rob
> > 
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED]
> > > ] On Behalf Of steven.zhang
> > > Sent: Tuesday, June 10, 2008 11:08 PM
> > > To: davinci
> > > Subject: cmem issure of DVEVM_1_30
> > > 
> > > Hi, all.
> > > Days before, I updated my evm to 1.30.
> > > cmem module is also upgraded to cmem_2_00_01 from cmem_1_02.
> > > And succeed in building cmemk.ko.However, after running 
> > > loadmodules.sh, everything seems right, but I can not 
> find any cmem 
> > > entry in /dev/!  What can be the problem?
> > > 
> > > The following message is grabbed while insmod cmemk.ko.
> > > 
> > > [EMAIL PROTECTED]:/opt/dvevm# ./loadmodules.sh 
> > > ioremap_nocache(0x87800000, 8388608)=0xc9000000 
> > > ioremap_nocache(0x87800000, 8388608)=0xc9000000 <6>allocated heap 
> > > buffer 0xc9000000 of size 0xf7000 allocated heap buffer 
> 0xc9000000 
> > > of size 0xf7000 <6>cmem initialized 4 pools between 
> 0x87800000 and 
> > > 0x88000000 cmem initialized 4 pools between 0x87800000 and 
> > > 0x88000000
> > > dsplinkk: no version for "struct_module" found: kernel tainted.
> > > dsplinkk: no version for "struct_module" found: kernel tainted.
> > > <1>DSPLINK Module (1.40.05_p1) created on Date: Jun 11 2008 Time:
> > > 13:32:41
> > > DSPLINK Module (1.40.05_p1) created on Date: Jun 11 2008
> > > Time: 13:32:41
> > > 
> > > 
> > > _______________________________________________
> > > Davinci-linux-open-source mailing list 
> > > [email protected]
> > > 
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-sour
> > > ce
> > > 
> 
> 
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to