<div dir="ltr"><br><br><div class="gmail_quote">On Mon, Jul 19, 2010 at 7:32 PM, Ivo Van Doorn <span dir="ltr"><<a href="mailto:ivdoorn@gmail.com">ivdoorn@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">On Mon, Jul 19, 2010 at 6:29 PM, Mohammad Abdelhadi <<a href="mailto:moh.jaser@ieee.org">moh.jaser@ieee.org</a>> wrote:<br>
><br>
><br>
> On Mon, Jul 19, 2010 at 7:20 PM, Ivo Van Doorn <<a href="mailto:ivdoorn@gmail.com">ivdoorn@gmail.com</a>> wrote:<br>
>><br>
>> On Mon, Jul 19, 2010 at 6:13 PM, Mohammad Abdelhadi <<a href="mailto:moh.jaser@ieee.org">moh.jaser@ieee.org</a>><br>
>> wrote:<br>
>> ><br>
>> ><br>
>> > On Sun, Jul 18, 2010 at 8:03 PM, Ivo Van Doorn <<a href="mailto:ivdoorn@gmail.com">ivdoorn@gmail.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> Hi,<br>
>> >> > On Sun, Jul 18, 2010 at 7:45 PM, Ivo Van Doorn <<a href="mailto:ivdoorn@gmail.com">ivdoorn@gmail.com</a>><br>
>> >> > wrote:<br>
>> >> >><br>
>> >> >> > I am trying to call the function ( EnqueueChSwAnn ) which is<br>
>> >> >> > written<br>
>> >> >> > in<br>
>> >> >> > the<br>
>> >> >> > file ~/common/spectrum.c. I am trying to call it from my code that<br>
>> >> >> > is<br>
>> >> >> > written in different module in ~/common/rtmp_init.c. But, when I<br>
>> >> >> > do<br>
>> >> >> > (modprobe rt3572sta), i always get " Unknown Symbol :<br>
>> >> >> > EnqueueChSwAnn.<br>
>> >> >> > I<br>
>> >> >> > also<br>
>> >> >> > tried to call it using function pointers method, but that also<br>
>> >> >> > didn't<br>
>> >> >> > work!<br>
>> >> >> > (I am using 2010_06_25_RT3572_Linux_STA_v2.4.0.0 driver).<br>
>> >><br>
>> >> All functions which you want to be available in different modules must<br>
>> >> never<br>
>> >> be staticly defined. Secondly the symbol must be exported to be<br>
>> >> available.<br>
>> >> In the kernel there is a macro which handles it for you:<br>
>> >> EXPORT_SYMBOL<br>
>> >><br>
>> >> To export a function called EnqueueChSwAnn you have to add:<br>
>> >><br>
>> >> EXPORT_SYMBOL(EnqueueChSwAnn);<br>
>> >><br>
>> >> in the ralink module.<br>
>> >><br>
>> >> Ivo<br>
>> ><br>
>> ><br>
>> > Hi Ivo,<br>
>> ><br>
>> > Thanks for your kindest reply, well I did export the symbol after I made<br>
>> > sure that the function is not staticly defined but unfortunately this<br>
>> > way<br>
>> > didn't work, I even tried to call that function using a function pointer<br>
>> > but<br>
>> > that didn't work too. So, do you have any further ideas about how to<br>
>> > solve<br>
>> > this case?<br>
>> ><br>
>> > Thank you in advance...<br>
>><br>
>> How are you compiling your module?<br>
>> Check the Ralink Makefile to see how to compile against the kernel<br>
>> (and its modules).<br>
>><br>
>> Ivo<br>
><br>
> Hi,<br>
><br>
> Could you please explain how is that related to my issue? Sorry but, I<br>
> didn't get you!<br>
> The driver I work on is in /usr/src/<br>
> so I do:<br>
> - make<br>
> -make install<br>
> -modprobe rt3572sta<br>
> and I get the Unknown symbol when I do the modprobe.<br>
<br>
</div></div>This is your make step for rt3572, but how are you compiling the<br>
file containing your new function which uses the symbol?<br>
<font color="#888888"><br>
Ivo<br>
</font></blockquote></div><br><br clear="all">Hi,<br><br>Well, I don't compile it individually, I just do 'make' to compile the driver and its modules as one package.<br><br>Regards,<br>-- <br>Mohammad<br>
</div>