From: Vyacheslav Cherkashin Date: Mon, 1 Jul 2013 07:33:14 +0000 (+0400) Subject: [REFACTOR] add swap_driver_new module in build system X-Git-Tag: Tizen_SDK_2.3~430 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=64b9a67d2d233e6b7a328e5438f2446c4b89fbaa;p=kernel%2Fswap-modules.git [REFACTOR] add swap_driver_new module in build system --- diff --git a/driver_new/Kbuild b/driver_new/Kbuild index 26fa88c..b276966 100644 --- a/driver_new/Kbuild +++ b/driver_new/Kbuild @@ -1,5 +1,6 @@ -EXTRA_CFLAGS := +EXTRA_CFLAGS := $(extra_cflags) -obj-m := swap_driver.o - -swap_driver-y := swap_driver_module.o device_driver.o driver_to_buffer.o +obj-m := swap_driver_new.o +swap_driver_new-y := swap_driver_module.o \ + device_driver.o \ + driver_to_buffer.o diff --git a/driver_new/Makefile.am b/driver_new/Makefile.am new file mode 100644 index 0000000..9e178c7 --- /dev/null +++ b/driver_new/Makefile.am @@ -0,0 +1,24 @@ +board_opt = -DBOARD_@BOARD@ +target_kernel_src = @KERNEL@ +target_arch = @ARCH@ +module_dir = $(realpath $(top_srcdir)/src/modules/driver_new) +module_name = swap_driver_new +cross_compiler = $(subst gcc,,$(CC)) + +inlude_opt = -I$(realpath $(top_srcdir)/src/modules/) +extra_cflags = "$(inlude_opt) $(board_opt)" + +all-local: + $(MAKE) CROSS_COMPILE=$(cross_compiler) ARCH=$(target_arch) extra_cflags=$(extra_cflags) \ + $(AM_MAKEFLAGS) -C $(target_kernel_src) M=$(module_dir) modules + + echo "generate data for version patching <$(OBJDUMP)><$(READELF)>" + PATH=$(PATH) $(top_srcdir)/src/modules/driver/patchko.sh -g $(module_dir)/$(module_name).ko $(OBJDUMP) $(READELF) + +clean-local: + $(MAKE) CROSS_COMPILE=$(cross_compiler) ARCH=$(target_arch) $(AM_MAKEFLAGS) -C $(target_kernel_src) M=$(module_dir) clean + +install-exec-local: + install -m 644 $(module_dir)/$(module_name).ko $(prefix) + install -m 644 $(module_dir)/$(module_name).ko.addr $(prefix) + install -m 755 $(module_dir)/$(module_name).sh $(prefix) diff --git a/driver_new/device_driver.c b/driver_new/device_driver.c index 9f87d8c..ce0cda6 100644 --- a/driver_new/device_driver.c +++ b/driver_new/device_driver.c @@ -18,7 +18,7 @@ #include "driver_defs.h" #include "device_driver_to_driver_to_buffer.h" -#include "../ksyms/ksyms.h" +#include #define SWAP_DEVICE_NAME "swap_device" diff --git a/driver_new/swap_driver_new.sh b/driver_new/swap_driver_new.sh new file mode 100755 index 0000000..e08aa0b --- /dev/null +++ b/driver_new/swap_driver_new.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +MODULE_NAME=swap_driver_new + +# Check for running module in /proc/modules +RUNNING=`sed "/${MODULE_NAME}/ ! d" /proc/modules` + +if [ "${RUNNING}" = "" ]; then + ./bin/insmod.sh ${MODULE_NAME}.ko + if [ $? -ne 0 ]; then + echo "Error: unable to load ${MODULE_NAME} module!" + exit 1 + fi +else + echo "${MODULE_NAME} module is already running!" + exit 1 +fi