lkml.org 
[lkml]   [2006]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] fs/jfs: fix error due to PF_* undeclared
Randy Dunlap wrote:
> On Fri, 08 Dec 2006 19:56:20 +0100 Richard Knutsson wrote:
>
>
>> CC [M] fs/jfs/jfs_txnmgr.o
>> In file included from fs/jfs/jfs_txnmgr.c:49:
>> include/linux/freezer.h: In function ‘frozen’:
>> include/linux/freezer.h:9: error: dereferencing pointer to incomplete type
>> include/linux/freezer.h:9: error: ‘PF_FROZEN’ undeclared (first use in this function)
>> <snip>
>> fs/jfs/jfs_txnmgr.c: In function ‘freezing’:
>> include/linux/freezer.h:18: warning: control reaches end of non-void function
>> make[2]: *** [fs/jfs/jfs_txnmgr.o] Error 1
>> make[1]: *** [fs/jfs] Error 2
>> make: *** [fs] Error 2
>>
>> Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
>>
>> ---
>>
>> Guess this is the desired fix, since including linux/sched.h in linux/freezer.h
>> make little sense.
>>
>
> Why do you say that? freezer.h is what uses those #defined values,
> and freezer.h is what uses struct task_struct fields as well,
> so it needs sched.h.
>
Oh, an error of thought when I read the patch
7dfb71030f7636a0d65200158113c37764552f93 made that statement. After more
checking, sched.h is apperarently included in suspend.h from swap.h so
the direct include of sched.h in most drivers was/is not nessecary.

Do you agree with the patch below then? This was how I first fixed it
but found it strange no-one hit it before, and from there it went on...
Thanks for the help. (Sign it?)
>> diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
>> index d558e51..2aee0a8 100644
>> --- a/fs/jfs/jfs_txnmgr.c
>> +++ b/fs/jfs/jfs_txnmgr.c
>> @@ -46,6 +46,7 @@ #include <linux/fs.h>
>> #include <linux/vmalloc.h>
>> #include <linux/smp_lock.h>
>> #include <linux/completion.h>
>> +#include <linux/sched.h>
>> #include <linux/freezer.h>
>> #include <linux/module.h>
>> #include <linux/moduleparam.h>
>>
>>
CC [M] fs/jfs/jfs_txnmgr.o
In file included from fs/jfs/jfs_txnmgr.c:49:
include/linux/freezer.h: In function ‘frozen’:
include/linux/freezer.h:9: error: dereferencing pointer to incomplete type
include/linux/freezer.h:9: error: ‘PF_FROZEN’ undeclared (first use in this function)
<snip>
fs/jfs/jfs_txnmgr.c: In function ‘freezing’:
include/linux/freezer.h:18: warning: control reaches end of non-void function
make[2]: *** [fs/jfs/jfs_txnmgr.o] Error 1
make[1]: *** [fs/jfs] Error 2
make: *** [fs] Error 2

Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>

---
Compile-tested only.


diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index 6e05e3e..f616c0c 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -1,3 +1,4 @@
+#include <linux/sched.h>
/* Freezer declarations */

#ifdef CONFIG_PM

-
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: 2006-12-08 22:29    [W:0.147 / U:1.232 seconds]
©2003-2014 Jasper Spaans. Advertise on this site