Hi all,<br><br>I want to contribute to camera dri<u>vers in linux kernel</u>.Please guide me the procedure of doing that.<br><br>Regards,<br>Mayank<br><br><div class="gmail_quote">On Tue, Feb 7, 2012 at 10:30 PM,  <span dir="ltr">&lt;<a href="mailto:kernelnewbies-request@kernelnewbies.org">kernelnewbies-request@kernelnewbies.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Send Kernelnewbies mailing list submissions to<br>
        <a href="mailto:kernelnewbies@kernelnewbies.org">kernelnewbies@kernelnewbies.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
or, via email, send a message with subject or body &#39;help&#39; to<br>
        <a href="mailto:kernelnewbies-request@kernelnewbies.org">kernelnewbies-request@kernelnewbies.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:kernelnewbies-owner@kernelnewbies.org">kernelnewbies-owner@kernelnewbies.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of Kernelnewbies digest...&quot;<br>
<br>
<br>
Today&#39;s Topics:<br>
<br>
   1. Re: &quot;Trying to free already-free IRQ 9&quot;, but it wasn&#39;t freed<br>
      by me (mayur nande)<br>
   2. Re: request_firmware question (Greg KH)<br>
   3. Re: fork() and exec() (Bernd Petrovitsch)<br>
   4. Re: make config errors while building kernel on Fedora 16<br>
      (Kartik Singhal)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Tue, 7 Feb 2012 20:33:31 +0530<br>
From: mayur nande &lt;<a href="mailto:mayur.nan@gmail.com">mayur.nan@gmail.com</a>&gt;<br>
Subject: Re: &quot;Trying to free already-free IRQ 9&quot;, but it wasn&#39;t freed<br>
        by me<br>
To: &quot;nils.stec&quot; &lt;<a href="mailto:nils.stec@googlemail.com">nils.stec@googlemail.com</a>&gt;<br>
Cc: kernelnewbies &lt;<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a>&gt;<br>
Message-ID:<br>
        &lt;<a href="mailto:CA%2BfM3Xy2QALrjbTYJxW0yKn-Q-Y99Wi8xUyyWtKEzYDTByTkjQ@mail.gmail.com">CA+fM3Xy2QALrjbTYJxW0yKn-Q-Y99Wi8xUyyWtKEzYDTByTkjQ@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
<br>
Hi Nils,<br>
<br>
&gt;&gt;void cleanup_module(void) {<br>
 &gt;&gt;   ...<br>
  &gt;&gt;  free_irq(ADC_IRQ, NULL);        /* remove interrupt handler */<br>
  &gt;&gt;  ...<br>
  &gt;&gt;   return;<br>
&gt;&gt;}<br>
<br>
You should not pass NULL here. It should be the unique cookie that you<br>
passed in request_irq (adc_irq_handler in your case) since you have used<br>
IRQF_SHARED which means you want to share your interrupt line. Also check<br>
whether you really want to share your interrupt line and also if you want<br>
to use &quot;(void *)(adc_irq_handler)&quot; as the unique identification.<br>
<br>
HTH!<br>
<br>
Regards<br>
Mayur<br>
<br>
On Tue, Feb 7, 2012 at 7:45 PM, nils.stec &lt;<a href="mailto:nils.stec@googlemail.com">nils.stec@googlemail.com</a>&gt; wrote:<br>
<br>
&gt;  Hi,<br>
&gt;<br>
&gt; atm I&#39;m writing a kernel module for an embedded ARM device.<br>
&gt; This module uses IRQ9.<br>
&gt;<br>
&gt; If i remove the module, the kernel tells me that:<br>
&gt;<br>
&gt; ------------[ cut here ]------------<br>
&gt; WARNING: at kernel/irq/manage.c:858 __free_irq+0x84/0x154()<br>
&gt; Trying to free already-free IRQ 9<br>
&gt; Modules linked in: adc_demo_irq(P-) g_ether pegasus mii<br>
&gt; [&lt;c0028794&gt;] (unwind_backtrace+0x0/0xd0) from [&lt;c003b504&gt;]<br>
&gt; (warn_slowpath_common+0x48/0x60)<br>
&gt; [&lt;c003b504&gt;] (warn_slowpath_common+0x48/0x60) from [&lt;c003b554&gt;]<br>
&gt; (warn_slowpath_fmt+0x24/0x30)<br>
&gt; [&lt;c003b554&gt;] (warn_slowpath_fmt+0x24/0x30) from [&lt;c005fa00&gt;]<br>
&gt; (__free_irq+0x84/0x154)<br>
&gt; [&lt;c005fa00&gt;] (__free_irq+0x84/0x154) from [&lt;c005fb0c&gt;]<br>
&gt; (free_irq+0x3c/0x5c)<br>
&gt; [&lt;c005fb0c&gt;] (free_irq+0x3c/0x5c) from [&lt;bf01e18c&gt;]<br>
&gt; (cleanup_module+0x4c/0x60 [adc_demo_irq])<br>
&gt; [&lt;bf01e18c&gt;] (cleanup_module+0x4c/0x60 [adc_demo_irq]) from [&lt;c005b898&gt;]<br>
&gt; (sys_delete_module+0x1c4/0x238)<br>
&gt; [&lt;c005b898&gt;] (sys_delete_module+0x1c4/0x238) from [&lt;c0022dc0&gt;]<br>
&gt; (ret_fast_syscall+0x0/0x28)<br>
&gt; ---[ end trace 60d7a16d878ac0b3 ]---<br>
&gt; adc testing module removed<br>
&gt; ------------[ cut here ]------------<br>
&gt;<br>
&gt; The message &quot;adc testing module removed&quot; comes from my module **after**free_irq() via printk, so the module exit routine works till the end.<br>
&gt;<br>
&gt; This is my code (only the IRQ related part):<br>
&gt;<br>
&gt; irqreturn_t adc_irq_handler(int irq, void *dev_id) {<br>
&gt;<br>
&gt;     ... do someting ...<br>
&gt;<br>
&gt;     return IRQ_HANDLED;<br>
&gt; }<br>
&gt;<br>
&gt; int init_module(void) {<br>
&gt;     int32_t retval;<br>
&gt;     ...<br>
&gt;     retval = request_irq(ADC_IRQ, adc_irq_handler, IRQF_SHARED, &quot;lpc313x<br>
&gt; adc irq&quot;, (void *)(adc_irq_handler));<br>
&gt;     ...<br>
&gt;     return retval;<br>
&gt; }<br>
&gt;<br>
&gt; void cleanup_module(void) {<br>
&gt;     ...<br>
&gt;     free_irq(ADC_IRQ, NULL);        /* remove interrupt handler */<br>
&gt;     ...<br>
&gt;     return;<br>
&gt; }<br>
&gt;<br>
&gt;<br>
&gt; I hope anyone of you can help me with that problem. If you need more<br>
&gt; information, i&#39;ll send it<br>
&gt;<br>
&gt; Greetings,<br>
&gt; Nils<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Kernelnewbies mailing list<br>
&gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
&gt;<br>
&gt;<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120207/79cf9412/attachment-0001.html" target="_blank">http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120207/79cf9412/attachment-0001.html</a><br>

<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Tue, 7 Feb 2012 07:07:50 -0800<br>
From: Greg KH &lt;<a href="mailto:greg@kroah.com">greg@kroah.com</a>&gt;<br>
Subject: Re: request_firmware question<br>
To: anish kumar &lt;<a href="mailto:anish198519851985@gmail.com">anish198519851985@gmail.com</a>&gt;<br>
Cc: <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
Message-ID: &lt;<a href="mailto:20120207150750.GA7583@kroah.com">20120207150750.GA7583@kroah.com</a>&gt;<br>
Content-Type: text/plain; charset=us-ascii<br>
<br>
On Tue, Feb 07, 2012 at 12:51:42AM -0800, anish kumar wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; Now I have switched to using request_firmware api<br>
&gt; and after using firmware, memory is being released.<br>
&gt; Does it save kernel memory compare to case when<br>
&gt; I am having a having a local static firmware buffer(very big)<br>
&gt; from which I used to get the firmware and write it<br>
&gt; to the chip?<br>
&gt;<br>
&gt; As I know request_firmware api has several advantages<br>
&gt; but what I want to know is the advantages related<br>
&gt; to kernel memory footprint.<br>
<br>
Yes it is, as well as using the &quot;proper&quot; api for firmware loading, which<br>
means it fits into the rest of the kernel correctly.<br>
<br>
Also, no new drivers will be accepted that have static firmware blobs.<br>
<br>
greg k-h<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Tue, 07 Feb 2012 16:40:13 +0100<br>
From: Bernd Petrovitsch &lt;<a href="mailto:bernd@petrovitsch.priv.at">bernd@petrovitsch.priv.at</a>&gt;<br>
Subject: Re: fork() and exec()<br>
To: Vijay Chauhan &lt;<a href="mailto:kernel.vijay@gmail.com">kernel.vijay@gmail.com</a>&gt;<br>
Cc: <a href="mailto:kernelnewbies@kernelnewbies.org">kernelnewbies@kernelnewbies.org</a><br>
Message-ID: &lt;1328629213.25984.123.camel@thorin&gt;<br>
Content-Type: text/plain; charset=&quot;UTF-8&quot;<br>
<br>
On Die, 2012-02-07 at 00:38 +0530, Vijay Chauhan wrote:<br>
&gt; Hi List,<br>
&gt;<br>
&gt; I am learning Linux and trying to understand exec and fork function.<br>
&gt; execl says that it overlays the running address space. What does it mean?<br>
&gt;<br>
&gt; I created the following program and used top command with<br>
&gt; intentionally wrong arguments:<br>
&gt;<br>
&gt; #include&lt;stdio.h&gt;<br>
&gt; #include&lt;unistd.h&gt;<br>
&gt; #include&lt;sys/types.h&gt;<br>
&gt; #include&lt;stdlib.h&gt;<br>
&gt;<br>
&gt; int main(){<br>
&gt;       int a = -1;<br>
&gt;       if(fork()==0){<br>
&gt;               printf(&quot;Inside child\n&quot;);<br>
&gt;               printf(&quot;child pid=%d, parentid=%d\n&quot;, getpid(), getppid());<br>
&gt;               execl(&quot;/usr/bin/top&quot;, &quot;/usr/bin/top&quot;, &quot;&gt;/dev/null&quot; ,(char*)0 );<br>
<br>
You get here only if the execl() as such fails.<br>
<br>
&gt;               scanf(&quot;inside child provide a %d&quot;, &amp;a);<br>
<br>
You should check the return value here if you actually got a matching<br>
parameter.<br>
scanf() is actually a function to be avoided.<br>
<br>
&gt;               printf(&quot;Inside child a=%d\n&quot;, a);<br>
&gt;               exit(1);<br>
&gt;       } else {<br>
&gt;               printf(&quot;Inside parent, going to wait\n&quot;);<br>
&gt;               printf(&quot;my pid=%d, parentid=%d\n&quot;, getpid(), getppid());<br>
&gt;               scanf(&quot;input parent %d\n&quot;, &amp;a);<br>
<br>
You should check the return value here if you actually got a matching<br>
parameter.<br>
scanf() is actually a function to be avoided.<br>
<br>
&gt;               wait(NULL);<br>
<br>
You should check the return value here to know why &quot;wait()&quot; returns.<br>
<br>
&gt;               printf(&quot;Wait over\n&quot;);<br>
&gt;               printf(&quot;Inside parent a=%d\n&quot;, a);<br>
&gt;       }<br>
&gt;       return 0;<br>
&gt; }<br>
<br>
        Bernd<br>
--<br>
Bernd Petrovitsch                  Email : <a href="mailto:bernd@petrovitsch.priv.at">bernd@petrovitsch.priv.at</a><br>
                     LUGA : <a href="http://www.luga.at" target="_blank">http://www.luga.at</a><br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Tue, 7 Feb 2012 22:10:46 +0530<br>
From: Kartik Singhal &lt;<a href="mailto:kartiksinghal@gmail.com">kartiksinghal@gmail.com</a>&gt;<br>
Subject: Re: make config errors while building kernel on Fedora 16<br>
To: Mulyadi Santosa &lt;<a href="mailto:mulyadi.santosa@gmail.com">mulyadi.santosa@gmail.com</a>&gt;<br>
Cc: <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
Message-ID:<br>
        &lt;<a href="mailto:CAAY3Td5UJYmtqM5mzkBHug5bfMx0q5CoBd5CowtDNTdVrTORTQ@mail.gmail.com">CAAY3Td5UJYmtqM5mzkBHug5bfMx0q5CoBd5CowtDNTdVrTORTQ@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
On Mon, Feb 6, 2012 at 1:05 PM, Mulyadi Santosa<br>
&lt;<a href="mailto:mulyadi.santosa@gmail.com">mulyadi.santosa@gmail.com</a>&gt;wrote:<br>
<br>
&gt; have you check their checksums?<br>
<br>
<br>
Is there a way to verify the checksums for git clones as in my case?<br>
<br>
--<br>
Kartik<br>
<a href="http://k4rtik.wordpress.com/" target="_blank">http://k4rtik.wordpress.com/</a><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120207/3ff99cbf/attachment-0001.html" target="_blank">http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120207/3ff99cbf/attachment-0001.html</a><br>

<br>
------------------------------<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br>
<br>
End of Kernelnewbies Digest, Vol 15, Issue 12<br>
*********************************************<br>
</blockquote></div><br>