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