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.027 / U:0.364 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site