[patch] Re: how to link to hrtimers in the kernel

Randy.Dunlap
2008-10-06T16:33:29Z

On Mon, 6 Oct 2008, George Nychis wrote:

> Hi all,
>
> I have modified drivers/usb/core/devio.c to use hrtimer_nanosleep(), and have
> included linux/hrtimer.h with it.
>
> But now I am having trouble linking, I get:
> ERROR: "hrtimer_nanosleep" [drivers/usb/core/usbcore.ko] undefined!
>
> How do I properly link to the hrtimer library?

Hi,
That function needs to be exported in its source file.
Patch below should fix it for you.

From: Randy Dunlap <randy.dunlap@oracle.com>

Export hrtimer_nanosleep() for module use.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
kernel/hrtimer.c | 1 +
1 file changed, 1 insertion(+)

--- linux-2.6.27-rc8-git5.orig/kernel/hrtimer.c
+++ linux-2.6.27-rc8-git5/kernel/hrtimer.c
@@ -1559,6 +1559,7 @@ out:
destroy_hrtimer_on_stack(&t.timer);
return ret;
}
+EXPORT_SYMBOL_GPL(hrtimer_nanosleep);

asmlinkage long
sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp)