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

Commit a15bdeef authored by David Woodhouse's avatar David Woodhouse
Browse files

Remove use of inter_module_crap in NOR flash chip drivers.

parent 396674e5
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -30,7 +30,6 @@ config MTD_JEDECPROBE


config MTD_GEN_PROBE
config MTD_GEN_PROBE
	tristate
	tristate
	select OBSOLETE_INTERMODULE


config MTD_CFI_ADV_OPTIONS
config MTD_CFI_ADV_OPTIONS
	bool "Flash chip driver advanced configuration options"
	bool "Flash chip driver advanced configuration options"
+0 −7
Original line number Original line Diff line number Diff line
@@ -3,13 +3,6 @@
#
#
# $Id: Makefile.common,v 1.5 2005/11/07 11:14:22 gleixner Exp $
# $Id: Makefile.common,v 1.5 2005/11/07 11:14:22 gleixner Exp $


#                       *** BIG UGLY NOTE ***
#
# The removal of get_module_symbol() and replacement with
# inter_module_register() et al has introduced a link order dependency
# here where previously there was none.  We now have to ensure that
# the CFI command set drivers are linked before gen_probe.o

obj-$(CONFIG_MTD)		+= chipreg.o
obj-$(CONFIG_MTD)		+= chipreg.o
obj-$(CONFIG_MTD_AMDSTD)	+= amd_flash.o
obj-$(CONFIG_MTD_AMDSTD)	+= amd_flash.o
obj-$(CONFIG_MTD_CFI)		+= cfi_probe.o
obj-$(CONFIG_MTD_CFI)		+= cfi_probe.o
+0 −7
Original line number Original line Diff line number Diff line
@@ -97,7 +97,6 @@ struct amd_flash_private {
	int interleave;
	int interleave;
	int numchips;
	int numchips;
	unsigned long chipshift;
	unsigned long chipshift;
//	const char *im_name;
	struct flchip chips[0];
	struct flchip chips[0];
};
};


@@ -131,12 +130,6 @@ static struct mtd_chip_driver amd_flash_chipdrv = {
	.module = THIS_MODULE
	.module = THIS_MODULE
};
};




static const char im_name[] = "amd_flash";



static inline __u32 wide_read(struct map_info *map, __u32 addr)
static inline __u32 wide_read(struct map_info *map, __u32 addr)
{
{
	if (map->buswidth == 1) {
	if (map->buswidth == 1) {
+7 −29
Original line number Original line Diff line number Diff line
@@ -331,13 +331,6 @@ read_pri_intelext(struct map_info *map, __u16 adr)
	return extp;
	return extp;
}
}


/* This routine is made available to other mtd code via
 * inter_module_register.  It must only be accessed through
 * inter_module_get which will bump the use count of this module.  The
 * addresses passed back in cfi are valid as long as the use count of
 * this module is non-zero, i.e. between inter_module_get and
 * inter_module_put.  Keith Owens <kaos@ocs.com.au> 29 Oct 2000.
 */
struct mtd_info *cfi_cmdset_0001(struct map_info *map, int primary)
struct mtd_info *cfi_cmdset_0001(struct map_info *map, int primary)
{
{
	struct cfi_private *cfi = map->fldrv_priv;
	struct cfi_private *cfi = map->fldrv_priv;
@@ -415,6 +408,11 @@ struct mtd_info *cfi_cmdset_0001(struct map_info *map, int primary)


	return cfi_intelext_setup(mtd);
	return cfi_intelext_setup(mtd);
}
}
struct mtd_info *cfi_cmdset_0003(struct map_info *map, int primary) __attribute__((alias("cfi_cmdset_0001")));
struct mtd_info *cfi_cmdset_0200(struct map_info *map, int primary) __attribute__((alias("cfi_cmdset_0001")));
EXPORT_SYMBOL_GPL(cfi_cmdset_0001);
EXPORT_SYMBOL_GPL(cfi_cmdset_0003);
EXPORT_SYMBOL_GPL(cfi_cmdset_0200);


static struct mtd_info *cfi_intelext_setup(struct mtd_info *mtd)
static struct mtd_info *cfi_intelext_setup(struct mtd_info *mtd)
{
{
@@ -2445,28 +2443,8 @@ static void cfi_intelext_destroy(struct mtd_info *mtd)
	kfree(mtd->eraseregions);
	kfree(mtd->eraseregions);
}
}


static char im_name_0001[] = "cfi_cmdset_0001";
static char im_name_0003[] = "cfi_cmdset_0003";
static char im_name_0200[] = "cfi_cmdset_0200";

static int __init cfi_intelext_init(void)
{
	inter_module_register(im_name_0001, THIS_MODULE, &cfi_cmdset_0001);
	inter_module_register(im_name_0003, THIS_MODULE, &cfi_cmdset_0001);
	inter_module_register(im_name_0200, THIS_MODULE, &cfi_cmdset_0001);
	return 0;
}

static void __exit cfi_intelext_exit(void)
{
	inter_module_unregister(im_name_0001);
	inter_module_unregister(im_name_0003);
	inter_module_unregister(im_name_0200);
}

module_init(cfi_intelext_init);
module_exit(cfi_intelext_exit);

MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("David Woodhouse <dwmw2@infradead.org> et al.");
MODULE_AUTHOR("David Woodhouse <dwmw2@infradead.org> et al.");
MODULE_DESCRIPTION("MTD chip driver for Intel/Sharp flash chips");
MODULE_DESCRIPTION("MTD chip driver for Intel/Sharp flash chips");
MODULE_ALIAS("cfi_cmdset_0003");
MODULE_ALIAS("cfi_cmdset_0200");
+1 −20
Original line number Original line Diff line number Diff line
@@ -326,7 +326,7 @@ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)


	return cfi_amdstd_setup(mtd);
	return cfi_amdstd_setup(mtd);
}
}

EXPORT_SYMBOL(cfi_cmdset_0002);


static struct mtd_info *cfi_amdstd_setup(struct mtd_info *mtd)
static struct mtd_info *cfi_amdstd_setup(struct mtd_info *mtd)
{
{
@@ -1758,25 +1758,6 @@ static void cfi_amdstd_destroy(struct mtd_info *mtd)
	kfree(mtd->eraseregions);
	kfree(mtd->eraseregions);
}
}


static char im_name[]="cfi_cmdset_0002";


static int __init cfi_amdstd_init(void)
{
	inter_module_register(im_name, THIS_MODULE, &cfi_cmdset_0002);
	return 0;
}


static void __exit cfi_amdstd_exit(void)
{
	inter_module_unregister(im_name);
}


module_init(cfi_amdstd_init);
module_exit(cfi_amdstd_exit);

MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Crossnet Co. <info@crossnet.co.jp> et al.");
MODULE_AUTHOR("Crossnet Co. <info@crossnet.co.jp> et al.");
MODULE_DESCRIPTION("MTD chip driver for AMD/Fujitsu flash chips");
MODULE_DESCRIPTION("MTD chip driver for AMD/Fujitsu flash chips");
Loading