<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mtd/mtdpart.c, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-12-05T14:35:18Z</updated>
<entry>
<title>mtd: Remove a debug trace in mtdpart.c</title>
<updated>2019-12-05T14:35:18Z</updated>
<author>
<name>Boris Brezillon</name>
</author>
<published>2019-01-30T08:47:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb87c6c5ea2030dac837a97d41dfbd48b8b07c5a'/>
<id>urn:sha1:fb87c6c5ea2030dac837a97d41dfbd48b8b07c5a</id>
<content type='text'>
[ Upstream commit bda2ab56356b9acdfab150f31c4bac9846253092 ]

Commit 2b6f0090a333 ("mtd: Check add_mtd_device() ret code") contained
a leftover of the debug session that led to this bug fix. Remove this
pr_info().

Fixes: 2b6f0090a333 ("mtd: Check add_mtd_device() ret code")
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mtd: Check add_mtd_device() ret code</title>
<updated>2019-12-05T14:35:06Z</updated>
<author>
<name>Boris Brezillon</name>
</author>
<published>2019-01-02T14:36:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d63d0816c2f412394c10a0bd17bb83c7b1c2a3de'/>
<id>urn:sha1:d63d0816c2f412394c10a0bd17bb83c7b1c2a3de</id>
<content type='text'>
[ Upstream commit 2b6f0090a3335b7bdd03ca520c35591159463041 ]

add_mtd_device() can fail. We should always check its return value
and gracefully handle the failure case. Fix the call sites where this
not done (in mtdpart.c) and add a __must_check attribute to the
prototype to avoid this kind of mistakes.

Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>treewide: remove redundant #include &lt;linux/kconfig.h&gt;</title>
<updated>2016-10-11T22:06:33Z</updated>
<author>
<name>Masahiro Yamada</name>
</author>
<published>2016-10-11T20:55:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97139d4a6f26445de47b378cddd5192c0278f863'/>
<id>urn:sha1:97139d4a6f26445de47b378cddd5192c0278f863</id>
<content type='text'>
Kernel source files need not include &lt;linux/kconfig.h&gt; explicitly
because the top Makefile forces to include it with:

  -include $(srctree)/include/linux/kconfig.h

This commit removes explicit includes except the following:

  * arch/s390/include/asm/facilities_src.h
  * tools/testing/radix-tree/linux/kernel.h

These two are used for host programs.

Link: http://lkml.kernel.org/r/1473656164-11929-1-git-send-email-yamada.masahiro@socionext.com
Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag '4.9/mtd-pairing-scheme' of github.com:linux-nand/linux</title>
<updated>2016-10-09T03:56:54Z</updated>
<author>
<name>Brian Norris</name>
</author>
<published>2016-10-08T19:23:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=69db4aa44fdd8befc2eccd1313d841c5128c385c'/>
<id>urn:sha1:69db4aa44fdd8befc2eccd1313d841c5128c385c</id>
<content type='text'>
Introduction of the MTD pairing scheme concept.
</content>
</entry>
<entry>
<title>mtdpart: Propagate _get/put_device()</title>
<updated>2016-09-28T20:00:45Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2016-09-21T09:43:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e149073ba427f99c5e751e558670d034a278f77'/>
<id>urn:sha1:5e149073ba427f99c5e751e558670d034a278f77</id>
<content type='text'>
If the master device has callbacks for _get/put_device()
and this MTD has slaves a get_mtd_device() call on paritions
will never issue the registered callbacks.
Fix this by propagating _get/put_device() down.

Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: introduce the mtd_pairing_scheme concept</title>
<updated>2016-09-15T14:47:56Z</updated>
<author>
<name>Boris Brezillon</name>
</author>
<published>2015-11-16T14:53:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=477b0229ac9bc275f6f8d2c27a2d08b246fccd0e'/>
<id>urn:sha1:477b0229ac9bc275f6f8d2c27a2d08b246fccd0e</id>
<content type='text'>
MLC and TLC NAND devices are using NAND cells exposing more than one bit,
but instead of attaching all the bits in a given cell to a single NAND
page, each bit is usually attached to a different page. This concept is
called 'page pairing', and has significant impacts on the flash storage
usage.
The main problem showed by these devices is that interrupting a page
program operation may not only corrupt the page we are programming
but also the page it is paired with, hence the need to expose to MTD
users the pairing scheme information.

The pairing APIs allows one to query pairing information attached to a
given page (here called wunit), or the other way around (the wunit
pointed by pairing information).
It also provides several helpers to help the conversion between absolute
offsets and wunits, and query the number of pairing groups.

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Reviewed-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: create an mtd_ooblayout_ops struct to ease ECC layout definition</title>
<updated>2016-04-19T20:05:55Z</updated>
<author>
<name>Boris Brezillon</name>
</author>
<published>2016-02-03T18:01:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=adbbc3bc827eb1f43a932d783f09ba55c8ec8379'/>
<id>urn:sha1:adbbc3bc827eb1f43a932d783f09ba55c8ec8379</id>
<content type='text'>
ECC layout definitions are currently exposed using the nand_ecclayout
struct which embeds oobfree and eccpos arrays with predefined size.
This approach was acceptable when NAND chips were providing relatively
small OOB regions, but MLC and TLC now provide OOB regions of several
hundreds of bytes, which implies a non negligible overhead for everybody
even those who only need to support legacy NANDs.

Create an mtd_ooblayout_ops interface providing the same functionality
(expose the ECC and oobfree layout) without the need for this huge
structure.

The mtd-&gt;ecclayout is now deprecated and should be replaced by the
equivalent mtd_ooblayout_ops. In the meantime we provide a wrapper around
the -&gt;ecclayout field to ease migration to this new model.

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>mtd: use mtd_set_ecclayout() where appropriate</title>
<updated>2016-04-19T20:05:53Z</updated>
<author>
<name>Boris Brezillon</name>
</author>
<published>2016-02-03T19:13:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6a6da179308356cac0f1dde979b67094437ef16'/>
<id>urn:sha1:f6a6da179308356cac0f1dde979b67094437ef16</id>
<content type='text'>
Use the mtd_set_ecclayout() helper instead of directly assigning the
mtd-&gt;ecclayout field.

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>mtd: create an mtd_oobavail() helper and make use of it</title>
<updated>2016-03-08T00:23:09Z</updated>
<author>
<name>Boris BREZILLON</name>
</author>
<published>2016-03-07T09:46:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29f1058a90b319b01c4cf469720e0350212d5c9c'/>
<id>urn:sha1:29f1058a90b319b01c4cf469720e0350212d5c9c</id>
<content type='text'>
Currently, all MTD drivers/sublayers exposing an OOB area are
doing the same kind of test to extract the available OOB size
based on the mtd_info and mtd_oob_ops structures.
Move this common logic into an inline function and make use of it.

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Suggested-by: Priit Laes &lt;plaes@plaes.org&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: partitions: support a cleanup callback for parsers</title>
<updated>2015-12-09T22:57:44Z</updated>
<author>
<name>Brian Norris</name>
</author>
<published>2015-12-09T18:24:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=adc83bf8896353603213754353dd66dae69e3d7f'/>
<id>urn:sha1:adc83bf8896353603213754353dd66dae69e3d7f</id>
<content type='text'>
If partition parsers need to clean up their resources, we shouldn't
assume that all memory will fit in a single kmalloc() that the caller
can kfree(). We should allow the parser to provide a proper cleanup
routine.

Note that this means we need to keep a hold on the parser's module for a
bit longer, and release it later with mtd_part_parser_put().

Alongside this, define a default callback that we'll automatically use
if the parser doesn't provide one, so we can still retain the old
behavior.

Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
</content>
</entry>
</feed>
