RE: module compiling in 2.6 kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Read:
http://lwn.net/Articles/driver-porting/


-----Original Message-----
From: kernelnewbies-bounce@nl.linux.org
[mailto:kernelnewbies-bounce@nl.linux.org] On Behalf Of Manu Anand
Sent: Thursday, November 27, 2003 12:25 AM
To: kernelnewbies@nl.linux.org
Subject: RE: module compiling in 2.6 kernel


I am also getting same errors on 2.6.0-test2
-Manu

> ----------
> From:
kernelnewbies-bounce@nl.linux.org[SMTP:kernelnewbies-bounce@nl.linux.org] on
behalf of Rob Wilkens[SMTP:robw@optonline.net]
> Sent: 	Thursday, November 27, 2003 7:34 AM
> To: 	kernelnewbies@nl.linux.org
> Subject: 	module compiling in 2.6 kernel
> 
> (Sorry if this topic has been beaten to death, I'm new to the list, in 
> adddition to being a kernel newbie in general).
> 
> I'm running 2.6.0-test9 kernel (yes, I know test11 is out).
> 
> I was intrigued by the post "major doubt" and had the book in question 
> (Linux Device Drivers) so I tried implementing the sample "Hello 
> World" module.
> 
> Please refer to that message for the source code.  (Posted Monday 
> 7:16am
> ET.)
> 
> I couldn't get it to compile on my 2.6.0-test9 kernel (I realize it's 
> 2.4 code), can someone tell me what's wrong or what I need to do to 
> make it work on 2.6.x?.
> 
> Here are my compile-time errors :
> 
> # gcc -c -I/usr/src/linux-2.4.6-test9/include hello.c
> 
> In file included from /usr/include/linux/jiffies.h:6,
>                  from /usr/include/linux/sched.h:12,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/spinlock.h: In function `bit_spin_lock':
> /usr/include/linux/spinlock.h:413: error: invalid type argument of 
> `->'
> /usr/include/linux/spinlock.h: In function `bit_spin_trylock':
> /usr/include/linux/spinlock.h:430: error: invalid type argument of `->'
> /usr/include/linux/spinlock.h:433: error: invalid type argument of `->'
> /usr/include/linux/spinlock.h:433: error: `TIF_NEED_RESCHED' undeclared
> (first u
> se in this function)
> /usr/include/linux/spinlock.h:433: error: (Each undeclared identifier is
> reporte
> d only once
> /usr/include/linux/spinlock.h:433: error: for each function it appears
> in.)
> /usr/include/linux/spinlock.h: In function `bit_spin_unlock':
> /usr/include/linux/spinlock.h:451: error: invalid type argument of `->'
> /usr/include/linux/spinlock.h:451: error: `TIF_NEED_RESCHED' undeclared
> (first u
> se in this function)
> In file included from /usr/include/linux/jiffies.h:7,
>                  from /usr/include/linux/sched.h:12,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/seqlock.h: In function `write_seqlock':
> /usr/include/linux/seqlock.h:52: error: invalid type argument of `->'
> /usr/include/linux/seqlock.h: In function `write_sequnlock':
> /usr/include/linux/seqlock.h:61: error: invalid type argument of `->'
> /usr/include/linux/seqlock.h:61: error: `TIF_NEED_RESCHED' undeclared
> (first use
>  in this function)
> /usr/include/linux/seqlock.h: In function `write_tryseqlock':
> /usr/include/linux/seqlock.h:66: error: invalid type argument of `->'
> /usr/include/linux/seqlock.h:66: error: invalid type argument of `->'
> /usr/include/linux/seqlock.h:66: error: `TIF_NEED_RESCHED' undeclared
> (first use
>  in this function)
> In file included from /usr/include/linux/sched.h:12,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/jiffies.h: At top level:
> /usr/include/linux/jiffies.h:16: error: parse error before "jiffies_64"
> /usr/include/linux/jiffies.h:20: error: parse error before
> "get_jiffies_64"
> In file included from /usr/include/linux/cpumask.h:8,
>                  from /usr/include/linux/sched.h:15,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/bitmap.h: In function `bitmap_empty':
> /usr/include/linux/bitmap.h:15: error: `BITS_PER_LONG' undeclared (first
> use in 
> this function)
> /usr/include/linux/bitmap.h: In function `bitmap_full':
> /usr/include/linux/bitmap.h:29: error: `BITS_PER_LONG' undeclared (first
> use in 
> this function)
> /usr/include/linux/bitmap.h: In function `bitmap_equal':> 
> /usr/include/linux/bitmap.h:44: error: `BITS_PER_LONG' undeclared (first
> use in 
> this function)
> /usr/include/linux/bitmap.h: In function `bitmap_shift_right':
> /usr/include/linux/bitmap.h:85: error: `__shr_tmp' undeclared (first use
> in this
>  function)
> /usr/include/linux/bitmap.h: In function `bitmap_shift_left':
> /usr/include/linux/bitmap.h:98: error: `__shl_tmp' undeclared (first use
> in this
>  function)
> /usr/include/linux/bitmap.h: In function `bitmap_weight':
> /usr/include/linux/bitmap.h:144: error: `BITS_PER_LONG' undeclared
> (first use in
>  this function)
> In file included from /usr/include/linux/sched.h:15,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/cpumask.h: At top level:
> /usr/include/linux/cpumask.h:15: error: variable-size type declared
> outside of a
> ny function
> In file included from /usr/include/linux/sched.h:15,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/cpumask.h: In function `next_online_cpu':
> /usr/include/linux/cpumask.h:56: error: structure has no member named
> `val'
> In file included from /usr/include/linux/sched.h:21,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/asm/mmu.h: At top level:
> /usr/include/asm/mmu.h:13: error: field `sem' has incomplete type
> In file included from /usr/include/asm/smp.h:16,
>                  from /usr/include/linux/smp.h:17,
>                  from /usr/include/linux/sched.h:23,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/asm/fixmap.h:72: error: `FIX_ACPI_PAGES' undeclared here
> (not in a 
> function)
> /usr/include/asm/fixmap.h:72: error: enumerator value for `FIX_ACPI_END'
> not int
> eger constant
> /usr/include/asm/fixmap.h:84: error: parse error before "pgprot_t"
> In file included from /usr/include/asm/smp.h:18,
>                  from /usr/include/linux/smp.h:17,
>                  from /usr/include/linux/sched.h:23,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/asm/mpspec.h:6:25: mach_mpspec.h: No such file or directory
> In file included from /usr/include/asm/smp.h:18,
>                  from /usr/include/linux/smp.h:17,
>                  from /usr/include/linux/sched.h:23,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/asm/mpspec.h:8: error: `MAX_MP_BUSSES' undeclared here (not
> in a fu
> nction)
> /usr/include/asm/mpspec.h:9: error: `MAX_MP_BUSSES' undeclared here (not
> in a fu
> nction)
> /usr/include/asm/mpspec.h:10: error: `MAX_MP_BUSSES' undeclared here
> (not in a f
> unction)
> /usr/include/asm/mpspec.h:12: error: `MAX_MP_BUSSES' undeclared here
> (not in a f
> unction)
> /usr/include/asm/mpspec.h:19: error: `MAX_APICS' undeclared here (not in
> a funct
> ion)
> /usr/include/asm/mpspec.h:20: error: `MAX_MP_BUSSES' undeclared here
> (not in a f
> unction)
> /usr/include/asm/mpspec.h:20: error: conflicting types for
> `mp_bus_id_to_type'
> /usr/include/asm/mpspec.h:8: error: previous declaration of
> `mp_bus_id_to_type'
> /usr/include/asm/mpspec.h:22: error: `MAX_IRQ_SOURCES' undeclared here
> (not in a
>  function)
> /usr/include/asm/mpspec.h:24: error: `MAX_MP_BUSSES' undeclared here
> (not in a function)
> /usr/include/asm/mpspec.h:24: error: conflicting types for
> `mp_bus_id_to_pci_bus
> '
> /usr/include/asm/mpspec.h:12: error: previous declaration of
> `mp_bus_id_to_pci_b
> us'
> /usr/include/asm/mpspec.h:35: error: parse error before "id"
> /usr/include/asm/mpspec.h:36: error: parse error before "address"
> /usr/include/asm/mpspec.h:37: error: parse error before "id"
> /usr/include/asm/mpspec.h:38: error: parse error before "bus_irq"
> /usr/include/asm/mpspec.h:54: error: `MAX_APICS' undeclared here (not in> 
> a funct
> ion)
> /usr/include/asm/mpspec.h:54: error: variable-size type declared outside
> of any 
> function
> In file included from /usr/include/asm/smp.h:20,
>                  from /usr/include/linux/smp.h:17,
>                  from /usr/include/linux/sched.h:23,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/asm/io_apic.h:26: error: parse error before "u32"
> /usr/include/asm/io_apic.h:28: error: parse error before "u32"
> /usr/include/asm/io_apic.h:34: error: parse error before '}' token
> /usr/include/asm/io_apic.h:37: error: parse error before "u32"
> /usr/include/asm/io_apic.h:39: error: parse error before "u32"
> /usr/include/asm/io_apic.h:45: error: parse error before '}' token
> /usr/include/asm/io_apic.h:48: error: parse error before "u32"
> /usr/include/asm/io_apic.h:50: error: parse error before "u32"
> /usr/include/asm/io_apic.h:54: error: parse error before '}' token
> /usr/include/asm/io_apic.h:57: error: parse error before "u32"
> /usr/include/asm/io_apic.h:59: error: parse error before "u32"
> /usr/include/asm/io_apic.h:62: error: parse error before '}' token
> /usr/include/asm/io_apic.h:120: error: `MAX_IRQ_SOURCES' undeclared here
> (not in
>  a function)
> /usr/include/asm/io_apic.h:120: error: conflicting types for `mp_irqs'
> /usr/include/asm/mpspec.h:22: error: previous declaration of `mp_irqs'
> In file included from /usr/include/linux/smp.h:17,
>                  from /usr/include/linux/sched.h:23,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/asm/smp.h:73:26: mach_apicdef.h: No such file or directory
> In file included from /usr/include/linux/sched.h:23,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/smp.h: In function `on_each_cpu':
> /usr/include/linux/smp.h:65: error: invalid type argument of `->'
> /usr/include/linux/smp.h:68: error: invalid type argument of `->'
> /usr/include/linux/smp.h:68: error: `TIF_NEED_RESCHED' undeclared (first
> use in 
> this function)
> In file included from /usr/include/linux/signal.h:4,
>                  from /usr/include/linux/sched.h:25,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/list.h:576:2: warning: #warning "don't include kernel
> headers
>  in userspace"
> In file included from /usr/include/asm/siginfo.h:4,
>                  from /usr/include/linux/signal.h:7,
>                  from /usr/include/linux/sched.h:25,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/asm-generic/siginfo.h: At top level:
> /usr/include/asm-generic/siginfo.h:53: error: size of array `_pad' is
> too large
> In file included from /usr/include/linux/sched.h:29,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/completion.h:15: error: parse error before
> "wait_queue_head_t
> "
> /usr/include/linux/completion.h: In function `init_completion':
> /usr/include/linux/completion.h:26: error: dereferencing pointer to
> incomplete t
> ype
> /usr/include/linux/completion.h:27: error: dereferencing pointer to
> incomplete t
> ype
> In file included from /usr/include/linux/sched.h:30,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/pid.h: At top level:
> /usr/include/linux/pid.h:18: error: field `task_list' has incomplete
> type
> /usr/include/linux/pid.h:19: error: field `hash_chain' has incomplete
> type
> /usr/include/linux/pid.h:24: error: field `pid_chain' has incomplete
> type
> In file included from /usr/include/linux/sched.h:102,
>                  from /usr/include/linux/module.h:10,
>                  from hello.c:2:
> /usr/include/linux/timer.h:11: error: field `entry' has incomplete type> 
> In file included from hello.c:2:
> /usr/include/linux/module.h:190: error: field `list' has incomplete type
> /usr/include/linux/module.h: In function `MOD_INC_USE_COUNT':
> /usr/include/linux/module.h:483: error: `KERN_WARNING' undeclared (first
> use in 
> this function)
> /usr/include/linux/module.h:483: error: parse error before string
> constant
> 
> .. And "that's it" ..
> 
> 
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
> 
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux