- 05 Apr, 2013 40 commits
-
-
Artem Bityutskiy authored
Use 'unsigned int' instead of 'unsigned long' in the NAND chip description data structure, because 32-bits is more than enough for our purposes. We do not need 64-bits, which is what we end up on 64-bit architectures. We declare many instances of this data structure, so this should help saving some amount of memory. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Jingoo Han authored
This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Jingoo Han authored
This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Jingoo Han authored
This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Jingoo Han authored
This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Jingoo Han authored
This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Jingoo Han authored
This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Jingoo Han authored
This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Rafał Miłecki authored
We need them to add erase/write support. This may duplicate some defines with bcma and/or ssb code, but it makes more sense to keep that in bcm47xxsflash which is supposed to work with both buses. Duplicated defines will be removed from ssb/bcma. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Rafał Miłecki authored
It's going to be needed for erase and write operations, they differ between Atmel and ST flashes. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Rafał Miłecki authored
To implement erase and write support we need to "talk" with ChipCommon BCMA core which serial flash it attached to. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: Michael Buesch <m@bues.ch> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: "Rafał Miłecki" <zajec5@gmail.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Be a bit stricter and add few more 'const' qualifiers. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
'mtd_device_parse_register()' and 'parse_mtd_partitions()' functions accept a an array of character pointers. These functions modify neither the pointers nor the characters they point to. The characters are actually names of the MTD parsers. At the moment, the argument type is 'const char **', which means that only the names of the parsers are constant. Let's turn the argument type into 'const char * const *', which means that both names and the pointers which point to them are constant. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
This driver depends on CONFIG_IXP2000 which is not defined anywhere, which means this driver is dead. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
This driver is marked as broken for very long time. Most probably this board is just something ancient no one cares about anyway. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
This driver depends on the CONFIG_TQM8xxL symbol, which is not defined anywhere, which means that this driver is dead. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
This driver depends on the CONFIG_RPXCLASSIC and CONFIG_RPXLITE symbols, which are not defined anywhere, and this means that this driver is dead. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: linux-pcmcia@lists.infradead.org Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: linux-m68k@lists.linux-m68k.org Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
This driver depends on CONFIG_MBX which is not defined anywhere, which means this driver is dead. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: linux-pcmcia@lists.infradead.org Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: linux-m68k@lists.linux-m68k.org Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
This driver depends on the CONFIG_DMV182 symbol which is not defined anywhere, and this means that this driver is dead. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
This driver depends on the CONFIG_DBOX2 symbol which does not exist in the kernel, which means the driver is dead. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Daniel Mack authored
In case the driver is not probed - due to config mismatches or errors in the DTS files - dev_get_drvdata() returns NULL, leading to an Ooops during boot. Make elm_config() return an error in such cases to propagate the error up to the user, so it can fall back to software mode. Signed-off-by:
Daniel Mack <zonque@gmail.com> Acked-by:
Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Alexander Shiyan authored
Variable "onfi_version" is already set to zero before nand_flash_detect_onfi() call, so additional cleaning is not necessary. Signed-off-by:
Alexander Shiyan <shc_work@mail.ru> Acked-by:
Brian Norris <computersforpeace@gmail.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Alexander Shiyan authored
NAND command, passed to cmd_ctrl(), is masked with 0xff. This patch removes this since masking is not necessary and masking is not performed in other places for same call. Signed-off-by:
Alexander Shiyan <shc_work@mail.ru> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Rafał Miłecki authored
This device was reported over a year ago on OpenWrt mailing list in the thread [OpenWrt-Devel] RedBoot partition table with winbond m25q128vb (unfortunately, I can't find message id). Macpaul seemed to have problems with partition driver, but it seems the device was working OK. Reported-by:
Macpaul Lin <macpaul@gmail.com> Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Syam Sidhardhan authored
kfree on NULL pointer is a no-op. Signed-off-by:
Syam Sidhardhan <s.syam@samsung.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Krzysztof Mazur authored
Signed-off-by:
Krzysztof Mazur <krzysiek@podlesie.net> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Krzysztof Mazur authored
Not all SST devices implement the SST byte programming command. Some devices (like SST25VF064C) implement only standard m25p80 page write command. Now SPI flash devices that need sst_write() are explicitly marked with new SST_WRITE flag and the decision to use sst_write() is based on this flag instead of manufacturer id. Signed-off-by:
Krzysztof Mazur <krzysiek@podlesie.net> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Joe Schaack authored
Previously, partitions were limited to less than 4 GiB in size because the address and size were read as 32-bit values. Add support for 64-bit values to support devices of 4 GiB and larger. Signed-off-by:
Joe Schaack <jschaack@xes-inc.com> Signed-off-by:
Nate Case <ncase@xes-inc.com> Signed-off-by:
Aaron Sierra <asierra@xes-inc.com> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Brian Norris authored
Signed-off-by:
Brian Norris <computersforpeace@gmail.com> Acked-by:
Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
These drivers are deprecated for very long time, and we have a different driver for these called "diskonchip". Thus, kill the ancient cruft. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Up until now we identified NAND chips by the 'device ID' part of the full chip ID array, which is the second full ID array byte. However, the newest flashes use the same device ID for chips with identical page and eraseblock sizes, but different OOB sizes. And unfortunately, it is not clear if there is a "standard" way to fetch the OOB size from chip's full ID array. Here is an example: Toshiba TC58NVG2S0F: 0x98, 0xdc, 0x90, 0x26, 0x76, 0x15, 0x01, 0x08 Toshiba TC58NVG3S0F: 0x98, 0xd3, 0x90, 0x26, 0x76, 0x15, 0x02, 0x08 The first one is a 512MiB NAND chip with 4KiB NAND pages, 256KiB eraseblock size and 224 bytes OOB. The second one is a 1GiB NAND chip with the same page and eraseblock sizes, but with 232 bytes OOB. This means that we have to store full ID in our NAND flashes table in order to distinguish between these 2. This patch adds the 'id[8]' field to the 'struct nand_flash_dev' structure, and it makes it to be a part of anonymous union, where the second member is a structure containing the 'mfr_id' and 'dev_id' bytes. The union makes sure that 'mfr_id' refers the same RAM address as 'id[0]' and 'dev_id' refers the same RAM address as 'id[1]'. The only motivation for the union is an assumption that 'type->dev_id' is more readable than 'type->id[1]'. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
Introduce helper macros for defining NAND chips. These macros do not really add much value in the current code-base. However, we are going to add full ID support which adds some more complexity to the table, and helper macros become useful for readability. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-
Artem Bityutskiy authored
NAND flashes with 256 bytes NAND pages are so old that probably do not exist any more. Let's remove few related pieces of code and forget about them forever. The assumption will be that 512 bytes NAND page size is the minimum possible. Signed-off-by:
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com>
-