diff --git a/Makefile b/Makefile index ac643f7..4e7c189 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,15 @@ -# -# Makefile for the fpgafs virtual filesystem -# -obj-$(CONFIG_FPGA_FS) += fpgafs.o +KERNEL_RELEASE = $(shell uname -r) +KERNEL_BUILDROOT ?= /lib/modules/$(KERNEL_RELEASE)/build +BUILDROOT = $(shell pwd) -fpgafs-objs := inode.o files.o +obj-m := fpgafs.o +fpgafs-objs := files.o inode.o + +all : + $(MAKE) -C $(KERNEL_BUILDROOT) SUBDIRS=$(BUILDROOT) modules + +clean: + rm -f *.ko *.o .*.cmd .*.o.flags *.mod.c Module.symvers + rm -rf .tmp_versions + +.PHONY : all clean diff --git a/Makefile.kernel b/Makefile.kernel new file mode 100644 index 0000000..ac643f7 --- /dev/null +++ b/Makefile.kernel @@ -0,0 +1,6 @@ +# +# Makefile for the fpgafs virtual filesystem +# +obj-$(CONFIG_FPGA_FS) += fpgafs.o + +fpgafs-objs := inode.o files.o diff --git a/files.c b/files.c index 1a34109..6c17094 100644 --- a/files.c +++ b/files.c @@ -1,3 +1,6 @@ +/********************************************* + * Benjamin Krill + *********************************************/ #include #include #include diff --git a/inode.c b/inode.c index 3e35049..74ad1cd 100644 --- a/inode.c +++ b/inode.c @@ -1,3 +1,6 @@ +/********************************************* + * Benjamin Krill + *********************************************/ #include #include #include @@ -30,13 +33,13 @@ const struct file_operations fpgafs_context_foperations = { }; const struct inode_operations fpgafs_simple_dir_inode_operations = { - .lookup = simple_lookup, + .lookup = simple_lookup }; const struct inode_operations fpgafs_dir_inode_operations = { .lookup = simple_lookup, .mkdir = fpgafs_mkdir, - .rmdir = fpgafs_rmdir, + .rmdir = fpgafs_rmdir }; static struct kmem_cache *fpgafs_inode_cache; @@ -151,7 +154,7 @@ int fpgafs_mkdir( struct inode *dir, struct dentry *dentry, int mode) { int ret; struct inode *inode; - struct fpga_context *ctx; + struct fpga_context *ctx = NULL; ret = -ENOSPC; inode = fpgafs_new_inode(dir->i_sb, mode | S_IFDIR); @@ -215,7 +218,7 @@ static void fpgafs_prune_dir(struct dentry *dir) static int fpgafs_rmdir(struct inode *dir, struct dentry *dentry) { /* remove all entries */ - // fpgafs_prune_dir(dir); + fpgafs_prune_dir(dentry); //fpgafs_remove_inode return simple_rmdir(dir, dentry);