<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mtd/lpddr, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-10-29T08:03:05Z</updated>
<entry>
<title>mtd: lpddr: fix excessive stack usage with clang</title>
<updated>2020-10-29T08:03:05Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2020-05-05T14:01:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d7fc05f8862771c49776e256ad932669ca9b167'/>
<id>urn:sha1:6d7fc05f8862771c49776e256ad932669ca9b167</id>
<content type='text'>
[ Upstream commit 3e1b6469f8324bee5927b063e2aca30d3e56b907 ]

Building lpddr2_nvm with clang can result in a giant stack usage
in one function:

drivers/mtd/lpddr/lpddr2_nvm.c:399:12: error: stack frame size of 1144 bytes in function 'lpddr2_nvm_probe' [-Werror,-Wframe-larger-than=]

The problem is that clang decides to build a copy of the mtd_info
structure on the stack and then do a memcpy() into the actual version. It
shouldn't really do it that way, but it's not strictly a bug either.

As a workaround, use a static const version of the structure to assign
most of the members upfront and then only set the few members that
require runtime knowledge at probe time.

Fixes: 96ba9dd65788 ("mtd: lpddr: add driver for LPDDR2-NVM PCM memories")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;
Acked-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200505140136.263461-1-arnd@arndb.de
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mtd: lpddr: Fix a double free in probe()</title>
<updated>2020-04-24T05:57:26Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2020-02-28T09:25:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea5a52ce59b220947faff6a9fa0b6aeabe863804'/>
<id>urn:sha1:ea5a52ce59b220947faff6a9fa0b6aeabe863804</id>
<content type='text'>
commit 4da0ea71ea934af18db4c63396ba2af1a679ef02 upstream.

This function is only called from lpddr_probe().  We free "lpddr" both
here and in the caller, so it's a double free.  The best place to free
"lpddr" is in lpddr_probe() so let's delete this one.

Fixes: 8dc004395d5e ("[MTD] LPDDR qinfo probing.")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200228092554.o57igp3nqhyvf66t@kili.mountain
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mtd: lpddr: show parent device in sysfs</title>
<updated>2015-10-13T16:21:17Z</updated>
<author>
<name>Frans Klaver</name>
</author>
<published>2015-06-10T20:38:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3aed61d1eb06b8b19b7bb09d49b222ebc3f83347'/>
<id>urn:sha1:3aed61d1eb06b8b19b7bb09d49b222ebc3f83347</id>
<content type='text'>
Fix a bug where mtd parent device symlinks aren't shown in sysfs.

Signed-off-by: Frans Klaver &lt;fransklaver@gmail.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: lpddr: fix Kconfig dependency, for I/O accessors</title>
<updated>2014-05-26T17:38:25Z</updated>
<author>
<name>Brian Norris</name>
</author>
<published>2014-05-21T20:25:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=897f3a18b0bbe466b7405d96bc99550578d5b145'/>
<id>urn:sha1:897f3a18b0bbe466b7405d96bc99550578d5b145</id>
<content type='text'>
Not all architectures implement a writel_relaxed() accessor. Hopefully
this will change eventually, but for now, this means lpddr2_nvm.c can't
compile on some architectures.

Let's add an ARM dependency for now, and leave a comment so maybe we can
change this in the future.

Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
Cc: Vincenzo Aliberti &lt;vincenzo.aliberti@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: lpddr: add driver for LPDDR2-NVM PCM memories</title>
<updated>2014-05-21T00:45:17Z</updated>
<author>
<name>Vincenzo Aliberti</name>
</author>
<published>2014-05-15T21:19:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=96ba9dd65788a0bd2a7d1e57ec78b7642f0ccc25'/>
<id>urn:sha1:96ba9dd65788a0bd2a7d1e57ec78b7642f0ccc25</id>
<content type='text'>
Signed-off-by: Vincenzo Aliberti &lt;vincenzo.aliberti@gmail.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: lpddr: Remove unnecessary OOM messages</title>
<updated>2014-03-11T05:42:24Z</updated>
<author>
<name>Jingoo Han</name>
</author>
<published>2014-02-06T06:14:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54f5a57e266318d72f84fda95805099986a7e201'/>
<id>urn:sha1:54f5a57e266318d72f84fda95805099986a7e201</id>
<content type='text'>
The site-specific OOM messages are unnecessary, because they
duplicate the MM subsystem generic OOM message.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: lpddr: Mark functions as static and remove unused function</title>
<updated>2014-01-03T19:22:26Z</updated>
<author>
<name>Rashika Kheria</name>
</author>
<published>2013-12-13T07:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=176e4a233f50da75306df8ae1360d0ecbbeb8a37'/>
<id>urn:sha1:176e4a233f50da75306df8ae1360d0ecbbeb8a37</id>
<content type='text'>
This patch marks the functions do_write_buffer() and do_erase_oneblock()
as static because because they are not used outside this file. It also
removes the unused function word_program() in lpddr/lpddr_cmds.c.

Thus, it also removes the following warnings in lpddr/lpddr_cmds.c:
drivers/mtd/lpddr/lpddr_cmds.c:391:5: warning: no previous prototype for ‘do_write_buffer’ [-Wmissing-prototypes]
drivers/mtd/lpddr/lpddr_cmds.c:472:5: warning: no previous prototype for ‘do_erase_oneblock’ [-Wmissing-prototypes]
drivers/mtd/lpddr/lpddr_cmds.c:751:5: warning: no previous prototype for ‘word_program’ [-Wmissing-prototypes]

Signed-off-by: Rashika Kheria &lt;rashika.kheria@gmail.com&gt;
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: lpddr_cmds: make function static</title>
<updated>2013-10-27T23:27:03Z</updated>
<author>
<name>Brian Norris</name>
</author>
<published>2013-08-28T18:19:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=535ab9033433c00116e446beaac96503c7282fd1'/>
<id>urn:sha1:535ab9033433c00116e446beaac96503c7282fd1</id>
<content type='text'>
do_xxlock() is only used locally. This silences a sparse warning:

drivers/mtd/lpddr/lpddr_cmds.c:706:5: warning: no previous prototype for 'do_xxlock' [-Wmissing-prototypes]

Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: lpddr: replace open-coded ARRAY_SIZE with macro</title>
<updated>2012-05-14T03:47:31Z</updated>
<author>
<name>Jim Cromie</name>
</author>
<published>2012-04-11T00:55:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=287558fe0e06a85c32863ec9204ed39fc218c5e3'/>
<id>urn:sha1:287558fe0e06a85c32863ec9204ed39fc218c5e3</id>
<content type='text'>
Signed-off-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: move zero length verification to MTD API functions</title>
<updated>2012-03-26T23:32:19Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-02-06T11:27:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bcb1d238716d138c9e16347fc32b3c1ae006339e'/>
<id>urn:sha1:bcb1d238716d138c9e16347fc32b3c1ae006339e</id>
<content type='text'>
In many places in drivers we verify for the zero length, but this is very
inconsistent across drivers. This is obviously the right thing to do, though.
This patch moves the check to the MTD API functions instead and removes a lot
of duplication.

Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Reviewed-by: Shmulik Ladkani &lt;shmulik.ladkani@gmail.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
</feed>
