git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
drivers
/
mtd
/
maps
/
uclinux.c
diff --git
a/drivers/mtd/maps/uclinux.c
b/drivers/mtd/maps/uclinux.c
index
c5cd70b
..
79d9280
100644
(file)
--- a/
drivers/mtd/maps/uclinux.c
+++ b/
drivers/mtd/maps/uclinux.c
@@
-5,7
+5,7
@@
*
* (C) Copyright 2002, Greg Ungerer (gerg@snapgear.com)
*
*
* (C) Copyright 2002, Greg Ungerer (gerg@snapgear.com)
*
- * $Id: uclinux.c,v 1.
7 2004/07/12 21:59:45 dwmw2
Exp $
+ * $Id: uclinux.c,v 1.
12 2005/11/07 11:14:29 gleixner
Exp $
*/
/****************************************************************************/
*/
/****************************************************************************/
@@
-23,9
+23,6
@@
#include <linux/mtd/partitions.h>
#include <asm/io.h>
#include <linux/mtd/partitions.h>
#include <asm/io.h>
-/****************************************************************************/
-
-
/****************************************************************************/
struct map_info uclinux_ram_map = {
/****************************************************************************/
struct map_info uclinux_ram_map = {
@@
-47,7
+44,7
@@
struct mtd_partition uclinux_romfs[] = {
int uclinux_point(struct mtd_info *mtd, loff_t from, size_t len,
size_t *retlen, u_char **mtdbuf)
{
int uclinux_point(struct mtd_info *mtd, loff_t from, size_t len,
size_t *retlen, u_char **mtdbuf)
{
- struct map_info *map =
(struct map_info *)
mtd->priv;
+ struct map_info *map = mtd->priv;
*mtdbuf = (u_char *) (map->virt + ((int) from));
*retlen = len;
return(0);
*mtdbuf = (u_char *) (map->virt + ((int) from));
*retlen = len;
return(0);
@@
-60,17
+57,17
@@
int __init uclinux_mtd_init(void)
struct mtd_info *mtd;
struct map_info *mapp;
extern char _ebss;
struct mtd_info *mtd;
struct map_info *mapp;
extern char _ebss;
+ unsigned long addr = (unsigned long) &_ebss;
mapp = &uclinux_ram_map;
mapp = &uclinux_ram_map;
- mapp->phys =
(unsigned long) &_ebss
;
- mapp->size = PAGE_ALIGN(
*((unsigned long *)((&_ebss) + 8
)));
+ mapp->phys =
addr
;
+ mapp->size = PAGE_ALIGN(
ntohl(*((unsigned long *)(addr + 8)
)));
mapp->bankwidth = 4;
printk("uclinux[mtd]: RAM probe address=0x%x size=0x%x\n",
mapp->bankwidth = 4;
printk("uclinux[mtd]: RAM probe address=0x%x size=0x%x\n",
- (int) mapp->
map_priv_2
, (int) mapp->size);
+ (int) mapp->
phys
, (int) mapp->size);
- mapp->virt = (unsigned long)
- ioremap_nocache(mapp->phys, mapp->size);
+ mapp->virt = ioremap_nocache(mapp->phys, mapp->size);
if (mapp->virt == 0) {
printk("uclinux[mtd]: ioremap_nocache() failed\n");
if (mapp->virt == 0) {
printk("uclinux[mtd]: ioremap_nocache() failed\n");
@@
-82,10
+79,10
@@
int __init uclinux_mtd_init(void)
mtd = do_map_probe("map_ram", mapp);
if (!mtd) {
printk("uclinux[mtd]: failed to find a mapping?\n");
mtd = do_map_probe("map_ram", mapp);
if (!mtd) {
printk("uclinux[mtd]: failed to find a mapping?\n");
- iounmap(
(void *)
mapp->virt);
+ iounmap(mapp->virt);
return(-ENXIO);
}
return(-ENXIO);
}
-
+
mtd->owner = THIS_MODULE;
mtd->point = uclinux_point;
mtd->priv = mapp;
mtd->owner = THIS_MODULE;
mtd->point = uclinux_point;
mtd->priv = mapp;
@@
-96,7
+93,6
@@
int __init uclinux_mtd_init(void)
printk("uclinux[mtd]: set %s to be root filesystem\n",
uclinux_romfs[0].name);
ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, 0);
printk("uclinux[mtd]: set %s to be root filesystem\n",
uclinux_romfs[0].name);
ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, 0);
- put_mtd_device(mtd);
return(0);
}
return(0);
}
@@
-110,7
+106,7
@@
void __exit uclinux_mtd_cleanup(void)
map_destroy(uclinux_ram_mtdinfo);
uclinux_ram_mtdinfo = NULL;
}
map_destroy(uclinux_ram_mtdinfo);
uclinux_ram_mtdinfo = NULL;
}
- if (uclinux_ram_map.
map_priv_1
) {
+ if (uclinux_ram_map.
virt
) {
iounmap((void *) uclinux_ram_map.virt);
uclinux_ram_map.virt = 0;
}
iounmap((void *) uclinux_ram_map.virt);
uclinux_ram_map.virt = 0;
}