Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 27807
b: refs/heads/master
c: ecde263
h: refs/heads/master
i:
  27805: f1f33cb
  27803: 3e1abe6
  27799: 9a01752
  27791: 78cf99b
  27775: c068fc7
v: v3
  • Loading branch information
David Woodhouse committed May 21, 2006
1 parent 2c6382c commit c61e714
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 43 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3d12c0c75db0cd85beb11c4e2d86a49cabe3cfff
refs/heads/master: ecde26313076e5055dcd54d6537632275346203f
47 changes: 5 additions & 42 deletions trunk/drivers/mtd/devices/docprobe.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,26 +231,9 @@ static inline int __init doccheck(void __iomem *potential, unsigned long physadr

static int docfound;

#ifdef CONFIG_MTD_DOC2000
extern void DoC2k_init(struct mtd_info *);
#define doc2k_initfunc (&DoC2k_init)
#else
#define doc2k_initfunc NULL
#endif

#ifdef CONFIG_MTD_DOC2001
extern void DoCMil_init(struct mtd_info *);
#define docmil_initfunc (&DoCMil_init)
#else
#define docmil_initfunc NULL
#endif

#ifdef CONFIG_MTD_DOC2001PLUS
extern void DoCMilPlus_init(struct mtd_info *);
#define docmplus_initfunc (&DoCMilPlus_init)
#else
#define docmplus_initfunc NULL
#endif

static void __init DoC_Probe(unsigned long physadr)
{
Expand All @@ -260,8 +243,6 @@ static void __init DoC_Probe(unsigned long physadr)
int ChipID;
char namebuf[15];
char *name = namebuf;
char *im_funcname = NULL;
char *im_modname = NULL;
void (*initroutine)(struct mtd_info *) = NULL;

docptr = ioremap(physadr, DOC_IOREMAP_LEN);
Expand Down Expand Up @@ -299,48 +280,30 @@ static void __init DoC_Probe(unsigned long physadr)
switch(ChipID) {
case DOC_ChipID_Doc2kTSOP:
name="2000 TSOP";
im_funcname = "DoC2k_init";
im_modname = "doc2000";
initroutine = doc2k_initfunc;
initroutine = symbol_request(DoC2k_init);
break;

case DOC_ChipID_Doc2k:
name="2000";
im_funcname = "DoC2k_init";
im_modname = "doc2000";
initroutine = doc2k_initfunc;
initroutine = symbol_request(DoC2k_init);
break;

case DOC_ChipID_DocMil:
name="Millennium";
#ifdef DOC_SINGLE_DRIVER
im_funcname = "DoC2k_init";
im_modname = "doc2000";
initroutine = doc2k_initfunc;
initroutine = symbol_request(DoC2k_init);
#else
im_funcname = "DoCMil_init";
im_modname = "doc2001";
initroutine = docmil_initfunc;
initroutine = symbol_request(DoCMil_init);
#endif /* DOC_SINGLE_DRIVER */
break;

case DOC_ChipID_DocMilPlus16:
case DOC_ChipID_DocMilPlus32:
name="MillenniumPlus";
im_funcname = "DoCMilPlus_init";
im_modname = "doc2001plus";
initroutine = docmplus_initfunc;
initroutine = symbol_request(DoCMilPlus_init);
break;
}

#ifdef CONFIG_MODULES
if (im_funcname && !initroutine)
initroutine = __symbol_get(im_funcname);
if (im_funcname && !initroutine) {
request_module(im_modname);
initroutine = __symbol_get(im_funcname);
}
#endif
if (initroutine) {
(*initroutine)(mtd);
symbol_put_addr(initroutine);
Expand Down

0 comments on commit c61e714

Please sign in to comment.