<br><br><div class="gmail_quote">2010/5/18 Wan ZongShun <span dir="ltr">&lt;<a href="http://mcuos.com">mcuos.com</a>@<a href="http://gmail.com">gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Wills,<br>
<br>
Please send your patch to me as a attached file.<br>
<br>
thanks!<br>
<div class="im"><br>
在 2010年4月29日 下午10:52,Wills Wang &lt;<a href="http://wills.wang.cn" target="_blank">wills.wang.cn</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>&gt; 写道:<br>
</div><div><div></div><div class="h5">&gt; There is a patch for NUC900 nand driver, it fix up the bug access for<br>
&gt; incorrect register address and NULL pointer.<br>
&gt;<br>
&gt; --- linux-2.6.34-rc5/drivers/mtd/nand/nuc900_nand.c 2010-04-29<br>
&gt; 14:35:04.000000000 +0000<br>
&gt; +++ linux-2.6.34-rc5/drivers/mtd/nand/nuc900_nand.c 2010-04-29<br>
&gt; 14:42:22.000000000 +0000<br>
&gt; @@ -132,7 +153,7 @@<br>
&gt; {<br>
&gt; unsigned int val;<br>
&gt; spin_lock(&amp;nand-&gt;lock);<br>
&gt; - val = __raw_readl(REG_SMISR);<br>
&gt; + val = __raw_readl(nand-&gt;reg + REG_SMISR);<br>
&gt; val &amp;= READYBUSY;<br>
&gt; spin_unlock(&amp;nand-&gt;lock);<br>
&gt;<br>
&gt; @@ -150,6 +171,19 @@<br>
&gt; return ready;<br>
&gt; }<br>
&gt;<br>
&gt; +static void nuc900_nand_select_chip(struct mtd_info *mtd, int chipnr)<br>
&gt; +{<br>
&gt; + switch (chipnr) {<br>
&gt; + case -1:<br>
&gt; + break;<br>
&gt; + case 0:<br>
&gt; + break;<br>
&gt; +<br>
&gt; + default:<br>
&gt; + BUG();<br>
&gt; + }<br>
&gt; +}<br>
&gt; +<br>
&gt; static void nuc900_nand_command_lp(struct mtd_info *mtd, unsigned int<br>
&gt; command,<br>
&gt; int column, int page_addr)<br>
&gt; {<br>
&gt; @@ -240,7 +274,6 @@<br>
&gt; ;<br>
&gt; }<br>
&gt;<br>
&gt; -<br>
&gt; static void nuc900_nand_enable(struct nuc900_nand *nand)<br>
&gt; {<br>
&gt; unsigned int val;<br>
&gt; @@ -250,7 +283,7 @@<br>
&gt; val = __raw_readl(nand-&gt;reg + REG_FMICSR);<br>
&gt;<br>
&gt; if (!(val &amp; NAND_EN))<br>
&gt; - __raw_writel(val | NAND_EN, REG_FMICSR);<br>
&gt; + __raw_writel(val | NAND_EN, nand-&gt;reg + REG_FMICSR);<br>
&gt;<br>
&gt; val = __raw_readl(nand-&gt;reg + REG_SMCSR);<br>
&gt;<br>
&gt; @@ -286,7 +319,7 @@<br>
&gt; goto fail1;<br>
&gt; }<br>
&gt; clk_enable(nuc900_nand-&gt;clk);<br>
&gt; -<br>
&gt; + chip-&gt;select_chip = nuc900_nand_select_chip;<br>
&gt; chip-&gt;cmdfunc = nuc900_nand_command_lp;<br>
&gt; chip-&gt;dev_ready = nuc900_nand_devready;<br>
&gt; chip-&gt;read_byte = nuc900_nand_read_byte;<br>
&gt;<br>
</div></div><div><div></div><div class="h5">&gt; --<br>
&gt; 欢迎加入&quot;NUC900 Linux BSP开发社区&quot;.<br>
&gt; NUC900 Linux相关问题请发问题邮件至:<br>
&gt; <a href="mailto:NUC900@googlegroups.com">NUC900@googlegroups.com</a><br>
&gt; 取消订阅请发邮件:<br>
&gt; <a href="mailto:NUC900%2Bunsubscribe@googlegroups.com">NUC900+unsubscribe@googlegroups.com</a><br>
&gt; 新手请熟读社区首页:<br>
&gt; <a href="https://groups.google.com/group/NUC900?hl=zh-CN" target="_blank">https://groups.google.com/group/NUC900?hl=zh-CN</a><br>
&gt;<br>
<br>
<br>
<br>
--<br>
*linux-arm-kernel mailing list<br>
mail <a href="mailto:addr%3Alinux-arm-kernel@lists.infradead.org">addr:linux-arm-kernel@lists.infradead.org</a><br>
you can subscribe by:<br>
<a href="http://lists.infradead.org/mailman/listinfo/linux-arm-kernel" target="_blank">http://lists.infradead.org/mailman/listinfo/linux-arm-kernel</a><br>
<br>
* linux-arm-NUC900 mailing list<br>
mail <a href="mailto:addr%3ANUC900@googlegroups.com">addr:NUC900@googlegroups.com</a><br>
main web: <a href="https://groups.google.com/group/NUC900" target="_blank">https://groups.google.com/group/NUC900</a><br>
you can subscribe it by sending me mail:<br>
<a href="http://mcuos.com" target="_blank">mcuos.com</a>@<a href="http://gmail.com" target="_blank">gmail.com</a><br>
</div></div></blockquote></div><br>