Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebcccd14 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.infradead.org/mtd-2.6: (84 commits)
  [JFFS2] debug.h: include <linux/sched.h> for current->pid
  [MTD] OneNAND: Handle DDP chip boundary during read-while-load
  [MTD] OneNAND: return ecc error code only when 2-bit ecc occurs
  [MTD] OneNAND: Implement read-while-load
  [MTD] OneNAND: fix onenand_wait bug in read ecc error
  [MTD] OneNAND: release CPU in cycles
  [MTD] OneNAND: add subpage write support
  [MTD] OneNAND: fix onenand_wait bug
  [JFFS2] use the ref_offset macro
  [JFFS2] Reschedule in loops
  [JFFS2] Fix error-path leak in summary scan
  [JFFS2] add cond_resched() when garbage collecting deletion dirent
  [MTD] Nuke IVR leftovers
  [MTD] OneNAND: fix oob handling in recent oob patch
  [MTD] Fix ssfdc blksize typo
  [JFFS2] replace kmalloc+memset with kzalloc
  [MTD] Fix SSFDC build for variable blocksize.
  [MTD] ESB2ROM uses PCI
  [MTD] of_device-based physmap driver
  [MTD] Support combined RedBoot FIS directory and configuration area
  ...
parents e0015489 9cdf083f
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -358,13 +358,12 @@ ev64360_setup_mtd(void)


	ptbl_entries = 3;
	ptbl_entries = 3;


	if ((ptbl = kmalloc(ptbl_entries * sizeof(struct mtd_partition),
	if ((ptbl = kzalloc(ptbl_entries * sizeof(struct mtd_partition),
		GFP_KERNEL)) == NULL) {
		GFP_KERNEL)) == NULL) {


		printk(KERN_WARNING "Can't alloc MTD partition table\n");
		printk(KERN_WARNING "Can't alloc MTD partition table\n");
		return -ENOMEM;
		return -ENOMEM;
	}
	}
	memset(ptbl, 0, ptbl_entries * sizeof(struct mtd_partition));


	ptbl[0].name = "reserved";
	ptbl[0].name = "reserved";
	ptbl[0].offset = 0;
	ptbl[0].offset = 0;
+13 −2
Original line number Original line Diff line number Diff line
@@ -164,9 +164,15 @@ config MTD_CHAR
	  memory chips, and also use ioctl() to obtain information about
	  memory chips, and also use ioctl() to obtain information about
	  the device, or to erase parts of it.
	  the device, or to erase parts of it.


config MTD_BLKDEVS
	tristate "Common interface to block layer for MTD 'translation layers'"
	depends on MTD && BLOCK
	default n

config MTD_BLOCK
config MTD_BLOCK
	tristate "Caching block device access to MTD devices"
	tristate "Caching block device access to MTD devices"
	depends on MTD && BLOCK
	depends on MTD && BLOCK
	select MTD_BLKDEVS
	---help---
	---help---
	  Although most flash chips have an erase size too large to be useful
	  Although most flash chips have an erase size too large to be useful
	  as block devices, it is possible to use MTD devices which are based
	  as block devices, it is possible to use MTD devices which are based
@@ -189,6 +195,7 @@ config MTD_BLOCK
config MTD_BLOCK_RO
config MTD_BLOCK_RO
	tristate "Readonly block device access to MTD devices"
	tristate "Readonly block device access to MTD devices"
	depends on MTD_BLOCK!=y && MTD && BLOCK
	depends on MTD_BLOCK!=y && MTD && BLOCK
	select MTD_BLKDEVS
	help
	help
	  This allows you to mount read-only file systems (such as cramfs)
	  This allows you to mount read-only file systems (such as cramfs)
	  from an MTD device, without the overhead (and danger) of the caching
	  from an MTD device, without the overhead (and danger) of the caching
@@ -200,6 +207,7 @@ config MTD_BLOCK_RO
config FTL
config FTL
	tristate "FTL (Flash Translation Layer) support"
	tristate "FTL (Flash Translation Layer) support"
	depends on MTD && BLOCK
	depends on MTD && BLOCK
	select MTD_BLKDEVS
	---help---
	---help---
	  This provides support for the original Flash Translation Layer which
	  This provides support for the original Flash Translation Layer which
	  is part of the PCMCIA specification. It uses a kind of pseudo-
	  is part of the PCMCIA specification. It uses a kind of pseudo-
@@ -216,6 +224,7 @@ config FTL
config NFTL
config NFTL
	tristate "NFTL (NAND Flash Translation Layer) support"
	tristate "NFTL (NAND Flash Translation Layer) support"
	depends on MTD && BLOCK
	depends on MTD && BLOCK
	select MTD_BLKDEVS
	---help---
	---help---
	  This provides support for the NAND Flash Translation Layer which is
	  This provides support for the NAND Flash Translation Layer which is
	  used on M-Systems' DiskOnChip devices. It uses a kind of pseudo-
	  used on M-Systems' DiskOnChip devices. It uses a kind of pseudo-
@@ -239,6 +248,7 @@ config NFTL_RW
config INFTL
config INFTL
	tristate "INFTL (Inverse NAND Flash Translation Layer) support"
	tristate "INFTL (Inverse NAND Flash Translation Layer) support"
	depends on MTD && BLOCK
	depends on MTD && BLOCK
	select MTD_BLKDEVS
	---help---
	---help---
	  This provides support for the Inverse NAND Flash Translation
	  This provides support for the Inverse NAND Flash Translation
	  Layer which is used on M-Systems' newer DiskOnChip devices. It
	  Layer which is used on M-Systems' newer DiskOnChip devices. It
@@ -256,6 +266,7 @@ config INFTL
config RFD_FTL
config RFD_FTL
        tristate "Resident Flash Disk (Flash Translation Layer) support"
        tristate "Resident Flash Disk (Flash Translation Layer) support"
	depends on MTD && BLOCK
	depends on MTD && BLOCK
	select MTD_BLKDEVS
	---help---
	---help---
	  This provides support for the flash translation layer known
	  This provides support for the flash translation layer known
	  as the Resident Flash Disk (RFD), as used by the Embedded BIOS
	  as the Resident Flash Disk (RFD), as used by the Embedded BIOS
@@ -265,8 +276,8 @@ config RFD_FTL


config SSFDC
config SSFDC
	tristate "NAND SSFDC (SmartMedia) read only translation layer"
	tristate "NAND SSFDC (SmartMedia) read only translation layer"
	depends on MTD
	depends on MTD && BLOCK
	default n
	select MTD_BLKDEVS
	help
	help
	  This enables read only access to SmartMedia formatted NAND
	  This enables read only access to SmartMedia formatted NAND
	  flash. You can mount it with FAT file system.
	  flash. You can mount it with FAT file system.
+8 −7
Original line number Original line Diff line number Diff line
@@ -15,13 +15,14 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o


# 'Users' - code which presents functionality to userspace.
# 'Users' - code which presents functionality to userspace.
obj-$(CONFIG_MTD_CHAR)		+= mtdchar.o
obj-$(CONFIG_MTD_CHAR)		+= mtdchar.o
obj-$(CONFIG_MTD_BLOCK)		+= mtdblock.o mtd_blkdevs.o
obj-$(CONFIG_MTD_BLKDEVS)	+= mtd_blkdevs.o
obj-$(CONFIG_MTD_BLOCK_RO)	+= mtdblock_ro.o mtd_blkdevs.o
obj-$(CONFIG_MTD_BLOCK)		+= mtdblock.o
obj-$(CONFIG_FTL)		+= ftl.o mtd_blkdevs.o
obj-$(CONFIG_MTD_BLOCK_RO)	+= mtdblock_ro.o
obj-$(CONFIG_NFTL)		+= nftl.o mtd_blkdevs.o
obj-$(CONFIG_FTL)		+= ftl.o
obj-$(CONFIG_INFTL)		+= inftl.o mtd_blkdevs.o
obj-$(CONFIG_NFTL)		+= nftl.o
obj-$(CONFIG_RFD_FTL)		+= rfd_ftl.o mtd_blkdevs.o
obj-$(CONFIG_INFTL)		+= inftl.o
obj-$(CONFIG_SSFDC)		+= ssfdc.o mtd_blkdevs.o
obj-$(CONFIG_RFD_FTL)		+= rfd_ftl.o
obj-$(CONFIG_SSFDC)		+= ssfdc.o


nftl-objs		:= nftlcore.o nftlmount.o
nftl-objs		:= nftlcore.o nftlmount.o
inftl-objs		:= inftlcore.o inftlmount.o
inftl-objs		:= inftlcore.o inftlmount.o
+1 −2
Original line number Original line Diff line number Diff line
@@ -207,11 +207,10 @@ static int parse_afs_partitions(struct mtd_info *mtd,
	if (!sz)
	if (!sz)
		return ret;
		return ret;


	parts = kmalloc(sz, GFP_KERNEL);
	parts = kzalloc(sz, GFP_KERNEL);
	if (!parts)
	if (!parts)
		return -ENOMEM;
		return -ENOMEM;


	memset(parts, 0, sz);
	str = (char *)(parts + idx);
	str = (char *)(parts + idx);


	/*
	/*
+1 −2
Original line number Original line Diff line number Diff line
@@ -643,13 +643,12 @@ static struct mtd_info *amd_flash_probe(struct map_info *map)
	int reg_idx;
	int reg_idx;
	int offset;
	int offset;


	mtd = (struct mtd_info*)kmalloc(sizeof(*mtd), GFP_KERNEL);
	mtd = kzalloc(sizeof(*mtd), GFP_KERNEL);
	if (!mtd) {
	if (!mtd) {
		printk(KERN_WARNING
		printk(KERN_WARNING
		       "%s: kmalloc failed for info structure\n", map->name);
		       "%s: kmalloc failed for info structure\n", map->name);
		return NULL;
		return NULL;
	}
	}
	memset(mtd, 0, sizeof(*mtd));
	mtd->priv = map;
	mtd->priv = map;


	memset(&temp, 0, sizeof(temp));
	memset(&temp, 0, sizeof(temp));
Loading