Hi,
I have written a simple char driver(mychar) for linux 2.6.22 kernel.
I have split my driver code into 2 C files.
- mychar.c (main file where __init is present)
- test1.c (some user defined function)
I am using Makefile for compilation.
My makefile looks like this -
------------------------------------------------------------
EXTRA_CFLAGS += -I. -ITEST
obj-m += mychar.o
mychar-objs += TEST/test1.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) M=$(PWD) clean
---------------------------------------------------------------
I am interested in building only mychar.ko and no the whole kernel.
I am doing my development on Ubuntu 7.10 with kernel version
2.6.22-14-generic
Although this Makefile works and I could able to generate "mychar.ko".
Also when I do "insmod mychar.ko" the module installs successfully, and
I could
see "mychar" in "lsmod" output.
I have added some printk in my module_init function but after doing
insmod I am not able to see any output in /var/log/messages
If I put everything in single C file(only mychar.c), I could able to see
all the output in /var/log/messages.
Please let me know what am I doing wrong while including the 2 C files
and how should the makefile be modified.
( I have referred Documentation/kbuild makefiles.txt for creating my
makefile)
Thanks, Regards
Pintu
SASKEN BUSINESS DISCLAIMER
-------------------------
This message may contain confidential, proprietary or legally privileged
information. In
case you are not the original intended Recipient of the message, you must not,
directly or
indirectly, use, Disclose, distribute, print, or copy any part of this message
and you are
requested to delete it and inform the sender. Any views expressed in this
message are
those of the individual sender unless otherwise stated. Nothing contained in
this message
shall be construed as an offer or acceptance of any offer by Sasken
Communication
Technologies Limited ("Sasken") unless sent with that express intent and with
due
authority of Sasken. Sasken has taken enough precautions to prevent the spread
of
viruses. However the company accepts no liability for any damage caused by any
virus
transmitted by this email