History log of /drivers/mtd/onenand/samsung.c
Revision Date Author Comments
e393bc090088f731299def1cf466d45707cd9a6d 02-Jul-2014 Kukjin Kim <kgene.kim@samsung.com> mtd: onenand: remove s5pc100 related onenand codes

This patch removes s5pc100 related onenand codes because of no more
support for S5PC100 SoC in mainline.

Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
81d46c59550997ae17e441c0327ee92f7ba7dc6f 08-May-2014 Arnd Bergmann <arnd@arndb.de> mtd: onenand: fix build warning for dma type

The samsung onenand driver passes around a dma address token
through a void pointer, which is incorrect and leads to
warnings like this one:

onenand/samsung.c:548:2: warning: passing argument 1 of '__fswab32' makes integer from pointer without a cast [enabled by default]
writel(src, base + S5PC110_DMA_SRC_ADDR);
^

This patch makes it use dma_addr_t here, which is more appropriate.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
e4eec195f3e8106362da72c9d94dd6fcf598ddb7 06-Feb-2014 Jingoo Han <jg1.han@samsung.com> mtd: onenand: Remove unnecessary OOM messages

The site-specific OOM messages are unnecessary, because they
duplicate the MM subsystem generic OOM message.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
e09f7f992833ed73f1afc5eaa7cc4d5b10b04b7c 30-Jul-2013 Jingoo Han <jg1.han@samsung.com> mtd: onenand: use dev_get_platdata()

Use the wrapper function for retrieving the platform data instead of
accessing dev->platform_data directly.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
cf3b55a994a04c31ce3ac3119880582547e22cf2 03-May-2013 Sachin Kamat <sachin.kamat@linaro.org> mtd: onenand/samsung: Remove redundant platform_set_drvdata()

Commit 0998d06310 (device-core: Ensure drvdata = NULL when no
driver is bound) removes the need to set driver data field to
NULL.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
93115b7fa8f4090ecbf247b29992a9454d4f9c22 05-Mar-2013 Arnd Bergmann <arnd@arndb.de> mtd: onenand/samsung: make regs-onenand.h file local

Nothing uses the NAND register definitions other than the
actual driver, so we can move the header file into the
same local directory, which lets us build it in a multiplatform
configuration.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: linux-mtd@lists.infradead.org
Cc: David Woodhouse <dwmw2@infradead.org>
810b7e060c14110d8f580daaf77fab3a7d950483 19-Nov-2012 Bill Pemberton <wfp5p@virginia.edu> mtd: remove use of __devexit

CONFIG_HOTPLUG is going away as an option so __devexit is no
longer needed.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
5153b88cac39b0a14662f0e15439b826bacfe213 19-Nov-2012 Bill Pemberton <wfp5p@virginia.edu> mtd: remove use of __devexit_p

CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
42d7fbe223ab878b23de9e3b0166f8cd665a2aa5 09-Mar-2012 Artem Bityutskiy <artem.bityutskiy@linux.intel.com> mtd: do not use plain 0 as NULL

The first 3 arguments of 'mtd_device_parse_register()' are pointers,
but many callers pass '0' instead of 'NULL'. Fix this globally. Thanks
to coccinelle for making it easy to do with the following semantic patch:

@@
expression mtd, types, parser_data, parts, nr_parts;
@@
(
-mtd_device_parse_register(mtd, 0, parser_data, parts, nr_parts)
+mtd_device_parse_register(mtd, NULL, parser_data, parts, nr_parts)
|
-mtd_device_parse_register(mtd, types, 0, parts, nr_parts)
+mtd_device_parse_register(mtd, types, NULL, parts, nr_parts)
|
-mtd_device_parse_register(mtd, types, parser_data, 0, nr_parts)
+mtd_device_parse_register(mtd, types, parser_data, NULL, nr_parts)
)

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
152b861622d55f7b17cb6069bd0b275fb559c29a 12-Jan-2012 Julia Lawall <Julia.Lawall@lip6.fr> mtd: onenand: samsung: add missing iounmap

Add missing iounmap in error handling code, in a case where the function
already preforms iounmap on some other execution path.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e;
statement S,S1;
int ret;
@@
e = \(ioremap\|ioremap_nocache\)(...)
... when != iounmap(e)
if (<+...e...+>) S
... when any
when != iounmap(e)
*if (...)
{ ... when != iounmap(e)
return ...; }
... when any
iounmap(e);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
f99640dee209df4730f35a28b02693affd571ad5 27-Nov-2011 Axel Lin <axel.lin@gmail.com> mtd: convert drivers/mtd/* to use module_platform_driver()

This patch converts the drivers in drivers/mtd/* to use the
module_platform_driver() macro which makes the code smaller and a bit
simpler.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
f8214b80dacbb4d009b2c8968fe52aafb6ed55d4 02-Jun-2011 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> mtd: onenand/samsung.c: use mtd_device_parse_register

Replace custom invocations of parse_mtd_partitions and mtd_device_register
with common mtd_device_parse_register call. This would bring: standard
handling of all errors, fallback to default partitions, etc.

Axel Lin <axel.lin@gmail.com>: fixed build error.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
18f8eb1b23619736872740f8c4697b6534a0524b 29-May-2011 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> mtd: samsung/onenand don't specify default parsing options

Since 'cmdline, NULL' is now a default for parse_mtd_partitions, don't specify
this in every driver, instead pass NULL to force parse_mtd_partitions
to use default.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
6b57c11601c8fa4bfa046513c4df155b3b58ea89 23-May-2011 Jamie Iles <jamie@jamieiles.com> mtd: samsung onenand: convert to mtd_device_register()

Convert to mtd_device_register() and remove the CONFIG_MTD_PARTITIONS
preprocessor conditionals as partitioning is always available.

Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
08b3af3092bb2c284796e4e823c5309c2d0a9bca 02-Nov-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: Fix page offset handling at 2KiB pagesize

When use the 2KiB pagesize, it should be set the correct page offset.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2316d3bc95ff65b7c0c40c70db83455912cf0328 20-Oct-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: S5PC110: Fix double call suspend & resume function

The suspend & resume called from mtd core. So no need to call at driver.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
e23abf4b774322cbeb3f15cb95756544a64dda5e 28-Sep-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: S5PC110: Implement DMA interrupt method

Implement DMA interrupt method. previous time it polls the DMA status.
It can reduce the CPU power but decrease the performance a little.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
dcf08227e964a53a2cb39130b74842c7dcb6adde 28-Sep-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: S5PC110: Fix wrong DMA handling when HIGHMEM

When use HIGHMEM, dma_map_single doesn't get the proper DMA address.
So use the dma_map_page in this case.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
aa6d1c0e15948894978b342da45d91f5a2af9933 28-Sep-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: S5PC100: Only S5PC110 use the command map method

After S5PC110 use the generic method for OneNAND.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
ebe8a642f50a0020bed317afcde1f9d2a9da429b 27-Sep-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: S5PC110: Add timeout to prevent the endless loop

There's no case timeout but add it for some H/W problem or
wrong codes implementation

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
344955fb9cab0ec051f27e846008362b8ce42d36 27-Aug-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: Remove unused cmd_map at s5pc110

S5PC110 OneNAND controller use the generic functions provided from onenand_base.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
53d1e137d5ddd8a1c5ec54c5375cb2832e1cbcd1 27-Aug-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: Fix loop hang when DMA error at Samsung SoCs

When DMA error occurs. it's loop hang since it can't exit the loop.
and it's the right DMA handling code as Spec.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
9aba97ad004ed0cde9747a9daf5b1484edb746cd 27-Aug-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: OneNAND: Fix 2KiB pagesize handling at Samsung SoCs

Wrong assumption bufferram can be switched between BufferRAM0 and BufferRAM1

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
7b0507eb697ea157533b9a7e0a955f64a00b1b1d 28-May-2010 Kyungmin Park <kmpark@infradead.org> mtd: OneNAND: Samsung SoCs use own chip_probe function

Samsung SoCs use own chip_probe function.
Don't touch the memory configuration at probe time.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
46f3e88bd9da010e76a9049d55cf9013560b5903 28-Apr-2010 Kyungmin Park <kyungmin.park@samsung.com> mtd: add Samsung SoC OneNAND driver

This patch adds a driver for OneNAND controller on Samsung SoCs.
Following SoCs are supported: S3C6400, S3C6410, S5PC100 and S5PC110.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>