mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: (79 commits)
mtd: Remove obsolete <mtd/compatmac.h> include
mtd: Update copyright notices
jffs2: Update copyright notices
mtd-physmap: add support users can assign the probe type in board files
mtd: remove redwood map driver
mxc_nand: Add v3 (i.MX51) Support
mxc_nand: support 8bit ecc
mxc_nand: fix correct_data function
mxc_nand: add V1_V2 namespace to registers
mxc_nand: factor out a check_int function
mxc_nand: make some internally used functions overwriteable
mxc_nand: rework get_dev_status
mxc_nand: remove 0xe00 offset from registers
mtd: denali: Add multi connected NAND support
mtd: denali: Remove set_ecc_config function
mtd: denali: Remove unuseful code in get_xx_nand_para functions
mtd: denali: Remove device_info_tag structure
mtd: m25p80: add support for the Winbond W25Q32 SPI flash chip
mtd: m25p80: add support for the Intel/Numonyx {16,32,64}0S33B SPI flash chips
mtd: m25p80: add support for the EON EN25P{32, 64} SPI flash chips
...
Fix up trivial conflicts in drivers/mtd/maps/{Kconfig,redwood.c} due to
redwood driver removal.
This commit is contained in:
@@ -319,14 +319,6 @@ config MTD_CFI_FLAGADM
|
||||
Mapping for the Flaga digital module. If you don't have one, ignore
|
||||
this setting.
|
||||
|
||||
config MTD_REDWOOD
|
||||
tristate "CFI Flash devices mapped on IBM Redwood"
|
||||
depends on MTD_CFI
|
||||
help
|
||||
This enables access routines for the flash chips on the IBM
|
||||
Redwood board. If you have one of these boards and would like to
|
||||
use the flash chips on it, say 'Y'.
|
||||
|
||||
config MTD_SOLUTIONENGINE
|
||||
tristate "CFI Flash device mapped on Hitachi SolutionEngine"
|
||||
depends on SUPERH && SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
|
||||
|
||||
@@ -44,7 +44,6 @@ obj-$(CONFIG_MTD_AUTCPU12) += autcpu12-nvram.o
|
||||
obj-$(CONFIG_MTD_EDB7312) += edb7312.o
|
||||
obj-$(CONFIG_MTD_IMPA7) += impa7.o
|
||||
obj-$(CONFIG_MTD_FORTUNET) += fortunet.o
|
||||
obj-$(CONFIG_MTD_REDWOOD) += redwood.o
|
||||
obj-$(CONFIG_MTD_UCLINUX) += uclinux.o
|
||||
obj-$(CONFIG_MTD_NETtel) += nettel.o
|
||||
obj-$(CONFIG_MTD_SCB2_FLASH) += scb2_flash.o
|
||||
|
||||
@@ -118,7 +118,7 @@ static void ixp4xx_copy_from(struct map_info *map, void *to,
|
||||
*dest++ = BYTE1(data);
|
||||
src += 2;
|
||||
len -= 2;
|
||||
}
|
||||
}
|
||||
|
||||
if (len > 0)
|
||||
*dest++ = BYTE0(flash_read16(src));
|
||||
@@ -185,6 +185,8 @@ static int ixp4xx_flash_probe(struct platform_device *dev)
|
||||
{
|
||||
struct flash_platform_data *plat = dev->dev.platform_data;
|
||||
struct ixp4xx_flash_info *info;
|
||||
const char *part_type = NULL;
|
||||
int nr_parts = 0;
|
||||
int err = -1;
|
||||
|
||||
if (!plat)
|
||||
@@ -218,9 +220,9 @@ static int ixp4xx_flash_probe(struct platform_device *dev)
|
||||
*/
|
||||
info->map.bankwidth = 2;
|
||||
info->map.name = dev_name(&dev->dev);
|
||||
info->map.read = ixp4xx_read16,
|
||||
info->map.write = ixp4xx_probe_write16,
|
||||
info->map.copy_from = ixp4xx_copy_from,
|
||||
info->map.read = ixp4xx_read16;
|
||||
info->map.write = ixp4xx_probe_write16;
|
||||
info->map.copy_from = ixp4xx_copy_from;
|
||||
|
||||
info->res = request_mem_region(dev->resource->start,
|
||||
resource_size(dev->resource),
|
||||
@@ -248,11 +250,28 @@ static int ixp4xx_flash_probe(struct platform_device *dev)
|
||||
info->mtd->owner = THIS_MODULE;
|
||||
|
||||
/* Use the fast version */
|
||||
info->map.write = ixp4xx_write16,
|
||||
info->map.write = ixp4xx_write16;
|
||||
|
||||
#ifdef CONFIG_MTD_PARTITIONS
|
||||
nr_parts = parse_mtd_partitions(info->mtd, probes, &info->partitions,
|
||||
dev->resource->start);
|
||||
#endif
|
||||
if (nr_parts > 0) {
|
||||
part_type = "dynamic";
|
||||
} else {
|
||||
info->partitions = plat->parts;
|
||||
nr_parts = plat->nr_parts;
|
||||
part_type = "static";
|
||||
}
|
||||
if (nr_parts == 0) {
|
||||
printk(KERN_NOTICE "IXP4xx flash: no partition info "
|
||||
"available, registering whole flash\n");
|
||||
err = add_mtd_device(info->mtd);
|
||||
} else {
|
||||
printk(KERN_NOTICE "IXP4xx flash: using %s partition "
|
||||
"definition\n", part_type);
|
||||
err = add_mtd_partitions(info->mtd, info->partitions, nr_parts);
|
||||
|
||||
err = parse_mtd_partitions(info->mtd, probes, &info->partitions, dev->resource->start);
|
||||
if (err > 0) {
|
||||
err = add_mtd_partitions(info->mtd, info->partitions, err);
|
||||
if(err)
|
||||
printk(KERN_ERR "Could not parse partitions\n");
|
||||
}
|
||||
|
||||
@@ -106,12 +106,12 @@ static int physmap_flash_probe(struct platform_device *dev)
|
||||
|
||||
for (i = 0; i < dev->num_resources; i++) {
|
||||
printk(KERN_NOTICE "physmap platform flash device: %.8llx at %.8llx\n",
|
||||
(unsigned long long)(dev->resource[i].end - dev->resource[i].start + 1),
|
||||
(unsigned long long)resource_size(&dev->resource[i]),
|
||||
(unsigned long long)dev->resource[i].start);
|
||||
|
||||
if (!devm_request_mem_region(&dev->dev,
|
||||
dev->resource[i].start,
|
||||
dev->resource[i].end - dev->resource[i].start + 1,
|
||||
resource_size(&dev->resource[i]),
|
||||
dev_name(&dev->dev))) {
|
||||
dev_err(&dev->dev, "Could not reserve memory region\n");
|
||||
err = -ENOMEM;
|
||||
@@ -120,7 +120,7 @@ static int physmap_flash_probe(struct platform_device *dev)
|
||||
|
||||
info->map[i].name = dev_name(&dev->dev);
|
||||
info->map[i].phys = dev->resource[i].start;
|
||||
info->map[i].size = dev->resource[i].end - dev->resource[i].start + 1;
|
||||
info->map[i].size = resource_size(&dev->resource[i]);
|
||||
info->map[i].bankwidth = physmap_data->width;
|
||||
info->map[i].set_vpp = physmap_data->set_vpp;
|
||||
info->map[i].pfow_base = physmap_data->pfow_base;
|
||||
@@ -136,8 +136,12 @@ static int physmap_flash_probe(struct platform_device *dev)
|
||||
simple_map_init(&info->map[i]);
|
||||
|
||||
probe_type = rom_probe_types;
|
||||
for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++)
|
||||
info->mtd[i] = do_map_probe(*probe_type, &info->map[i]);
|
||||
if (physmap_data->probe_type == NULL) {
|
||||
for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++)
|
||||
info->mtd[i] = do_map_probe(*probe_type, &info->map[i]);
|
||||
} else
|
||||
info->mtd[i] = do_map_probe(physmap_data->probe_type, &info->map[i]);
|
||||
|
||||
if (info->mtd[i] == NULL) {
|
||||
dev_err(&dev->dev, "map_probe failed\n");
|
||||
err = -ENXIO;
|
||||
|
||||
@@ -353,7 +353,7 @@ static int __devinit of_flash_probe(struct of_device *dev,
|
||||
&info->parts, 0);
|
||||
if (err < 0) {
|
||||
of_free_probes(part_probe_types);
|
||||
return err;
|
||||
goto err_out;
|
||||
}
|
||||
of_free_probes(part_probe_types);
|
||||
|
||||
@@ -361,14 +361,14 @@ static int __devinit of_flash_probe(struct of_device *dev,
|
||||
if (err == 0) {
|
||||
err = of_mtd_parse_partitions(&dev->dev, dp, &info->parts);
|
||||
if (err < 0)
|
||||
return err;
|
||||
goto err_out;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (err == 0) {
|
||||
err = parse_obsolete_partitions(dev, info, dp);
|
||||
if (err < 0)
|
||||
return err;
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
if (err > 0)
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
/*
|
||||
* drivers/mtd/maps/redwood.c
|
||||
*
|
||||
* FLASH map for the IBM Redwood 4/5/6 boards.
|
||||
*
|
||||
* Author: MontaVista Software, Inc. <source@mvista.com>
|
||||
*
|
||||
* 2001-2003 (c) MontaVista, Software, Inc. This file is licensed under
|
||||
* the terms of the GNU General Public License version 2. This program
|
||||
* is licensed "as is" without any warranty of any kind, whether express
|
||||
* or implied.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/map.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
#define WINDOW_ADDR 0xffc00000
|
||||
#define WINDOW_SIZE 0x00400000
|
||||
|
||||
#define RW_PART0_OF 0
|
||||
#define RW_PART0_SZ 0x10000
|
||||
#define RW_PART1_OF RW_PART0_SZ
|
||||
#define RW_PART1_SZ 0x200000 - 0x10000
|
||||
#define RW_PART2_OF 0x200000
|
||||
#define RW_PART2_SZ 0x10000
|
||||
#define RW_PART3_OF 0x210000
|
||||
#define RW_PART3_SZ 0x200000 - (0x10000 + 0x20000)
|
||||
#define RW_PART4_OF 0x3e0000
|
||||
#define RW_PART4_SZ 0x20000
|
||||
|
||||
static struct mtd_partition redwood_flash_partitions[] = {
|
||||
{
|
||||
.name = "Redwood OpenBIOS Vital Product Data",
|
||||
.offset = RW_PART0_OF,
|
||||
.size = RW_PART0_SZ,
|
||||
.mask_flags = MTD_WRITEABLE /* force read-only */
|
||||
},
|
||||
{
|
||||
.name = "Redwood kernel",
|
||||
.offset = RW_PART1_OF,
|
||||
.size = RW_PART1_SZ
|
||||
},
|
||||
{
|
||||
.name = "Redwood OpenBIOS non-volatile storage",
|
||||
.offset = RW_PART2_OF,
|
||||
.size = RW_PART2_SZ,
|
||||
.mask_flags = MTD_WRITEABLE /* force read-only */
|
||||
},
|
||||
{
|
||||
.name = "Redwood filesystem",
|
||||
.offset = RW_PART3_OF,
|
||||
.size = RW_PART3_SZ
|
||||
},
|
||||
{
|
||||
.name = "Redwood OpenBIOS",
|
||||
.offset = RW_PART4_OF,
|
||||
.size = RW_PART4_SZ,
|
||||
.mask_flags = MTD_WRITEABLE /* force read-only */
|
||||
}
|
||||
};
|
||||
|
||||
struct map_info redwood_flash_map = {
|
||||
.name = "IBM Redwood",
|
||||
.size = WINDOW_SIZE,
|
||||
.bankwidth = 2,
|
||||
.phys = WINDOW_ADDR,
|
||||
};
|
||||
|
||||
|
||||
#define NUM_REDWOOD_FLASH_PARTITIONS ARRAY_SIZE(redwood_flash_partitions)
|
||||
|
||||
static struct mtd_info *redwood_mtd;
|
||||
|
||||
static int __init init_redwood_flash(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
printk(KERN_NOTICE "redwood: flash mapping: %x at %x\n",
|
||||
WINDOW_SIZE, WINDOW_ADDR);
|
||||
|
||||
redwood_flash_map.virt = ioremap(WINDOW_ADDR, WINDOW_SIZE);
|
||||
|
||||
if (!redwood_flash_map.virt) {
|
||||
printk("init_redwood_flash: failed to ioremap\n");
|
||||
return -EIO;
|
||||
}
|
||||
simple_map_init(&redwood_flash_map);
|
||||
|
||||
redwood_mtd = do_map_probe("cfi_probe",&redwood_flash_map);
|
||||
|
||||
if (redwood_mtd) {
|
||||
redwood_mtd->owner = THIS_MODULE;
|
||||
err = add_mtd_partitions(redwood_mtd,
|
||||
redwood_flash_partitions,
|
||||
NUM_REDWOOD_FLASH_PARTITIONS);
|
||||
if (err) {
|
||||
printk("init_redwood_flash: add_mtd_partitions failed\n");
|
||||
iounmap(redwood_flash_map.virt);
|
||||
}
|
||||
return err;
|
||||
|
||||
}
|
||||
|
||||
iounmap(redwood_flash_map.virt);
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
static void __exit cleanup_redwood_flash(void)
|
||||
{
|
||||
if (redwood_mtd) {
|
||||
del_mtd_partitions(redwood_mtd);
|
||||
/* moved iounmap after map_destroy - armin */
|
||||
map_destroy(redwood_mtd);
|
||||
iounmap((void *)redwood_flash_map.virt);
|
||||
}
|
||||
}
|
||||
|
||||
module_init(init_redwood_flash);
|
||||
module_exit(cleanup_redwood_flash);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("MontaVista Software <source@mvista.com>");
|
||||
MODULE_DESCRIPTION("MTD map driver for the IBM Redwood reference boards");
|
||||
Reference in New Issue
Block a user