lkml.org 
[lkml]   [2004]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: usbcore.ko linkage problem on x86_64
Date
> There seems to be a linkage problem with the usbcore.ko module in the
> 2.6.6-rc2-mm2 and 2.6.6-rc3-mm1 kernels. Namely, I get this message:
>
> if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.6-rc3-mm1;
> fi WARNING: /lib/modules/2.6.6-rc3-mm1/kernel/drivers/usb/core/usbcore.ko
> needs unknown symbol destroy_all_async
>
> after "make modules_install". AFAICS, it does not occur for the 2.6.6-rc2
> kernel.

Hi RJW, does this help? (I also got rid of the unused ld2 while I
was there).

All the best,

Duncan.

devio.c | 35 +++++------------------------------
1 files changed, 5 insertions(+), 30 deletions(-)


diff -Nru a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
--- a/drivers/usb/core/devio.c Fri Apr 30 23:36:25 2004
+++ b/drivers/usb/core/devio.c Fri Apr 30 23:36:25 2004
@@ -165,31 +165,6 @@
return ret;
}

-extern inline unsigned int ld2(unsigned int x)
-{
- unsigned int r = 0;
-
- if (x >= 0x10000) {
- x >>= 16;
- r += 16;
- }
- if (x >= 0x100) {
- x >>= 8;
- r += 8;
- }
- if (x >= 0x10) {
- x >>= 4;
- r += 4;
- }
- if (x >= 4) {
- x >>= 2;
- r += 2;
- }
- if (x >= 2)
- r++;
- return r;
-}
-
/*
* async list handling
*/
@@ -219,7 +194,7 @@
kfree(as);
}

-extern __inline__ void async_newpending(struct async *as)
+static inline void async_newpending(struct async *as)
{
struct dev_state *ps = as->ps;
unsigned long flags;
@@ -229,7 +204,7 @@
spin_unlock_irqrestore(&ps->lock, flags);
}

-extern __inline__ void async_removepending(struct async *as)
+static inline void async_removepending(struct async *as)
{
struct dev_state *ps = as->ps;
unsigned long flags;
@@ -239,7 +214,7 @@
spin_unlock_irqrestore(&ps->lock, flags);
}

-extern __inline__ struct async *async_getcompleted(struct dev_state *ps)
+static inline struct async *async_getcompleted(struct dev_state *ps)
{
unsigned long flags;
struct async *as = NULL;
@@ -253,7 +228,7 @@
return as;
}

-extern __inline__ struct async *async_getpending(struct dev_state *ps, void __user *userurb)
+static inline struct async *async_getpending(struct dev_state *ps, void __user *userurb)
{
unsigned long flags;
struct async *as;
@@ -321,7 +296,7 @@
destroy_async(ps, &hitlist);
}

-extern __inline__ void destroy_all_async(struct dev_state *ps)
+static inline void destroy_all_async(struct dev_state *ps)
{
destroy_async(ps, &ps->async_pending);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.038 / U:1.836 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site