<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/drivers/memory/fsl_ifc.c, branch v4.4.4</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=v4.4.4</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=v4.4.4'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2015-12-15T23:16:58+00:00</updated>
<entry>
<title>fsl-ifc: add missing include on ARM64</title>
<updated>2015-12-15T23:16:58+00:00</updated>
<author>
<name>Lijun Pan</name>
<email>Lijun.Pan@freescale.com</email>
</author>
<published>2015-12-11T19:55:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=c4aa1937b7f40adc93e2e0a901314a4bd8991174'/>
<id>urn:sha1:c4aa1937b7f40adc93e2e0a901314a4bd8991174</id>
<content type='text'>
Need to include sched.h to fix the following compilation error
if FSL_IFC is enabled on ARM64 machine.

In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from drivers/memory/fsl_ifc.c:22:
drivers/memory/fsl_ifc.c: In function ‘check_nand_stat’:
include/linux/wait.h:165:35: error: ‘TASK_NORMAL’ undeclared (first use in this function)
 #define wake_up(x)   __wake_up(x, TASK_NORMAL, 1, NULL)
                                   ^
drivers/memory/fsl_ifc.c:136:3: note: in expansion of macro ‘wake_up’
   wake_up(&amp;ctrl-&gt;nand_wait);
   ^
include/linux/wait.h:165:35: note: each undeclared identifier is reported only once for each function it appears in
 #define wake_up(x)   __wake_up(x, TASK_NORMAL, 1, NULL)
                                   ^
drivers/memory/fsl_ifc.c:136:3: note: in expansion of macro ‘wake_up’
   wake_up(&amp;ctrl-&gt;nand_wait);
   ^

Analysis is as follows:
I put some instrumental code and get the
following .h files inclusion sequence:

In file included from ./arch/arm64/include/asm/compat.h:25:0,
                 from ./arch/arm64/include/asm/stat.h:23,
                 from include/linux/stat.h:5,
                 from include/linux/module.h:10,
                 from drivers/memory/fsl_ifc.c:23:
include/linux/sched.h:113:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘struct’
 struct sched_attr {
 ^

CONFIG_COMPAT=y is enabled while 39 and 48 bit VA is selected.
When 42 bit VA is selected, it does not enable CONFIG_COMPAT=y

In ./arch/arm64/include/asm/stat.h:23, it has
"#ifdef CONFIG_COMPAT"
"#include &lt;asm/compat.h&gt;"
"..."
"#endif"

Since ./arch/arm64/include/asm/stat.h does not
include ./arch/arm64/include/asm/compat.h,
then it will not include include/linux/sched.h
Hence we have to manually add "#include &lt;linux/sched.h&gt;"
in drivers/memory/fsl_ifc.c

Signed-off-by: Lijun Pan &lt;Lijun.Pan@freescale.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>fsl_ifc: Change IO accessor based on endianness</title>
<updated>2015-08-08T03:59:34+00:00</updated>
<author>
<name>Jaiprakash Singh</name>
<email>b44839@freescale.com</email>
</author>
<published>2015-05-21T02:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=cf184dc2dd33847f4b211b01d8c7ec0526e6c5e4'/>
<id>urn:sha1:cf184dc2dd33847f4b211b01d8c7ec0526e6c5e4</id>
<content type='text'>
IFC IO accressor are set at run time based
on IFC IP registers endianness.IFC node in
DTS file contains information about
endianness.

Signed-off-by: Jaiprakash Singh &lt;b44839@freescale.com&gt;
Signed-off-by: Scott Wood &lt;scottwood@freescale.com&gt;
Acked-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>fsl_ifc: Support all 8 IFC chip selects</title>
<updated>2014-11-05T22:45:53+00:00</updated>
<author>
<name>Aaron Sierra</name>
<email>asierra@xes-inc.com</email>
</author>
<published>2014-08-26T23:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=096916610f415e07cfe71d71a391011c617be5ed'/>
<id>urn:sha1:096916610f415e07cfe71d71a391011c617be5ed</id>
<content type='text'>
Freescale's QorIQ T Series processors support 8 IFC chip selects
within a memory map backward compatible with previous P Series
processors which supported only 4 chip selects.

Signed-off-by: Aaron Sierra &lt;asierra@xes-inc.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>driver/memory:Move Freescale IFC driver to a common driver</title>
<updated>2014-02-18T20:20:45+00:00</updated>
<author>
<name>Prabhakar Kushwaha</name>
<email>prabhakar@freescale.com</email>
</author>
<published>2014-01-17T05:45:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=d2ae2e20fbdde5a65f3a5a153044ab1e5c53f7cc'/>
<id>urn:sha1:d2ae2e20fbdde5a65f3a5a153044ab1e5c53f7cc</id>
<content type='text'>
 Freescale IFC controller has been used for mpc8xxx. It will be used
 for ARM-based SoC as well. This patch moves the driver to driver/memory
 and fix the header file includes.

  Also remove module_platform_driver() and  instead call
  platform_driver_register() from subsys_initcall() to make sure this module
  has been loaded before MTD partition parsing starts.

Signed-off-by: Prabhakar Kushwaha &lt;prabhakar@freescale.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
