From 64cfbae38feb681880f1a572219c5ae4aed0e524 Mon Sep 17 00:00:00 2001 From: Tom Knot Date: Fri, 23 Feb 2018 16:42:13 +0100 Subject: [PATCH] Updated Makefile --- .cproject | 1 + Makefile | 28 + device_tree/#Makefile# | 16 - device_tree/neuron-spi-new.dts~ | 77 -- .../95-unipi-plc-devices.rules | 0 Module.symvers.txt => misc/Module.symvers.txt | 0 .../Module7.symvers.txt | 0 link_sysfs.sh => misc/link_sysfs.sh | 0 modules/neuron_spi/.neuronspi.o.cmd | 957 ------------------ modules/neuron_spi/Makefile | 63 +- .../neuron_spi/{neuronspi.ko => bin/unipi.ko} | Bin 96790 -> 97126 bytes modules/neuron_spi/neuronspi.o | Bin 88652 -> 0 bytes modules/neuron_spi/src/unipi_gpio.c | 15 + modules/neuron_spi/src/unipi_gpio.h | 20 + modules/neuron_spi/src/unipi_iio.c | 13 + modules/neuron_spi/src/unipi_iio.h | 22 + modules/neuron_spi/src/unipi_platform.c | 8 + modules/neuron_spi/src/unipi_platform.h | 13 + .../{neuronspi.c => src/unipi_spi.c} | 212 ++-- .../{neuronspi.h => src/unipi_spi.h} | 0 .../{neuronspi.o.rc => src/unipi_spi.o.rc} | Bin 92268 -> 92272 bytes modules/neuron_spi/src/unipi_sysfs.c | 13 + modules/neuron_spi/src/unipi_sysfs.h | 22 + modules/neuron_spi/src/unipi_uart.c | 13 + modules/neuron_spi/src/unipi_uart.h | 22 + modules/test_module/.neuronspi.ko.cmd | 1 - modules/test_module/.neuronspi.mod.o.cmd | 453 --------- modules/test_module/.neuronspi.o.cmd | 944 ----------------- modules/test_module/.test_module.ko.cmd | 1 - modules/test_module/.test_module.mod.o.cmd | 453 --------- modules/test_module/.test_module.o.cmd | 451 --------- .../test_module/.tmp_versions/test_module.mod | 3 - modules/test_module/Makefile | 8 - modules/test_module/Module.symvers | 0 modules/test_module/modules.order | 1 - modules/test_module/test_module.c | 28 - modules/test_module/test_module.ko | Bin 3581 -> 0 bytes modules/test_module/test_module.mod.c | 32 - modules/test_module/test_module.mod.o | Bin 2252 -> 0 bytes modules/test_module/test_module.o | Bin 2764 -> 0 bytes 40 files changed, 353 insertions(+), 3537 deletions(-) create mode 100644 Makefile delete mode 100644 device_tree/#Makefile# delete mode 100644 device_tree/neuron-spi-new.dts~ rename 95-unipi-plc-devices.rules => misc/95-unipi-plc-devices.rules (100%) rename Module.symvers.txt => misc/Module.symvers.txt (100%) rename Module7.symvers.txt => misc/Module7.symvers.txt (100%) rename link_sysfs.sh => misc/link_sysfs.sh (100%) delete mode 100644 modules/neuron_spi/.neuronspi.o.cmd rename modules/neuron_spi/{neuronspi.ko => bin/unipi.ko} (64%) delete mode 100644 modules/neuron_spi/neuronspi.o create mode 100644 modules/neuron_spi/src/unipi_gpio.c create mode 100644 modules/neuron_spi/src/unipi_gpio.h create mode 100644 modules/neuron_spi/src/unipi_iio.c create mode 100644 modules/neuron_spi/src/unipi_iio.h create mode 100644 modules/neuron_spi/src/unipi_platform.c create mode 100644 modules/neuron_spi/src/unipi_platform.h rename modules/neuron_spi/{neuronspi.c => src/unipi_spi.c} (96%) rename modules/neuron_spi/{neuronspi.h => src/unipi_spi.h} (100%) rename modules/neuron_spi/{neuronspi.o.rc => src/unipi_spi.o.rc} (96%) create mode 100644 modules/neuron_spi/src/unipi_sysfs.c create mode 100644 modules/neuron_spi/src/unipi_sysfs.h create mode 100644 modules/neuron_spi/src/unipi_uart.c create mode 100644 modules/neuron_spi/src/unipi_uart.h delete mode 100644 modules/test_module/.neuronspi.ko.cmd delete mode 100644 modules/test_module/.neuronspi.mod.o.cmd delete mode 100644 modules/test_module/.neuronspi.o.cmd delete mode 100644 modules/test_module/.test_module.ko.cmd delete mode 100644 modules/test_module/.test_module.mod.o.cmd delete mode 100644 modules/test_module/.test_module.o.cmd delete mode 100644 modules/test_module/.tmp_versions/test_module.mod delete mode 100644 modules/test_module/Makefile delete mode 100644 modules/test_module/Module.symvers delete mode 100644 modules/test_module/modules.order delete mode 100644 modules/test_module/test_module.c delete mode 100644 modules/test_module/test_module.ko delete mode 100644 modules/test_module/test_module.mod.c delete mode 100644 modules/test_module/test_module.mod.o delete mode 100644 modules/test_module/test_module.o diff --git a/.cproject b/.cproject index 46bd31c..94be4a6 100644 --- a/.cproject +++ b/.cproject @@ -158,4 +158,5 @@ + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b8a3bb9 --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +# Note: Compiling kernel modules requires creating symlinks, which is not possible on certain +# filesystems (notably VirtualBox vmfs); therefore we allow using /run/ through the 'symlink' target, +# if necessary. + +MODULES_DIR_PATH = ${PWD}/modules/ +MODULES_LIST = neuron_spi/ +TRANSFER_MODULE = neuron_spi/ + +.PHONY: default +default: symlink ; + +all: + for m in ${MODULES_LIST}; do\ + cd ${MODULES_DIR_PATH}$$m; make all;\ + done + +clean: + for m in ${MODULES_LIST}; do\ + cd ${MODULES_DIR_PATH}$$m; make clean;\ + done + +transfer: + cd ${MODULES_DIR_PATH}${TRANSFER_MODULE}; make transfer; + +symlink: + for m in ${MODULES_LIST}; do\ + cd ${MODULES_DIR_PATH}$$m; make symlink;\ + done diff --git a/device_tree/#Makefile# b/device_tree/#Makefile# deleted file mode 100644 index 7045aff..0000000 --- a/device_tree/#Makefile# +++ /dev/null @@ -1,16 +0,0 @@ - -CC = dtc -O dtb - -.PHONY = clean -.PHONY += all - -%.dtbo: %.dts - $(CC) -o $@ $< - -install: clean neuron-spi-new.dtbo - $(shell mount -o remount,rw /boot) \ - $(shell cp neuron-spi-new.dtbo /boot/overlays) - -clean: - $(shell rm -r -f neuron-spi-new.dtbo) - diff --git a/device_tree/neuron-spi-new.dts~ b/device_tree/neuron-spi-new.dts~ deleted file mode 100644 index a0fbc0e..0000000 --- a/device_tree/neuron-spi-new.dts~ +++ /dev/null @@ -1,77 +0,0 @@ -/dts-v1/; -/plugin/; - -/ { - compatible = "brcm,bcm2835", "brcm,bcm2836", "brcm,bcm2708", -"brcm,bcm2709"; - - fragment@0 { - target = <&spi0>; - frag0: __overlay__ { - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - pinctrl-0 = <&spi0_pins &spi0_cs_pins>; - cs-gpios = <&gpio 8 1>, <&gpio 7 1>, <&gpio 25 1>, <&gpio 24 1>; - neuronspi0: neuronspi@0 { - compatible = "unipi,neuron"; - reg = <1>; - #address-cells = <1>; - #size-cells = <0>; - spi-max-frequency = <12000000>; - status = "okay"; - }; - neuronspi1: neuronspi@1 { - compatible = "unipi,neuron"; - reg = <2>; - #address-cells = <1>; - #size-cells = <0>; - spi-max-frequency = <1200000>; - status = "okay"; - }; - neuronspi2: neuronspi@2 { - compatible = "unipi,neuron"; - reg = <3>; - #address-cells = <1>; - #size-cells = <0>; - spi-max-frequency = <1200000>; - status = "okay"; - }; - }; - }; - - fragment@1 { - target = <&spidev0>; - __overlay__ { - status = "disabled"; - }; - }; - - fragment@2 { - target = <&spidev1>; - __overlay__ { - status = "disabled"; - }; - }; - - fragment@3 { - target = <&gpio>; - __overlay__ { - spi0_cs_pins { - brcm,pins = <8 7 25 24>; - brcm,function = <1>; - }; - }; - - }; - - __overrides__ { - cs0_pin = <&frag0>,"cs-gpios:4", <&spi0_cs_pins>, "brcm,pins:0"; - cs1_pin = <&frag0>,"cs-gpios:16", <&spi0_cs_pins>,"brcm,pins:4"; - cs2_pin = <&frag0>,"cs-gpios:28", <&spi0_cs_pins>,"brcm,pins:8"; - cs3_pin = <&frag0>,"cs-gpios:40", <&spi0_cs_pins>,"brcm,pins:12"; - }; - - -}; - diff --git a/95-unipi-plc-devices.rules b/misc/95-unipi-plc-devices.rules similarity index 100% rename from 95-unipi-plc-devices.rules rename to misc/95-unipi-plc-devices.rules diff --git a/Module.symvers.txt b/misc/Module.symvers.txt similarity index 100% rename from Module.symvers.txt rename to misc/Module.symvers.txt diff --git a/Module7.symvers.txt b/misc/Module7.symvers.txt similarity index 100% rename from Module7.symvers.txt rename to misc/Module7.symvers.txt diff --git a/link_sysfs.sh b/misc/link_sysfs.sh similarity index 100% rename from link_sysfs.sh rename to misc/link_sysfs.sh diff --git a/modules/neuron_spi/.neuronspi.o.cmd b/modules/neuron_spi/.neuronspi.o.cmd deleted file mode 100644 index 36a7993..0000000 --- a/modules/neuron_spi/.neuronspi.o.cmd +++ /dev/null @@ -1,957 +0,0 @@ -cmd_/media/sf_neuron_kernel/modules/neuron_spi/neuronspi.o := /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc -Wp,-MD,/media/sf_neuron_kernel/modules/neuron_spi/.neuronspi.o.d -nostdinc -isystem /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include -I./arch/arm/include -I./arch/arm/include/generated/uapi -I./arch/arm/include/generated -I./include -I./arch/arm/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -DMODULE -DKBUILD_BASENAME='"neuronspi"' -DKBUILD_MODNAME='"neuronspi"' -c -o /media/sf_neuron_kernel/modules/neuron_spi/.tmp_neuronspi.o /media/sf_neuron_kernel/modules/neuron_spi/neuronspi.c - -source_/media/sf_neuron_kernel/modules/neuron_spi/neuronspi.o := /media/sf_neuron_kernel/modules/neuron_spi/neuronspi.c - -deps_/media/sf_neuron_kernel/modules/neuron_spi/neuronspi.o := \ - $(wildcard include/config/type.h) \ - $(wildcard include/config/gpiolib.h) \ - /media/sf_neuron_kernel/modules/neuron_spi/neuronspi.h \ - include/linux/bitops.h \ - arch/arm/include/asm/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/arm/include/generated/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - $(wildcard include/config/64bit.h) \ - include/uapi/asm-generic/bitsperlong.h \ - arch/arm/include/asm/bitops.h \ - $(wildcard include/config/smp.h) \ - include/linux/compiler.h \ - $(wildcard include/config/sparse/rcu/pointer.h) \ - $(wildcard include/config/trace/branch/profiling.h) \ - $(wildcard include/config/profile/all/branches.h) \ - $(wildcard include/config/kasan.h) \ - $(wildcard include/config/enable/must/check.h) \ - $(wildcard include/config/enable/warn/deprecated.h) \ - $(wildcard include/config/kprobes.h) \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/arch/supports/optimized/inlining.h) \ - $(wildcard include/config/optimize/inlining.h) \ - $(wildcard include/config/gcov/kernel.h) \ - $(wildcard include/config/arch/use/builtin/bswap.h) \ - include/uapi/linux/types.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - arch/arm/include/uapi/asm/posix_types.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/irqflags.h \ - $(wildcard include/config/trace/irqflags.h) \ - $(wildcard include/config/irqsoff/tracer.h) \ - $(wildcard include/config/preempt/tracer.h) \ - $(wildcard include/config/trace/irqflags/support.h) \ - include/linux/typecheck.h \ - arch/arm/include/asm/irqflags.h \ - $(wildcard include/config/cpu/v7m.h) \ - arch/arm/include/asm/ptrace.h \ - $(wildcard include/config/arm/thumb.h) \ - $(wildcard include/config/thumb2/kernel.h) \ - arch/arm/include/uapi/asm/ptrace.h \ - $(wildcard include/config/cpu/endian/be8.h) \ - arch/arm/include/asm/hwcap.h \ - arch/arm/include/uapi/asm/hwcap.h \ - include/linux/types.h \ - $(wildcard include/config/have/uid16.h) \ - $(wildcard include/config/uid16.h) \ - $(wildcard include/config/lbdaf.h) \ - $(wildcard include/config/arch/dma/addr/t/64bit.h) \ - $(wildcard include/config/phys/addr/t/64bit.h) \ - include/asm-generic/irqflags.h \ - arch/arm/include/asm/barrier.h \ - $(wildcard include/config/cpu/32v6k.h) \ - $(wildcard include/config/cpu/xsc3.h) \ - $(wildcard include/config/cpu/fa526.h) \ - $(wildcard include/config/arm/heavy/mb.h) \ - $(wildcard include/config/arm/dma/mem/bufferable.h) \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/non-atomic.h \ - include/asm-generic/bitops/fls64.h \ - include/asm-generic/bitops/sched.h \ - include/asm-generic/bitops/hweight.h \ - include/asm-generic/bitops/arch_hweight.h \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/lock.h \ - include/asm-generic/bitops/le.h \ - arch/arm/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/arm/include/asm/swab.h \ - arch/arm/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/clk.h \ - $(wildcard include/config/common/clk.h) \ - $(wildcard include/config/have/clk/prepare.h) \ - $(wildcard include/config/have/clk.h) \ - $(wildcard include/config/of.h) \ - include/linux/err.h \ - arch/arm/include/generated/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - include/linux/kernel.h \ - $(wildcard include/config/preempt/voluntary.h) \ - $(wildcard include/config/debug/atomic/sleep.h) \ - $(wildcard include/config/mmu.h) \ - $(wildcard include/config/prove/locking.h) \ - $(wildcard include/config/panic/timeout.h) \ - $(wildcard include/config/tracing.h) \ - $(wildcard include/config/ftrace/mcount/record.h) \ - /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include/stdarg.h \ - include/linux/linkage.h \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/have/underscore/symbol/prefix.h) \ - $(wildcard include/config/modules.h) \ - $(wildcard include/config/modversions.h) \ - $(wildcard include/config/trim/unused/ksyms.h) \ - $(wildcard include/config/unused/symbols.h) \ - arch/arm/include/asm/linkage.h \ - include/linux/log2.h \ - $(wildcard include/config/arch/has/ilog2/u32.h) \ - $(wildcard include/config/arch/has/ilog2/u64.h) \ - include/linux/printk.h \ - $(wildcard include/config/message/loglevel/default.h) \ - $(wildcard include/config/early/printk.h) \ - $(wildcard include/config/printk/nmi.h) \ - $(wildcard include/config/printk.h) \ - $(wildcard include/config/dynamic/debug.h) \ - include/linux/init.h \ - $(wildcard include/config/debug/rodata.h) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/arch/has/cache/line/size.h) \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/arm/include/asm/cache.h \ - $(wildcard include/config/arm/l1/cache/shift.h) \ - $(wildcard include/config/aeabi.h) \ - arch/arm/include/asm/div64.h \ - arch/arm/include/asm/compiler.h \ - include/asm-generic/div64.h \ - include/linux/notifier.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - include/linux/mutex.h \ - $(wildcard include/config/debug/mutexes.h) \ - $(wildcard include/config/mutex/spin/on/owner.h) \ - $(wildcard include/config/debug/lock/alloc.h) \ - arch/arm/include/generated/asm/current.h \ - include/asm-generic/current.h \ - include/linux/thread_info.h \ - $(wildcard include/config/thread/info/in/task.h) \ - $(wildcard include/config/compat.h) \ - $(wildcard include/config/debug/stack/usage.h) \ - $(wildcard include/config/have/arch/within/stack/frames.h) \ - $(wildcard include/config/hardened/usercopy.h) \ - include/linux/bug.h \ - $(wildcard include/config/generic/bug.h) \ - arch/arm/include/asm/bug.h \ - $(wildcard include/config/debug/bugverbose.h) \ - $(wildcard include/config/arm/lpae.h) \ - arch/arm/include/asm/opcodes.h \ - $(wildcard include/config/cpu/endian/be32.h) \ - include/asm-generic/bug.h \ - $(wildcard include/config/bug.h) \ - $(wildcard include/config/generic/bug/relative/pointers.h) \ - arch/arm/include/asm/thread_info.h \ - $(wildcard include/config/crunch.h) \ - $(wildcard include/config/arm/thumbee.h) \ - arch/arm/include/asm/fpstate.h \ - $(wildcard include/config/vfpv3.h) \ - $(wildcard include/config/iwmmxt.h) \ - arch/arm/include/asm/page.h \ - $(wildcard include/config/cpu/copy/v4wt.h) \ - $(wildcard include/config/cpu/copy/v4wb.h) \ - $(wildcard include/config/cpu/copy/feroceon.h) \ - $(wildcard include/config/cpu/copy/fa.h) \ - $(wildcard include/config/cpu/sa1100.h) \ - $(wildcard include/config/cpu/xscale.h) \ - $(wildcard include/config/cpu/copy/v6.h) \ - $(wildcard include/config/kuser/helpers.h) \ - $(wildcard include/config/have/arch/pfn/valid.h) \ - arch/arm/include/asm/glue.h \ - arch/arm/include/asm/pgtable-2level-types.h \ - arch/arm/include/asm/memory.h \ - $(wildcard include/config/need/mach/memory/h.h) \ - $(wildcard include/config/page/offset.h) \ - $(wildcard include/config/highmem.h) \ - $(wildcard include/config/dram/base.h) \ - $(wildcard include/config/dram/size.h) \ - $(wildcard include/config/have/tcm.h) \ - $(wildcard include/config/arm/patch/phys/virt.h) \ - $(wildcard include/config/phys/offset.h) \ - $(wildcard include/config/xip/kernel.h) \ - $(wildcard include/config/xip/phys/addr.h) \ - include/uapi/linux/const.h \ - include/linux/sizes.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/flatmem.h) \ - $(wildcard include/config/discontigmem.h) \ - $(wildcard include/config/sparsemem/vmemmap.h) \ - $(wildcard include/config/sparsemem.h) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - include/linux/list.h \ - $(wildcard include/config/debug/list.h) \ - include/linux/poison.h \ - $(wildcard include/config/illegal/pointer/value.h) \ - $(wildcard include/config/page/poisoning/zero.h) \ - include/linux/spinlock_types.h \ - $(wildcard include/config/generic/lockbreak.h) \ - $(wildcard include/config/debug/spinlock.h) \ - arch/arm/include/asm/spinlock_types.h \ - include/linux/lockdep.h \ - $(wildcard include/config/lockdep.h) \ - $(wildcard include/config/lock/stat.h) \ - include/linux/rwlock_types.h \ - include/linux/atomic.h \ - $(wildcard include/config/generic/atomic64.h) \ - arch/arm/include/asm/atomic.h \ - include/linux/prefetch.h \ - arch/arm/include/asm/processor.h \ - $(wildcard include/config/have/hw/breakpoint.h) \ - $(wildcard include/config/arm/errata/754327.h) \ - arch/arm/include/asm/hw_breakpoint.h \ - arch/arm/include/asm/unified.h \ - $(wildcard include/config/arm/asm/unified.h) \ - arch/arm/include/asm/cmpxchg.h \ - $(wildcard include/config/cpu/sa110.h) \ - $(wildcard include/config/cpu/v6.h) \ - include/asm-generic/cmpxchg-local.h \ - include/asm-generic/atomic-long.h \ - include/linux/osq_lock.h \ - include/linux/rwsem.h \ - $(wildcard include/config/rwsem/spin/on/owner.h) \ - $(wildcard include/config/rwsem/generic/spinlock.h) \ - include/linux/spinlock.h \ - $(wildcard include/config/preempt.h) \ - include/linux/preempt.h \ - $(wildcard include/config/preempt/count.h) \ - $(wildcard include/config/debug/preempt.h) \ - $(wildcard include/config/preempt/notifiers.h) \ - arch/arm/include/generated/asm/preempt.h \ - include/asm-generic/preempt.h \ - include/linux/bottom_half.h \ - arch/arm/include/asm/spinlock.h \ - include/linux/rwlock.h \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/inline/spin/lock.h) \ - $(wildcard include/config/inline/spin/lock/bh.h) \ - $(wildcard include/config/inline/spin/lock/irq.h) \ - $(wildcard include/config/inline/spin/lock/irqsave.h) \ - $(wildcard include/config/inline/spin/trylock.h) \ - $(wildcard include/config/inline/spin/trylock/bh.h) \ - $(wildcard include/config/uninline/spin/unlock.h) \ - $(wildcard include/config/inline/spin/unlock/bh.h) \ - $(wildcard include/config/inline/spin/unlock/irq.h) \ - $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/inline/read/lock.h) \ - $(wildcard include/config/inline/write/lock.h) \ - $(wildcard include/config/inline/read/lock/bh.h) \ - $(wildcard include/config/inline/write/lock/bh.h) \ - $(wildcard include/config/inline/read/lock/irq.h) \ - $(wildcard include/config/inline/write/lock/irq.h) \ - $(wildcard include/config/inline/read/lock/irqsave.h) \ - $(wildcard include/config/inline/write/lock/irqsave.h) \ - $(wildcard include/config/inline/read/trylock.h) \ - $(wildcard include/config/inline/write/trylock.h) \ - $(wildcard include/config/inline/read/unlock.h) \ - $(wildcard include/config/inline/write/unlock.h) \ - $(wildcard include/config/inline/read/unlock/bh.h) \ - $(wildcard include/config/inline/write/unlock/bh.h) \ - $(wildcard include/config/inline/read/unlock/irq.h) \ - $(wildcard include/config/inline/write/unlock/irq.h) \ - $(wildcard include/config/inline/read/unlock/irqrestore.h) \ - $(wildcard include/config/inline/write/unlock/irqrestore.h) \ - arch/arm/include/generated/asm/rwsem.h \ - include/asm-generic/rwsem.h \ - include/linux/srcu.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/tiny/rcu.h) \ - $(wildcard include/config/tree/rcu.h) \ - $(wildcard include/config/preempt/rcu.h) \ - $(wildcard include/config/rcu/trace.h) \ - $(wildcard include/config/rcu/stall/common.h) \ - $(wildcard include/config/no/hz/full.h) \ - $(wildcard include/config/rcu/nocb/cpu.h) \ - $(wildcard include/config/tasks/rcu.h) \ - $(wildcard include/config/debug/objects/rcu/head.h) \ - $(wildcard include/config/hotplug/cpu.h) \ - $(wildcard include/config/prove/rcu.h) \ - $(wildcard include/config/rcu/boost.h) \ - $(wildcard include/config/rcu/nocb/cpu/all.h) \ - $(wildcard include/config/no/hz/full/sysidle.h) \ - include/linux/threads.h \ - $(wildcard include/config/nr/cpus.h) \ - $(wildcard include/config/base/small.h) \ - include/linux/cpumask.h \ - $(wildcard include/config/cpumask/offstack.h) \ - $(wildcard include/config/debug/per/cpu/maps.h) \ - include/linux/bitmap.h \ - $(wildcard include/config/s390.h) \ - include/linux/string.h \ - $(wildcard include/config/binary/printf.h) \ - include/uapi/linux/string.h \ - arch/arm/include/asm/string.h \ - $(wildcard include/config/bcm2835/fast/memcpy.h) \ - include/linux/seqlock.h \ - include/linux/completion.h \ - include/linux/wait.h \ - include/uapi/linux/wait.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/debug/objects.h) \ - $(wildcard include/config/debug/objects/free.h) \ - include/linux/ktime.h \ - include/linux/time.h \ - $(wildcard include/config/arch/uses/gettimeoffset.h) \ - include/linux/math64.h \ - $(wildcard include/config/arch/supports/int128.h) \ - include/linux/time64.h \ - include/uapi/linux/time.h \ - include/linux/jiffies.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - include/uapi/linux/param.h \ - arch/arm/include/generated/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/hz.h) \ - include/uapi/asm-generic/param.h \ - arch/arm/include/asm/timex.h \ - include/generated/timeconst.h \ - include/linux/timekeeping.h \ - include/linux/rcutree.h \ - include/linux/workqueue.h \ - $(wildcard include/config/debug/objects/work.h) \ - $(wildcard include/config/freezer.h) \ - $(wildcard include/config/sysfs.h) \ - $(wildcard include/config/wq/watchdog.h) \ - include/linux/timer.h \ - $(wildcard include/config/timer/stats.h) \ - $(wildcard include/config/debug/objects/timers.h) \ - $(wildcard include/config/no/hz/common.h) \ - include/linux/sysctl.h \ - $(wildcard include/config/sysctl.h) \ - include/linux/rbtree.h \ - include/linux/uidgid.h \ - $(wildcard include/config/multiuser.h) \ - $(wildcard include/config/user/ns.h) \ - include/linux/highuid.h \ - include/uapi/linux/sysctl.h \ - include/linux/delay.h \ - arch/arm/include/asm/delay.h \ - include/linux/device.h \ - $(wildcard include/config/debug/devres.h) \ - $(wildcard include/config/generic/msi/irq/domain.h) \ - $(wildcard include/config/pinctrl.h) \ - $(wildcard include/config/generic/msi/irq.h) \ - $(wildcard include/config/numa.h) \ - $(wildcard include/config/dma/cma.h) \ - $(wildcard include/config/pm/sleep.h) \ - $(wildcard include/config/devtmpfs.h) \ - $(wildcard include/config/sysfs/deprecated.h) \ - include/linux/ioport.h \ - $(wildcard include/config/memory/hotremove.h) \ - include/linux/kobject.h \ - $(wildcard include/config/uevent/helper.h) \ - $(wildcard include/config/debug/kobject/release.h) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/kernfs.h) \ - include/linux/idr.h \ - include/linux/kobject_ns.h \ - include/linux/stat.h \ - arch/arm/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/kref.h \ - include/linux/klist.h \ - include/linux/pinctrl/devinfo.h \ - $(wildcard include/config/pm.h) \ - include/linux/pinctrl/consumer.h \ - include/linux/seq_file.h \ - include/linux/nodemask.h \ - $(wildcard include/config/movable/node.h) \ - include/linux/numa.h \ - $(wildcard include/config/nodes/shift.h) \ - include/linux/fs.h \ - $(wildcard include/config/fs/posix/acl.h) \ - $(wildcard include/config/security.h) \ - $(wildcard include/config/cgroup/writeback.h) \ - $(wildcard include/config/ima.h) \ - $(wildcard include/config/fsnotify.h) \ - $(wildcard include/config/fs/encryption.h) \ - $(wildcard include/config/epoll.h) \ - $(wildcard include/config/file/locking.h) \ - $(wildcard include/config/quota.h) \ - $(wildcard include/config/fs/dax.h) \ - $(wildcard include/config/mandatory/file/locking.h) \ - $(wildcard include/config/block.h) \ - $(wildcard include/config/migration.h) \ - include/linux/kdev_t.h \ - include/uapi/linux/kdev_t.h \ - include/linux/dcache.h \ - include/linux/rculist.h \ - include/linux/rculist_bl.h \ - include/linux/list_bl.h \ - include/linux/bit_spinlock.h \ - include/linux/lockref.h \ - $(wildcard include/config/arch/use/cmpxchg/lockref.h) \ - include/generated/bounds.h \ - include/linux/stringhash.h \ - $(wildcard include/config/dcache/word/access.h) \ - include/linux/hash.h \ - $(wildcard include/config/have/arch/hash.h) \ - include/linux/path.h \ - include/linux/list_lru.h \ - $(wildcard include/config/memcg.h) \ - $(wildcard include/config/slob.h) \ - include/linux/shrinker.h \ - include/linux/llist.h \ - $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ - include/linux/radix-tree.h \ - $(wildcard include/config/radix/tree/multiorder.h) \ - include/linux/pid.h \ - include/linux/capability.h \ - include/uapi/linux/capability.h \ - include/linux/semaphore.h \ - include/uapi/linux/fiemap.h \ - include/linux/migrate_mode.h \ - include/linux/percpu-rwsem.h \ - include/linux/percpu.h \ - $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ - $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ - $(wildcard include/config/have/setup/per/cpu/area.h) \ - include/linux/mmdebug.h \ - $(wildcard include/config/debug/vm.h) \ - $(wildcard include/config/debug/virtual.h) \ - $(wildcard include/config/debug/vm/pgflags.h) \ - include/linux/smp.h \ - $(wildcard include/config/up/late/init.h) \ - arch/arm/include/asm/smp.h \ - arch/arm/include/asm/percpu.h \ - include/asm-generic/percpu.h \ - include/linux/percpu-defs.h \ - $(wildcard include/config/debug/force/weak/per/cpu.h) \ - include/linux/rcu_sync.h \ - include/linux/blk_types.h \ - $(wildcard include/config/blk/cgroup.h) \ - $(wildcard include/config/blk/dev/integrity.h) \ - include/linux/bvec.h \ - include/linux/delayed_call.h \ - include/uapi/linux/fs.h \ - include/uapi/linux/limits.h \ - include/uapi/linux/ioctl.h \ - arch/arm/include/generated/asm/ioctl.h \ - include/asm-generic/ioctl.h \ - include/uapi/asm-generic/ioctl.h \ - include/linux/quota.h \ - $(wildcard include/config/quota/netlink/interface.h) \ - include/linux/percpu_counter.h \ - include/linux/gfp.h \ - $(wildcard include/config/zone/dma.h) \ - $(wildcard include/config/zone/dma32.h) \ - $(wildcard include/config/zone/device.h) \ - $(wildcard include/config/memory/isolation.h) \ - $(wildcard include/config/compaction.h) \ - $(wildcard include/config/cma.h) \ - include/linux/mmzone.h \ - $(wildcard include/config/force/max/zoneorder.h) \ - $(wildcard include/config/zsmalloc.h) \ - $(wildcard include/config/memory/hotplug.h) \ - $(wildcard include/config/flat/node/mem/map.h) \ - $(wildcard include/config/page/extension.h) \ - $(wildcard include/config/no/bootmem.h) \ - $(wildcard include/config/numa/balancing.h) \ - $(wildcard include/config/deferred/struct/page/init.h) \ - $(wildcard include/config/transparent/hugepage.h) \ - $(wildcard include/config/have/memory/present.h) \ - $(wildcard include/config/have/memoryless/nodes.h) \ - $(wildcard include/config/need/node/memmap/size.h) \ - $(wildcard include/config/have/memblock/node/map.h) \ - $(wildcard include/config/need/multiple/nodes.h) \ - $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ - $(wildcard include/config/sparsemem/extreme.h) \ - $(wildcard include/config/holes/in/zone.h) \ - $(wildcard include/config/arch/has/holes/memorymodel.h) \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/hugetlb/page.h) \ - $(wildcard include/config/hugetlb/page/size/variable.h) \ - include/linux/page-flags-layout.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/have/arch/nodedata/extension.h) \ - $(wildcard include/config/have/bootmem/info/node.h) \ - include/linux/topology.h \ - $(wildcard include/config/use/percpu/numa/node/id.h) \ - $(wildcard include/config/sched/smt.h) \ - arch/arm/include/asm/topology.h \ - $(wildcard include/config/arm/cpu/topology.h) \ - include/asm-generic/topology.h \ - include/uapi/linux/dqblk_xfs.h \ - include/linux/dqblk_v1.h \ - include/linux/dqblk_v2.h \ - include/linux/dqblk_qtree.h \ - include/linux/projid.h \ - include/uapi/linux/quota.h \ - include/linux/nfs_fs_i.h \ - include/linux/fcntl.h \ - include/uapi/linux/fcntl.h \ - arch/arm/include/uapi/asm/fcntl.h \ - include/uapi/asm-generic/fcntl.h \ - include/linux/cred.h \ - $(wildcard include/config/debug/credentials.h) \ - $(wildcard include/config/keys.h) \ - include/linux/key.h \ - include/linux/assoc_array.h \ - $(wildcard include/config/associative/array.h) \ - include/linux/selinux.h \ - $(wildcard include/config/security/selinux.h) \ - include/linux/pinctrl/pinctrl-state.h \ - include/linux/pm.h \ - $(wildcard include/config/vt/console/sleep.h) \ - $(wildcard include/config/pm/clk.h) \ - $(wildcard include/config/pm/generic/domains.h) \ - include/linux/ratelimit.h \ - include/linux/sched.h \ - $(wildcard include/config/sched/debug.h) \ - $(wildcard include/config/lockup/detector.h) \ - $(wildcard include/config/detect/hung/task.h) \ - $(wildcard include/config/core/dump/default/elf/headers.h) \ - $(wildcard include/config/virt/cpu/accounting/native.h) \ - $(wildcard include/config/sched/autogroup.h) \ - $(wildcard include/config/bsd/process/acct.h) \ - $(wildcard include/config/taskstats.h) \ - $(wildcard include/config/audit.h) \ - $(wildcard include/config/inotify/user.h) \ - $(wildcard include/config/fanotify.h) \ - $(wildcard include/config/posix/mqueue.h) \ - $(wildcard include/config/perf/events.h) \ - $(wildcard include/config/bpf/syscall.h) \ - $(wildcard include/config/sched/info.h) \ - $(wildcard include/config/task/delay/acct.h) \ - $(wildcard include/config/schedstats.h) \ - $(wildcard include/config/sched/mc.h) \ - $(wildcard include/config/fair/group/sched.h) \ - $(wildcard include/config/rt/group/sched.h) \ - $(wildcard include/config/cgroup/sched.h) \ - $(wildcard include/config/blk/dev/io/trace.h) \ - $(wildcard include/config/compat/brk.h) \ - $(wildcard include/config/cgroups.h) \ - $(wildcard include/config/cc/stackprotector.h) \ - $(wildcard include/config/virt/cpu/accounting/gen.h) \ - $(wildcard include/config/sysvipc.h) \ - $(wildcard include/config/auditsyscall.h) \ - $(wildcard include/config/rt/mutexes.h) \ - $(wildcard include/config/ubsan.h) \ - $(wildcard include/config/task/xacct.h) \ - $(wildcard include/config/cpusets.h) \ - $(wildcard include/config/futex.h) \ - $(wildcard include/config/arch/want/batched/unmap/tlb/flush.h) \ - $(wildcard include/config/fault/injection.h) \ - $(wildcard include/config/latencytop.h) \ - $(wildcard include/config/function/graph/tracer.h) \ - $(wildcard include/config/kcov.h) \ - $(wildcard include/config/uprobes.h) \ - $(wildcard include/config/bcache.h) \ - $(wildcard include/config/vmap/stack.h) \ - $(wildcard include/config/arch/wants/dynamic/task/struct.h) \ - $(wildcard include/config/have/unstable/sched/clock.h) \ - $(wildcard include/config/irq/time/accounting.h) \ - $(wildcard include/config/proc/fs.h) \ - $(wildcard include/config/stack/growsup.h) \ - $(wildcard include/config/have/copy/thread/tls.h) \ - $(wildcard include/config/have/exit/thread.h) \ - $(wildcard include/config/cpu/freq.h) \ - include/uapi/linux/sched.h \ - include/linux/sched/prio.h \ - include/linux/plist.h \ - $(wildcard include/config/debug/pi/list.h) \ - include/linux/mm_types.h \ - $(wildcard include/config/split/ptlock/cpus.h) \ - $(wildcard include/config/arch/enable/split/pmd/ptlock.h) \ - $(wildcard include/config/have/cmpxchg/double.h) \ - $(wildcard include/config/have/aligned/struct/page.h) \ - $(wildcard include/config/kmemcheck.h) \ - $(wildcard include/config/userfaultfd.h) \ - $(wildcard include/config/pgtable/levels.h) \ - $(wildcard include/config/aio.h) \ - $(wildcard include/config/mmu/notifier.h) \ - $(wildcard include/config/x86/intel/mpx.h) \ - include/linux/auxvec.h \ - include/uapi/linux/auxvec.h \ - arch/arm/include/asm/auxvec.h \ - arch/arm/include/uapi/asm/auxvec.h \ - include/linux/uprobes.h \ - arch/arm/include/asm/mmu.h \ - $(wildcard include/config/cpu/has/asid.h) \ - $(wildcard include/config/vdso.h) \ - include/linux/cputime.h \ - arch/arm/include/generated/asm/cputime.h \ - include/asm-generic/cputime.h \ - $(wildcard include/config/virt/cpu/accounting.h) \ - include/asm-generic/cputime_jiffies.h \ - include/linux/sem.h \ - include/uapi/linux/sem.h \ - include/linux/ipc.h \ - include/uapi/linux/ipc.h \ - arch/arm/include/generated/asm/ipcbuf.h \ - include/uapi/asm-generic/ipcbuf.h \ - arch/arm/include/generated/asm/sembuf.h \ - include/uapi/asm-generic/sembuf.h \ - include/linux/shm.h \ - include/uapi/linux/shm.h \ - arch/arm/include/generated/asm/shmbuf.h \ - include/uapi/asm-generic/shmbuf.h \ - arch/arm/include/asm/shmparam.h \ - include/linux/signal.h \ - $(wildcard include/config/old/sigaction.h) \ - include/uapi/linux/signal.h \ - arch/arm/include/asm/signal.h \ - arch/arm/include/uapi/asm/signal.h \ - include/uapi/asm-generic/signal-defs.h \ - arch/arm/include/uapi/asm/sigcontext.h \ - arch/arm/include/generated/asm/siginfo.h \ - include/asm-generic/siginfo.h \ - include/uapi/asm-generic/siginfo.h \ - include/linux/seccomp.h \ - $(wildcard include/config/seccomp.h) \ - $(wildcard include/config/have/arch/seccomp/filter.h) \ - $(wildcard include/config/seccomp/filter.h) \ - $(wildcard include/config/checkpoint/restore.h) \ - include/uapi/linux/seccomp.h \ - arch/arm/include/generated/asm/seccomp.h \ - include/asm-generic/seccomp.h \ - include/uapi/linux/unistd.h \ - arch/arm/include/asm/unistd.h \ - $(wildcard include/config/oabi/compat.h) \ - arch/arm/include/uapi/asm/unistd.h \ - include/linux/rtmutex.h \ - $(wildcard include/config/debug/rt/mutexes.h) \ - include/linux/resource.h \ - include/uapi/linux/resource.h \ - arch/arm/include/generated/asm/resource.h \ - include/asm-generic/resource.h \ - include/uapi/asm-generic/resource.h \ - include/linux/hrtimer.h \ - $(wildcard include/config/high/res/timers.h) \ - $(wildcard include/config/time/low/res.h) \ - $(wildcard include/config/timerfd.h) \ - include/linux/timerqueue.h \ - include/linux/kcov.h \ - include/uapi/linux/kcov.h \ - include/linux/task_io_accounting.h \ - $(wildcard include/config/task/io/accounting.h) \ - include/linux/latencytop.h \ - include/uapi/linux/magic.h \ - include/linux/cgroup-defs.h \ - $(wildcard include/config/sock/cgroup/data.h) \ - include/linux/percpu-refcount.h \ - include/linux/cgroup_subsys.h \ - $(wildcard include/config/cgroup/cpuacct.h) \ - $(wildcard include/config/cgroup/device.h) \ - $(wildcard include/config/cgroup/freezer.h) \ - $(wildcard include/config/cgroup/net/classid.h) \ - $(wildcard include/config/cgroup/perf.h) \ - $(wildcard include/config/cgroup/net/prio.h) \ - $(wildcard include/config/cgroup/hugetlb.h) \ - $(wildcard include/config/cgroup/pids.h) \ - $(wildcard include/config/cgroup/debug.h) \ - arch/arm/include/asm/device.h \ - $(wildcard include/config/dmabounce.h) \ - $(wildcard include/config/iommu/api.h) \ - $(wildcard include/config/arm/dma/use/iommu.h) \ - $(wildcard include/config/arch/omap.h) \ - include/linux/pm_wakeup.h \ - include/linux/gpio.h \ - $(wildcard include/config/arch/have/custom/gpio/h.h) \ - arch/arm/include/asm/gpio.h \ - $(wildcard include/config/arch/nr/gpio.h) \ - include/asm-generic/gpio.h \ - include/linux/of.h \ - $(wildcard include/config/sparc.h) \ - $(wildcard include/config/of/dynamic.h) \ - $(wildcard include/config/attach/node.h) \ - $(wildcard include/config/detach/node.h) \ - $(wildcard include/config/add/property.h) \ - $(wildcard include/config/remove/property.h) \ - $(wildcard include/config/update/property.h) \ - $(wildcard include/config/of/numa.h) \ - $(wildcard include/config/no/change.h) \ - $(wildcard include/config/change/add.h) \ - $(wildcard include/config/change/remove.h) \ - $(wildcard include/config/of/resolve.h) \ - $(wildcard include/config/of/overlay.h) \ - include/linux/mod_devicetable.h \ - include/linux/uuid.h \ - include/uapi/linux/uuid.h \ - include/linux/property.h \ - include/linux/fwnode.h \ - include/linux/gpio/driver.h \ - $(wildcard include/config/gpio/generic.h) \ - $(wildcard include/config/gpiolib/irqchip.h) \ - $(wildcard include/config/of/gpio.h) \ - include/linux/irq.h \ - $(wildcard include/config/generic/irq/ipi.h) \ - $(wildcard include/config/irq/domain/hierarchy.h) \ - $(wildcard include/config/generic/pending/irq.h) \ - $(wildcard include/config/hardirqs/sw/resend.h) \ - $(wildcard include/config/generic/irq/legacy/alloc/hwirq.h) \ - $(wildcard include/config/generic/irq/legacy.h) \ - include/linux/irqhandler.h \ - include/linux/irqreturn.h \ - include/linux/irqnr.h \ - include/uapi/linux/irqnr.h \ - include/linux/io.h \ - $(wildcard include/config/have/arch/huge/vmap.h) \ - $(wildcard include/config/has/ioport/map.h) \ - arch/arm/include/asm/io.h \ - $(wildcard include/config/pci.h) \ - $(wildcard include/config/need/mach/io/h.h) \ - $(wildcard include/config/pcmcia/soc/common.h) \ - $(wildcard include/config/isa.h) \ - $(wildcard include/config/pccard.h) \ - include/asm-generic/pci_iomap.h \ - $(wildcard include/config/no/generic/pci/ioport/map.h) \ - $(wildcard include/config/generic/pci/iomap.h) \ - include/xen/xen.h \ - $(wildcard include/config/xen.h) \ - $(wildcard include/config/xen/dom0.h) \ - $(wildcard include/config/xen/pvh.h) \ - include/asm-generic/io.h \ - $(wildcard include/config/generic/iomap.h) \ - $(wildcard include/config/virt/to/bus.h) \ - include/linux/vmalloc.h \ - arch/arm/include/asm/irq.h \ - $(wildcard include/config/sparse/irq.h) \ - $(wildcard include/config/multi/irq/handler.h) \ - arch/arm/include/generated/asm/irq_regs.h \ - include/asm-generic/irq_regs.h \ - include/linux/irqdesc.h \ - $(wildcard include/config/irq/preflow/fasteoi.h) \ - $(wildcard include/config/handle/domain/irq.h) \ - arch/arm/include/asm/hw_irq.h \ - include/linux/irqchip/chained_irq.h \ - include/linux/irqdomain.h \ - $(wildcard include/config/irq/domain.h) \ - include/linux/pinctrl/pinctrl.h \ - $(wildcard include/config/generic/pinconf.h) \ - include/linux/gpio/consumer.h \ - $(wildcard include/config/gpio/sysfs.h) \ - include/linux/i2c.h \ - $(wildcard include/config/i2c.h) \ - $(wildcard include/config/i2c/slave.h) \ - $(wildcard include/config/i2c/boardinfo.h) \ - $(wildcard include/config/i2c/mux.h) \ - $(wildcard include/config/acpi.h) \ - include/uapi/linux/i2c.h \ - include/linux/iio/iio.h \ - $(wildcard include/config/debug/fs.h) \ - include/linux/cdev.h \ - include/linux/iio/types.h \ - include/uapi/linux/iio/types.h \ - include/linux/iio/sysfs.h \ - include/linux/module.h \ - $(wildcard include/config/modules/tree/lookup.h) \ - $(wildcard include/config/livepatch.h) \ - $(wildcard include/config/module/sig.h) \ - $(wildcard include/config/kallsyms.h) \ - $(wildcard include/config/tracepoints.h) \ - $(wildcard include/config/event/tracing.h) \ - $(wildcard include/config/module/unload.h) \ - $(wildcard include/config/constructors.h) \ - $(wildcard include/config/debug/set/module/ronx.h) \ - include/linux/kmod.h \ - include/linux/elf.h \ - arch/arm/include/asm/elf.h \ - arch/arm/include/asm/vdso_datapage.h \ - arch/arm/include/asm/user.h \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/alpha.h) \ - $(wildcard include/config/ia64.h) \ - $(wildcard include/config/ppc64.h) \ - include/linux/jump_label.h \ - $(wildcard include/config/jump/label.h) \ - arch/arm/include/asm/jump_label.h \ - include/linux/extable.h \ - include/linux/rbtree_latch.h \ - arch/arm/include/asm/module.h \ - $(wildcard include/config/arm/unwind.h) \ - $(wildcard include/config/arm/module/plts.h) \ - include/asm-generic/module.h \ - $(wildcard include/config/have/mod/arch/specific.h) \ - $(wildcard include/config/modules/use/elf/rel.h) \ - $(wildcard include/config/modules/use/elf/rela.h) \ - include/linux/of_device.h \ - include/linux/cpu.h \ - $(wildcard include/config/pm/sleep/smp.h) \ - include/linux/node.h \ - $(wildcard include/config/memory/hotplug/sparse.h) \ - $(wildcard include/config/hugetlbfs.h) \ - include/linux/cpuhotplug.h \ - include/linux/platform_device.h \ - $(wildcard include/config/suspend.h) \ - $(wildcard include/config/hibernate/callbacks.h) \ - include/linux/of_platform.h \ - $(wildcard include/config/of/address.h) \ - include/linux/regmap.h \ - $(wildcard include/config/regmap.h) \ - include/linux/serial_core.h \ - $(wildcard include/config/serial/core/console.h) \ - $(wildcard include/config/console/poll.h) \ - $(wildcard include/config/irq.h) \ - $(wildcard include/config/serial/earlycon.h) \ - include/linux/interrupt.h \ - $(wildcard include/config/irq/forced/threading.h) \ - $(wildcard include/config/generic/irq/probe.h) \ - include/linux/hardirq.h \ - include/linux/ftrace_irq.h \ - $(wildcard include/config/ftrace/nmi/enter.h) \ - $(wildcard include/config/hwlat/tracer.h) \ - include/linux/vtime.h \ - include/linux/context_tracking_state.h \ - $(wildcard include/config/context/tracking.h) \ - include/linux/static_key.h \ - arch/arm/include/asm/hardirq.h \ - include/linux/irq_cpustat.h \ - include/linux/circ_buf.h \ - include/linux/tty.h \ - $(wildcard include/config/tty.h) \ - include/uapi/linux/major.h \ - include/uapi/linux/termios.h \ - arch/arm/include/generated/asm/termios.h \ - include/asm-generic/termios.h \ - arch/arm/include/asm/uaccess.h \ - $(wildcard include/config/have/efficient/unaligned/access.h) \ - $(wildcard include/config/cpu/sw/domain/pan.h) \ - $(wildcard include/config/cpu/use/domains.h) \ - $(wildcard include/config/uaccess/with/memcpy.h) \ - arch/arm/include/asm/domain.h \ - $(wildcard include/config/io/36.h) \ - $(wildcard include/config/cpu/cp15/mmu.h) \ - include/uapi/asm-generic/termios.h \ - arch/arm/include/generated/asm/termbits.h \ - include/uapi/asm-generic/termbits.h \ - arch/arm/include/uapi/asm/ioctls.h \ - include/uapi/asm-generic/ioctls.h \ - include/linux/tty_driver.h \ - include/linux/tty_ldisc.h \ - include/uapi/linux/tty_flags.h \ - include/uapi/linux/tty.h \ - include/linux/sysrq.h \ - $(wildcard include/config/magic/sysrq.h) \ - include/uapi/linux/serial_core.h \ - include/linux/serial.h \ - include/uapi/linux/serial.h \ - include/linux/tty_flip.h \ - include/linux/spi/spi.h \ - $(wildcard include/config/spi.h) \ - include/linux/slab.h \ - $(wildcard include/config/debug/slab.h) \ - $(wildcard include/config/failslab.h) \ - $(wildcard include/config/have/hardened/usercopy/allocator.h) \ - $(wildcard include/config/slab.h) \ - $(wildcard include/config/slub.h) \ - include/linux/kmemleak.h \ - $(wildcard include/config/debug/kmemleak.h) \ - include/linux/kasan.h \ - include/linux/kthread.h \ - include/linux/scatterlist.h \ - $(wildcard include/config/debug/sg.h) \ - $(wildcard include/config/need/sg/dma/length.h) \ - $(wildcard include/config/arch/has/sg/chain.h) \ - $(wildcard include/config/sg/pool.h) \ - include/linux/mm.h \ - $(wildcard include/config/have/arch/mmap/rnd/bits.h) \ - $(wildcard include/config/have/arch/mmap/rnd/compat/bits.h) \ - $(wildcard include/config/mem/soft/dirty.h) \ - $(wildcard include/config/arch/uses/high/vma/flags.h) \ - $(wildcard include/config/x86.h) \ - $(wildcard include/config/x86/intel/memory/protection/keys.h) \ - $(wildcard include/config/ppc.h) \ - $(wildcard include/config/parisc.h) \ - $(wildcard include/config/metag.h) \ - $(wildcard include/config/shmem.h) \ - $(wildcard include/config/debug/vm/rb.h) \ - $(wildcard include/config/page/poisoning.h) \ - $(wildcard include/config/debug/pagealloc.h) \ - $(wildcard include/config/hibernation.h) \ - include/linux/debug_locks.h \ - $(wildcard include/config/debug/locking/api/selftests.h) \ - include/linux/range.h \ - include/linux/page_ext.h \ - $(wildcard include/config/idle/page/tracking.h) \ - include/linux/stacktrace.h \ - $(wildcard include/config/stacktrace.h) \ - $(wildcard include/config/user/stacktrace/support.h) \ - include/linux/stackdepot.h \ - include/linux/page_ref.h \ - $(wildcard include/config/debug/page/ref.h) \ - include/linux/page-flags.h \ - $(wildcard include/config/arch/uses/pg/uncached.h) \ - $(wildcard include/config/memory/failure.h) \ - $(wildcard include/config/swap.h) \ - $(wildcard include/config/ksm.h) \ - include/linux/tracepoint-defs.h \ - arch/arm/include/asm/pgtable.h \ - $(wildcard include/config/highpte.h) \ - arch/arm/include/asm/proc-fns.h \ - arch/arm/include/asm/glue-proc.h \ - $(wildcard include/config/cpu/arm7tdmi.h) \ - $(wildcard include/config/cpu/arm720t.h) \ - $(wildcard include/config/cpu/arm740t.h) \ - $(wildcard include/config/cpu/arm9tdmi.h) \ - $(wildcard include/config/cpu/arm920t.h) \ - $(wildcard include/config/cpu/arm922t.h) \ - $(wildcard include/config/cpu/arm925t.h) \ - $(wildcard include/config/cpu/arm926t.h) \ - $(wildcard include/config/cpu/arm940t.h) \ - $(wildcard include/config/cpu/arm946e.h) \ - $(wildcard include/config/cpu/arm1020.h) \ - $(wildcard include/config/cpu/arm1020e.h) \ - $(wildcard include/config/cpu/arm1022.h) \ - $(wildcard include/config/cpu/arm1026.h) \ - $(wildcard include/config/cpu/mohawk.h) \ - $(wildcard include/config/cpu/feroceon.h) \ - $(wildcard include/config/cpu/v6k.h) \ - $(wildcard include/config/cpu/pj4b.h) \ - $(wildcard include/config/cpu/v7.h) \ - include/asm-generic/pgtable-nopud.h \ - arch/arm/include/asm/pgtable-hwdef.h \ - arch/arm/include/asm/pgtable-2level-hwdef.h \ - arch/arm/include/asm/tlbflush.h \ - $(wildcard include/config/smp/on/up.h) \ - $(wildcard include/config/cpu/tlb/v4wt.h) \ - $(wildcard include/config/cpu/tlb/fa.h) \ - $(wildcard include/config/cpu/tlb/v4wbi.h) \ - $(wildcard include/config/cpu/tlb/feroceon.h) \ - $(wildcard include/config/cpu/tlb/v4wb.h) \ - $(wildcard include/config/cpu/tlb/v6.h) \ - $(wildcard include/config/cpu/tlb/v7.h) \ - $(wildcard include/config/arm/errata/720789.h) \ - $(wildcard include/config/arm/errata/798181.h) \ - arch/arm/include/asm/pgtable-2level.h \ - include/asm-generic/pgtable.h \ - $(wildcard include/config/have/arch/soft/dirty.h) \ - include/linux/huge_mm.h \ - include/linux/vmstat.h \ - $(wildcard include/config/vm/event/counters.h) \ - $(wildcard include/config/debug/tlbflush.h) \ - $(wildcard include/config/debug/vm/vmacache.h) \ - include/linux/vm_event_item.h \ - $(wildcard include/config/memory/balloon.h) \ - $(wildcard include/config/balloon/compaction.h) \ - include/linux/leds.h \ - $(wildcard include/config/leds/triggers.h) \ - $(wildcard include/config/leds/trigger/disk.h) \ - $(wildcard include/config/leds/trigger/mtd.h) \ - $(wildcard include/config/leds/trigger/camera.h) \ - $(wildcard include/config/new/leds.h) \ - $(wildcard include/config/leds/trigger/cpu.h) \ - include/linux/uaccess.h \ - -/media/sf_neuron_kernel/modules/neuron_spi/neuronspi.o: $(deps_/media/sf_neuron_kernel/modules/neuron_spi/neuronspi.o) - -$(deps_/media/sf_neuron_kernel/modules/neuron_spi/neuronspi.o): diff --git a/modules/neuron_spi/Makefile b/modules/neuron_spi/Makefile index bcf9b98..647aa55 100644 --- a/modules/neuron_spi/Makefile +++ b/modules/neuron_spi/Makefile @@ -1,11 +1,62 @@ -obj-m += neuronspi.o +# Note: Compiling kernel modules requires creating symlinks, which is not possible on certain +# filesystems (notably VirtualBox vmfs); therefore we allow using /run/ through the 'symlink' target, +# if necessary. + +SYMLINK_DIR_PATH = /run/kernel/neuron_spi +LINUX_DIR_PATH = /root/bokula/linux +SRC_DIR_PATH = $(PWD)/src +BIN_DIR_PATH = $(PWD)/bin + +MODULE_MAKE_FILE = Makefile + +C_SRC_FILES = unipi_spi.c +C_SRC_FILES += unipi_iio.c +C_SRC_FILES += unipi_gpio.c +C_SRC_FILES += unipi_uart.c +C_SRC_FILES += unipi_sysfs.c + +H_SRC_FILES = unipi_spi.h +H_SRC_FILES += unipi_iio.h +H_SRC_FILES += unipi_gpio.h +H_SRC_FILES += unipi_uart.h +H_SRC_FILES += unipi_sysfs.h + +OBJ_FILES = src/unipi_spi.o +OBJ_FILES += src/unipi_iio.o +OBJ_FILES += src/unipi_gpio.o +OBJ_FILES += src/unipi_uart.o +OBJ_FILES += src/unipi_sysfs.o + +KERNEL_MODULE_NAME = unipi +obj-m += ${KERNEL_MODULE_NAME}.o +unipi-objs := ${OBJ_FILES} + +TARGET_PLC_PATH = tomunipi:/root/ + +.PHONY: default +default: symlink ; all: - make ARCH=arm CROSS_COMPILE=${CCPREFIX} -C /root/bokula/linux M=$(PWD) modules + make ARCH=arm CROSS_COMPILE=${CCPREFIX} -C ${LINUX_DIR_PATH} M=${PWD} modules clean: - make -C /root/bokula/linux M=$(PWD) clean - -transfer: clean all - scp neuronspi.ko tomunipi:/root/ + make -C ${LINUX_DIR_PATH} M=$(PWD) clean + rm -f ${BIN_DIR_PATH}/${KERNEL_MODULE_NAME}.ko +transfer: clean symlink + scp ${BIN_DIR_PATH}/${KERNEL_MODULE_NAME}.ko ${TARGET_PLC_PATH} + +symlink: clean + rm -r -f ${SYMLINK_DIR_PATH} + mkdir -p ${SYMLINK_DIR_PATH}/src + mkdir -p ${SYMLINK_DIR_PATH}/bin + cp ${PWD}/${MODULE_MAKE_FILE} ${SYMLINK_DIR_PATH} + for f in ${C_SRC_FILES}; do\ + ln -s ${SRC_DIR_PATH}/$$f ${SYMLINK_DIR_PATH}/src ;\ + done + for f in ${H_SRC_FILES}; do\ + ln -s ${SRC_DIR_PATH}/$$f ${SYMLINK_DIR_PATH}/src ;\ + done + cd ${SYMLINK_DIR_PATH}; make all + mv ${SYMLINK_DIR_PATH}/${KERNEL_MODULE_NAME}.ko ${BIN_DIR_PATH} + rm -r -f ${SYMLINK_DIR_PATH} diff --git a/modules/neuron_spi/neuronspi.ko b/modules/neuron_spi/bin/unipi.ko similarity index 64% rename from modules/neuron_spi/neuronspi.ko rename to modules/neuron_spi/bin/unipi.ko index 0fe012e29c169f1b0fc30fa68680be1826e00121..62b75d5e8d71bf8cd4870a7cc9fe430fe8ace05d 100644 GIT binary patch delta 19015 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 delta 18845 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 z zJ!rJMm&Eq$CsEI!I7-5QnmmH@2?@Vdah-(!774$C4_dz>5`Gn86$!su5`Hlf<#owE zC=QeGW87S}e~QF-PKz@nw!^GACoY5R-#UqUx5!GIZ+fkNAxL{UiTZ0vJRdfY@K2Da zw^y2RcUk`siTZ}c3EDZ1W zOz9gW@|QgiB7Y@`{9%y!qtwVBBay#{JRUGHOL&|VIPeSNzL0#Q;}ns|7a}o^4J7<< zc{Il*E*nnZ8`!_epV`sN2U4RkoGO<{D9T9 zBBhstVm!&ISVeMfO{)5tE((BUBE3LhXM0s`6!_s5dTKhT)JHkPm^7x*| z_)8B@zCA}rh*q^l5lJIYl9+#ex&V7xwGZrWP>!st; zlhSk2{5>6(S46@;D%~YLExjOJfCGvC#bQXT5gWvW*eCLLb(oJaAjw&g@m{IdM8w>WiF66skNXnxUfgdgJw$#OF%ijo z921|GIf3y~`Vxs}k!A987&oP_k>@dP(wE5=$Jrvw zF@8lL$B%5reo5Yiaa4LCc@}QcC1eESCmkZ|F>cb;qNrR$`z zDUE-FbW|FebW8X1JZ-iL(;?2BhsVNW76Z&6Vj8?Q_|DY zGt#rtbJFwD3(||yOVZ2IE7GgdYtrk|8`7K7m!-F)oqcw^a!GD~={)It=>q9O>7aCx zbg^`abg6Wibh&g$x6j!P$`yQI6Nd!&1% z`=tA&2c!q3hopz4N2Euk$E3%lC!{B(r=+K)XQXGP=cMPQ7o-=Zm!y}aSEN^^*QD2_ zH>5YEFH3JpJ2=*PyyMlD-Tu;f(!8Ihy+FE98dEvOzepNWI7Z_U-1y^B-sm!EOyL-f zsTpI(l!(!l(s(p6x>~wMIxNlmdF~H&()H2}(ot#N@3Xxz>9}-4x=XrSx<|TKx=*@a zdO&(mdPsU$dPI6udQ5s;dO~_qdP;g)dPaIydQN&?dO>-?L=-A?XU~O6e-;YUvv3 zuyn0-oiv}KJQZJ zOY?iK)P>SP=_2W3=@RKu=`v}4KbHAJ(iPJAxDIiif!9-#*UjL6+V2x{euB*uJJ>AcR(xGkG@G_9({{^2=iB{ zit|!=VgXr$dPrPs%9UP0qTDKw{j4U@j~X#dqMx<=~j zLDq=%VodB7`^8~#T$~o?#bt3_+!EPewwwJW+26o>Fs~|IEVBQBcVnETD@4=(`arVZ zZhz}(e**7a{fBb$ckn)lEWrLsqJI8P6OWfTiTxl!UV(Yzt8BVE55@S; zfdc_&h|I%r$oVDYGxJTzH%^WJ_&ZBXFW3B1CHV@JPv)U~@>O_$L0*mLIAeF59`f(- z{6^y65cz8SE;e~R-WQYC;QKOU0nS@wF`nnhLd5DPF^4rpUXSNG5_3s2B<6@_NzDDs Ik+`Y*f7Y*#2><{9 diff --git a/modules/neuron_spi/src/unipi_gpio.c b/modules/neuron_spi/src/unipi_gpio.c new file mode 100644 index 0000000..9037c4d --- /dev/null +++ b/modules/neuron_spi/src/unipi_gpio.c @@ -0,0 +1,15 @@ +/* + * UniPi Neuron tty serial driver - Copyright (C) 2018 UniPi Technologies + * Author: Tomas Knot + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ + + diff --git a/modules/neuron_spi/src/unipi_gpio.h b/modules/neuron_spi/src/unipi_gpio.h new file mode 100644 index 0000000..2c124f7 --- /dev/null +++ b/modules/neuron_spi/src/unipi_gpio.h @@ -0,0 +1,20 @@ +/* + * UniPi Neuron tty serial driver - Copyright (C) 2018 UniPi Technologies + * Author: Tomas Knot + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ + +#ifndef MODULES_NEURON_SPI_SRC_UNIPI_GPIO_H_ +#define MODULES_NEURON_SPI_SRC_UNIPI_GPIO_H_ + + + +#endif /* MODULES_NEURON_SPI_SRC_UNIPI_GPIO_H_ */ diff --git a/modules/neuron_spi/src/unipi_iio.c b/modules/neuron_spi/src/unipi_iio.c new file mode 100644 index 0000000..b43a7f5 --- /dev/null +++ b/modules/neuron_spi/src/unipi_iio.c @@ -0,0 +1,13 @@ +/* + * UniPi Neuron tty serial driver - Copyright (C) 2018 UniPi Technologies + * Author: Tomas Knot + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ diff --git a/modules/neuron_spi/src/unipi_iio.h b/modules/neuron_spi/src/unipi_iio.h new file mode 100644 index 0000000..e1d9ba2 --- /dev/null +++ b/modules/neuron_spi/src/unipi_iio.h @@ -0,0 +1,22 @@ +/* + * UniPi Neuron tty serial driver - Copyright (C) 2018 UniPi Technologies + * Author: Tomas Knot + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ + +#ifndef MODULES_NEURON_SPI_SRC_UNIPI_IIO_H_ +#define MODULES_NEURON_SPI_SRC_UNIPI_IIO_H_ + + + + + +#endif /* MODULES_NEURON_SPI_SRC_UNIPI_IIO_H_ */ diff --git a/modules/neuron_spi/src/unipi_platform.c b/modules/neuron_spi/src/unipi_platform.c new file mode 100644 index 0000000..1607152 --- /dev/null +++ b/modules/neuron_spi/src/unipi_platform.c @@ -0,0 +1,8 @@ +/* + * unipi_platform.c + * + * Created on: 23 Feb 2018 + * Author: Tom Knot + */ + + diff --git a/modules/neuron_spi/src/unipi_platform.h b/modules/neuron_spi/src/unipi_platform.h new file mode 100644 index 0000000..0c5e522 --- /dev/null +++ b/modules/neuron_spi/src/unipi_platform.h @@ -0,0 +1,13 @@ +/* + * unipi_platform.h + * + * Created on: 23 Feb 2018 + * Author: Tom Knot + */ + +#ifndef MODULES_NEURON_SPI_SRC_UNIPI_PLATFORM_H_ +#define MODULES_NEURON_SPI_SRC_UNIPI_PLATFORM_H_ + + + +#endif /* MODULES_NEURON_SPI_SRC_UNIPI_PLATFORM_H_ */ diff --git a/modules/neuron_spi/neuronspi.c b/modules/neuron_spi/src/unipi_spi.c similarity index 96% rename from modules/neuron_spi/neuronspi.c rename to modules/neuron_spi/src/unipi_spi.c index cbe5957..65e9e41 100644 --- a/modules/neuron_spi/neuronspi.c +++ b/modules/neuron_spi/src/unipi_spi.c @@ -13,7 +13,7 @@ nologies * */ -#include "neuronspi.h" +#include "unipi_spi.h" /*********************** * End of Data section * @@ -56,9 +56,9 @@ static int neuronspi_release (struct inode *inode_p, struct file *file_p) static ssize_t neuronspi_read (struct file *file_p, char *buffer, size_t len, loff_t *offset) { - int32_t result = 0; + s32 result = 0; u8 device_index = 0; - uint32_t frequency = NEURONSPI_COMMON_FREQ; + u32 frequency = NEURONSPI_COMMON_FREQ; struct neuronspi_file_data* private_data; struct spi_device* spi_driver_data; struct neuronspi_driver_data* driver_data; @@ -98,7 +98,7 @@ static ssize_t neuronspi_read (struct file *file_p, char *buffer, size_t len, lo printk(KERN_INFO "NEURONSPI: Device read %d DEV:%s%d DRV:%s%d\n", private_data->message_len, (spi_driver_data->dev.of_node->name), (spi_driver_data->chip_select), (driver_data->spi_driver->driver.name), (device_index)); #endif - if ((((int32_t)len) == private_data->message_len + 10)) { + if ((((s32)len) == private_data->message_len + 10)) { memcpy(buffer, private_data->recv_buf, len); result = len; } else if (private_data->message_len == 0) { @@ -120,11 +120,11 @@ static ssize_t neuronspi_read (struct file *file_p, char *buffer, size_t len, lo static ssize_t neuronspi_write (struct file *file_p, const char *buffer, size_t len, loff_t *w_offset) { u8 device_index = 0; - int32_t result = 0; - uint32_t frequency = NEURONSPI_COMMON_FREQ; - int32_t transmit_len = len - NEURONSPI_HEADER_LENGTH; - int32_t send_header = 0; - int32_t delay = 25; + s32 result = 0; + u32 frequency = NEURONSPI_COMMON_FREQ; + s32 transmit_len = len - NEURONSPI_HEADER_LENGTH; + s32 send_header = 0; + s32 delay = 25; struct neuronspi_file_data* private_data; struct spi_device* spi_driver_data; struct neuronspi_driver_data* driver_data; @@ -203,14 +203,14 @@ static ssize_t neuronspi_write (struct file *file_p, const char *buffer, size_t return len; } -static int32_t neuronspi_spi_uart_write(struct spi_device *spi, u8 *send_buf, u8 length, u8 uart_index) +static s32 neuronspi_spi_uart_write(struct spi_device *spi, u8 *send_buf, u8 length, u8 uart_index) { u8 *message_buf; u8 *recv_buf; - int32_t transmit_len, i; + s32 transmit_len, i; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi); - uint16_t crc1, crc2; - uint32_t frequency = NEURONSPI_COMMON_FREQ; + u16 crc1, crc2; + u32 frequency = NEURONSPI_COMMON_FREQ; #if NEURONSPI_DETAILED_DEBUG > 0 printk(KERN_INFO "NEURONSPI: UART SPI Write, dev:%d, len:%d\n", uart_index, length); #endif @@ -252,12 +252,12 @@ static int32_t neuronspi_spi_uart_write(struct spi_device *spi, u8 *send_buf, u8 } -void neuronspi_spi_uart_read(struct spi_device* spi, u8 *send_buf, u8 *recv_buf, int32_t len, u8 uart_index) +void neuronspi_spi_uart_read(struct spi_device* spi, u8 *send_buf, u8 *recv_buf, s32 len, u8 uart_index) { - int32_t transmit_len; + s32 transmit_len; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi); - uint16_t crc1, crc2; - int32_t frequency = NEURONSPI_COMMON_FREQ; + u16 crc1, crc2; + s32 frequency = NEURONSPI_COMMON_FREQ; if (d_data->slower_model) { frequency = NEURONSPI_SLOWER_FREQ; } @@ -291,13 +291,13 @@ void neuronspi_spi_uart_read(struct spi_device* spi, u8 *send_buf, u8 *recv_buf, } } -void neuronspi_spi_set_irqs(struct spi_device* spi_dev, uint16_t to) +void neuronspi_spi_set_irqs(struct spi_device* spi_dev, u16 to) { u8 *message_buf; u8 *recv_buf; - uint16_t crc1, crc2; + u16 crc1, crc2; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); - int32_t frequency = NEURONSPI_COMMON_FREQ; + s32 frequency = NEURONSPI_COMMON_FREQ; if (d_data->slower_model) { frequency = NEURONSPI_SLOWER_FREQ; } @@ -318,13 +318,13 @@ void neuronspi_spi_set_irqs(struct spi_device* spi_dev, uint16_t to) kfree(recv_buf); } -void neuronspi_spi_uart_set_cflag(struct spi_device* spi_dev, u8 port, uint32_t to) +void neuronspi_spi_uart_set_cflag(struct spi_device* spi_dev, u8 port, u32 to) { u8 *message_buf; u8 *recv_buf; - uint16_t crc1, crc2; + u16 crc1, crc2; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); - int32_t frequency = NEURONSPI_COMMON_FREQ; + s32 frequency = NEURONSPI_COMMON_FREQ; if (d_data->slower_model) { frequency = NEURONSPI_SLOWER_FREQ; } @@ -346,12 +346,12 @@ void neuronspi_spi_uart_set_cflag(struct spi_device* spi_dev, u8 port, uint32_t kfree(recv_buf); } -void neuronspi_spi_uart_set_ldisc(struct spi_device* spi_dev, u8 port, uint8_t to) +void neuronspi_spi_uart_set_ldisc(struct spi_device* spi_dev, u8 port, u8 to) { u8 *message_buf; u8 *recv_buf; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); - int32_t frequency = NEURONSPI_COMMON_FREQ; + s32 frequency = NEURONSPI_COMMON_FREQ; if (d_data->slower_model) { frequency = NEURONSPI_SLOWER_FREQ; } @@ -372,7 +372,7 @@ u8 neuronspi_spi_uart_get_ldisc(struct spi_device* spi_dev, u8 port) u8 *recv_buf; u8 outp; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); - int32_t frequency = NEURONSPI_COMMON_FREQ; + s32 frequency = NEURONSPI_COMMON_FREQ; if (d_data->slower_model) { frequency = NEURONSPI_SLOWER_FREQ; } @@ -908,9 +908,9 @@ err_end: return count; } /* -static int32_t neuronspi_spi_watchdog(void *data) +static s32 neuronspi_spi_watchdog(void *data) { - int32_t *cycle = (int32_t *) data; + s32 *cycle = (s32 *) data; while (!kthread_should_stop()) { msleep(*cycle); spin_lock(neuronspi_spi_w_spinlock); @@ -926,13 +926,13 @@ static int32_t neuronspi_spi_watchdog(void *data) } */ -uint32_t neuronspi_spi_uart_get_cflag(struct spi_device* spi_dev, u8 port) +u32 neuronspi_spi_uart_get_cflag(struct spi_device* spi_dev, u8 port) { u8 *message_buf; u8 *recv_buf; - uint16_t crc1, crc2, ret; + u16 crc1, crc2, ret; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); - int32_t frequency = NEURONSPI_COMMON_FREQ; + s32 frequency = NEURONSPI_COMMON_FREQ; if (d_data->slower_model) { frequency = NEURONSPI_SLOWER_FREQ; } @@ -946,7 +946,7 @@ uint32_t neuronspi_spi_uart_get_cflag(struct spi_device* spi_dev, u8 port) if (!d_data->reserved_device) { neuronspi_spi_send_message(spi_dev, message_buf, recv_buf, NEURONSPI_SPI_UART_GET_CFLAG_MESSAGE_LEN, frequency, 65, 1); } - ret = ((uint32_t*)recv_buf)[5]; + ret = ((u32*)recv_buf)[5]; #if NEURONSPI_DETAILED_DEBUG > 0 printk(KERN_INFO "NEURONSPI: SPI TERMIOS Get, Dev-CS:%d, val:%x\n", spi_dev->chip_select, ret); #endif @@ -956,13 +956,13 @@ uint32_t neuronspi_spi_uart_get_cflag(struct spi_device* spi_dev, u8 port) } -void neuronspi_spi_send_message(struct spi_device* spi_dev, u8 *send_buf, u8 *recv_buf, int32_t len, int32_t freq, int32_t delay, int32_t send_header) +void neuronspi_spi_send_message(struct spi_device* spi_dev, u8 *send_buf, u8 *recv_buf, s32 len, s32 freq, s32 delay, s32 send_header) { - int32_t i = 0; - uint16_t recv_crc1 = 0; - uint16_t recv_crc2 = 0; - uint16_t packet_crc = 0; - int32_t trans_count = (len / NEURONSPI_MAX_TX) + 3; // number of transmissions + s32 i = 0; + u16 recv_crc1 = 0; + u16 recv_crc2 = 0; + u16 packet_crc = 0; + s32 trans_count = (len / NEURONSPI_MAX_TX) + 3; // number of transmissions struct spi_message s_msg; struct neuronspi_driver_data *d_data; struct spi_transfer* s_trans; @@ -1086,7 +1086,7 @@ void neuronspi_spi_send_message(struct spi_device* spi_dev, u8 *send_buf, u8 *re kfree(s_trans); } -static void neuronspi_uart_fifo_read(struct uart_port *port, uint32_t rxlen) +static void neuronspi_uart_fifo_read(struct uart_port *port, u32 rxlen) { struct neuronspi_port *s = to_neuronspi_port(port,port); struct neuronspi_driver_data *d_data = spi_get_drvdata(neuronspi_s_dev[s->dev_index]); @@ -1098,7 +1098,7 @@ static void neuronspi_uart_fifo_read(struct uart_port *port, uint32_t rxlen) static void neuronspi_uart_fifo_write(struct neuronspi_port *port, u8 to_send) { - int32_t i; + s32 i; #if NEURONSPI_DETAILED_DEBUG > 0 printk(KERN_INFO "NEURONSPI: FIFO Write to_send:%d\n", to_send); #endif @@ -1110,9 +1110,9 @@ static void neuronspi_uart_fifo_write(struct neuronspi_port *port, u8 to_send) neuronspi_spi_uart_write(neuronspi_s_dev[port->dev_index], port->buf, to_send, port->dev_port); } -static int32_t neuronspi_uart_alloc_line(void) +static s32 neuronspi_uart_alloc_line(void) { - int32_t i; + s32 i; BUILD_BUG_ON(NEURONSPI_MAX_DEVS > BITS_PER_LONG); for (i = 0; i < NEURONSPI_MAX_DEVS; i++) @@ -1122,14 +1122,14 @@ static int32_t neuronspi_uart_alloc_line(void) return i; } -static void neuronspi_uart_power(struct uart_port *port, int32_t on) +static void neuronspi_uart_power(struct uart_port *port, s32 on) { /* Do nothing */ } -static void neuronspi_uart_handle_rx(struct neuronspi_port *port, uint32_t rxlen, uint32_t iir) +static void neuronspi_uart_handle_rx(struct neuronspi_port *port, u32 rxlen, u32 iir) { - uint32_t ch, flag, bytes_read, i; + u32 ch, flag, bytes_read, i; while (rxlen) { neuronspi_uart_fifo_read(&port->port, rxlen); @@ -1156,7 +1156,7 @@ static void neuronspi_uart_handle_rx(struct neuronspi_port *port, uint32_t rxlen static void neuronspi_uart_handle_tx(struct neuronspi_port *port) { - uint32_t txlen, to_send, i; + u32 txlen, to_send, i; struct spi_device *spi; struct neuronspi_driver_data *d_data; struct circ_buf *xmit; @@ -1201,7 +1201,7 @@ static void neuronspi_uart_handle_tx(struct neuronspi_port *port) uart_write_wakeup(&port->port); } -static void neuronspi_uart_handle_irq(struct neuronspi_uart_data *uart_data, int32_t portno) +static void neuronspi_uart_handle_irq(struct neuronspi_uart_data *uart_data, s32 portno) { struct neuronspi_port *n_port = &uart_data->p[portno]; struct spi_device *spi = neuronspi_s_dev[n_port->dev_index]; @@ -1219,9 +1219,9 @@ static void neuronspi_uart_ist(struct kthread_work *ws) neuronspi_uart_handle_irq(p->parent, p->line); } -static irqreturn_t neuronspi_spi_irq(int32_t irq, void *dev_id) +static irqreturn_t neuronspi_spi_irq(s32 irq, void *dev_id) { - int32_t i; + s32 i; struct spi_device *spi; struct neuronspi_driver_data *d_data; struct neuronspi_uart_data *u_data; @@ -1264,8 +1264,8 @@ static void neuronspi_led_proc(struct kthread_work *ws) static void neuronspi_uart_rx_proc(struct kthread_work *ws) { - int32_t end_flag = 0; - int32_t read_count = 0; + s32 end_flag = 0; + s32 read_count = 0; struct neuronspi_port *n_port = to_neuronspi_port(ws, rx_work); struct spi_device *spi = neuronspi_s_dev[n_port->dev_index]; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi); @@ -1317,11 +1317,11 @@ static void neuronspi_uart_start_tx(struct uart_port *port) kthread_queue_work(&n_port->parent->kworker, &n_port->tx_work); } -static int32_t neuronspi_uart_poll(void *data) +static s32 neuronspi_uart_poll(void *data) { struct neuronspi_driver_data *d_data = (struct neuronspi_driver_data*) data; struct neuronspi_uart_data *u_data; - int32_t i; + s32 i; while (!kthread_should_stop()) { usleep_range(2000,8000); if (d_data->uart_count) { @@ -1336,7 +1336,7 @@ static int32_t neuronspi_uart_poll(void *data) return 0; } -static int32_t neuronspi_regmap_invalidate(void *data) +static s32 neuronspi_regmap_invalidate(void *data) { int i; int freq_cnt = 0; @@ -1357,7 +1357,7 @@ static int32_t neuronspi_regmap_invalidate(void *data) return 0; } -static void neuronspi_regmap_invalidate_device(struct regmap *reg_map, struct neuronspi_board_combination *device_def, uint32_t period_counter) +static void neuronspi_regmap_invalidate_device(struct regmap *reg_map, struct neuronspi_board_combination *device_def, u32 period_counter) { int block_start, block_len, block_counter, current_period, period_len; int i; @@ -1427,7 +1427,7 @@ static void neuronspi_regmap_invalidate_device(struct regmap *reg_map, struct ne } } -static uint32_t neuronspi_uart_tx_empty(struct uart_port *port) +static u32 neuronspi_uart_tx_empty(struct uart_port *port) { #if NEURONSPI_DETAILED_DEBUG > 0 printk(KERN_INFO "NEURONSPI: UART TX Empty\n"); @@ -1435,7 +1435,7 @@ static uint32_t neuronspi_uart_tx_empty(struct uart_port *port) return TIOCSER_TEMT; } -static uint32_t neuronspi_uart_get_mctrl(struct uart_port *port) +static u32 neuronspi_uart_get_mctrl(struct uart_port *port) { /* DCD and DSR are not wired and CTS/RTS is handled automatically * so just indicate DSR and CAR asserted @@ -1446,7 +1446,7 @@ static uint32_t neuronspi_uart_get_mctrl(struct uart_port *port) return TIOCM_DSR | TIOCM_CAR; } -static void neuronspi_uart_set_mctrl(struct uart_port *port, uint32_t mctrl) {} +static void neuronspi_uart_set_mctrl(struct uart_port *port, u32 mctrl) {} int neuronspi_uart_ioctl (struct uart_port *port, unsigned int ioctl_code, unsigned long ioctl_arg) { @@ -1492,7 +1492,7 @@ static void neuronspi_uart_break_ctl(struct uart_port *port, int break_state) static void neuronspi_uart_set_termios(struct uart_port *port, struct ktermios *termios, struct ktermios *old) { - int32_t baud; + s32 baud; struct neuronspi_port *n_port; n_port = to_neuronspi_port(port, port); if (old && old->c_iflag && old->c_iflag != termios->c_iflag) { @@ -1520,14 +1520,14 @@ static void neuronspi_uart_set_termios(struct uart_port *port, struct ktermios * uart_update_timeout(port, termios->c_cflag, baud); } -static int32_t neuronspi_uart_config_rs485(struct uart_port *port, struct serial_rs485 *rs485) +static s32 neuronspi_uart_config_rs485(struct uart_port *port, struct serial_rs485 *rs485) { port->rs485 = *rs485; return 0; } // Initialise the module -static int32_t neuronspi_uart_startup(struct uart_port *port) +static s32 neuronspi_uart_startup(struct uart_port *port) { struct neuronspi_port *n_port = to_neuronspi_port(port, port); struct spi_device *spi = neuronspi_s_dev[n_port->dev_index]; @@ -1556,7 +1556,7 @@ static const char* neuronspi_uart_type(struct uart_port *port) return port->type == PORT_NEURONSPI ? "NEURONSPI_NAME" : NULL; } -static int32_t neuronspi_uart_request_port(struct uart_port *port) +static s32 neuronspi_uart_request_port(struct uart_port *port) { #if NEURONSPI_DETAILED_DEBUG > 0 printk(KERN_DEBUG "NEURONSPI: Requested port %d\n", port->line); @@ -1570,7 +1570,7 @@ static void neuronspi_uart_config_port(struct uart_port *port, int flags) port->type = PORT_NEURONSPI; } -static int32_t neuronspi_uart_verify_port(struct uart_port *port, +static s32 neuronspi_uart_verify_port(struct uart_port *port, struct serial_struct *s) { if ((s->type != PORT_UNKNOWN) && (s->type != PORT_NEURONSPI)) @@ -1581,7 +1581,7 @@ static int32_t neuronspi_uart_verify_port(struct uart_port *port, return 0; } -static void neuronspi_uart_pm(struct uart_port *port, uint32_t state, uint32_t oldstate) +static void neuronspi_uart_pm(struct uart_port *port, u32 state, u32 oldstate) { neuronspi_uart_power(port, (state == UART_PM_STATE_ON) ? 1 : 0); } @@ -1591,11 +1591,11 @@ static void neuronspi_uart_null_void(struct uart_port *port) /* Do nothing */ } -static int32_t neuronspi_uart_probe(struct spi_device* dev, u8 device_index) +static s32 neuronspi_uart_probe(struct spi_device* dev, u8 device_index) { struct neuronspi_driver_data* driver_data = spi_get_drvdata(dev); struct sched_param sched_param = { .sched_priority = MAX_RT_PRIO / 2 }; - int32_t i, j, ret, new_uart_count; + s32 i, j, ret, new_uart_count; struct neuronspi_uart_data *uart_data = driver_data->uart_data; if (uart_data->p == NULL) { @@ -1693,11 +1693,11 @@ static int32_t neuronspi_uart_probe(struct spi_device* dev, u8 device_index) return ret; } -static int32_t neuronspi_uart_remove(struct neuronspi_uart_data *u_data) +static s32 neuronspi_uart_remove(struct neuronspi_uart_data *u_data) { struct neuronspi_driver_data *d_data; struct spi_device *spi; - int32_t i; + s32 i; for (i = 0; i < NEURONSPI_MAX_DEVS; i++) { if (!(neuronspi_s_dev[i] == NULL)) { @@ -1722,9 +1722,9 @@ void neuronspi_spi_led_set_brightness(struct spi_device* spi_dev, enum led_brigh { u8 *message_buf; u8 *recv_buf; - uint16_t crc1; + u16 crc1; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); - int32_t frequency = NEURONSPI_COMMON_FREQ; + s32 frequency = NEURONSPI_COMMON_FREQ; if (d_data->slower_model) { frequency = NEURONSPI_SLOWER_FREQ; } @@ -1762,11 +1762,11 @@ void neuronspi_spi_led_set_brightness(struct spi_device* spi_dev, enum led_brigh kfree(recv_buf); } -int neuronspi_spi_gpio_di_get(struct spi_device* spi_dev, uint32_t id) +int neuronspi_spi_gpio_di_get(struct spi_device* spi_dev, u32 id) { u8 *recv_buf; bool ret = 0; - uint32_t offset = id / 16; + u32 offset = id / 16; struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); recv_buf = kzalloc(4, GFP_KERNEL); printk(KERN_INFO "NEURONSPI: REGMAP TEST: %d\n", regmap_read(d_data->reg_map, d_data->regstart_table->di_val_reg + offset, (void*)recv_buf)); @@ -1778,13 +1778,13 @@ int neuronspi_spi_gpio_di_get(struct spi_device* spi_dev, uint32_t id) return ret; } -int neuronspi_spi_gpio_do_set(struct spi_device* spi_dev, uint32_t id, int value) +int neuronspi_spi_gpio_do_set(struct spi_device* spi_dev, u32 id, int value) { u32 current_value = 0; bool ret = 0; - uint32_t offset = id / 16; - uint16_t off_val = value << (id % 16); - uint16_t mask = ~(1 << (id % 16)); + u32 offset = id / 16; + u16 off_val = value << (id % 16); + u16 mask = ~(1 << (id % 16)); struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); regmap_read(d_data->reg_map, d_data->regstart_table->do_val_reg + offset, ¤t_value); current_value&= mask; @@ -1794,13 +1794,13 @@ int neuronspi_spi_gpio_do_set(struct spi_device* spi_dev, uint32_t id, int value return ret; } -int neuronspi_spi_gpio_ro_set(struct spi_device* spi_dev, uint32_t id, int value) +int neuronspi_spi_gpio_ro_set(struct spi_device* spi_dev, u32 id, int value) { u32 current_value = 0; bool ret = 0; - uint32_t offset = id / 16; - uint16_t off_val = value << (id % 16); - uint16_t mask = ~(1 << (id % 16)); + u32 offset = id / 16; + u16 off_val = value << (id % 16); + u16 mask = ~(1 << (id % 16)); struct neuronspi_driver_data *d_data = spi_get_drvdata(spi_dev); regmap_read(d_data->reg_map, d_data->regstart_table->ro_val_reg + offset, ¤t_value); current_value&= mask; @@ -1905,11 +1905,11 @@ int neuronspi_regmap_hw_gather_write(void *context, const void *reg, size_t reg_ } else { for (i = 0; i < reg_size; i++) { // Swap endianness - cpu_to_be16s((uint16_t*)&(mb_val_buf[i])); + cpu_to_be16s((u16*)&(mb_val_buf[i])); // Check for continuity and read the largest possible continuous block if (block_counter == (reg_size - 1) || ((mb_reg_buf[i] + 1) != mb_reg_buf[i + 1])) { write_length = neuronspi_spi_compose_multiple_register_write(block_counter, mb_reg_buf[i - block_counter], &inp_buf, &outp_buf, - (uint8_t*)(&mb_val_buf[i - block_counter])); + (u8*)(&mb_val_buf[i - block_counter])); neuronspi_spi_send_message(spi, inp_buf, outp_buf, write_length, n_spi->ideal_frequency, 125, 1); block_counter = 0; kfree(inp_buf); @@ -1984,7 +1984,7 @@ static int neuronspi_create_reg_starts(struct neuronspi_board_regstart_table *ou return 0; } -static int32_t neuronspi_find_reg_start(struct neuronspi_board_combination *board, uint16_t regfun) { +static s32 neuronspi_find_reg_start(struct neuronspi_board_combination *board, u16 regfun) { int i; int block_start = -1; int block_len = -1; @@ -2009,7 +2009,7 @@ static int32_t neuronspi_find_reg_start(struct neuronspi_board_combination *boar return -1; } -static int32_t neuronspi_find_model_id(uint32_t probe_count) +static s32 neuronspi_find_model_id(u32 probe_count) { struct neuronspi_driver_data *n_spi; int i,j, ret = -1; @@ -2065,7 +2065,7 @@ static ssize_t neuronspi_show_eeprom(struct device *dev, struct device_attribute static ssize_t neuronspi_spi_show_serial(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val[2] = {0, 0}; + u32 val[2] = {0, 0}; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2080,7 +2080,7 @@ static ssize_t neuronspi_spi_show_serial(struct device *dev, struct device_attri static ssize_t neuronspi_spi_show_hw_version(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2094,7 +2094,7 @@ static ssize_t neuronspi_spi_show_hw_version(struct device *dev, struct device_a static ssize_t neuronspi_spi_show_hw_flash_version(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2108,7 +2108,7 @@ static ssize_t neuronspi_spi_show_hw_flash_version(struct device *dev, struct de static ssize_t neuronspi_spi_show_fw_version(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2122,7 +2122,7 @@ static ssize_t neuronspi_spi_show_fw_version(struct device *dev, struct device_a static ssize_t neuronspi_spi_show_uart_queue_length(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2136,7 +2136,7 @@ static ssize_t neuronspi_spi_show_uart_queue_length(struct device *dev, struct d static ssize_t neuronspi_spi_show_uart_config(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2166,7 +2166,7 @@ err_end: static ssize_t neuronspi_spi_show_watchdog_status(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2196,7 +2196,7 @@ err_end: static ssize_t neuronspi_spi_show_watchdog_timeout(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2226,7 +2226,7 @@ err_end: static ssize_t neuronspi_spi_gpio_show_pwm_presc(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_do_driver *n_do; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); @@ -2260,7 +2260,7 @@ err_end: static ssize_t neuronspi_spi_gpio_show_pwm_freq(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_do_driver *n_do; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); @@ -2294,7 +2294,7 @@ err_end: static ssize_t neuronspi_spi_gpio_show_pwm_cycle(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_do_driver *n_do; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); @@ -2328,7 +2328,7 @@ err_end: static ssize_t neuronspi_spi_gpio_di_show_counter(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_di_driver *n_di; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); @@ -2362,7 +2362,7 @@ err_end: static ssize_t neuronspi_spi_gpio_di_show_debounce(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_di_driver *n_di; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); @@ -2630,7 +2630,7 @@ err_end: static ssize_t neuronspi_show_regmap(struct device *dev, struct device_attribute *attr, char *buf) { ssize_t ret = 0; - uint32_t val = 0; + u32 val = 0; struct neuronspi_driver_data *n_spi; struct platform_device *plat = to_platform_device(dev); n_spi = platform_get_drvdata(plat); @@ -2823,14 +2823,14 @@ static ssize_t neuronspi_spi_gpio_show_ro_count(struct device *dev, struct devic return ret; } -static int32_t neuronspi_spi_probe(struct spi_device *spi) +static s32 neuronspi_spi_probe(struct spi_device *spi) { const struct neuronspi_devtype *devtype; struct sched_param sched_param = { .sched_priority = MAX_RT_PRIO / 2 }; struct neuronspi_driver_data *n_spi; - int32_t ret, i, no_irq = 0; + s32 ret, i, no_irq = 0; u8 uart_count = 0; n_spi = kzalloc(sizeof *n_spi, GFP_KERNEL); spin_lock(&neuronspi_probe_spinlock); @@ -3277,7 +3277,7 @@ reg1001: %x, reg1002: %x, reg1003: %x, reg1004: %x\n", return ret; } -static int32_t neuronspi_spi_remove(struct spi_device *spi) +static s32 neuronspi_spi_remove(struct spi_device *spi) { int i; struct neuronspi_driver_data *n_spi = spi_get_drvdata(spi); @@ -3362,9 +3362,9 @@ static int32_t neuronspi_spi_remove(struct spi_device *spi) return 0; } -static int32_t char_register_driver(void) +static s32 char_register_driver(void) { - int32_t ret = 0; + s32 ret = 0; // Character device registration #if NEURONSPI_DETAILED_DEBUG > 0 @@ -3404,7 +3404,7 @@ static int32_t char_register_driver(void) return ret; } -static int32_t char_unregister_driver(void) +static s32 char_unregister_driver(void) { device_destroy(neuronspi_cdrv.driver_class, MKDEV(neuronspi_cdrv.major_number, 0)); // Destroy the device class_unregister(neuronspi_cdrv.driver_class); // Unregister the class @@ -3420,9 +3420,9 @@ static int32_t char_unregister_driver(void) MODULE_ALIAS("spi:neuronspi"); -static int32_t __init neuronspi_init(void) +static s32 __init neuronspi_init(void) { - int32_t ret = 0; + s32 ret = 0; neuronspi_spi_w_spinlock = kzalloc(sizeof(struct spinlock), GFP_KERNEL); spin_lock_init(neuronspi_spi_w_spinlock); mutex_init(&neuronspi_master_mutex); diff --git a/modules/neuron_spi/neuronspi.h b/modules/neuron_spi/src/unipi_spi.h similarity index 100% rename from modules/neuron_spi/neuronspi.h rename to modules/neuron_spi/src/unipi_spi.h diff --git a/modules/neuron_spi/neuronspi.o.rc b/modules/neuron_spi/src/unipi_spi.o.rc similarity index 96% rename from modules/neuron_spi/neuronspi.o.rc rename to modules/neuron_spi/src/unipi_spi.o.rc index 3bb7416ee7308550cab8146e2111f41ffa10d75f..793c55b7b028ab9b6a107e599a79c52670b35f30 100644 GIT binary patch delta 517 zcmaEJf%U@$)(HxXA2urXZRRR2O4cvU%Ph!@-@J8mwgTgg$%47nf{)}IyFN|TF&$ws0V=R#8 zGJRq!V>x5W8G9z{UejhYpUikucyi7)0meO(Yp~(dY$$Nnup6P-KK#s&@-W%$SD$^4|9EHiTK#tAy zjUbN3 + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ diff --git a/modules/neuron_spi/src/unipi_sysfs.h b/modules/neuron_spi/src/unipi_sysfs.h new file mode 100644 index 0000000..5509cea --- /dev/null +++ b/modules/neuron_spi/src/unipi_sysfs.h @@ -0,0 +1,22 @@ +/* + * UniPi Neuron tty serial driver - Copyright (C) 2018 UniPi Technologies + * Author: Tomas Knot + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ + +#ifndef MODULES_NEURON_SPI_SRC_UNIPI_SYSFS_H_ +#define MODULES_NEURON_SPI_SRC_UNIPI_SYSFS_H_ + + + + + +#endif /* MODULES_NEURON_SPI_SRC_UNIPI_SYSFS_H_ */ diff --git a/modules/neuron_spi/src/unipi_uart.c b/modules/neuron_spi/src/unipi_uart.c new file mode 100644 index 0000000..b43a7f5 --- /dev/null +++ b/modules/neuron_spi/src/unipi_uart.c @@ -0,0 +1,13 @@ +/* + * UniPi Neuron tty serial driver - Copyright (C) 2018 UniPi Technologies + * Author: Tomas Knot + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ diff --git a/modules/neuron_spi/src/unipi_uart.h b/modules/neuron_spi/src/unipi_uart.h new file mode 100644 index 0000000..06ec148 --- /dev/null +++ b/modules/neuron_spi/src/unipi_uart.h @@ -0,0 +1,22 @@ +/* + * UniPi Neuron tty serial driver - Copyright (C) 2018 UniPi Technologies + * Author: Tomas Knot + * + * Based on the SC16IS7xx driver by Jon Ringle , + * which was in turn based on max310x.c, by Alexander Shiyan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ + +#ifndef MODULES_NEURON_SPI_SRC_UNIPI_UART_H_ +#define MODULES_NEURON_SPI_SRC_UNIPI_UART_H_ + + + + + +#endif /* MODULES_NEURON_SPI_SRC_UNIPI_UART_H_ */ diff --git a/modules/test_module/.neuronspi.ko.cmd b/modules/test_module/.neuronspi.ko.cmd deleted file mode 100644 index 47def56..0000000 --- a/modules/test_module/.neuronspi.ko.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/root/kernel/test_module/neuronspi.ko := /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-ld -EL -r -T ./scripts/module-common.lds --build-id -o /root/kernel/test_module/neuronspi.ko /root/kernel/test_module/neuronspi.o /root/kernel/test_module/neuronspi.mod.o ; true diff --git a/modules/test_module/.neuronspi.mod.o.cmd b/modules/test_module/.neuronspi.mod.o.cmd deleted file mode 100644 index 3f8055a..0000000 --- a/modules/test_module/.neuronspi.mod.o.cmd +++ /dev/null @@ -1,453 +0,0 @@ -cmd_/root/kernel/test_module/neuronspi.mod.o := /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc -Wp,-MD,/root/kernel/test_module/.neuronspi.mod.o.d -nostdinc -isystem /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include -I./arch/arm/include -I./arch/arm/include/generated/uapi -I./arch/arm/include/generated -I./include -I./arch/arm/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -DKBUILD_BASENAME='"neuronspi.mod"' -DKBUILD_MODNAME='"neuronspi"' -DMODULE -c -o /root/kernel/test_module/neuronspi.mod.o /root/kernel/test_module/neuronspi.mod.c - -source_/root/kernel/test_module/neuronspi.mod.o := /root/kernel/test_module/neuronspi.mod.c - -deps_/root/kernel/test_module/neuronspi.mod.o := \ - $(wildcard include/config/module/unload.h) \ - include/linux/module.h \ - $(wildcard include/config/modules.h) \ - $(wildcard include/config/sysfs.h) \ - $(wildcard include/config/modules/tree/lookup.h) \ - $(wildcard include/config/livepatch.h) \ - $(wildcard include/config/unused/symbols.h) \ - $(wildcard include/config/module/sig.h) \ - $(wildcard include/config/generic/bug.h) \ - $(wildcard include/config/kallsyms.h) \ - $(wildcard include/config/smp.h) \ - $(wildcard include/config/tracepoints.h) \ - $(wildcard include/config/tracing.h) \ - $(wildcard include/config/event/tracing.h) \ - $(wildcard include/config/ftrace/mcount/record.h) \ - $(wildcard include/config/constructors.h) \ - $(wildcard include/config/debug/set/module/ronx.h) \ - include/linux/list.h \ - $(wildcard include/config/debug/list.h) \ - include/linux/types.h \ - $(wildcard include/config/have/uid16.h) \ - $(wildcard include/config/uid16.h) \ - $(wildcard include/config/lbdaf.h) \ - $(wildcard include/config/arch/dma/addr/t/64bit.h) \ - $(wildcard include/config/phys/addr/t/64bit.h) \ - $(wildcard include/config/64bit.h) \ - include/uapi/linux/types.h \ - arch/arm/include/asm/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/arm/include/generated/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - include/uapi/asm-generic/bitsperlong.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - include/linux/compiler.h \ - $(wildcard include/config/sparse/rcu/pointer.h) \ - $(wildcard include/config/trace/branch/profiling.h) \ - $(wildcard include/config/profile/all/branches.h) \ - $(wildcard include/config/kasan.h) \ - $(wildcard include/config/enable/must/check.h) \ - $(wildcard include/config/enable/warn/deprecated.h) \ - $(wildcard include/config/kprobes.h) \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/arch/supports/optimized/inlining.h) \ - $(wildcard include/config/optimize/inlining.h) \ - $(wildcard include/config/gcov/kernel.h) \ - $(wildcard include/config/arch/use/builtin/bswap.h) \ - arch/arm/include/uapi/asm/posix_types.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/poison.h \ - $(wildcard include/config/illegal/pointer/value.h) \ - $(wildcard include/config/page/poisoning/zero.h) \ - include/uapi/linux/const.h \ - include/linux/kernel.h \ - $(wildcard include/config/preempt/voluntary.h) \ - $(wildcard include/config/debug/atomic/sleep.h) \ - $(wildcard include/config/mmu.h) \ - $(wildcard include/config/prove/locking.h) \ - $(wildcard include/config/panic/timeout.h) \ - /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include/stdarg.h \ - include/linux/linkage.h \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/have/underscore/symbol/prefix.h) \ - $(wildcard include/config/modversions.h) \ - $(wildcard include/config/trim/unused/ksyms.h) \ - arch/arm/include/asm/linkage.h \ - include/linux/bitops.h \ - arch/arm/include/asm/bitops.h \ - include/linux/irqflags.h \ - $(wildcard include/config/trace/irqflags.h) \ - $(wildcard include/config/irqsoff/tracer.h) \ - $(wildcard include/config/preempt/tracer.h) \ - $(wildcard include/config/trace/irqflags/support.h) \ - include/linux/typecheck.h \ - arch/arm/include/asm/irqflags.h \ - $(wildcard include/config/cpu/v7m.h) \ - arch/arm/include/asm/ptrace.h \ - $(wildcard include/config/arm/thumb.h) \ - $(wildcard include/config/thumb2/kernel.h) \ - arch/arm/include/uapi/asm/ptrace.h \ - $(wildcard include/config/cpu/endian/be8.h) \ - arch/arm/include/asm/hwcap.h \ - arch/arm/include/uapi/asm/hwcap.h \ - include/asm-generic/irqflags.h \ - arch/arm/include/asm/barrier.h \ - $(wildcard include/config/cpu/32v6k.h) \ - $(wildcard include/config/cpu/xsc3.h) \ - $(wildcard include/config/cpu/fa526.h) \ - $(wildcard include/config/arm/heavy/mb.h) \ - $(wildcard include/config/arm/dma/mem/bufferable.h) \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/non-atomic.h \ - include/asm-generic/bitops/fls64.h \ - include/asm-generic/bitops/sched.h \ - include/asm-generic/bitops/hweight.h \ - include/asm-generic/bitops/arch_hweight.h \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/lock.h \ - include/asm-generic/bitops/le.h \ - arch/arm/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/arm/include/asm/swab.h \ - arch/arm/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/log2.h \ - $(wildcard include/config/arch/has/ilog2/u32.h) \ - $(wildcard include/config/arch/has/ilog2/u64.h) \ - include/linux/printk.h \ - $(wildcard include/config/message/loglevel/default.h) \ - $(wildcard include/config/early/printk.h) \ - $(wildcard include/config/printk/nmi.h) \ - $(wildcard include/config/printk.h) \ - $(wildcard include/config/dynamic/debug.h) \ - include/linux/init.h \ - $(wildcard include/config/debug/rodata.h) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/arch/has/cache/line/size.h) \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/arm/include/asm/cache.h \ - $(wildcard include/config/arm/l1/cache/shift.h) \ - $(wildcard include/config/aeabi.h) \ - arch/arm/include/asm/div64.h \ - arch/arm/include/asm/compiler.h \ - include/asm-generic/div64.h \ - include/linux/stat.h \ - arch/arm/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/time.h \ - $(wildcard include/config/arch/uses/gettimeoffset.h) \ - include/linux/seqlock.h \ - $(wildcard include/config/debug/lock/alloc.h) \ - include/linux/spinlock.h \ - $(wildcard include/config/debug/spinlock.h) \ - $(wildcard include/config/generic/lockbreak.h) \ - $(wildcard include/config/preempt.h) \ - include/linux/preempt.h \ - $(wildcard include/config/preempt/count.h) \ - $(wildcard include/config/debug/preempt.h) \ - $(wildcard include/config/preempt/notifiers.h) \ - arch/arm/include/generated/asm/preempt.h \ - include/asm-generic/preempt.h \ - include/linux/thread_info.h \ - $(wildcard include/config/thread/info/in/task.h) \ - $(wildcard include/config/compat.h) \ - $(wildcard include/config/debug/stack/usage.h) \ - $(wildcard include/config/have/arch/within/stack/frames.h) \ - $(wildcard include/config/hardened/usercopy.h) \ - include/linux/bug.h \ - arch/arm/include/asm/bug.h \ - $(wildcard include/config/debug/bugverbose.h) \ - $(wildcard include/config/arm/lpae.h) \ - arch/arm/include/asm/opcodes.h \ - $(wildcard include/config/cpu/endian/be32.h) \ - include/asm-generic/bug.h \ - $(wildcard include/config/bug.h) \ - $(wildcard include/config/generic/bug/relative/pointers.h) \ - arch/arm/include/asm/thread_info.h \ - $(wildcard include/config/crunch.h) \ - $(wildcard include/config/arm/thumbee.h) \ - arch/arm/include/asm/fpstate.h \ - $(wildcard include/config/vfpv3.h) \ - $(wildcard include/config/iwmmxt.h) \ - arch/arm/include/asm/page.h \ - $(wildcard include/config/cpu/copy/v4wt.h) \ - $(wildcard include/config/cpu/copy/v4wb.h) \ - $(wildcard include/config/cpu/copy/feroceon.h) \ - $(wildcard include/config/cpu/copy/fa.h) \ - $(wildcard include/config/cpu/sa1100.h) \ - $(wildcard include/config/cpu/xscale.h) \ - $(wildcard include/config/cpu/copy/v6.h) \ - $(wildcard include/config/kuser/helpers.h) \ - $(wildcard include/config/have/arch/pfn/valid.h) \ - arch/arm/include/asm/glue.h \ - arch/arm/include/asm/pgtable-2level-types.h \ - arch/arm/include/asm/memory.h \ - $(wildcard include/config/need/mach/memory/h.h) \ - $(wildcard include/config/page/offset.h) \ - $(wildcard include/config/highmem.h) \ - $(wildcard include/config/dram/base.h) \ - $(wildcard include/config/dram/size.h) \ - $(wildcard include/config/have/tcm.h) \ - $(wildcard include/config/arm/patch/phys/virt.h) \ - $(wildcard include/config/phys/offset.h) \ - $(wildcard include/config/xip/kernel.h) \ - $(wildcard include/config/xip/phys/addr.h) \ - include/linux/sizes.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/flatmem.h) \ - $(wildcard include/config/discontigmem.h) \ - $(wildcard include/config/sparsemem/vmemmap.h) \ - $(wildcard include/config/sparsemem.h) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - include/linux/bottom_half.h \ - include/linux/spinlock_types.h \ - arch/arm/include/asm/spinlock_types.h \ - include/linux/lockdep.h \ - $(wildcard include/config/lockdep.h) \ - $(wildcard include/config/lock/stat.h) \ - include/linux/rwlock_types.h \ - arch/arm/include/asm/spinlock.h \ - include/linux/prefetch.h \ - arch/arm/include/asm/processor.h \ - $(wildcard include/config/have/hw/breakpoint.h) \ - $(wildcard include/config/arm/errata/754327.h) \ - arch/arm/include/asm/hw_breakpoint.h \ - arch/arm/include/asm/unified.h \ - $(wildcard include/config/arm/asm/unified.h) \ - include/linux/rwlock.h \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/inline/spin/lock.h) \ - $(wildcard include/config/inline/spin/lock/bh.h) \ - $(wildcard include/config/inline/spin/lock/irq.h) \ - $(wildcard include/config/inline/spin/lock/irqsave.h) \ - $(wildcard include/config/inline/spin/trylock.h) \ - $(wildcard include/config/inline/spin/trylock/bh.h) \ - $(wildcard include/config/uninline/spin/unlock.h) \ - $(wildcard include/config/inline/spin/unlock/bh.h) \ - $(wildcard include/config/inline/spin/unlock/irq.h) \ - $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/inline/read/lock.h) \ - $(wildcard include/config/inline/write/lock.h) \ - $(wildcard include/config/inline/read/lock/bh.h) \ - $(wildcard include/config/inline/write/lock/bh.h) \ - $(wildcard include/config/inline/read/lock/irq.h) \ - $(wildcard include/config/inline/write/lock/irq.h) \ - $(wildcard include/config/inline/read/lock/irqsave.h) \ - $(wildcard include/config/inline/write/lock/irqsave.h) \ - $(wildcard include/config/inline/read/trylock.h) \ - $(wildcard include/config/inline/write/trylock.h) \ - $(wildcard include/config/inline/read/unlock.h) \ - $(wildcard include/config/inline/write/unlock.h) \ - $(wildcard include/config/inline/read/unlock/bh.h) \ - $(wildcard include/config/inline/write/unlock/bh.h) \ - $(wildcard include/config/inline/read/unlock/irq.h) \ - $(wildcard include/config/inline/write/unlock/irq.h) \ - $(wildcard include/config/inline/read/unlock/irqrestore.h) \ - $(wildcard include/config/inline/write/unlock/irqrestore.h) \ - include/linux/atomic.h \ - $(wildcard include/config/generic/atomic64.h) \ - arch/arm/include/asm/atomic.h \ - arch/arm/include/asm/cmpxchg.h \ - $(wildcard include/config/cpu/sa110.h) \ - $(wildcard include/config/cpu/v6.h) \ - include/asm-generic/cmpxchg-local.h \ - include/asm-generic/atomic-long.h \ - include/linux/math64.h \ - $(wildcard include/config/arch/supports/int128.h) \ - include/linux/time64.h \ - include/uapi/linux/time.h \ - include/linux/uidgid.h \ - $(wildcard include/config/multiuser.h) \ - $(wildcard include/config/user/ns.h) \ - include/linux/highuid.h \ - include/linux/kmod.h \ - include/linux/gfp.h \ - $(wildcard include/config/zone/dma.h) \ - $(wildcard include/config/zone/dma32.h) \ - $(wildcard include/config/zone/device.h) \ - $(wildcard include/config/numa.h) \ - $(wildcard include/config/pm/sleep.h) \ - $(wildcard include/config/memory/isolation.h) \ - $(wildcard include/config/compaction.h) \ - $(wildcard include/config/cma.h) \ - include/linux/mmdebug.h \ - $(wildcard include/config/debug/vm.h) \ - $(wildcard include/config/debug/virtual.h) \ - $(wildcard include/config/debug/vm/pgflags.h) \ - include/linux/mmzone.h \ - $(wildcard include/config/force/max/zoneorder.h) \ - $(wildcard include/config/zsmalloc.h) \ - $(wildcard include/config/memcg.h) \ - $(wildcard include/config/memory/hotplug.h) \ - $(wildcard include/config/flat/node/mem/map.h) \ - $(wildcard include/config/page/extension.h) \ - $(wildcard include/config/no/bootmem.h) \ - $(wildcard include/config/numa/balancing.h) \ - $(wildcard include/config/deferred/struct/page/init.h) \ - $(wildcard include/config/transparent/hugepage.h) \ - $(wildcard include/config/have/memory/present.h) \ - $(wildcard include/config/have/memoryless/nodes.h) \ - $(wildcard include/config/need/node/memmap/size.h) \ - $(wildcard include/config/have/memblock/node/map.h) \ - $(wildcard include/config/need/multiple/nodes.h) \ - $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ - $(wildcard include/config/sparsemem/extreme.h) \ - $(wildcard include/config/holes/in/zone.h) \ - $(wildcard include/config/arch/has/holes/memorymodel.h) \ - include/linux/wait.h \ - arch/arm/include/generated/asm/current.h \ - include/asm-generic/current.h \ - include/uapi/linux/wait.h \ - include/linux/threads.h \ - $(wildcard include/config/nr/cpus.h) \ - $(wildcard include/config/base/small.h) \ - include/linux/numa.h \ - $(wildcard include/config/nodes/shift.h) \ - include/linux/nodemask.h \ - $(wildcard include/config/movable/node.h) \ - include/linux/bitmap.h \ - $(wildcard include/config/s390.h) \ - include/linux/string.h \ - $(wildcard include/config/binary/printf.h) \ - include/uapi/linux/string.h \ - arch/arm/include/asm/string.h \ - $(wildcard include/config/bcm2835/fast/memcpy.h) \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/hugetlb/page.h) \ - $(wildcard include/config/hugetlb/page/size/variable.h) \ - include/linux/page-flags-layout.h \ - include/generated/bounds.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/memory/hotremove.h) \ - $(wildcard include/config/have/arch/nodedata/extension.h) \ - $(wildcard include/config/have/bootmem/info/node.h) \ - include/linux/notifier.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - arch/arm/include/generated/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - include/linux/mutex.h \ - $(wildcard include/config/debug/mutexes.h) \ - $(wildcard include/config/mutex/spin/on/owner.h) \ - include/linux/osq_lock.h \ - include/linux/rwsem.h \ - $(wildcard include/config/rwsem/spin/on/owner.h) \ - $(wildcard include/config/rwsem/generic/spinlock.h) \ - include/linux/err.h \ - arch/arm/include/generated/asm/rwsem.h \ - include/asm-generic/rwsem.h \ - include/linux/srcu.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/tiny/rcu.h) \ - $(wildcard include/config/tree/rcu.h) \ - $(wildcard include/config/preempt/rcu.h) \ - $(wildcard include/config/rcu/trace.h) \ - $(wildcard include/config/rcu/stall/common.h) \ - $(wildcard include/config/no/hz/full.h) \ - $(wildcard include/config/rcu/nocb/cpu.h) \ - $(wildcard include/config/tasks/rcu.h) \ - $(wildcard include/config/debug/objects/rcu/head.h) \ - $(wildcard include/config/hotplug/cpu.h) \ - $(wildcard include/config/prove/rcu.h) \ - $(wildcard include/config/rcu/boost.h) \ - $(wildcard include/config/rcu/nocb/cpu/all.h) \ - $(wildcard include/config/no/hz/full/sysidle.h) \ - include/linux/cpumask.h \ - $(wildcard include/config/cpumask/offstack.h) \ - $(wildcard include/config/debug/per/cpu/maps.h) \ - include/linux/completion.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/debug/objects.h) \ - $(wildcard include/config/debug/objects/free.h) \ - include/linux/ktime.h \ - include/linux/jiffies.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - include/uapi/linux/param.h \ - arch/arm/include/generated/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/hz.h) \ - include/uapi/asm-generic/param.h \ - arch/arm/include/asm/timex.h \ - include/generated/timeconst.h \ - include/linux/timekeeping.h \ - include/linux/rcutree.h \ - include/linux/workqueue.h \ - $(wildcard include/config/debug/objects/work.h) \ - $(wildcard include/config/freezer.h) \ - $(wildcard include/config/wq/watchdog.h) \ - include/linux/timer.h \ - $(wildcard include/config/timer/stats.h) \ - $(wildcard include/config/debug/objects/timers.h) \ - $(wildcard include/config/no/hz/common.h) \ - include/linux/sysctl.h \ - $(wildcard include/config/sysctl.h) \ - include/linux/rbtree.h \ - include/uapi/linux/sysctl.h \ - include/linux/topology.h \ - $(wildcard include/config/use/percpu/numa/node/id.h) \ - $(wildcard include/config/sched/smt.h) \ - include/linux/smp.h \ - $(wildcard include/config/up/late/init.h) \ - include/linux/llist.h \ - $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ - arch/arm/include/asm/smp.h \ - include/linux/percpu.h \ - $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ - $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ - $(wildcard include/config/have/setup/per/cpu/area.h) \ - arch/arm/include/asm/percpu.h \ - include/asm-generic/percpu.h \ - include/linux/percpu-defs.h \ - $(wildcard include/config/debug/force/weak/per/cpu.h) \ - arch/arm/include/asm/topology.h \ - $(wildcard include/config/arm/cpu/topology.h) \ - include/asm-generic/topology.h \ - include/linux/elf.h \ - arch/arm/include/asm/elf.h \ - $(wildcard include/config/vdso.h) \ - arch/arm/include/asm/auxvec.h \ - arch/arm/include/uapi/asm/auxvec.h \ - arch/arm/include/asm/vdso_datapage.h \ - arch/arm/include/asm/user.h \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/kobject.h \ - $(wildcard include/config/uevent/helper.h) \ - $(wildcard include/config/debug/kobject/release.h) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/kernfs.h) \ - include/linux/idr.h \ - include/linux/kobject_ns.h \ - include/linux/kref.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/alpha.h) \ - $(wildcard include/config/ia64.h) \ - $(wildcard include/config/ppc64.h) \ - include/linux/jump_label.h \ - $(wildcard include/config/jump/label.h) \ - arch/arm/include/asm/jump_label.h \ - include/linux/extable.h \ - include/linux/rbtree_latch.h \ - arch/arm/include/asm/module.h \ - $(wildcard include/config/arm/unwind.h) \ - $(wildcard include/config/arm/module/plts.h) \ - include/asm-generic/module.h \ - $(wildcard include/config/have/mod/arch/specific.h) \ - $(wildcard include/config/modules/use/elf/rel.h) \ - $(wildcard include/config/modules/use/elf/rela.h) \ - include/linux/vermagic.h \ - include/generated/utsrelease.h \ - -/root/kernel/test_module/neuronspi.mod.o: $(deps_/root/kernel/test_module/neuronspi.mod.o) - -$(deps_/root/kernel/test_module/neuronspi.mod.o): diff --git a/modules/test_module/.neuronspi.o.cmd b/modules/test_module/.neuronspi.o.cmd deleted file mode 100644 index ad6c3d4..0000000 --- a/modules/test_module/.neuronspi.o.cmd +++ /dev/null @@ -1,944 +0,0 @@ -cmd_/root/kernel/test_module/neuronspi.o := /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc -Wp,-MD,/root/kernel/test_module/.neuronspi.o.d -nostdinc -isystem /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include -I./arch/arm/include -I./arch/arm/include/generated/uapi -I./arch/arm/include/generated -I./include -I./arch/arm/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -DMODULE -DKBUILD_BASENAME='"neuronspi"' -DKBUILD_MODNAME='"neuronspi"' -c -o /root/kernel/test_module/.tmp_neuronspi.o /root/kernel/test_module/neuronspi.c - -source_/root/kernel/test_module/neuronspi.o := /root/kernel/test_module/neuronspi.c - -deps_/root/kernel/test_module/neuronspi.o := \ - $(wildcard include/config/gpiolib.h) \ - $(wildcard include/config/type.h) \ - include/linux/bitops.h \ - arch/arm/include/asm/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/arm/include/generated/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - $(wildcard include/config/64bit.h) \ - include/uapi/asm-generic/bitsperlong.h \ - arch/arm/include/asm/bitops.h \ - $(wildcard include/config/smp.h) \ - include/linux/compiler.h \ - $(wildcard include/config/sparse/rcu/pointer.h) \ - $(wildcard include/config/trace/branch/profiling.h) \ - $(wildcard include/config/profile/all/branches.h) \ - $(wildcard include/config/kasan.h) \ - $(wildcard include/config/enable/must/check.h) \ - $(wildcard include/config/enable/warn/deprecated.h) \ - $(wildcard include/config/kprobes.h) \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/arch/supports/optimized/inlining.h) \ - $(wildcard include/config/optimize/inlining.h) \ - $(wildcard include/config/gcov/kernel.h) \ - $(wildcard include/config/arch/use/builtin/bswap.h) \ - include/uapi/linux/types.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - arch/arm/include/uapi/asm/posix_types.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/irqflags.h \ - $(wildcard include/config/trace/irqflags.h) \ - $(wildcard include/config/irqsoff/tracer.h) \ - $(wildcard include/config/preempt/tracer.h) \ - $(wildcard include/config/trace/irqflags/support.h) \ - include/linux/typecheck.h \ - arch/arm/include/asm/irqflags.h \ - $(wildcard include/config/cpu/v7m.h) \ - arch/arm/include/asm/ptrace.h \ - $(wildcard include/config/arm/thumb.h) \ - $(wildcard include/config/thumb2/kernel.h) \ - arch/arm/include/uapi/asm/ptrace.h \ - $(wildcard include/config/cpu/endian/be8.h) \ - arch/arm/include/asm/hwcap.h \ - arch/arm/include/uapi/asm/hwcap.h \ - include/linux/types.h \ - $(wildcard include/config/have/uid16.h) \ - $(wildcard include/config/uid16.h) \ - $(wildcard include/config/lbdaf.h) \ - $(wildcard include/config/arch/dma/addr/t/64bit.h) \ - $(wildcard include/config/phys/addr/t/64bit.h) \ - include/asm-generic/irqflags.h \ - arch/arm/include/asm/barrier.h \ - $(wildcard include/config/cpu/32v6k.h) \ - $(wildcard include/config/cpu/xsc3.h) \ - $(wildcard include/config/cpu/fa526.h) \ - $(wildcard include/config/arm/heavy/mb.h) \ - $(wildcard include/config/arm/dma/mem/bufferable.h) \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/non-atomic.h \ - include/asm-generic/bitops/fls64.h \ - include/asm-generic/bitops/sched.h \ - include/asm-generic/bitops/hweight.h \ - include/asm-generic/bitops/arch_hweight.h \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/lock.h \ - include/asm-generic/bitops/le.h \ - arch/arm/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/arm/include/asm/swab.h \ - arch/arm/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/clk.h \ - $(wildcard include/config/common/clk.h) \ - $(wildcard include/config/have/clk/prepare.h) \ - $(wildcard include/config/have/clk.h) \ - $(wildcard include/config/of.h) \ - include/linux/err.h \ - arch/arm/include/generated/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - include/linux/kernel.h \ - $(wildcard include/config/preempt/voluntary.h) \ - $(wildcard include/config/debug/atomic/sleep.h) \ - $(wildcard include/config/mmu.h) \ - $(wildcard include/config/prove/locking.h) \ - $(wildcard include/config/panic/timeout.h) \ - $(wildcard include/config/tracing.h) \ - $(wildcard include/config/ftrace/mcount/record.h) \ - /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include/stdarg.h \ - include/linux/linkage.h \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/have/underscore/symbol/prefix.h) \ - $(wildcard include/config/modules.h) \ - $(wildcard include/config/modversions.h) \ - $(wildcard include/config/trim/unused/ksyms.h) \ - $(wildcard include/config/unused/symbols.h) \ - arch/arm/include/asm/linkage.h \ - include/linux/log2.h \ - $(wildcard include/config/arch/has/ilog2/u32.h) \ - $(wildcard include/config/arch/has/ilog2/u64.h) \ - include/linux/printk.h \ - $(wildcard include/config/message/loglevel/default.h) \ - $(wildcard include/config/early/printk.h) \ - $(wildcard include/config/printk/nmi.h) \ - $(wildcard include/config/printk.h) \ - $(wildcard include/config/dynamic/debug.h) \ - include/linux/init.h \ - $(wildcard include/config/debug/rodata.h) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/arch/has/cache/line/size.h) \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/arm/include/asm/cache.h \ - $(wildcard include/config/arm/l1/cache/shift.h) \ - $(wildcard include/config/aeabi.h) \ - arch/arm/include/asm/div64.h \ - arch/arm/include/asm/compiler.h \ - include/asm-generic/div64.h \ - include/linux/notifier.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - include/linux/mutex.h \ - $(wildcard include/config/debug/mutexes.h) \ - $(wildcard include/config/mutex/spin/on/owner.h) \ - $(wildcard include/config/debug/lock/alloc.h) \ - arch/arm/include/generated/asm/current.h \ - include/asm-generic/current.h \ - include/linux/thread_info.h \ - $(wildcard include/config/thread/info/in/task.h) \ - $(wildcard include/config/compat.h) \ - $(wildcard include/config/debug/stack/usage.h) \ - $(wildcard include/config/have/arch/within/stack/frames.h) \ - $(wildcard include/config/hardened/usercopy.h) \ - include/linux/bug.h \ - $(wildcard include/config/generic/bug.h) \ - arch/arm/include/asm/bug.h \ - $(wildcard include/config/debug/bugverbose.h) \ - $(wildcard include/config/arm/lpae.h) \ - arch/arm/include/asm/opcodes.h \ - $(wildcard include/config/cpu/endian/be32.h) \ - include/asm-generic/bug.h \ - $(wildcard include/config/bug.h) \ - $(wildcard include/config/generic/bug/relative/pointers.h) \ - arch/arm/include/asm/thread_info.h \ - $(wildcard include/config/crunch.h) \ - $(wildcard include/config/arm/thumbee.h) \ - arch/arm/include/asm/fpstate.h \ - $(wildcard include/config/vfpv3.h) \ - $(wildcard include/config/iwmmxt.h) \ - arch/arm/include/asm/page.h \ - $(wildcard include/config/cpu/copy/v4wt.h) \ - $(wildcard include/config/cpu/copy/v4wb.h) \ - $(wildcard include/config/cpu/copy/feroceon.h) \ - $(wildcard include/config/cpu/copy/fa.h) \ - $(wildcard include/config/cpu/sa1100.h) \ - $(wildcard include/config/cpu/xscale.h) \ - $(wildcard include/config/cpu/copy/v6.h) \ - $(wildcard include/config/kuser/helpers.h) \ - $(wildcard include/config/have/arch/pfn/valid.h) \ - arch/arm/include/asm/glue.h \ - arch/arm/include/asm/pgtable-2level-types.h \ - arch/arm/include/asm/memory.h \ - $(wildcard include/config/need/mach/memory/h.h) \ - $(wildcard include/config/page/offset.h) \ - $(wildcard include/config/highmem.h) \ - $(wildcard include/config/dram/base.h) \ - $(wildcard include/config/dram/size.h) \ - $(wildcard include/config/have/tcm.h) \ - $(wildcard include/config/arm/patch/phys/virt.h) \ - $(wildcard include/config/phys/offset.h) \ - $(wildcard include/config/xip/kernel.h) \ - $(wildcard include/config/xip/phys/addr.h) \ - include/uapi/linux/const.h \ - include/linux/sizes.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/flatmem.h) \ - $(wildcard include/config/discontigmem.h) \ - $(wildcard include/config/sparsemem/vmemmap.h) \ - $(wildcard include/config/sparsemem.h) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - include/linux/list.h \ - $(wildcard include/config/debug/list.h) \ - include/linux/poison.h \ - $(wildcard include/config/illegal/pointer/value.h) \ - $(wildcard include/config/page/poisoning/zero.h) \ - include/linux/spinlock_types.h \ - $(wildcard include/config/generic/lockbreak.h) \ - $(wildcard include/config/debug/spinlock.h) \ - arch/arm/include/asm/spinlock_types.h \ - include/linux/lockdep.h \ - $(wildcard include/config/lockdep.h) \ - $(wildcard include/config/lock/stat.h) \ - include/linux/rwlock_types.h \ - include/linux/atomic.h \ - $(wildcard include/config/generic/atomic64.h) \ - arch/arm/include/asm/atomic.h \ - include/linux/prefetch.h \ - arch/arm/include/asm/processor.h \ - $(wildcard include/config/have/hw/breakpoint.h) \ - $(wildcard include/config/arm/errata/754327.h) \ - arch/arm/include/asm/hw_breakpoint.h \ - arch/arm/include/asm/unified.h \ - $(wildcard include/config/arm/asm/unified.h) \ - arch/arm/include/asm/cmpxchg.h \ - $(wildcard include/config/cpu/sa110.h) \ - $(wildcard include/config/cpu/v6.h) \ - include/asm-generic/cmpxchg-local.h \ - include/asm-generic/atomic-long.h \ - include/linux/osq_lock.h \ - include/linux/rwsem.h \ - $(wildcard include/config/rwsem/spin/on/owner.h) \ - $(wildcard include/config/rwsem/generic/spinlock.h) \ - include/linux/spinlock.h \ - $(wildcard include/config/preempt.h) \ - include/linux/preempt.h \ - $(wildcard include/config/preempt/count.h) \ - $(wildcard include/config/debug/preempt.h) \ - $(wildcard include/config/preempt/notifiers.h) \ - arch/arm/include/generated/asm/preempt.h \ - include/asm-generic/preempt.h \ - include/linux/bottom_half.h \ - arch/arm/include/asm/spinlock.h \ - include/linux/rwlock.h \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/inline/spin/lock.h) \ - $(wildcard include/config/inline/spin/lock/bh.h) \ - $(wildcard include/config/inline/spin/lock/irq.h) \ - $(wildcard include/config/inline/spin/lock/irqsave.h) \ - $(wildcard include/config/inline/spin/trylock.h) \ - $(wildcard include/config/inline/spin/trylock/bh.h) \ - $(wildcard include/config/uninline/spin/unlock.h) \ - $(wildcard include/config/inline/spin/unlock/bh.h) \ - $(wildcard include/config/inline/spin/unlock/irq.h) \ - $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/inline/read/lock.h) \ - $(wildcard include/config/inline/write/lock.h) \ - $(wildcard include/config/inline/read/lock/bh.h) \ - $(wildcard include/config/inline/write/lock/bh.h) \ - $(wildcard include/config/inline/read/lock/irq.h) \ - $(wildcard include/config/inline/write/lock/irq.h) \ - $(wildcard include/config/inline/read/lock/irqsave.h) \ - $(wildcard include/config/inline/write/lock/irqsave.h) \ - $(wildcard include/config/inline/read/trylock.h) \ - $(wildcard include/config/inline/write/trylock.h) \ - $(wildcard include/config/inline/read/unlock.h) \ - $(wildcard include/config/inline/write/unlock.h) \ - $(wildcard include/config/inline/read/unlock/bh.h) \ - $(wildcard include/config/inline/write/unlock/bh.h) \ - $(wildcard include/config/inline/read/unlock/irq.h) \ - $(wildcard include/config/inline/write/unlock/irq.h) \ - $(wildcard include/config/inline/read/unlock/irqrestore.h) \ - $(wildcard include/config/inline/write/unlock/irqrestore.h) \ - arch/arm/include/generated/asm/rwsem.h \ - include/asm-generic/rwsem.h \ - include/linux/srcu.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/tiny/rcu.h) \ - $(wildcard include/config/tree/rcu.h) \ - $(wildcard include/config/preempt/rcu.h) \ - $(wildcard include/config/rcu/trace.h) \ - $(wildcard include/config/rcu/stall/common.h) \ - $(wildcard include/config/no/hz/full.h) \ - $(wildcard include/config/rcu/nocb/cpu.h) \ - $(wildcard include/config/tasks/rcu.h) \ - $(wildcard include/config/debug/objects/rcu/head.h) \ - $(wildcard include/config/hotplug/cpu.h) \ - $(wildcard include/config/prove/rcu.h) \ - $(wildcard include/config/rcu/boost.h) \ - $(wildcard include/config/rcu/nocb/cpu/all.h) \ - $(wildcard include/config/no/hz/full/sysidle.h) \ - include/linux/threads.h \ - $(wildcard include/config/nr/cpus.h) \ - $(wildcard include/config/base/small.h) \ - include/linux/cpumask.h \ - $(wildcard include/config/cpumask/offstack.h) \ - $(wildcard include/config/debug/per/cpu/maps.h) \ - include/linux/bitmap.h \ - $(wildcard include/config/s390.h) \ - include/linux/string.h \ - $(wildcard include/config/binary/printf.h) \ - include/uapi/linux/string.h \ - arch/arm/include/asm/string.h \ - $(wildcard include/config/bcm2835/fast/memcpy.h) \ - include/linux/seqlock.h \ - include/linux/completion.h \ - include/linux/wait.h \ - include/uapi/linux/wait.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/debug/objects.h) \ - $(wildcard include/config/debug/objects/free.h) \ - include/linux/ktime.h \ - include/linux/time.h \ - $(wildcard include/config/arch/uses/gettimeoffset.h) \ - include/linux/math64.h \ - $(wildcard include/config/arch/supports/int128.h) \ - include/linux/time64.h \ - include/uapi/linux/time.h \ - include/linux/jiffies.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - include/uapi/linux/param.h \ - arch/arm/include/generated/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/hz.h) \ - include/uapi/asm-generic/param.h \ - arch/arm/include/asm/timex.h \ - include/generated/timeconst.h \ - include/linux/timekeeping.h \ - include/linux/rcutree.h \ - include/linux/workqueue.h \ - $(wildcard include/config/debug/objects/work.h) \ - $(wildcard include/config/freezer.h) \ - $(wildcard include/config/sysfs.h) \ - $(wildcard include/config/wq/watchdog.h) \ - include/linux/timer.h \ - $(wildcard include/config/timer/stats.h) \ - $(wildcard include/config/debug/objects/timers.h) \ - $(wildcard include/config/no/hz/common.h) \ - include/linux/sysctl.h \ - $(wildcard include/config/sysctl.h) \ - include/linux/rbtree.h \ - include/linux/uidgid.h \ - $(wildcard include/config/multiuser.h) \ - $(wildcard include/config/user/ns.h) \ - include/linux/highuid.h \ - include/uapi/linux/sysctl.h \ - include/linux/delay.h \ - arch/arm/include/asm/delay.h \ - include/linux/device.h \ - $(wildcard include/config/debug/devres.h) \ - $(wildcard include/config/generic/msi/irq/domain.h) \ - $(wildcard include/config/pinctrl.h) \ - $(wildcard include/config/generic/msi/irq.h) \ - $(wildcard include/config/numa.h) \ - $(wildcard include/config/dma/cma.h) \ - $(wildcard include/config/pm/sleep.h) \ - $(wildcard include/config/devtmpfs.h) \ - $(wildcard include/config/sysfs/deprecated.h) \ - include/linux/ioport.h \ - $(wildcard include/config/memory/hotremove.h) \ - include/linux/kobject.h \ - $(wildcard include/config/uevent/helper.h) \ - $(wildcard include/config/debug/kobject/release.h) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/kernfs.h) \ - include/linux/idr.h \ - include/linux/kobject_ns.h \ - include/linux/stat.h \ - arch/arm/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/kref.h \ - include/linux/klist.h \ - include/linux/pinctrl/devinfo.h \ - $(wildcard include/config/pm.h) \ - include/linux/pinctrl/consumer.h \ - include/linux/seq_file.h \ - include/linux/nodemask.h \ - $(wildcard include/config/movable/node.h) \ - include/linux/numa.h \ - $(wildcard include/config/nodes/shift.h) \ - include/linux/fs.h \ - $(wildcard include/config/fs/posix/acl.h) \ - $(wildcard include/config/security.h) \ - $(wildcard include/config/cgroup/writeback.h) \ - $(wildcard include/config/ima.h) \ - $(wildcard include/config/fsnotify.h) \ - $(wildcard include/config/fs/encryption.h) \ - $(wildcard include/config/epoll.h) \ - $(wildcard include/config/file/locking.h) \ - $(wildcard include/config/quota.h) \ - $(wildcard include/config/fs/dax.h) \ - $(wildcard include/config/mandatory/file/locking.h) \ - $(wildcard include/config/block.h) \ - $(wildcard include/config/migration.h) \ - include/linux/kdev_t.h \ - include/uapi/linux/kdev_t.h \ - include/linux/dcache.h \ - include/linux/rculist.h \ - include/linux/rculist_bl.h \ - include/linux/list_bl.h \ - include/linux/bit_spinlock.h \ - include/linux/lockref.h \ - $(wildcard include/config/arch/use/cmpxchg/lockref.h) \ - include/generated/bounds.h \ - include/linux/stringhash.h \ - $(wildcard include/config/dcache/word/access.h) \ - include/linux/hash.h \ - $(wildcard include/config/have/arch/hash.h) \ - include/linux/path.h \ - include/linux/list_lru.h \ - $(wildcard include/config/memcg.h) \ - $(wildcard include/config/slob.h) \ - include/linux/shrinker.h \ - include/linux/llist.h \ - $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ - include/linux/radix-tree.h \ - $(wildcard include/config/radix/tree/multiorder.h) \ - include/linux/pid.h \ - include/linux/capability.h \ - include/uapi/linux/capability.h \ - include/linux/semaphore.h \ - include/uapi/linux/fiemap.h \ - include/linux/migrate_mode.h \ - include/linux/percpu-rwsem.h \ - include/linux/percpu.h \ - $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ - $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ - $(wildcard include/config/have/setup/per/cpu/area.h) \ - include/linux/mmdebug.h \ - $(wildcard include/config/debug/vm.h) \ - $(wildcard include/config/debug/virtual.h) \ - $(wildcard include/config/debug/vm/pgflags.h) \ - include/linux/smp.h \ - $(wildcard include/config/up/late/init.h) \ - arch/arm/include/asm/smp.h \ - arch/arm/include/asm/percpu.h \ - include/asm-generic/percpu.h \ - include/linux/percpu-defs.h \ - $(wildcard include/config/debug/force/weak/per/cpu.h) \ - include/linux/rcu_sync.h \ - include/linux/blk_types.h \ - $(wildcard include/config/blk/cgroup.h) \ - $(wildcard include/config/blk/dev/integrity.h) \ - include/linux/bvec.h \ - include/linux/delayed_call.h \ - include/uapi/linux/fs.h \ - include/uapi/linux/limits.h \ - include/uapi/linux/ioctl.h \ - arch/arm/include/generated/asm/ioctl.h \ - include/asm-generic/ioctl.h \ - include/uapi/asm-generic/ioctl.h \ - include/linux/quota.h \ - $(wildcard include/config/quota/netlink/interface.h) \ - include/linux/percpu_counter.h \ - include/linux/gfp.h \ - $(wildcard include/config/zone/dma.h) \ - $(wildcard include/config/zone/dma32.h) \ - $(wildcard include/config/zone/device.h) \ - $(wildcard include/config/memory/isolation.h) \ - $(wildcard include/config/compaction.h) \ - $(wildcard include/config/cma.h) \ - include/linux/mmzone.h \ - $(wildcard include/config/force/max/zoneorder.h) \ - $(wildcard include/config/zsmalloc.h) \ - $(wildcard include/config/memory/hotplug.h) \ - $(wildcard include/config/flat/node/mem/map.h) \ - $(wildcard include/config/page/extension.h) \ - $(wildcard include/config/no/bootmem.h) \ - $(wildcard include/config/numa/balancing.h) \ - $(wildcard include/config/deferred/struct/page/init.h) \ - $(wildcard include/config/transparent/hugepage.h) \ - $(wildcard include/config/have/memory/present.h) \ - $(wildcard include/config/have/memoryless/nodes.h) \ - $(wildcard include/config/need/node/memmap/size.h) \ - $(wildcard include/config/have/memblock/node/map.h) \ - $(wildcard include/config/need/multiple/nodes.h) \ - $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ - $(wildcard include/config/sparsemem/extreme.h) \ - $(wildcard include/config/holes/in/zone.h) \ - $(wildcard include/config/arch/has/holes/memorymodel.h) \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/hugetlb/page.h) \ - $(wildcard include/config/hugetlb/page/size/variable.h) \ - include/linux/page-flags-layout.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/have/arch/nodedata/extension.h) \ - $(wildcard include/config/have/bootmem/info/node.h) \ - include/linux/topology.h \ - $(wildcard include/config/use/percpu/numa/node/id.h) \ - $(wildcard include/config/sched/smt.h) \ - arch/arm/include/asm/topology.h \ - $(wildcard include/config/arm/cpu/topology.h) \ - include/asm-generic/topology.h \ - include/uapi/linux/dqblk_xfs.h \ - include/linux/dqblk_v1.h \ - include/linux/dqblk_v2.h \ - include/linux/dqblk_qtree.h \ - include/linux/projid.h \ - include/uapi/linux/quota.h \ - include/linux/nfs_fs_i.h \ - include/linux/fcntl.h \ - include/uapi/linux/fcntl.h \ - arch/arm/include/uapi/asm/fcntl.h \ - include/uapi/asm-generic/fcntl.h \ - include/linux/cred.h \ - $(wildcard include/config/debug/credentials.h) \ - $(wildcard include/config/keys.h) \ - include/linux/key.h \ - include/linux/assoc_array.h \ - $(wildcard include/config/associative/array.h) \ - include/linux/selinux.h \ - $(wildcard include/config/security/selinux.h) \ - include/linux/pinctrl/pinctrl-state.h \ - include/linux/pm.h \ - $(wildcard include/config/vt/console/sleep.h) \ - $(wildcard include/config/pm/clk.h) \ - $(wildcard include/config/pm/generic/domains.h) \ - include/linux/ratelimit.h \ - include/linux/sched.h \ - $(wildcard include/config/sched/debug.h) \ - $(wildcard include/config/lockup/detector.h) \ - $(wildcard include/config/detect/hung/task.h) \ - $(wildcard include/config/core/dump/default/elf/headers.h) \ - $(wildcard include/config/virt/cpu/accounting/native.h) \ - $(wildcard include/config/sched/autogroup.h) \ - $(wildcard include/config/bsd/process/acct.h) \ - $(wildcard include/config/taskstats.h) \ - $(wildcard include/config/audit.h) \ - $(wildcard include/config/inotify/user.h) \ - $(wildcard include/config/fanotify.h) \ - $(wildcard include/config/posix/mqueue.h) \ - $(wildcard include/config/perf/events.h) \ - $(wildcard include/config/bpf/syscall.h) \ - $(wildcard include/config/sched/info.h) \ - $(wildcard include/config/task/delay/acct.h) \ - $(wildcard include/config/schedstats.h) \ - $(wildcard include/config/sched/mc.h) \ - $(wildcard include/config/fair/group/sched.h) \ - $(wildcard include/config/rt/group/sched.h) \ - $(wildcard include/config/cgroup/sched.h) \ - $(wildcard include/config/blk/dev/io/trace.h) \ - $(wildcard include/config/compat/brk.h) \ - $(wildcard include/config/cgroups.h) \ - $(wildcard include/config/cc/stackprotector.h) \ - $(wildcard include/config/virt/cpu/accounting/gen.h) \ - $(wildcard include/config/sysvipc.h) \ - $(wildcard include/config/auditsyscall.h) \ - $(wildcard include/config/rt/mutexes.h) \ - $(wildcard include/config/ubsan.h) \ - $(wildcard include/config/task/xacct.h) \ - $(wildcard include/config/cpusets.h) \ - $(wildcard include/config/futex.h) \ - $(wildcard include/config/arch/want/batched/unmap/tlb/flush.h) \ - $(wildcard include/config/fault/injection.h) \ - $(wildcard include/config/latencytop.h) \ - $(wildcard include/config/function/graph/tracer.h) \ - $(wildcard include/config/kcov.h) \ - $(wildcard include/config/uprobes.h) \ - $(wildcard include/config/bcache.h) \ - $(wildcard include/config/vmap/stack.h) \ - $(wildcard include/config/arch/wants/dynamic/task/struct.h) \ - $(wildcard include/config/have/unstable/sched/clock.h) \ - $(wildcard include/config/irq/time/accounting.h) \ - $(wildcard include/config/proc/fs.h) \ - $(wildcard include/config/stack/growsup.h) \ - $(wildcard include/config/have/copy/thread/tls.h) \ - $(wildcard include/config/have/exit/thread.h) \ - $(wildcard include/config/cpu/freq.h) \ - include/uapi/linux/sched.h \ - include/linux/sched/prio.h \ - include/linux/plist.h \ - $(wildcard include/config/debug/pi/list.h) \ - include/linux/mm_types.h \ - $(wildcard include/config/split/ptlock/cpus.h) \ - $(wildcard include/config/arch/enable/split/pmd/ptlock.h) \ - $(wildcard include/config/have/cmpxchg/double.h) \ - $(wildcard include/config/have/aligned/struct/page.h) \ - $(wildcard include/config/kmemcheck.h) \ - $(wildcard include/config/userfaultfd.h) \ - $(wildcard include/config/pgtable/levels.h) \ - $(wildcard include/config/aio.h) \ - $(wildcard include/config/mmu/notifier.h) \ - $(wildcard include/config/x86/intel/mpx.h) \ - include/linux/auxvec.h \ - include/uapi/linux/auxvec.h \ - arch/arm/include/asm/auxvec.h \ - arch/arm/include/uapi/asm/auxvec.h \ - include/linux/uprobes.h \ - arch/arm/include/asm/mmu.h \ - $(wildcard include/config/cpu/has/asid.h) \ - $(wildcard include/config/vdso.h) \ - include/linux/cputime.h \ - arch/arm/include/generated/asm/cputime.h \ - include/asm-generic/cputime.h \ - $(wildcard include/config/virt/cpu/accounting.h) \ - include/asm-generic/cputime_jiffies.h \ - include/linux/sem.h \ - include/uapi/linux/sem.h \ - include/linux/ipc.h \ - include/uapi/linux/ipc.h \ - arch/arm/include/generated/asm/ipcbuf.h \ - include/uapi/asm-generic/ipcbuf.h \ - arch/arm/include/generated/asm/sembuf.h \ - include/uapi/asm-generic/sembuf.h \ - include/linux/shm.h \ - include/uapi/linux/shm.h \ - arch/arm/include/generated/asm/shmbuf.h \ - include/uapi/asm-generic/shmbuf.h \ - arch/arm/include/asm/shmparam.h \ - include/linux/signal.h \ - $(wildcard include/config/old/sigaction.h) \ - include/uapi/linux/signal.h \ - arch/arm/include/asm/signal.h \ - arch/arm/include/uapi/asm/signal.h \ - include/uapi/asm-generic/signal-defs.h \ - arch/arm/include/uapi/asm/sigcontext.h \ - arch/arm/include/generated/asm/siginfo.h \ - include/asm-generic/siginfo.h \ - include/uapi/asm-generic/siginfo.h \ - include/linux/seccomp.h \ - $(wildcard include/config/seccomp.h) \ - $(wildcard include/config/have/arch/seccomp/filter.h) \ - $(wildcard include/config/seccomp/filter.h) \ - $(wildcard include/config/checkpoint/restore.h) \ - include/uapi/linux/seccomp.h \ - arch/arm/include/generated/asm/seccomp.h \ - include/asm-generic/seccomp.h \ - include/uapi/linux/unistd.h \ - arch/arm/include/asm/unistd.h \ - $(wildcard include/config/oabi/compat.h) \ - arch/arm/include/uapi/asm/unistd.h \ - include/linux/rtmutex.h \ - $(wildcard include/config/debug/rt/mutexes.h) \ - include/linux/resource.h \ - include/uapi/linux/resource.h \ - arch/arm/include/generated/asm/resource.h \ - include/asm-generic/resource.h \ - include/uapi/asm-generic/resource.h \ - include/linux/hrtimer.h \ - $(wildcard include/config/high/res/timers.h) \ - $(wildcard include/config/time/low/res.h) \ - $(wildcard include/config/timerfd.h) \ - include/linux/timerqueue.h \ - include/linux/kcov.h \ - include/uapi/linux/kcov.h \ - include/linux/task_io_accounting.h \ - $(wildcard include/config/task/io/accounting.h) \ - include/linux/latencytop.h \ - include/uapi/linux/magic.h \ - include/linux/cgroup-defs.h \ - $(wildcard include/config/sock/cgroup/data.h) \ - include/linux/percpu-refcount.h \ - include/linux/cgroup_subsys.h \ - $(wildcard include/config/cgroup/cpuacct.h) \ - $(wildcard include/config/cgroup/device.h) \ - $(wildcard include/config/cgroup/freezer.h) \ - $(wildcard include/config/cgroup/net/classid.h) \ - $(wildcard include/config/cgroup/perf.h) \ - $(wildcard include/config/cgroup/net/prio.h) \ - $(wildcard include/config/cgroup/hugetlb.h) \ - $(wildcard include/config/cgroup/pids.h) \ - $(wildcard include/config/cgroup/debug.h) \ - arch/arm/include/asm/device.h \ - $(wildcard include/config/dmabounce.h) \ - $(wildcard include/config/iommu/api.h) \ - $(wildcard include/config/arm/dma/use/iommu.h) \ - $(wildcard include/config/arch/omap.h) \ - include/linux/pm_wakeup.h \ - include/linux/gpio.h \ - $(wildcard include/config/arch/have/custom/gpio/h.h) \ - arch/arm/include/asm/gpio.h \ - $(wildcard include/config/arch/nr/gpio.h) \ - include/asm-generic/gpio.h \ - include/linux/of.h \ - $(wildcard include/config/sparc.h) \ - $(wildcard include/config/of/dynamic.h) \ - $(wildcard include/config/attach/node.h) \ - $(wildcard include/config/detach/node.h) \ - $(wildcard include/config/add/property.h) \ - $(wildcard include/config/remove/property.h) \ - $(wildcard include/config/update/property.h) \ - $(wildcard include/config/of/numa.h) \ - $(wildcard include/config/no/change.h) \ - $(wildcard include/config/change/add.h) \ - $(wildcard include/config/change/remove.h) \ - $(wildcard include/config/of/resolve.h) \ - $(wildcard include/config/of/overlay.h) \ - include/linux/mod_devicetable.h \ - include/linux/uuid.h \ - include/uapi/linux/uuid.h \ - include/linux/property.h \ - include/linux/fwnode.h \ - include/linux/gpio/driver.h \ - $(wildcard include/config/gpio/generic.h) \ - $(wildcard include/config/gpiolib/irqchip.h) \ - $(wildcard include/config/of/gpio.h) \ - include/linux/irq.h \ - $(wildcard include/config/generic/irq/ipi.h) \ - $(wildcard include/config/irq/domain/hierarchy.h) \ - $(wildcard include/config/generic/pending/irq.h) \ - $(wildcard include/config/hardirqs/sw/resend.h) \ - $(wildcard include/config/generic/irq/legacy/alloc/hwirq.h) \ - $(wildcard include/config/generic/irq/legacy.h) \ - include/linux/irqhandler.h \ - include/linux/irqreturn.h \ - include/linux/irqnr.h \ - include/uapi/linux/irqnr.h \ - include/linux/io.h \ - $(wildcard include/config/have/arch/huge/vmap.h) \ - $(wildcard include/config/has/ioport/map.h) \ - arch/arm/include/asm/io.h \ - $(wildcard include/config/pci.h) \ - $(wildcard include/config/need/mach/io/h.h) \ - $(wildcard include/config/pcmcia/soc/common.h) \ - $(wildcard include/config/isa.h) \ - $(wildcard include/config/pccard.h) \ - include/asm-generic/pci_iomap.h \ - $(wildcard include/config/no/generic/pci/ioport/map.h) \ - $(wildcard include/config/generic/pci/iomap.h) \ - include/xen/xen.h \ - $(wildcard include/config/xen.h) \ - $(wildcard include/config/xen/dom0.h) \ - $(wildcard include/config/xen/pvh.h) \ - include/asm-generic/io.h \ - $(wildcard include/config/generic/iomap.h) \ - $(wildcard include/config/virt/to/bus.h) \ - include/linux/vmalloc.h \ - arch/arm/include/asm/irq.h \ - $(wildcard include/config/sparse/irq.h) \ - $(wildcard include/config/multi/irq/handler.h) \ - arch/arm/include/generated/asm/irq_regs.h \ - include/asm-generic/irq_regs.h \ - include/linux/irqdesc.h \ - $(wildcard include/config/irq/preflow/fasteoi.h) \ - $(wildcard include/config/handle/domain/irq.h) \ - arch/arm/include/asm/hw_irq.h \ - include/linux/irqchip/chained_irq.h \ - include/linux/irqdomain.h \ - $(wildcard include/config/irq/domain.h) \ - include/linux/pinctrl/pinctrl.h \ - $(wildcard include/config/generic/pinconf.h) \ - include/linux/gpio/consumer.h \ - $(wildcard include/config/gpio/sysfs.h) \ - include/linux/i2c.h \ - $(wildcard include/config/i2c.h) \ - $(wildcard include/config/i2c/slave.h) \ - $(wildcard include/config/i2c/boardinfo.h) \ - $(wildcard include/config/i2c/mux.h) \ - $(wildcard include/config/acpi.h) \ - include/uapi/linux/i2c.h \ - include/linux/module.h \ - $(wildcard include/config/modules/tree/lookup.h) \ - $(wildcard include/config/livepatch.h) \ - $(wildcard include/config/module/sig.h) \ - $(wildcard include/config/kallsyms.h) \ - $(wildcard include/config/tracepoints.h) \ - $(wildcard include/config/event/tracing.h) \ - $(wildcard include/config/module/unload.h) \ - $(wildcard include/config/constructors.h) \ - $(wildcard include/config/debug/set/module/ronx.h) \ - include/linux/kmod.h \ - include/linux/elf.h \ - arch/arm/include/asm/elf.h \ - arch/arm/include/asm/vdso_datapage.h \ - arch/arm/include/asm/user.h \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/alpha.h) \ - $(wildcard include/config/ia64.h) \ - $(wildcard include/config/ppc64.h) \ - include/linux/jump_label.h \ - $(wildcard include/config/jump/label.h) \ - arch/arm/include/asm/jump_label.h \ - include/linux/extable.h \ - include/linux/rbtree_latch.h \ - arch/arm/include/asm/module.h \ - $(wildcard include/config/arm/unwind.h) \ - $(wildcard include/config/arm/module/plts.h) \ - include/asm-generic/module.h \ - $(wildcard include/config/have/mod/arch/specific.h) \ - $(wildcard include/config/modules/use/elf/rel.h) \ - $(wildcard include/config/modules/use/elf/rela.h) \ - include/linux/of_device.h \ - include/linux/cpu.h \ - $(wildcard include/config/pm/sleep/smp.h) \ - include/linux/node.h \ - $(wildcard include/config/memory/hotplug/sparse.h) \ - $(wildcard include/config/hugetlbfs.h) \ - include/linux/cpuhotplug.h \ - include/linux/platform_device.h \ - $(wildcard include/config/suspend.h) \ - $(wildcard include/config/hibernate/callbacks.h) \ - include/linux/of_platform.h \ - $(wildcard include/config/of/address.h) \ - include/linux/regmap.h \ - $(wildcard include/config/regmap.h) \ - include/linux/serial_core.h \ - $(wildcard include/config/serial/core/console.h) \ - $(wildcard include/config/console/poll.h) \ - $(wildcard include/config/irq.h) \ - $(wildcard include/config/serial/earlycon.h) \ - include/linux/interrupt.h \ - $(wildcard include/config/irq/forced/threading.h) \ - $(wildcard include/config/generic/irq/probe.h) \ - include/linux/hardirq.h \ - include/linux/ftrace_irq.h \ - $(wildcard include/config/ftrace/nmi/enter.h) \ - $(wildcard include/config/hwlat/tracer.h) \ - include/linux/vtime.h \ - include/linux/context_tracking_state.h \ - $(wildcard include/config/context/tracking.h) \ - include/linux/static_key.h \ - arch/arm/include/asm/hardirq.h \ - include/linux/irq_cpustat.h \ - include/linux/circ_buf.h \ - include/linux/tty.h \ - $(wildcard include/config/tty.h) \ - include/uapi/linux/major.h \ - include/uapi/linux/termios.h \ - arch/arm/include/generated/asm/termios.h \ - include/asm-generic/termios.h \ - arch/arm/include/asm/uaccess.h \ - $(wildcard include/config/have/efficient/unaligned/access.h) \ - $(wildcard include/config/cpu/sw/domain/pan.h) \ - $(wildcard include/config/cpu/use/domains.h) \ - $(wildcard include/config/uaccess/with/memcpy.h) \ - arch/arm/include/asm/domain.h \ - $(wildcard include/config/io/36.h) \ - $(wildcard include/config/cpu/cp15/mmu.h) \ - include/uapi/asm-generic/termios.h \ - arch/arm/include/generated/asm/termbits.h \ - include/uapi/asm-generic/termbits.h \ - arch/arm/include/uapi/asm/ioctls.h \ - include/uapi/asm-generic/ioctls.h \ - include/linux/tty_driver.h \ - include/linux/cdev.h \ - include/linux/tty_ldisc.h \ - include/uapi/linux/tty_flags.h \ - include/uapi/linux/tty.h \ - include/linux/sysrq.h \ - $(wildcard include/config/magic/sysrq.h) \ - include/uapi/linux/serial_core.h \ - include/linux/serial.h \ - include/uapi/linux/serial.h \ - include/linux/tty_flip.h \ - include/linux/spi/spi.h \ - $(wildcard include/config/spi.h) \ - include/linux/slab.h \ - $(wildcard include/config/debug/slab.h) \ - $(wildcard include/config/failslab.h) \ - $(wildcard include/config/have/hardened/usercopy/allocator.h) \ - $(wildcard include/config/slab.h) \ - $(wildcard include/config/slub.h) \ - include/linux/kmemleak.h \ - $(wildcard include/config/debug/kmemleak.h) \ - include/linux/kasan.h \ - include/linux/kthread.h \ - include/linux/scatterlist.h \ - $(wildcard include/config/debug/sg.h) \ - $(wildcard include/config/need/sg/dma/length.h) \ - $(wildcard include/config/arch/has/sg/chain.h) \ - $(wildcard include/config/sg/pool.h) \ - include/linux/mm.h \ - $(wildcard include/config/have/arch/mmap/rnd/bits.h) \ - $(wildcard include/config/have/arch/mmap/rnd/compat/bits.h) \ - $(wildcard include/config/mem/soft/dirty.h) \ - $(wildcard include/config/arch/uses/high/vma/flags.h) \ - $(wildcard include/config/x86.h) \ - $(wildcard include/config/x86/intel/memory/protection/keys.h) \ - $(wildcard include/config/ppc.h) \ - $(wildcard include/config/parisc.h) \ - $(wildcard include/config/metag.h) \ - $(wildcard include/config/shmem.h) \ - $(wildcard include/config/debug/vm/rb.h) \ - $(wildcard include/config/page/poisoning.h) \ - $(wildcard include/config/debug/pagealloc.h) \ - $(wildcard include/config/hibernation.h) \ - include/linux/debug_locks.h \ - $(wildcard include/config/debug/locking/api/selftests.h) \ - include/linux/range.h \ - include/linux/page_ext.h \ - $(wildcard include/config/idle/page/tracking.h) \ - include/linux/stacktrace.h \ - $(wildcard include/config/stacktrace.h) \ - $(wildcard include/config/user/stacktrace/support.h) \ - include/linux/stackdepot.h \ - include/linux/page_ref.h \ - $(wildcard include/config/debug/page/ref.h) \ - include/linux/page-flags.h \ - $(wildcard include/config/arch/uses/pg/uncached.h) \ - $(wildcard include/config/memory/failure.h) \ - $(wildcard include/config/swap.h) \ - $(wildcard include/config/ksm.h) \ - include/linux/tracepoint-defs.h \ - arch/arm/include/asm/pgtable.h \ - $(wildcard include/config/highpte.h) \ - arch/arm/include/asm/proc-fns.h \ - arch/arm/include/asm/glue-proc.h \ - $(wildcard include/config/cpu/arm7tdmi.h) \ - $(wildcard include/config/cpu/arm720t.h) \ - $(wildcard include/config/cpu/arm740t.h) \ - $(wildcard include/config/cpu/arm9tdmi.h) \ - $(wildcard include/config/cpu/arm920t.h) \ - $(wildcard include/config/cpu/arm922t.h) \ - $(wildcard include/config/cpu/arm925t.h) \ - $(wildcard include/config/cpu/arm926t.h) \ - $(wildcard include/config/cpu/arm940t.h) \ - $(wildcard include/config/cpu/arm946e.h) \ - $(wildcard include/config/cpu/arm1020.h) \ - $(wildcard include/config/cpu/arm1020e.h) \ - $(wildcard include/config/cpu/arm1022.h) \ - $(wildcard include/config/cpu/arm1026.h) \ - $(wildcard include/config/cpu/mohawk.h) \ - $(wildcard include/config/cpu/feroceon.h) \ - $(wildcard include/config/cpu/v6k.h) \ - $(wildcard include/config/cpu/pj4b.h) \ - $(wildcard include/config/cpu/v7.h) \ - include/asm-generic/pgtable-nopud.h \ - arch/arm/include/asm/pgtable-hwdef.h \ - arch/arm/include/asm/pgtable-2level-hwdef.h \ - arch/arm/include/asm/tlbflush.h \ - $(wildcard include/config/smp/on/up.h) \ - $(wildcard include/config/cpu/tlb/v4wt.h) \ - $(wildcard include/config/cpu/tlb/fa.h) \ - $(wildcard include/config/cpu/tlb/v4wbi.h) \ - $(wildcard include/config/cpu/tlb/feroceon.h) \ - $(wildcard include/config/cpu/tlb/v4wb.h) \ - $(wildcard include/config/cpu/tlb/v6.h) \ - $(wildcard include/config/cpu/tlb/v7.h) \ - $(wildcard include/config/arm/errata/720789.h) \ - $(wildcard include/config/arm/errata/798181.h) \ - arch/arm/include/asm/pgtable-2level.h \ - include/asm-generic/pgtable.h \ - $(wildcard include/config/have/arch/soft/dirty.h) \ - include/linux/huge_mm.h \ - include/linux/vmstat.h \ - $(wildcard include/config/vm/event/counters.h) \ - $(wildcard include/config/debug/tlbflush.h) \ - $(wildcard include/config/debug/vm/vmacache.h) \ - include/linux/vm_event_item.h \ - $(wildcard include/config/memory/balloon.h) \ - $(wildcard include/config/balloon/compaction.h) \ - include/linux/uaccess.h \ - -/root/kernel/test_module/neuronspi.o: $(deps_/root/kernel/test_module/neuronspi.o) - -$(deps_/root/kernel/test_module/neuronspi.o): diff --git a/modules/test_module/.test_module.ko.cmd b/modules/test_module/.test_module.ko.cmd deleted file mode 100644 index b39c7f9..0000000 --- a/modules/test_module/.test_module.ko.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/root/kernel/test_module/test_module.ko := /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-ld -EL -r -T ./scripts/module-common.lds --build-id -o /root/kernel/test_module/test_module.ko /root/kernel/test_module/test_module.o /root/kernel/test_module/test_module.mod.o ; true diff --git a/modules/test_module/.test_module.mod.o.cmd b/modules/test_module/.test_module.mod.o.cmd deleted file mode 100644 index 47fac64..0000000 --- a/modules/test_module/.test_module.mod.o.cmd +++ /dev/null @@ -1,453 +0,0 @@ -cmd_/root/kernel/test_module/test_module.mod.o := /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc -Wp,-MD,/root/kernel/test_module/.test_module.mod.o.d -nostdinc -isystem /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include -I./arch/arm/include -I./arch/arm/include/generated/uapi -I./arch/arm/include/generated -I./include -I./arch/arm/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -DKBUILD_BASENAME='"test_module.mod"' -DKBUILD_MODNAME='"test_module"' -DMODULE -c -o /root/kernel/test_module/test_module.mod.o /root/kernel/test_module/test_module.mod.c - -source_/root/kernel/test_module/test_module.mod.o := /root/kernel/test_module/test_module.mod.c - -deps_/root/kernel/test_module/test_module.mod.o := \ - $(wildcard include/config/module/unload.h) \ - include/linux/module.h \ - $(wildcard include/config/modules.h) \ - $(wildcard include/config/sysfs.h) \ - $(wildcard include/config/modules/tree/lookup.h) \ - $(wildcard include/config/livepatch.h) \ - $(wildcard include/config/unused/symbols.h) \ - $(wildcard include/config/module/sig.h) \ - $(wildcard include/config/generic/bug.h) \ - $(wildcard include/config/kallsyms.h) \ - $(wildcard include/config/smp.h) \ - $(wildcard include/config/tracepoints.h) \ - $(wildcard include/config/tracing.h) \ - $(wildcard include/config/event/tracing.h) \ - $(wildcard include/config/ftrace/mcount/record.h) \ - $(wildcard include/config/constructors.h) \ - $(wildcard include/config/debug/set/module/ronx.h) \ - include/linux/list.h \ - $(wildcard include/config/debug/list.h) \ - include/linux/types.h \ - $(wildcard include/config/have/uid16.h) \ - $(wildcard include/config/uid16.h) \ - $(wildcard include/config/lbdaf.h) \ - $(wildcard include/config/arch/dma/addr/t/64bit.h) \ - $(wildcard include/config/phys/addr/t/64bit.h) \ - $(wildcard include/config/64bit.h) \ - include/uapi/linux/types.h \ - arch/arm/include/asm/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/arm/include/generated/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - include/uapi/asm-generic/bitsperlong.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - include/linux/compiler.h \ - $(wildcard include/config/sparse/rcu/pointer.h) \ - $(wildcard include/config/trace/branch/profiling.h) \ - $(wildcard include/config/profile/all/branches.h) \ - $(wildcard include/config/kasan.h) \ - $(wildcard include/config/enable/must/check.h) \ - $(wildcard include/config/enable/warn/deprecated.h) \ - $(wildcard include/config/kprobes.h) \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/arch/supports/optimized/inlining.h) \ - $(wildcard include/config/optimize/inlining.h) \ - $(wildcard include/config/gcov/kernel.h) \ - $(wildcard include/config/arch/use/builtin/bswap.h) \ - arch/arm/include/uapi/asm/posix_types.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/poison.h \ - $(wildcard include/config/illegal/pointer/value.h) \ - $(wildcard include/config/page/poisoning/zero.h) \ - include/uapi/linux/const.h \ - include/linux/kernel.h \ - $(wildcard include/config/preempt/voluntary.h) \ - $(wildcard include/config/debug/atomic/sleep.h) \ - $(wildcard include/config/mmu.h) \ - $(wildcard include/config/prove/locking.h) \ - $(wildcard include/config/panic/timeout.h) \ - /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include/stdarg.h \ - include/linux/linkage.h \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/have/underscore/symbol/prefix.h) \ - $(wildcard include/config/modversions.h) \ - $(wildcard include/config/trim/unused/ksyms.h) \ - arch/arm/include/asm/linkage.h \ - include/linux/bitops.h \ - arch/arm/include/asm/bitops.h \ - include/linux/irqflags.h \ - $(wildcard include/config/trace/irqflags.h) \ - $(wildcard include/config/irqsoff/tracer.h) \ - $(wildcard include/config/preempt/tracer.h) \ - $(wildcard include/config/trace/irqflags/support.h) \ - include/linux/typecheck.h \ - arch/arm/include/asm/irqflags.h \ - $(wildcard include/config/cpu/v7m.h) \ - arch/arm/include/asm/ptrace.h \ - $(wildcard include/config/arm/thumb.h) \ - $(wildcard include/config/thumb2/kernel.h) \ - arch/arm/include/uapi/asm/ptrace.h \ - $(wildcard include/config/cpu/endian/be8.h) \ - arch/arm/include/asm/hwcap.h \ - arch/arm/include/uapi/asm/hwcap.h \ - include/asm-generic/irqflags.h \ - arch/arm/include/asm/barrier.h \ - $(wildcard include/config/cpu/32v6k.h) \ - $(wildcard include/config/cpu/xsc3.h) \ - $(wildcard include/config/cpu/fa526.h) \ - $(wildcard include/config/arm/heavy/mb.h) \ - $(wildcard include/config/arm/dma/mem/bufferable.h) \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/non-atomic.h \ - include/asm-generic/bitops/fls64.h \ - include/asm-generic/bitops/sched.h \ - include/asm-generic/bitops/hweight.h \ - include/asm-generic/bitops/arch_hweight.h \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/lock.h \ - include/asm-generic/bitops/le.h \ - arch/arm/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/arm/include/asm/swab.h \ - arch/arm/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/log2.h \ - $(wildcard include/config/arch/has/ilog2/u32.h) \ - $(wildcard include/config/arch/has/ilog2/u64.h) \ - include/linux/printk.h \ - $(wildcard include/config/message/loglevel/default.h) \ - $(wildcard include/config/early/printk.h) \ - $(wildcard include/config/printk/nmi.h) \ - $(wildcard include/config/printk.h) \ - $(wildcard include/config/dynamic/debug.h) \ - include/linux/init.h \ - $(wildcard include/config/debug/rodata.h) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/arch/has/cache/line/size.h) \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/arm/include/asm/cache.h \ - $(wildcard include/config/arm/l1/cache/shift.h) \ - $(wildcard include/config/aeabi.h) \ - arch/arm/include/asm/div64.h \ - arch/arm/include/asm/compiler.h \ - include/asm-generic/div64.h \ - include/linux/stat.h \ - arch/arm/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/time.h \ - $(wildcard include/config/arch/uses/gettimeoffset.h) \ - include/linux/seqlock.h \ - $(wildcard include/config/debug/lock/alloc.h) \ - include/linux/spinlock.h \ - $(wildcard include/config/debug/spinlock.h) \ - $(wildcard include/config/generic/lockbreak.h) \ - $(wildcard include/config/preempt.h) \ - include/linux/preempt.h \ - $(wildcard include/config/preempt/count.h) \ - $(wildcard include/config/debug/preempt.h) \ - $(wildcard include/config/preempt/notifiers.h) \ - arch/arm/include/generated/asm/preempt.h \ - include/asm-generic/preempt.h \ - include/linux/thread_info.h \ - $(wildcard include/config/thread/info/in/task.h) \ - $(wildcard include/config/compat.h) \ - $(wildcard include/config/debug/stack/usage.h) \ - $(wildcard include/config/have/arch/within/stack/frames.h) \ - $(wildcard include/config/hardened/usercopy.h) \ - include/linux/bug.h \ - arch/arm/include/asm/bug.h \ - $(wildcard include/config/debug/bugverbose.h) \ - $(wildcard include/config/arm/lpae.h) \ - arch/arm/include/asm/opcodes.h \ - $(wildcard include/config/cpu/endian/be32.h) \ - include/asm-generic/bug.h \ - $(wildcard include/config/bug.h) \ - $(wildcard include/config/generic/bug/relative/pointers.h) \ - arch/arm/include/asm/thread_info.h \ - $(wildcard include/config/crunch.h) \ - $(wildcard include/config/arm/thumbee.h) \ - arch/arm/include/asm/fpstate.h \ - $(wildcard include/config/vfpv3.h) \ - $(wildcard include/config/iwmmxt.h) \ - arch/arm/include/asm/page.h \ - $(wildcard include/config/cpu/copy/v4wt.h) \ - $(wildcard include/config/cpu/copy/v4wb.h) \ - $(wildcard include/config/cpu/copy/feroceon.h) \ - $(wildcard include/config/cpu/copy/fa.h) \ - $(wildcard include/config/cpu/sa1100.h) \ - $(wildcard include/config/cpu/xscale.h) \ - $(wildcard include/config/cpu/copy/v6.h) \ - $(wildcard include/config/kuser/helpers.h) \ - $(wildcard include/config/have/arch/pfn/valid.h) \ - arch/arm/include/asm/glue.h \ - arch/arm/include/asm/pgtable-2level-types.h \ - arch/arm/include/asm/memory.h \ - $(wildcard include/config/need/mach/memory/h.h) \ - $(wildcard include/config/page/offset.h) \ - $(wildcard include/config/highmem.h) \ - $(wildcard include/config/dram/base.h) \ - $(wildcard include/config/dram/size.h) \ - $(wildcard include/config/have/tcm.h) \ - $(wildcard include/config/arm/patch/phys/virt.h) \ - $(wildcard include/config/phys/offset.h) \ - $(wildcard include/config/xip/kernel.h) \ - $(wildcard include/config/xip/phys/addr.h) \ - include/linux/sizes.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/flatmem.h) \ - $(wildcard include/config/discontigmem.h) \ - $(wildcard include/config/sparsemem/vmemmap.h) \ - $(wildcard include/config/sparsemem.h) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - include/linux/bottom_half.h \ - include/linux/spinlock_types.h \ - arch/arm/include/asm/spinlock_types.h \ - include/linux/lockdep.h \ - $(wildcard include/config/lockdep.h) \ - $(wildcard include/config/lock/stat.h) \ - include/linux/rwlock_types.h \ - arch/arm/include/asm/spinlock.h \ - include/linux/prefetch.h \ - arch/arm/include/asm/processor.h \ - $(wildcard include/config/have/hw/breakpoint.h) \ - $(wildcard include/config/arm/errata/754327.h) \ - arch/arm/include/asm/hw_breakpoint.h \ - arch/arm/include/asm/unified.h \ - $(wildcard include/config/arm/asm/unified.h) \ - include/linux/rwlock.h \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/inline/spin/lock.h) \ - $(wildcard include/config/inline/spin/lock/bh.h) \ - $(wildcard include/config/inline/spin/lock/irq.h) \ - $(wildcard include/config/inline/spin/lock/irqsave.h) \ - $(wildcard include/config/inline/spin/trylock.h) \ - $(wildcard include/config/inline/spin/trylock/bh.h) \ - $(wildcard include/config/uninline/spin/unlock.h) \ - $(wildcard include/config/inline/spin/unlock/bh.h) \ - $(wildcard include/config/inline/spin/unlock/irq.h) \ - $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/inline/read/lock.h) \ - $(wildcard include/config/inline/write/lock.h) \ - $(wildcard include/config/inline/read/lock/bh.h) \ - $(wildcard include/config/inline/write/lock/bh.h) \ - $(wildcard include/config/inline/read/lock/irq.h) \ - $(wildcard include/config/inline/write/lock/irq.h) \ - $(wildcard include/config/inline/read/lock/irqsave.h) \ - $(wildcard include/config/inline/write/lock/irqsave.h) \ - $(wildcard include/config/inline/read/trylock.h) \ - $(wildcard include/config/inline/write/trylock.h) \ - $(wildcard include/config/inline/read/unlock.h) \ - $(wildcard include/config/inline/write/unlock.h) \ - $(wildcard include/config/inline/read/unlock/bh.h) \ - $(wildcard include/config/inline/write/unlock/bh.h) \ - $(wildcard include/config/inline/read/unlock/irq.h) \ - $(wildcard include/config/inline/write/unlock/irq.h) \ - $(wildcard include/config/inline/read/unlock/irqrestore.h) \ - $(wildcard include/config/inline/write/unlock/irqrestore.h) \ - include/linux/atomic.h \ - $(wildcard include/config/generic/atomic64.h) \ - arch/arm/include/asm/atomic.h \ - arch/arm/include/asm/cmpxchg.h \ - $(wildcard include/config/cpu/sa110.h) \ - $(wildcard include/config/cpu/v6.h) \ - include/asm-generic/cmpxchg-local.h \ - include/asm-generic/atomic-long.h \ - include/linux/math64.h \ - $(wildcard include/config/arch/supports/int128.h) \ - include/linux/time64.h \ - include/uapi/linux/time.h \ - include/linux/uidgid.h \ - $(wildcard include/config/multiuser.h) \ - $(wildcard include/config/user/ns.h) \ - include/linux/highuid.h \ - include/linux/kmod.h \ - include/linux/gfp.h \ - $(wildcard include/config/zone/dma.h) \ - $(wildcard include/config/zone/dma32.h) \ - $(wildcard include/config/zone/device.h) \ - $(wildcard include/config/numa.h) \ - $(wildcard include/config/pm/sleep.h) \ - $(wildcard include/config/memory/isolation.h) \ - $(wildcard include/config/compaction.h) \ - $(wildcard include/config/cma.h) \ - include/linux/mmdebug.h \ - $(wildcard include/config/debug/vm.h) \ - $(wildcard include/config/debug/virtual.h) \ - $(wildcard include/config/debug/vm/pgflags.h) \ - include/linux/mmzone.h \ - $(wildcard include/config/force/max/zoneorder.h) \ - $(wildcard include/config/zsmalloc.h) \ - $(wildcard include/config/memcg.h) \ - $(wildcard include/config/memory/hotplug.h) \ - $(wildcard include/config/flat/node/mem/map.h) \ - $(wildcard include/config/page/extension.h) \ - $(wildcard include/config/no/bootmem.h) \ - $(wildcard include/config/numa/balancing.h) \ - $(wildcard include/config/deferred/struct/page/init.h) \ - $(wildcard include/config/transparent/hugepage.h) \ - $(wildcard include/config/have/memory/present.h) \ - $(wildcard include/config/have/memoryless/nodes.h) \ - $(wildcard include/config/need/node/memmap/size.h) \ - $(wildcard include/config/have/memblock/node/map.h) \ - $(wildcard include/config/need/multiple/nodes.h) \ - $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ - $(wildcard include/config/sparsemem/extreme.h) \ - $(wildcard include/config/holes/in/zone.h) \ - $(wildcard include/config/arch/has/holes/memorymodel.h) \ - include/linux/wait.h \ - arch/arm/include/generated/asm/current.h \ - include/asm-generic/current.h \ - include/uapi/linux/wait.h \ - include/linux/threads.h \ - $(wildcard include/config/nr/cpus.h) \ - $(wildcard include/config/base/small.h) \ - include/linux/numa.h \ - $(wildcard include/config/nodes/shift.h) \ - include/linux/nodemask.h \ - $(wildcard include/config/movable/node.h) \ - include/linux/bitmap.h \ - $(wildcard include/config/s390.h) \ - include/linux/string.h \ - $(wildcard include/config/binary/printf.h) \ - include/uapi/linux/string.h \ - arch/arm/include/asm/string.h \ - $(wildcard include/config/bcm2835/fast/memcpy.h) \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/hugetlb/page.h) \ - $(wildcard include/config/hugetlb/page/size/variable.h) \ - include/linux/page-flags-layout.h \ - include/generated/bounds.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/memory/hotremove.h) \ - $(wildcard include/config/have/arch/nodedata/extension.h) \ - $(wildcard include/config/have/bootmem/info/node.h) \ - include/linux/notifier.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - arch/arm/include/generated/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - include/linux/mutex.h \ - $(wildcard include/config/debug/mutexes.h) \ - $(wildcard include/config/mutex/spin/on/owner.h) \ - include/linux/osq_lock.h \ - include/linux/rwsem.h \ - $(wildcard include/config/rwsem/spin/on/owner.h) \ - $(wildcard include/config/rwsem/generic/spinlock.h) \ - include/linux/err.h \ - arch/arm/include/generated/asm/rwsem.h \ - include/asm-generic/rwsem.h \ - include/linux/srcu.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/tiny/rcu.h) \ - $(wildcard include/config/tree/rcu.h) \ - $(wildcard include/config/preempt/rcu.h) \ - $(wildcard include/config/rcu/trace.h) \ - $(wildcard include/config/rcu/stall/common.h) \ - $(wildcard include/config/no/hz/full.h) \ - $(wildcard include/config/rcu/nocb/cpu.h) \ - $(wildcard include/config/tasks/rcu.h) \ - $(wildcard include/config/debug/objects/rcu/head.h) \ - $(wildcard include/config/hotplug/cpu.h) \ - $(wildcard include/config/prove/rcu.h) \ - $(wildcard include/config/rcu/boost.h) \ - $(wildcard include/config/rcu/nocb/cpu/all.h) \ - $(wildcard include/config/no/hz/full/sysidle.h) \ - include/linux/cpumask.h \ - $(wildcard include/config/cpumask/offstack.h) \ - $(wildcard include/config/debug/per/cpu/maps.h) \ - include/linux/completion.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/debug/objects.h) \ - $(wildcard include/config/debug/objects/free.h) \ - include/linux/ktime.h \ - include/linux/jiffies.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - include/uapi/linux/param.h \ - arch/arm/include/generated/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/hz.h) \ - include/uapi/asm-generic/param.h \ - arch/arm/include/asm/timex.h \ - include/generated/timeconst.h \ - include/linux/timekeeping.h \ - include/linux/rcutree.h \ - include/linux/workqueue.h \ - $(wildcard include/config/debug/objects/work.h) \ - $(wildcard include/config/freezer.h) \ - $(wildcard include/config/wq/watchdog.h) \ - include/linux/timer.h \ - $(wildcard include/config/timer/stats.h) \ - $(wildcard include/config/debug/objects/timers.h) \ - $(wildcard include/config/no/hz/common.h) \ - include/linux/sysctl.h \ - $(wildcard include/config/sysctl.h) \ - include/linux/rbtree.h \ - include/uapi/linux/sysctl.h \ - include/linux/topology.h \ - $(wildcard include/config/use/percpu/numa/node/id.h) \ - $(wildcard include/config/sched/smt.h) \ - include/linux/smp.h \ - $(wildcard include/config/up/late/init.h) \ - include/linux/llist.h \ - $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ - arch/arm/include/asm/smp.h \ - include/linux/percpu.h \ - $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ - $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ - $(wildcard include/config/have/setup/per/cpu/area.h) \ - arch/arm/include/asm/percpu.h \ - include/asm-generic/percpu.h \ - include/linux/percpu-defs.h \ - $(wildcard include/config/debug/force/weak/per/cpu.h) \ - arch/arm/include/asm/topology.h \ - $(wildcard include/config/arm/cpu/topology.h) \ - include/asm-generic/topology.h \ - include/linux/elf.h \ - arch/arm/include/asm/elf.h \ - $(wildcard include/config/vdso.h) \ - arch/arm/include/asm/auxvec.h \ - arch/arm/include/uapi/asm/auxvec.h \ - arch/arm/include/asm/vdso_datapage.h \ - arch/arm/include/asm/user.h \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/kobject.h \ - $(wildcard include/config/uevent/helper.h) \ - $(wildcard include/config/debug/kobject/release.h) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/kernfs.h) \ - include/linux/idr.h \ - include/linux/kobject_ns.h \ - include/linux/kref.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/alpha.h) \ - $(wildcard include/config/ia64.h) \ - $(wildcard include/config/ppc64.h) \ - include/linux/jump_label.h \ - $(wildcard include/config/jump/label.h) \ - arch/arm/include/asm/jump_label.h \ - include/linux/extable.h \ - include/linux/rbtree_latch.h \ - arch/arm/include/asm/module.h \ - $(wildcard include/config/arm/unwind.h) \ - $(wildcard include/config/arm/module/plts.h) \ - include/asm-generic/module.h \ - $(wildcard include/config/have/mod/arch/specific.h) \ - $(wildcard include/config/modules/use/elf/rel.h) \ - $(wildcard include/config/modules/use/elf/rela.h) \ - include/linux/vermagic.h \ - include/generated/utsrelease.h \ - -/root/kernel/test_module/test_module.mod.o: $(deps_/root/kernel/test_module/test_module.mod.o) - -$(deps_/root/kernel/test_module/test_module.mod.o): diff --git a/modules/test_module/.test_module.o.cmd b/modules/test_module/.test_module.o.cmd deleted file mode 100644 index 2d24b7f..0000000 --- a/modules/test_module/.test_module.o.cmd +++ /dev/null @@ -1,451 +0,0 @@ -cmd_/root/kernel/test_module/test_module.o := /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc -Wp,-MD,/root/kernel/test_module/.test_module.o.d -nostdinc -isystem /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include -I./arch/arm/include -I./arch/arm/include/generated/uapi -I./arch/arm/include/generated -I./include -I./arch/arm/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -DMODULE -DKBUILD_BASENAME='"test_module"' -DKBUILD_MODNAME='"test_module"' -c -o /root/kernel/test_module/.tmp_test_module.o /root/kernel/test_module/test_module.c - -source_/root/kernel/test_module/test_module.o := /root/kernel/test_module/test_module.c - -deps_/root/kernel/test_module/test_module.o := \ - include/linux/init.h \ - $(wildcard include/config/debug/rodata.h) \ - include/linux/compiler.h \ - $(wildcard include/config/sparse/rcu/pointer.h) \ - $(wildcard include/config/trace/branch/profiling.h) \ - $(wildcard include/config/profile/all/branches.h) \ - $(wildcard include/config/kasan.h) \ - $(wildcard include/config/enable/must/check.h) \ - $(wildcard include/config/enable/warn/deprecated.h) \ - $(wildcard include/config/kprobes.h) \ - include/linux/compiler-gcc.h \ - $(wildcard include/config/arch/supports/optimized/inlining.h) \ - $(wildcard include/config/optimize/inlining.h) \ - $(wildcard include/config/gcov/kernel.h) \ - $(wildcard include/config/arch/use/builtin/bswap.h) \ - include/uapi/linux/types.h \ - arch/arm/include/asm/types.h \ - include/asm-generic/int-ll64.h \ - include/uapi/asm-generic/int-ll64.h \ - arch/arm/include/generated/asm/bitsperlong.h \ - include/asm-generic/bitsperlong.h \ - $(wildcard include/config/64bit.h) \ - include/uapi/asm-generic/bitsperlong.h \ - include/uapi/linux/posix_types.h \ - include/linux/stddef.h \ - include/uapi/linux/stddef.h \ - arch/arm/include/uapi/asm/posix_types.h \ - include/uapi/asm-generic/posix_types.h \ - include/linux/types.h \ - $(wildcard include/config/have/uid16.h) \ - $(wildcard include/config/uid16.h) \ - $(wildcard include/config/lbdaf.h) \ - $(wildcard include/config/arch/dma/addr/t/64bit.h) \ - $(wildcard include/config/phys/addr/t/64bit.h) \ - include/linux/module.h \ - $(wildcard include/config/modules.h) \ - $(wildcard include/config/sysfs.h) \ - $(wildcard include/config/modules/tree/lookup.h) \ - $(wildcard include/config/livepatch.h) \ - $(wildcard include/config/unused/symbols.h) \ - $(wildcard include/config/module/sig.h) \ - $(wildcard include/config/generic/bug.h) \ - $(wildcard include/config/kallsyms.h) \ - $(wildcard include/config/smp.h) \ - $(wildcard include/config/tracepoints.h) \ - $(wildcard include/config/tracing.h) \ - $(wildcard include/config/event/tracing.h) \ - $(wildcard include/config/ftrace/mcount/record.h) \ - $(wildcard include/config/module/unload.h) \ - $(wildcard include/config/constructors.h) \ - $(wildcard include/config/debug/set/module/ronx.h) \ - include/linux/list.h \ - $(wildcard include/config/debug/list.h) \ - include/linux/poison.h \ - $(wildcard include/config/illegal/pointer/value.h) \ - $(wildcard include/config/page/poisoning/zero.h) \ - include/uapi/linux/const.h \ - include/linux/kernel.h \ - $(wildcard include/config/preempt/voluntary.h) \ - $(wildcard include/config/debug/atomic/sleep.h) \ - $(wildcard include/config/mmu.h) \ - $(wildcard include/config/prove/locking.h) \ - $(wildcard include/config/panic/timeout.h) \ - /root/rpitools/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/../lib/gcc/arm-bcm2708-linux-gnueabi/4.7.1/include/stdarg.h \ - include/linux/linkage.h \ - include/linux/stringify.h \ - include/linux/export.h \ - $(wildcard include/config/have/underscore/symbol/prefix.h) \ - $(wildcard include/config/modversions.h) \ - $(wildcard include/config/trim/unused/ksyms.h) \ - arch/arm/include/asm/linkage.h \ - include/linux/bitops.h \ - arch/arm/include/asm/bitops.h \ - include/linux/irqflags.h \ - $(wildcard include/config/trace/irqflags.h) \ - $(wildcard include/config/irqsoff/tracer.h) \ - $(wildcard include/config/preempt/tracer.h) \ - $(wildcard include/config/trace/irqflags/support.h) \ - include/linux/typecheck.h \ - arch/arm/include/asm/irqflags.h \ - $(wildcard include/config/cpu/v7m.h) \ - arch/arm/include/asm/ptrace.h \ - $(wildcard include/config/arm/thumb.h) \ - $(wildcard include/config/thumb2/kernel.h) \ - arch/arm/include/uapi/asm/ptrace.h \ - $(wildcard include/config/cpu/endian/be8.h) \ - arch/arm/include/asm/hwcap.h \ - arch/arm/include/uapi/asm/hwcap.h \ - include/asm-generic/irqflags.h \ - arch/arm/include/asm/barrier.h \ - $(wildcard include/config/cpu/32v6k.h) \ - $(wildcard include/config/cpu/xsc3.h) \ - $(wildcard include/config/cpu/fa526.h) \ - $(wildcard include/config/arm/heavy/mb.h) \ - $(wildcard include/config/arm/dma/mem/bufferable.h) \ - include/asm-generic/barrier.h \ - include/asm-generic/bitops/non-atomic.h \ - include/asm-generic/bitops/fls64.h \ - include/asm-generic/bitops/sched.h \ - include/asm-generic/bitops/hweight.h \ - include/asm-generic/bitops/arch_hweight.h \ - include/asm-generic/bitops/const_hweight.h \ - include/asm-generic/bitops/lock.h \ - include/asm-generic/bitops/le.h \ - arch/arm/include/uapi/asm/byteorder.h \ - include/linux/byteorder/little_endian.h \ - include/uapi/linux/byteorder/little_endian.h \ - include/linux/swab.h \ - include/uapi/linux/swab.h \ - arch/arm/include/asm/swab.h \ - arch/arm/include/uapi/asm/swab.h \ - include/linux/byteorder/generic.h \ - include/asm-generic/bitops/ext2-atomic-setbit.h \ - include/linux/log2.h \ - $(wildcard include/config/arch/has/ilog2/u32.h) \ - $(wildcard include/config/arch/has/ilog2/u64.h) \ - include/linux/printk.h \ - $(wildcard include/config/message/loglevel/default.h) \ - $(wildcard include/config/early/printk.h) \ - $(wildcard include/config/printk/nmi.h) \ - $(wildcard include/config/printk.h) \ - $(wildcard include/config/dynamic/debug.h) \ - include/linux/kern_levels.h \ - include/linux/cache.h \ - $(wildcard include/config/arch/has/cache/line/size.h) \ - include/uapi/linux/kernel.h \ - include/uapi/linux/sysinfo.h \ - arch/arm/include/asm/cache.h \ - $(wildcard include/config/arm/l1/cache/shift.h) \ - $(wildcard include/config/aeabi.h) \ - arch/arm/include/asm/div64.h \ - arch/arm/include/asm/compiler.h \ - include/asm-generic/div64.h \ - include/linux/stat.h \ - arch/arm/include/uapi/asm/stat.h \ - include/uapi/linux/stat.h \ - include/linux/time.h \ - $(wildcard include/config/arch/uses/gettimeoffset.h) \ - include/linux/seqlock.h \ - $(wildcard include/config/debug/lock/alloc.h) \ - include/linux/spinlock.h \ - $(wildcard include/config/debug/spinlock.h) \ - $(wildcard include/config/generic/lockbreak.h) \ - $(wildcard include/config/preempt.h) \ - include/linux/preempt.h \ - $(wildcard include/config/preempt/count.h) \ - $(wildcard include/config/debug/preempt.h) \ - $(wildcard include/config/preempt/notifiers.h) \ - arch/arm/include/generated/asm/preempt.h \ - include/asm-generic/preempt.h \ - include/linux/thread_info.h \ - $(wildcard include/config/thread/info/in/task.h) \ - $(wildcard include/config/compat.h) \ - $(wildcard include/config/debug/stack/usage.h) \ - $(wildcard include/config/have/arch/within/stack/frames.h) \ - $(wildcard include/config/hardened/usercopy.h) \ - include/linux/bug.h \ - arch/arm/include/asm/bug.h \ - $(wildcard include/config/debug/bugverbose.h) \ - $(wildcard include/config/arm/lpae.h) \ - arch/arm/include/asm/opcodes.h \ - $(wildcard include/config/cpu/endian/be32.h) \ - include/asm-generic/bug.h \ - $(wildcard include/config/bug.h) \ - $(wildcard include/config/generic/bug/relative/pointers.h) \ - arch/arm/include/asm/thread_info.h \ - $(wildcard include/config/crunch.h) \ - $(wildcard include/config/arm/thumbee.h) \ - arch/arm/include/asm/fpstate.h \ - $(wildcard include/config/vfpv3.h) \ - $(wildcard include/config/iwmmxt.h) \ - arch/arm/include/asm/page.h \ - $(wildcard include/config/cpu/copy/v4wt.h) \ - $(wildcard include/config/cpu/copy/v4wb.h) \ - $(wildcard include/config/cpu/copy/feroceon.h) \ - $(wildcard include/config/cpu/copy/fa.h) \ - $(wildcard include/config/cpu/sa1100.h) \ - $(wildcard include/config/cpu/xscale.h) \ - $(wildcard include/config/cpu/copy/v6.h) \ - $(wildcard include/config/kuser/helpers.h) \ - $(wildcard include/config/have/arch/pfn/valid.h) \ - arch/arm/include/asm/glue.h \ - arch/arm/include/asm/pgtable-2level-types.h \ - arch/arm/include/asm/memory.h \ - $(wildcard include/config/need/mach/memory/h.h) \ - $(wildcard include/config/page/offset.h) \ - $(wildcard include/config/highmem.h) \ - $(wildcard include/config/dram/base.h) \ - $(wildcard include/config/dram/size.h) \ - $(wildcard include/config/have/tcm.h) \ - $(wildcard include/config/arm/patch/phys/virt.h) \ - $(wildcard include/config/phys/offset.h) \ - $(wildcard include/config/xip/kernel.h) \ - $(wildcard include/config/xip/phys/addr.h) \ - include/linux/sizes.h \ - include/asm-generic/memory_model.h \ - $(wildcard include/config/flatmem.h) \ - $(wildcard include/config/discontigmem.h) \ - $(wildcard include/config/sparsemem/vmemmap.h) \ - $(wildcard include/config/sparsemem.h) \ - include/linux/pfn.h \ - include/asm-generic/getorder.h \ - include/linux/bottom_half.h \ - include/linux/spinlock_types.h \ - arch/arm/include/asm/spinlock_types.h \ - include/linux/lockdep.h \ - $(wildcard include/config/lockdep.h) \ - $(wildcard include/config/lock/stat.h) \ - include/linux/rwlock_types.h \ - arch/arm/include/asm/spinlock.h \ - include/linux/prefetch.h \ - arch/arm/include/asm/processor.h \ - $(wildcard include/config/have/hw/breakpoint.h) \ - $(wildcard include/config/arm/errata/754327.h) \ - arch/arm/include/asm/hw_breakpoint.h \ - arch/arm/include/asm/unified.h \ - $(wildcard include/config/arm/asm/unified.h) \ - include/linux/rwlock.h \ - include/linux/spinlock_api_smp.h \ - $(wildcard include/config/inline/spin/lock.h) \ - $(wildcard include/config/inline/spin/lock/bh.h) \ - $(wildcard include/config/inline/spin/lock/irq.h) \ - $(wildcard include/config/inline/spin/lock/irqsave.h) \ - $(wildcard include/config/inline/spin/trylock.h) \ - $(wildcard include/config/inline/spin/trylock/bh.h) \ - $(wildcard include/config/uninline/spin/unlock.h) \ - $(wildcard include/config/inline/spin/unlock/bh.h) \ - $(wildcard include/config/inline/spin/unlock/irq.h) \ - $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ - include/linux/rwlock_api_smp.h \ - $(wildcard include/config/inline/read/lock.h) \ - $(wildcard include/config/inline/write/lock.h) \ - $(wildcard include/config/inline/read/lock/bh.h) \ - $(wildcard include/config/inline/write/lock/bh.h) \ - $(wildcard include/config/inline/read/lock/irq.h) \ - $(wildcard include/config/inline/write/lock/irq.h) \ - $(wildcard include/config/inline/read/lock/irqsave.h) \ - $(wildcard include/config/inline/write/lock/irqsave.h) \ - $(wildcard include/config/inline/read/trylock.h) \ - $(wildcard include/config/inline/write/trylock.h) \ - $(wildcard include/config/inline/read/unlock.h) \ - $(wildcard include/config/inline/write/unlock.h) \ - $(wildcard include/config/inline/read/unlock/bh.h) \ - $(wildcard include/config/inline/write/unlock/bh.h) \ - $(wildcard include/config/inline/read/unlock/irq.h) \ - $(wildcard include/config/inline/write/unlock/irq.h) \ - $(wildcard include/config/inline/read/unlock/irqrestore.h) \ - $(wildcard include/config/inline/write/unlock/irqrestore.h) \ - include/linux/atomic.h \ - $(wildcard include/config/generic/atomic64.h) \ - arch/arm/include/asm/atomic.h \ - arch/arm/include/asm/cmpxchg.h \ - $(wildcard include/config/cpu/sa110.h) \ - $(wildcard include/config/cpu/v6.h) \ - include/asm-generic/cmpxchg-local.h \ - include/asm-generic/atomic-long.h \ - include/linux/math64.h \ - $(wildcard include/config/arch/supports/int128.h) \ - include/linux/time64.h \ - include/uapi/linux/time.h \ - include/linux/uidgid.h \ - $(wildcard include/config/multiuser.h) \ - $(wildcard include/config/user/ns.h) \ - include/linux/highuid.h \ - include/linux/kmod.h \ - include/linux/gfp.h \ - $(wildcard include/config/zone/dma.h) \ - $(wildcard include/config/zone/dma32.h) \ - $(wildcard include/config/zone/device.h) \ - $(wildcard include/config/numa.h) \ - $(wildcard include/config/pm/sleep.h) \ - $(wildcard include/config/memory/isolation.h) \ - $(wildcard include/config/compaction.h) \ - $(wildcard include/config/cma.h) \ - include/linux/mmdebug.h \ - $(wildcard include/config/debug/vm.h) \ - $(wildcard include/config/debug/virtual.h) \ - $(wildcard include/config/debug/vm/pgflags.h) \ - include/linux/mmzone.h \ - $(wildcard include/config/force/max/zoneorder.h) \ - $(wildcard include/config/zsmalloc.h) \ - $(wildcard include/config/memcg.h) \ - $(wildcard include/config/memory/hotplug.h) \ - $(wildcard include/config/flat/node/mem/map.h) \ - $(wildcard include/config/page/extension.h) \ - $(wildcard include/config/no/bootmem.h) \ - $(wildcard include/config/numa/balancing.h) \ - $(wildcard include/config/deferred/struct/page/init.h) \ - $(wildcard include/config/transparent/hugepage.h) \ - $(wildcard include/config/have/memory/present.h) \ - $(wildcard include/config/have/memoryless/nodes.h) \ - $(wildcard include/config/need/node/memmap/size.h) \ - $(wildcard include/config/have/memblock/node/map.h) \ - $(wildcard include/config/need/multiple/nodes.h) \ - $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ - $(wildcard include/config/sparsemem/extreme.h) \ - $(wildcard include/config/holes/in/zone.h) \ - $(wildcard include/config/arch/has/holes/memorymodel.h) \ - include/linux/wait.h \ - arch/arm/include/generated/asm/current.h \ - include/asm-generic/current.h \ - include/uapi/linux/wait.h \ - include/linux/threads.h \ - $(wildcard include/config/nr/cpus.h) \ - $(wildcard include/config/base/small.h) \ - include/linux/numa.h \ - $(wildcard include/config/nodes/shift.h) \ - include/linux/nodemask.h \ - $(wildcard include/config/movable/node.h) \ - include/linux/bitmap.h \ - $(wildcard include/config/s390.h) \ - include/linux/string.h \ - $(wildcard include/config/binary/printf.h) \ - include/uapi/linux/string.h \ - arch/arm/include/asm/string.h \ - $(wildcard include/config/bcm2835/fast/memcpy.h) \ - include/linux/pageblock-flags.h \ - $(wildcard include/config/hugetlb/page.h) \ - $(wildcard include/config/hugetlb/page/size/variable.h) \ - include/linux/page-flags-layout.h \ - include/generated/bounds.h \ - include/linux/memory_hotplug.h \ - $(wildcard include/config/memory/hotremove.h) \ - $(wildcard include/config/have/arch/nodedata/extension.h) \ - $(wildcard include/config/have/bootmem/info/node.h) \ - include/linux/notifier.h \ - include/linux/errno.h \ - include/uapi/linux/errno.h \ - arch/arm/include/generated/asm/errno.h \ - include/uapi/asm-generic/errno.h \ - include/uapi/asm-generic/errno-base.h \ - include/linux/mutex.h \ - $(wildcard include/config/debug/mutexes.h) \ - $(wildcard include/config/mutex/spin/on/owner.h) \ - include/linux/osq_lock.h \ - include/linux/rwsem.h \ - $(wildcard include/config/rwsem/spin/on/owner.h) \ - $(wildcard include/config/rwsem/generic/spinlock.h) \ - include/linux/err.h \ - arch/arm/include/generated/asm/rwsem.h \ - include/asm-generic/rwsem.h \ - include/linux/srcu.h \ - include/linux/rcupdate.h \ - $(wildcard include/config/tiny/rcu.h) \ - $(wildcard include/config/tree/rcu.h) \ - $(wildcard include/config/preempt/rcu.h) \ - $(wildcard include/config/rcu/trace.h) \ - $(wildcard include/config/rcu/stall/common.h) \ - $(wildcard include/config/no/hz/full.h) \ - $(wildcard include/config/rcu/nocb/cpu.h) \ - $(wildcard include/config/tasks/rcu.h) \ - $(wildcard include/config/debug/objects/rcu/head.h) \ - $(wildcard include/config/hotplug/cpu.h) \ - $(wildcard include/config/prove/rcu.h) \ - $(wildcard include/config/rcu/boost.h) \ - $(wildcard include/config/rcu/nocb/cpu/all.h) \ - $(wildcard include/config/no/hz/full/sysidle.h) \ - include/linux/cpumask.h \ - $(wildcard include/config/cpumask/offstack.h) \ - $(wildcard include/config/debug/per/cpu/maps.h) \ - include/linux/completion.h \ - include/linux/debugobjects.h \ - $(wildcard include/config/debug/objects.h) \ - $(wildcard include/config/debug/objects/free.h) \ - include/linux/ktime.h \ - include/linux/jiffies.h \ - include/linux/timex.h \ - include/uapi/linux/timex.h \ - include/uapi/linux/param.h \ - arch/arm/include/generated/asm/param.h \ - include/asm-generic/param.h \ - $(wildcard include/config/hz.h) \ - include/uapi/asm-generic/param.h \ - arch/arm/include/asm/timex.h \ - include/generated/timeconst.h \ - include/linux/timekeeping.h \ - include/linux/rcutree.h \ - include/linux/workqueue.h \ - $(wildcard include/config/debug/objects/work.h) \ - $(wildcard include/config/freezer.h) \ - $(wildcard include/config/wq/watchdog.h) \ - include/linux/timer.h \ - $(wildcard include/config/timer/stats.h) \ - $(wildcard include/config/debug/objects/timers.h) \ - $(wildcard include/config/no/hz/common.h) \ - include/linux/sysctl.h \ - $(wildcard include/config/sysctl.h) \ - include/linux/rbtree.h \ - include/uapi/linux/sysctl.h \ - include/linux/topology.h \ - $(wildcard include/config/use/percpu/numa/node/id.h) \ - $(wildcard include/config/sched/smt.h) \ - include/linux/smp.h \ - $(wildcard include/config/up/late/init.h) \ - include/linux/llist.h \ - $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ - arch/arm/include/asm/smp.h \ - include/linux/percpu.h \ - $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ - $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ - $(wildcard include/config/have/setup/per/cpu/area.h) \ - arch/arm/include/asm/percpu.h \ - include/asm-generic/percpu.h \ - include/linux/percpu-defs.h \ - $(wildcard include/config/debug/force/weak/per/cpu.h) \ - arch/arm/include/asm/topology.h \ - $(wildcard include/config/arm/cpu/topology.h) \ - include/asm-generic/topology.h \ - include/linux/elf.h \ - arch/arm/include/asm/elf.h \ - $(wildcard include/config/vdso.h) \ - arch/arm/include/asm/auxvec.h \ - arch/arm/include/uapi/asm/auxvec.h \ - arch/arm/include/asm/vdso_datapage.h \ - arch/arm/include/asm/user.h \ - include/uapi/linux/elf.h \ - include/uapi/linux/elf-em.h \ - include/linux/kobject.h \ - $(wildcard include/config/uevent/helper.h) \ - $(wildcard include/config/debug/kobject/release.h) \ - include/linux/sysfs.h \ - include/linux/kernfs.h \ - $(wildcard include/config/kernfs.h) \ - include/linux/idr.h \ - include/linux/kobject_ns.h \ - include/linux/kref.h \ - include/linux/moduleparam.h \ - $(wildcard include/config/alpha.h) \ - $(wildcard include/config/ia64.h) \ - $(wildcard include/config/ppc64.h) \ - include/linux/jump_label.h \ - $(wildcard include/config/jump/label.h) \ - arch/arm/include/asm/jump_label.h \ - include/linux/extable.h \ - include/linux/rbtree_latch.h \ - arch/arm/include/asm/module.h \ - $(wildcard include/config/arm/unwind.h) \ - $(wildcard include/config/arm/module/plts.h) \ - include/asm-generic/module.h \ - $(wildcard include/config/have/mod/arch/specific.h) \ - $(wildcard include/config/modules/use/elf/rel.h) \ - $(wildcard include/config/modules/use/elf/rela.h) \ - -/root/kernel/test_module/test_module.o: $(deps_/root/kernel/test_module/test_module.o) - -$(deps_/root/kernel/test_module/test_module.o): diff --git a/modules/test_module/.tmp_versions/test_module.mod b/modules/test_module/.tmp_versions/test_module.mod deleted file mode 100644 index ad434a1..0000000 --- a/modules/test_module/.tmp_versions/test_module.mod +++ /dev/null @@ -1,3 +0,0 @@ -/root/kernel/test_module/test_module.ko -/root/kernel/test_module/test_module.o - diff --git a/modules/test_module/Makefile b/modules/test_module/Makefile deleted file mode 100644 index 95d28ae..0000000 --- a/modules/test_module/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -obj-m += test_module.o - -all: - make ARCH=arm CROSS_COMPILE=${CCPREFIX} -C /root/bokula/linux M=$(PWD) modules - -clean: - make -C /root/bokula/linux M=$(PWD) clean - diff --git a/modules/test_module/Module.symvers b/modules/test_module/Module.symvers deleted file mode 100644 index e69de29..0000000 diff --git a/modules/test_module/modules.order b/modules/test_module/modules.order deleted file mode 100644 index 9a56d39..0000000 --- a/modules/test_module/modules.order +++ /dev/null @@ -1 +0,0 @@ -kernel//root/kernel/test_module/test_module.ko diff --git a/modules/test_module/test_module.c b/modules/test_module/test_module.c deleted file mode 100644 index 75d2644..0000000 --- a/modules/test_module/test_module.c +++ /dev/null @@ -1,28 +0,0 @@ -/* - * test_module.c - * - * Created on: 21 Jun 2017 - * Author: Tom Knot - */ - -#include -#include -MODULE_LICENSE("Dual BSD/GPL"); - -static int hello_init(void) -{ - printk(KERN_ALERT "hello world \n"); - printk(KERN_ALERT "module is up \n"); - return 0; -} - -static void hello_exit(void) -{ - printk(KERN_ALERT "bye bye \n"); - printk(KERN_ALERT "module is down \n"); - return ; -} - -module_init(hello_init); -module_exit(hello_exit); - diff --git a/modules/test_module/test_module.ko b/modules/test_module/test_module.ko deleted file mode 100644 index 9c9cbaa83eb1bb442c3f9c2ca6bf9184182da22d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3581 zcmeHKO>Epm6n6+|nLlS62{?kZl6xv2qD#CSa)0jB+YVFOB zD%64mf?GL(iVC>_6^I~lK!QU~zzK2e0U=sIqT+-E2QGy7*)v)1ib?^g5(l0%``-87 zH*em|*fZYqV^iabqL37YvQ$MxXLiJq#$v3pbQj%8J2%#@(be3IhV`lIG?=^b=jP@w z?exx1&}~8!t^GjnUH%!}_Hg^VK9buk`!GMtT#PmRmh$5I`h{26tg(S1;Iwh`T+8u8 zXJE8qdfM=b(MKm{rVtOy){;{W-M}B{8yU~%N5+PS$NC=|?;9)Thx&Vl3I!tDDLK9! z4iGaJ&9kmGP}KYNLNT}0+ohd2Hlr;Dwo&oDz_ekCe4#dU{Mb^jRw^v@X{6-m9nT9i zZ8<1=w$_TVl{~X6o};;;Rw+r}+^VCYwbsP#VA%(wo%@Y)J7>Q8dD7eP%+;V0A>lue zFWOJ(hG9D9oXe#zyS{B$rIJx9=eL(+a_!o|QrY#Rh3)a{S>IY>BzG^uLbJ)u8Gr^K54mL_~Xj^ zG%+&rxR$lbK^R6s;N_+#w7j10(F>hgQSa6BTA@2%=q`2_v}~#DlpW78L#LAy{=0rd z-CRuk3X<{&n~lA>A==T}G}NrLWOg^~QT8f#tNWCDlzTG|WFAruE2M|3i;+3UIw~i6 zURqp@9yu!!>3r#T7W%R5l=u%+p7ac1ML!nokbai3%xedV|tY+v9eMdmxo4)FLI zie-=id{V$e{It+A->dAz{G`ZyPqQOk-%)X=pg!=ygP!MxyfWWK05l;oA2tteyjPHm zvO@y5y1c+R&D#Jk#T^v -#include -#include - -MODULE_INFO(vermagic, VERMAGIC_STRING); - -__visible struct module __this_module -__attribute__((section(".gnu.linkonce.this_module"))) = { - .name = KBUILD_MODNAME, - .init = init_module, -#ifdef CONFIG_MODULE_UNLOAD - .exit = cleanup_module, -#endif - .arch = MODULE_ARCH_INIT, -}; - -static const struct modversion_info ____versions[] -__used -__attribute__((section("__versions"))) = { - { 0xbca7617b, __VMLINUX_SYMBOL_STR(module_layout) }, - { 0x2e5810c6, __VMLINUX_SYMBOL_STR(__aeabi_unwind_cpp_pr1) }, - { 0x27e1a049, __VMLINUX_SYMBOL_STR(printk) }, - { 0xb1ad28e0, __VMLINUX_SYMBOL_STR(__gnu_mcount_nc) }, -}; - -static const char __module_depends[] -__used -__attribute__((section(".modinfo"))) = -"depends="; - - -MODULE_INFO(srcversion, "8CF11CEBBE96F8E41A95A22"); diff --git a/modules/test_module/test_module.mod.o b/modules/test_module/test_module.mod.o deleted file mode 100644 index 10b73276665cf336519b65f82ffebb5d146dde4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2252 zcmeHJOHUI~6h6}j0zLwW@5GEsq(pktnH1YLnZ&Sd7cNHlTj z!oT3cohuXFvtZ?~aDhL;#DzOOr=3d&Hgv(lg(o?4Uf-O1?(59Ftv+7XGz}DKkb%Ah z@Fmrar1M>ofeUaJ!oco0LFjs7zF1i{j7oKJv0A#nT&(7ea%rw?ng9*QcSIwc2Sm24 zP1l~!vl27&*-qh}{%mbSZ+Q*g7ERA;kQ(I+_43oTPC@t0PEm)~)~7v;wVMuaTDx9b zsv-xJ-^QLZ&Mn8PyExR2D;nJPeeMUwU4)Gt68* zXX+V0Z~~|4SfMimw0->QJfK^USPWDNOT10RHow^xN5 z@8J{-X0V`lhgN^;gjZ`q;R7sw1D)qlpFpO0(7b4_@se^lx%cQ(q{daYl5u|ue*RH@ zlF9f6bnSR06pxQcb_y=W6QF%LvhSeO&}Jy7kf~m>AEC@5Ka6Y?hm?f$v3zN$sVEk% zVLVPr+}We!tJB^?C6Am4s+UecpOP>Nb!FmI$1&gGMxvkA`HhN4HpD(Mbj_I!Qw_Z5 zwe{5}wJKj-;{Csa68fX>cl0}O1gQQDis+3s3eMw=!4>Y|H_gW0CEC8~8SouzO5g(g K!nH|E0{jJKcF*4c diff --git a/modules/test_module/test_module.o b/modules/test_module/test_module.o deleted file mode 100644 index b9185eb833af076ae908967cad13c0387f841de4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2764 zcmeHIOK;p%6h3!6Nz;%*iCS8qfQ1U0mX67cf?9zPO*|EMqEoW6gc*Y<=*FU+hB$M! zxgxXk2Uh0P!P;W|h&rl{Imgw*>XF*xwI|gXC0=p8Uj|)ZIjHcOl`yJTMmwc=y`T)l z>lTH0E3d!m!Nv^wD>d%zh=*Oo>AM;18RI!%%Uc#N%=-N(#VBc3M&9cBX0s@RaH|?B zD9b_I9hOnSqq-}40#U4$Srg4W=^2?&H}a#vgGMI&goF*?{b1%ZZVvpE(H$V^s|vhv~dqsabwSA?Dw0oHi=`rJ!87R#KK1~J^=Y4F!#apl(HRL}AJY#H=T~!80X0(6ohCWRW zZl3uQn$`1h?244Q5UBJ1?0j!Su4sC9T<@H)zDcYZr7K;l`s3gf_s%z6k<7nu5)8=^ z-TKBh2VL|0SgY=3W1s%!K0P%$_ppc+y$`hep)P0|rC;?e&w~zOa7IPZ(8>`7~e~Wem~5HY3Zk-tdaqK+*A?pExG^?1{YJ8VXw90kC7@__Lt@4THQF#=T<@Ag66{V^G%e zX*3`9AKDj;{y%Ep{2loAIFl^I3h$2Y_49lEoRz|kWJ{jaA>>Kk3v?RVCOMFx0 c&%x8(>_^1$J@fxcWDN5tcfh0?7D_wuZ@d*QNB{r; -- 2.34.1