From 5d29a6a0cbb721df4a553fd633b333b9f4e686b5 Mon Sep 17 00:00:00 2001 From: dongwencai Date: Wed, 13 May 2015 18:24:34 +0800 Subject: [PATCH] first commit --- .axp209.ko.cmd | 1 + .axp209.mod.o.cmd | 419 +++++++++++++++++++++++ .axp209.o.cmd | 700 +++++++++++++++++++++++++++++++++++++++ .tmp_versions/axp209.mod | 2 + Makefile | 17 + Module.symvers | 4 + axp.c | 91 +++++ axp209 | Bin 0 -> 9020 bytes axp209.c | 434 ++++++++++++++++++++++++ axp209.h | 25 ++ axp209.ko | Bin 0 -> 9089 bytes axp209.mod.c | 19 ++ axp209.mod.o | Bin 0 -> 6496 bytes axp209.o | Bin 0 -> 28652 bytes axp209_event.h | 25 ++ demo | Bin 0 -> 7271 bytes demo.c | 57 ++++ modules.order | 1 + mt7620a_reg.h | 42 +++ taghl_config.txt | 3 + tags | 121 +++++++ types_c.taghl | 7 + 22 files changed, 1968 insertions(+) create mode 100644 .axp209.ko.cmd create mode 100644 .axp209.mod.o.cmd create mode 100644 .axp209.o.cmd create mode 100644 .tmp_versions/axp209.mod create mode 100644 Makefile create mode 100644 Module.symvers create mode 100644 axp.c create mode 100755 axp209 create mode 100644 axp209.c create mode 100644 axp209.h create mode 100644 axp209.ko create mode 100644 axp209.mod.c create mode 100644 axp209.mod.o create mode 100644 axp209.o create mode 100644 axp209_event.h create mode 100755 demo create mode 100644 demo.c create mode 100644 modules.order create mode 100644 mt7620a_reg.h create mode 100644 taghl_config.txt create mode 100644 tags create mode 100644 types_c.taghl diff --git a/.axp209.ko.cmd b/.axp209.ko.cmd new file mode 100644 index 0000000..2dbb234 --- /dev/null +++ b/.axp209.ko.cmd @@ -0,0 +1 @@ +cmd_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.ko := mipsel-openwrt-linux-ld -r -m elf32ltsmip -T /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/scripts/module-common.lds -s --build-id -o /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.ko /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o diff --git a/.axp209.mod.o.cmd b/.axp209.mod.o.cmd new file mode 100644 index 0000000..ac0ccb7 --- /dev/null +++ b/.axp209.mod.o.cmd @@ -0,0 +1,419 @@ +cmd_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o := mipsel-openwrt-linux-gcc -Wp,-MD,/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/.axp209.mod.o.d -nostdinc -isystem /home/mrdong/openwrt/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/gcc/mipsel-openwrt-linux-uclibc/4.8.3/include -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include -Iarch/mips/include/generated -Iinclude -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi -Iarch/mips/include/generated/uapi -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi -Iinclude/generated/uapi -include /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/linux/kconfig.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff80000000 -DDATAOFFSET=0 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -Wno-maybe-uninitialized -mno-check-zero-division -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely -msoft-float -ffreestanding -march=mips32r2 -Wa,-mips32r2 -Wa,--trap -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/mt7620 -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/mt7621 -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -g -femit-struct-debug-baseonly -fno-var-tracking -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(axp209.mod)" -D"KBUILD_MODNAME=KBUILD_STR(axp209)" -DMODULE -mno-long-calls -c -o /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.c + +source_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o := /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.c + +deps_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o := \ + $(wildcard include/config/module/unload.h) \ + include/linux/module.h \ + $(wildcard include/config/module/stripped.h) \ + $(wildcard include/config/sysfs.h) \ + $(wildcard include/config/modules.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/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 \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/types.h \ + $(wildcard include/config/64bit/phys/addr.h) \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/types.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/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/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) \ + include/linux/compiler-gcc4.h \ + $(wildcard include/config/arch/use/builtin/bswap.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/posix_types.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/sgidefs.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/illegal/pointer/value.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/const.h \ + include/linux/stat.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/stat.h \ + include/uapi/linux/stat.h \ + include/linux/time.h \ + $(wildcard include/config/arch/uses/gettimeoffset.h) \ + include/linux/cache.h \ + $(wildcard include/config/arch/has/cache/line/size.h) \ + include/linux/kernel.h \ + $(wildcard include/config/preempt/voluntary.h) \ + $(wildcard include/config/debug/atomic/sleep.h) \ + $(wildcard include/config/prove/locking.h) \ + $(wildcard include/config/ring/buffer.h) \ + /home/mrdong/openwrt/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/gcc/mipsel-openwrt-linux-uclibc/4.8.3/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) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/linkage.h \ + include/linux/bitops.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/bitops.h \ + $(wildcard include/config/cpu/mipsr2.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/barrier.h \ + $(wildcard include/config/cpu/has/sync.h) \ + $(wildcard include/config/cpu/cavium/octeon.h) \ + $(wildcard include/config/sgi/ip28.h) \ + $(wildcard include/config/cpu/has/wb.h) \ + $(wildcard include/config/weak/ordering.h) \ + $(wildcard include/config/weak/reordering/beyond/llsc.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/addrspace.h \ + $(wildcard include/config/cpu/r8000.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/spaces.h \ + $(wildcard include/config/32bit.h) \ + $(wildcard include/config/kvm/guest.h) \ + $(wildcard include/config/dma/noncoherent.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/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 \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/swab.h \ + include/linux/byteorder/generic.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cpu-features.h \ + $(wildcard include/config/sys/supports/micromips.h) \ + $(wildcard include/config/cpu/mipsr2/irq/vi.h) \ + $(wildcard include/config/cpu/mipsr2/irq/ei.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cpu.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cpu-info.h \ + $(wildcard include/config/mips/mt/smp.h) \ + $(wildcard include/config/mips/mt/smtc.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cache.h \ + $(wildcard include/config/mips/l1/cache/shift.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/kmalloc.h \ + $(wildcard include/config/dma/coherent.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/cpu-feature-overrides.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/war.h \ + $(wildcard include/config/cpu/r4000/workarounds.h) \ + $(wildcard include/config/cpu/r4400/workarounds.h) \ + $(wildcard include/config/cpu/daddi/workarounds.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/war.h \ + include/asm-generic/bitops/non-atomic.h \ + include/asm-generic/bitops/fls64.h \ + include/asm-generic/bitops/ffz.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/generic/find/first/bit.h) \ + include/asm-generic/bitops/sched.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/arch_hweight.h \ + include/asm-generic/bitops/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/le.h \ + include/asm-generic/bitops/ext2-atomic.h \ + include/linux/log2.h \ + $(wildcard include/config/arch/has/ilog2/u32.h) \ + $(wildcard include/config/arch/has/ilog2/u64.h) \ + include/linux/typecheck.h \ + include/linux/printk.h \ + $(wildcard include/config/early/printk.h) \ + $(wildcard include/config/printk.h) \ + $(wildcard include/config/dynamic/debug.h) \ + include/linux/init.h \ + $(wildcard include/config/broken/rodata.h) \ + include/linux/kern_levels.h \ + include/linux/dynamic_debug.h \ + include/linux/string.h \ + $(wildcard include/config/binary/printf.h) \ + include/uapi/linux/string.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/string.h \ + $(wildcard include/config/cpu/r3000.h) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/errno.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/errno.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/asm-generic/errno-base.h \ + include/uapi/linux/kernel.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/sysinfo.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/div64.h \ + include/asm-generic/div64.h \ + include/linux/seqlock.h \ + include/linux/spinlock.h \ + $(wildcard include/config/debug/spinlock.h) \ + $(wildcard include/config/generic/lockbreak.h) \ + $(wildcard include/config/preempt.h) \ + $(wildcard include/config/debug/lock/alloc.h) \ + include/linux/preempt.h \ + $(wildcard include/config/debug/preempt.h) \ + $(wildcard include/config/preempt/tracer.h) \ + $(wildcard include/config/context/tracking.h) \ + $(wildcard include/config/preempt/count.h) \ + $(wildcard include/config/preempt/notifiers.h) \ + include/linux/thread_info.h \ + $(wildcard include/config/compat.h) \ + $(wildcard include/config/debug/stack/usage.h) \ + include/linux/bug.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/bug.h \ + $(wildcard include/config/bug.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/break.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/break.h \ + include/asm-generic/bug.h \ + $(wildcard include/config/generic/bug/relative/pointers.h) \ + $(wildcard include/config/debug/bugverbose.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/thread_info.h \ + $(wildcard include/config/page/size/4kb.h) \ + $(wildcard include/config/page/size/8kb.h) \ + $(wildcard include/config/page/size/16kb.h) \ + $(wildcard include/config/page/size/32kb.h) \ + $(wildcard include/config/page/size/64kb.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/processor.h \ + $(wildcard include/config/cavium/octeon/cvmseg/size.h) \ + $(wildcard include/config/mips/mt/fpaff.h) \ + $(wildcard include/config/cpu/has/prefetch.h) \ + include/linux/cpumask.h \ + $(wildcard include/config/cpumask/offstack.h) \ + $(wildcard include/config/hotplug/cpu.h) \ + $(wildcard include/config/debug/per/cpu/maps.h) \ + $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ + include/linux/threads.h \ + $(wildcard include/config/nr/cpus.h) \ + $(wildcard include/config/base/small.h) \ + include/linux/bitmap.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/cachectl.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mipsregs.h \ + $(wildcard include/config/cpu/vr41xx.h) \ + $(wildcard include/config/mips/huge/tlb/support.h) \ + $(wildcard include/config/cpu/micromips.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/hazards.h \ + $(wildcard include/config/cpu/mipsr1.h) \ + $(wildcard include/config/mips/alchemy.h) \ + $(wildcard include/config/cpu/bmips.h) \ + $(wildcard include/config/cpu/loongson2.h) \ + $(wildcard include/config/cpu/r10000.h) \ + $(wildcard include/config/cpu/r5500.h) \ + $(wildcard include/config/cpu/xlr.h) \ + $(wildcard include/config/cpu/sb1.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/prefetch.h \ + include/linux/irqflags.h \ + $(wildcard include/config/trace/irqflags.h) \ + $(wildcard include/config/irqsoff/tracer.h) \ + $(wildcard include/config/trace/irqflags/support.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/irqflags.h \ + $(wildcard include/config/irq/cpu.h) \ + include/linux/bottom_half.h \ + include/linux/spinlock_types.h \ + include/linux/spinlock_types_up.h \ + include/linux/lockdep.h \ + $(wildcard include/config/lockdep.h) \ + $(wildcard include/config/lock/stat.h) \ + $(wildcard include/config/prove/rcu.h) \ + include/linux/rwlock_types.h \ + include/linux/spinlock_up.h \ + include/linux/rwlock.h \ + include/linux/spinlock_api_up.h \ + include/linux/atomic.h \ + $(wildcard include/config/arch/has/atomic/or.h) \ + $(wildcard include/config/generic/atomic64.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/atomic.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cmpxchg.h \ + include/asm-generic/cmpxchg-local.h \ + include/asm-generic/atomic-long.h \ + include/asm-generic/atomic64.h \ + include/linux/math64.h \ + include/uapi/linux/time.h \ + include/linux/uidgid.h \ + $(wildcard include/config/uidgid/strict/type/checks.h) \ + $(wildcard include/config/user/ns.h) \ + include/linux/highuid.h \ + include/linux/kmod.h \ + include/linux/gfp.h \ + $(wildcard include/config/numa.h) \ + $(wildcard include/config/highmem.h) \ + $(wildcard include/config/zone/dma.h) \ + $(wildcard include/config/zone/dma32.h) \ + $(wildcard include/config/pm/sleep.h) \ + $(wildcard include/config/cma.h) \ + include/linux/mmzone.h \ + $(wildcard include/config/force/max/zoneorder.h) \ + $(wildcard include/config/memory/isolation.h) \ + $(wildcard include/config/memcg.h) \ + $(wildcard include/config/compaction.h) \ + $(wildcard include/config/memory/hotplug.h) \ + $(wildcard include/config/sparsemem.h) \ + $(wildcard include/config/have/memblock/node/map.h) \ + $(wildcard include/config/discontigmem.h) \ + $(wildcard include/config/flat/node/mem/map.h) \ + $(wildcard include/config/no/bootmem.h) \ + $(wildcard include/config/numa/balancing.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/need/multiple/nodes.h) \ + $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ + $(wildcard include/config/flatmem.h) \ + $(wildcard include/config/sparsemem/extreme.h) \ + $(wildcard include/config/have/arch/pfn/valid.h) \ + $(wildcard include/config/nodes/span/other/nodes.h) \ + $(wildcard include/config/holes/in/zone.h) \ + $(wildcard include/config/arch/has/holes/memorymodel.h) \ + include/linux/wait.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/current.h \ + include/asm-generic/current.h \ + include/uapi/linux/wait.h \ + include/linux/numa.h \ + $(wildcard include/config/nodes/shift.h) \ + include/linux/nodemask.h \ + $(wildcard include/config/movable/node.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 \ + $(wildcard include/config/sparsemem/vmemmap.h) \ + include/generated/bounds.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/page.h \ + $(wildcard include/config/cpu/mips32.h) \ + include/linux/pfn.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/io.h \ + $(wildcard include/config/pci.h) \ + include/asm-generic/iomap.h \ + $(wildcard include/config/has/ioport.h) \ + $(wildcard include/config/generic/iomap.h) \ + include/asm-generic/pci_iomap.h \ + $(wildcard include/config/no/generic/pci/ioport/map.h) \ + $(wildcard include/config/generic/pci/iomap.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/pgtable-bits.h \ + $(wildcard include/config/cpu/tx39xx.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/ioremap.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/mangle-port.h \ + $(wildcard include/config/swap/io/space.h) \ + include/asm-generic/memory_model.h \ + include/asm-generic/getorder.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/mutex.h \ + $(wildcard include/config/debug/mutexes.h) \ + $(wildcard include/config/mutex/spin/on/owner.h) \ + $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ + include/linux/rwsem.h \ + $(wildcard include/config/rwsem/generic/spinlock.h) \ + include/linux/rwsem-spinlock.h \ + include/linux/srcu.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/rcu/torture/test.h) \ + $(wildcard include/config/tree/rcu.h) \ + $(wildcard include/config/tree/preempt/rcu.h) \ + $(wildcard include/config/rcu/trace.h) \ + $(wildcard include/config/preempt/rcu.h) \ + $(wildcard include/config/rcu/user/qs.h) \ + $(wildcard include/config/tiny/rcu.h) \ + $(wildcard include/config/tiny/preempt/rcu.h) \ + $(wildcard include/config/debug/objects/rcu/head.h) \ + $(wildcard include/config/rcu/nocb/cpu.h) \ + include/linux/completion.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/debug/objects.h) \ + $(wildcard include/config/debug/objects/free.h) \ + include/linux/rcutiny.h \ + include/linux/workqueue.h \ + $(wildcard include/config/debug/objects/work.h) \ + $(wildcard include/config/freezer.h) \ + include/linux/timer.h \ + $(wildcard include/config/timer/stats.h) \ + $(wildcard include/config/debug/objects/timers.h) \ + include/linux/ktime.h \ + $(wildcard include/config/ktime/scalar.h) \ + include/linux/jiffies.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/param.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/hz.h) \ + include/uapi/asm-generic/param.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/timex.h \ + include/linux/topology.h \ + $(wildcard include/config/sched/smt.h) \ + $(wildcard include/config/sched/mc.h) \ + $(wildcard include/config/sched/book.h) \ + $(wildcard include/config/use/percpu/numa/node/id.h) \ + include/linux/smp.h \ + $(wildcard include/config/use/generic/smp/helpers.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) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/percpu.h \ + include/asm-generic/percpu.h \ + include/linux/percpu-defs.h \ + $(wildcard include/config/debug/force/weak/per/cpu.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/topology.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/topology.h \ + include/asm-generic/topology.h \ + include/linux/mmdebug.h \ + $(wildcard include/config/debug/vm.h) \ + $(wildcard include/config/debug/virtual.h) \ + include/linux/sysctl.h \ + $(wildcard include/config/sysctl.h) \ + include/linux/rbtree.h \ + include/uapi/linux/sysctl.h \ + include/linux/elf.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/elf.h \ + $(wildcard include/config/mips32/n32.h) \ + $(wildcard include/config/mips32/o32.h) \ + $(wildcard include/config/mips32/compat.h) \ + include/uapi/linux/elf.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + include/linux/sysfs.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/tracepoint.h \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/jump/label.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/module.h \ + $(wildcard include/config/cpu/mips32/r1.h) \ + $(wildcard include/config/cpu/mips32/r2.h) \ + $(wildcard include/config/cpu/mips64/r1.h) \ + $(wildcard include/config/cpu/mips64/r2.h) \ + $(wildcard include/config/cpu/r4300.h) \ + $(wildcard include/config/cpu/r4x00.h) \ + $(wildcard include/config/cpu/tx49xx.h) \ + $(wildcard include/config/cpu/r5000.h) \ + $(wildcard include/config/cpu/r5432.h) \ + $(wildcard include/config/cpu/r6000.h) \ + $(wildcard include/config/cpu/nevada.h) \ + $(wildcard include/config/cpu/rm7000.h) \ + $(wildcard include/config/cpu/loongson1.h) \ + $(wildcard include/config/cpu/xlp.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/uaccess.h \ + include/linux/vermagic.h \ + include/generated/utsrelease.h \ + +/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o: $(deps_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o) + +$(deps_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.mod.o): diff --git a/.axp209.o.cmd b/.axp209.o.cmd new file mode 100644 index 0000000..0bf77ce --- /dev/null +++ b/.axp209.o.cmd @@ -0,0 +1,700 @@ +cmd_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o := mipsel-openwrt-linux-gcc -Wp,-MD,/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/.axp209.o.d -nostdinc -isystem /home/mrdong/openwrt/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/gcc/mipsel-openwrt-linux-uclibc/4.8.3/include -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include -Iarch/mips/include/generated -Iinclude -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi -Iarch/mips/include/generated/uapi -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi -Iinclude/generated/uapi -include /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/linux/kconfig.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff80000000 -DDATAOFFSET=0 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -Wno-maybe-uninitialized -mno-check-zero-division -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely -msoft-float -ffreestanding -march=mips32r2 -Wa,-mips32r2 -Wa,--trap -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/mt7620 -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/mt7621 -I/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -g -femit-struct-debug-baseonly -fno-var-tracking -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -DMODULE -mno-long-calls -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(axp209)" -D"KBUILD_MODNAME=KBUILD_STR(axp209)" -c -o /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.c + +source_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o := /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.c + +deps_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o := \ + include/linux/i2c.h \ + $(wildcard include/config/i2c.h) \ + $(wildcard include/config/i2c/boardinfo.h) \ + $(wildcard include/config/acpi/i2c.h) \ + include/linux/mod_devicetable.h \ + include/linux/types.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 \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/types.h \ + $(wildcard include/config/64bit/phys/addr.h) \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/types.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/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/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) \ + include/linux/compiler-gcc4.h \ + $(wildcard include/config/arch/use/builtin/bswap.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/posix_types.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/sgidefs.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/asm-generic/posix_types.h \ + include/linux/uuid.h \ + include/uapi/linux/uuid.h \ + include/linux/string.h \ + $(wildcard include/config/binary/printf.h) \ + /home/mrdong/openwrt/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/gcc/mipsel-openwrt-linux-uclibc/4.8.3/include/stdarg.h \ + include/uapi/linux/string.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/string.h \ + $(wildcard include/config/32bit.h) \ + $(wildcard include/config/cpu/r3000.h) \ + include/linux/device.h \ + $(wildcard include/config/debug/devres.h) \ + $(wildcard include/config/acpi.h) \ + $(wildcard include/config/pinctrl.h) \ + $(wildcard include/config/numa.h) \ + $(wildcard include/config/cma.h) \ + $(wildcard include/config/pm/sleep.h) \ + $(wildcard include/config/devtmpfs.h) \ + $(wildcard include/config/printk.h) \ + $(wildcard include/config/dynamic/debug.h) \ + $(wildcard include/config/sysfs/deprecated.h) \ + include/linux/ioport.h \ + $(wildcard include/config/memory/hotremove.h) \ + include/linux/kobject.h \ + include/linux/list.h \ + $(wildcard include/config/debug/list.h) \ + include/linux/poison.h \ + $(wildcard include/config/illegal/pointer/value.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/const.h \ + include/linux/sysfs.h \ + $(wildcard include/config/debug/lock/alloc.h) \ + $(wildcard include/config/sysfs.h) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/errno.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/errno.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/asm-generic/errno-base.h \ + include/linux/lockdep.h \ + $(wildcard include/config/lockdep.h) \ + $(wildcard include/config/lock/stat.h) \ + $(wildcard include/config/trace/irqflags.h) \ + $(wildcard include/config/prove/locking.h) \ + $(wildcard include/config/prove/rcu.h) \ + include/linux/kobject_ns.h \ + include/linux/atomic.h \ + $(wildcard include/config/arch/has/atomic/or.h) \ + $(wildcard include/config/generic/atomic64.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/atomic.h \ + include/linux/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 \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/irqflags.h \ + $(wildcard include/config/cpu/mipsr2.h) \ + $(wildcard include/config/mips/mt/smtc.h) \ + $(wildcard include/config/irq/cpu.h) \ + include/linux/stringify.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/hazards.h \ + $(wildcard include/config/cpu/cavium/octeon.h) \ + $(wildcard include/config/cpu/mipsr1.h) \ + $(wildcard include/config/mips/alchemy.h) \ + $(wildcard include/config/cpu/bmips.h) \ + $(wildcard include/config/cpu/loongson2.h) \ + $(wildcard include/config/cpu/r10000.h) \ + $(wildcard include/config/cpu/r5500.h) \ + $(wildcard include/config/cpu/xlr.h) \ + $(wildcard include/config/cpu/sb1.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/barrier.h \ + $(wildcard include/config/cpu/has/sync.h) \ + $(wildcard include/config/sgi/ip28.h) \ + $(wildcard include/config/cpu/has/wb.h) \ + $(wildcard include/config/weak/ordering.h) \ + $(wildcard include/config/smp.h) \ + $(wildcard include/config/weak/reordering/beyond/llsc.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/addrspace.h \ + $(wildcard include/config/cpu/r8000.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/spaces.h \ + $(wildcard include/config/kvm/guest.h) \ + $(wildcard include/config/dma/noncoherent.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cpu-features.h \ + $(wildcard include/config/sys/supports/micromips.h) \ + $(wildcard include/config/cpu/mipsr2/irq/vi.h) \ + $(wildcard include/config/cpu/mipsr2/irq/ei.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cpu.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cpu-info.h \ + $(wildcard include/config/mips/mt/smp.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cache.h \ + $(wildcard include/config/mips/l1/cache/shift.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/kmalloc.h \ + $(wildcard include/config/dma/coherent.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/cpu-feature-overrides.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cmpxchg.h \ + include/linux/bug.h \ + $(wildcard include/config/generic/bug.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/bug.h \ + $(wildcard include/config/bug.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/break.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/break.h \ + include/asm-generic/bug.h \ + $(wildcard include/config/generic/bug/relative/pointers.h) \ + $(wildcard include/config/debug/bugverbose.h) \ + include/linux/kernel.h \ + $(wildcard include/config/preempt/voluntary.h) \ + $(wildcard include/config/debug/atomic/sleep.h) \ + $(wildcard include/config/ring/buffer.h) \ + $(wildcard include/config/tracing.h) \ + $(wildcard include/config/ftrace/mcount/record.h) \ + include/linux/linkage.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/unused/symbols.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/linkage.h \ + include/linux/bitops.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/bitops.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/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 \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/swab.h \ + include/linux/byteorder/generic.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/war.h \ + $(wildcard include/config/cpu/r4000/workarounds.h) \ + $(wildcard include/config/cpu/r4400/workarounds.h) \ + $(wildcard include/config/cpu/daddi/workarounds.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/war.h \ + include/asm-generic/bitops/non-atomic.h \ + include/asm-generic/bitops/fls64.h \ + include/asm-generic/bitops/ffz.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/generic/find/first/bit.h) \ + include/asm-generic/bitops/sched.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/arch_hweight.h \ + include/asm-generic/bitops/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/le.h \ + include/asm-generic/bitops/ext2-atomic.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/early/printk.h) \ + include/linux/init.h \ + $(wildcard include/config/broken/rodata.h) \ + include/linux/kern_levels.h \ + include/linux/dynamic_debug.h \ + include/uapi/linux/kernel.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/sysinfo.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/div64.h \ + include/asm-generic/div64.h \ + include/asm-generic/cmpxchg-local.h \ + include/asm-generic/atomic-long.h \ + include/asm-generic/atomic64.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/debug/preempt.h) \ + $(wildcard include/config/context/tracking.h) \ + $(wildcard include/config/preempt/count.h) \ + $(wildcard include/config/preempt/notifiers.h) \ + include/linux/thread_info.h \ + $(wildcard include/config/compat.h) \ + $(wildcard include/config/debug/stack/usage.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/thread_info.h \ + $(wildcard include/config/page/size/4kb.h) \ + $(wildcard include/config/page/size/8kb.h) \ + $(wildcard include/config/page/size/16kb.h) \ + $(wildcard include/config/page/size/32kb.h) \ + $(wildcard include/config/page/size/64kb.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/processor.h \ + $(wildcard include/config/cavium/octeon/cvmseg/size.h) \ + $(wildcard include/config/mips/mt/fpaff.h) \ + $(wildcard include/config/cpu/has/prefetch.h) \ + include/linux/cpumask.h \ + $(wildcard include/config/cpumask/offstack.h) \ + $(wildcard include/config/hotplug/cpu.h) \ + $(wildcard include/config/debug/per/cpu/maps.h) \ + $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ + include/linux/threads.h \ + $(wildcard include/config/nr/cpus.h) \ + $(wildcard include/config/base/small.h) \ + include/linux/bitmap.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/cachectl.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mipsregs.h \ + $(wildcard include/config/cpu/vr41xx.h) \ + $(wildcard include/config/mips/huge/tlb/support.h) \ + $(wildcard include/config/cpu/micromips.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/prefetch.h \ + include/linux/bottom_half.h \ + include/linux/spinlock_types.h \ + include/linux/spinlock_types_up.h \ + include/linux/rwlock_types.h \ + include/linux/spinlock_up.h \ + include/linux/rwlock.h \ + include/linux/spinlock_api_up.h \ + include/linux/kref.h \ + include/linux/mutex.h \ + $(wildcard include/config/debug/mutexes.h) \ + $(wildcard include/config/mutex/spin/on/owner.h) \ + $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ + include/linux/wait.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/current.h \ + include/asm-generic/current.h \ + include/uapi/linux/wait.h \ + include/linux/klist.h \ + include/linux/pinctrl/devinfo.h \ + include/linux/pinctrl/consumer.h \ + $(wildcard include/config/pinconf.h) \ + include/linux/err.h \ + include/linux/seq_file.h \ + $(wildcard include/config/user/ns.h) \ + include/linux/nodemask.h \ + $(wildcard include/config/highmem.h) \ + $(wildcard include/config/movable/node.h) \ + include/linux/numa.h \ + $(wildcard include/config/nodes/shift.h) \ + include/linux/pinctrl/pinctrl-state.h \ + include/linux/pm.h \ + $(wildcard include/config/vt/console/sleep.h) \ + $(wildcard include/config/pm.h) \ + $(wildcard include/config/pm/runtime.h) \ + $(wildcard include/config/pm/clk.h) \ + $(wildcard include/config/pm/generic/domains.h) \ + include/linux/workqueue.h \ + $(wildcard include/config/debug/objects/work.h) \ + $(wildcard include/config/freezer.h) \ + include/linux/timer.h \ + $(wildcard include/config/timer/stats.h) \ + $(wildcard include/config/debug/objects/timers.h) \ + include/linux/ktime.h \ + $(wildcard include/config/ktime/scalar.h) \ + include/linux/time.h \ + $(wildcard include/config/arch/uses/gettimeoffset.h) \ + include/linux/cache.h \ + $(wildcard include/config/arch/has/cache/line/size.h) \ + include/linux/seqlock.h \ + include/linux/math64.h \ + include/uapi/linux/time.h \ + include/linux/jiffies.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/param.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/hz.h) \ + include/uapi/asm-generic/param.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/timex.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/debug/objects.h) \ + $(wildcard include/config/debug/objects/free.h) \ + include/linux/completion.h \ + include/linux/ratelimit.h \ + include/linux/uidgid.h \ + $(wildcard include/config/uidgid/strict/type/checks.h) \ + include/linux/highuid.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/device.h \ + include/linux/pm_wakeup.h \ + include/linux/sched.h \ + $(wildcard include/config/sched/debug.h) \ + $(wildcard include/config/no/hz/common.h) \ + $(wildcard include/config/lockup/detector.h) \ + $(wildcard include/config/mmu.h) \ + $(wildcard include/config/core/dump/default/elf/headers.h) \ + $(wildcard include/config/sched/autogroup.h) \ + $(wildcard include/config/virt/cpu/accounting/native.h) \ + $(wildcard include/config/bsd/process/acct.h) \ + $(wildcard include/config/taskstats.h) \ + $(wildcard include/config/audit.h) \ + $(wildcard include/config/cgroups.h) \ + $(wildcard include/config/inotify/user.h) \ + $(wildcard include/config/fanotify.h) \ + $(wildcard include/config/epoll.h) \ + $(wildcard include/config/posix/mqueue.h) \ + $(wildcard include/config/keys.h) \ + $(wildcard include/config/perf/events.h) \ + $(wildcard include/config/schedstats.h) \ + $(wildcard include/config/task/delay/acct.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/preempt/rcu.h) \ + $(wildcard include/config/tree/preempt/rcu.h) \ + $(wildcard include/config/rcu/boost.h) \ + $(wildcard include/config/compat/brk.h) \ + $(wildcard include/config/cc/stackprotector.h) \ + $(wildcard include/config/virt/cpu/accounting/gen.h) \ + $(wildcard include/config/sysvipc.h) \ + $(wildcard include/config/detect/hung/task.h) \ + $(wildcard include/config/auditsyscall.h) \ + $(wildcard include/config/rt/mutexes.h) \ + $(wildcard include/config/block.h) \ + $(wildcard include/config/task/xacct.h) \ + $(wildcard include/config/cpusets.h) \ + $(wildcard include/config/futex.h) \ + $(wildcard include/config/numa/balancing.h) \ + $(wildcard include/config/fault/injection.h) \ + $(wildcard include/config/latencytop.h) \ + $(wildcard include/config/function/graph/tracer.h) \ + $(wildcard include/config/memcg.h) \ + $(wildcard include/config/have/hw/breakpoint.h) \ + $(wildcard include/config/uprobes.h) \ + $(wildcard include/config/bcache.h) \ + $(wildcard include/config/have/unstable/sched/clock.h) \ + $(wildcard include/config/irq/time/accounting.h) \ + $(wildcard include/config/no/hz/full.h) \ + $(wildcard include/config/proc/fs.h) \ + $(wildcard include/config/stack/growsup.h) \ + $(wildcard include/config/mm/owner.h) \ + include/uapi/linux/sched.h \ + include/linux/capability.h \ + include/uapi/linux/capability.h \ + include/linux/rbtree.h \ + include/linux/mm_types.h \ + $(wildcard include/config/split/ptlock/cpus.h) \ + $(wildcard include/config/have/cmpxchg/double.h) \ + $(wildcard include/config/have/aligned/struct/page.h) \ + $(wildcard include/config/want/page/debug/flags.h) \ + $(wildcard include/config/kmemcheck.h) \ + $(wildcard include/config/aio.h) \ + $(wildcard include/config/mmu/notifier.h) \ + $(wildcard include/config/transparent/hugepage.h) \ + $(wildcard include/config/compaction.h) \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/auxvec.h \ + include/linux/rwsem.h \ + $(wildcard include/config/rwsem/generic/spinlock.h) \ + include/linux/rwsem-spinlock.h \ + include/linux/page-debug-flags.h \ + $(wildcard include/config/page/poisoning.h) \ + $(wildcard include/config/page/guard.h) \ + $(wildcard include/config/page/debug/something/else.h) \ + include/linux/uprobes.h \ + $(wildcard include/config/arch/supports/uprobes.h) \ + include/linux/page-flags-layout.h \ + $(wildcard include/config/sparsemem.h) \ + $(wildcard include/config/sparsemem/vmemmap.h) \ + include/generated/bounds.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/page.h \ + $(wildcard include/config/cpu/mips32.h) \ + $(wildcard include/config/flatmem.h) \ + $(wildcard include/config/need/multiple/nodes.h) \ + include/linux/pfn.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/io.h \ + $(wildcard include/config/pci.h) \ + include/asm-generic/iomap.h \ + $(wildcard include/config/has/ioport.h) \ + $(wildcard include/config/generic/iomap.h) \ + include/asm-generic/pci_iomap.h \ + $(wildcard include/config/no/generic/pci/ioport/map.h) \ + $(wildcard include/config/generic/pci/iomap.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/pgtable-bits.h \ + $(wildcard include/config/cpu/tx39xx.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/ioremap.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/mangle-port.h \ + $(wildcard include/config/swap/io/space.h) \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/discontigmem.h) \ + include/asm-generic/getorder.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mmu.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/ptrace.h \ + $(wildcard include/config/cpu/has/smartmips.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/isadep.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/ptrace.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/cputime.h \ + include/asm-generic/cputime.h \ + $(wildcard include/config/virt/cpu/accounting.h) \ + include/asm-generic/cputime_jiffies.h \ + include/linux/smp.h \ + $(wildcard include/config/use/generic/smp/helpers.h) \ + include/linux/sem.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/rcu/torture/test.h) \ + $(wildcard include/config/tree/rcu.h) \ + $(wildcard include/config/rcu/trace.h) \ + $(wildcard include/config/rcu/user/qs.h) \ + $(wildcard include/config/tiny/rcu.h) \ + $(wildcard include/config/tiny/preempt/rcu.h) \ + $(wildcard include/config/debug/objects/rcu/head.h) \ + $(wildcard include/config/rcu/nocb/cpu.h) \ + include/linux/rcutiny.h \ + include/uapi/linux/sem.h \ + include/linux/ipc.h \ + include/uapi/linux/ipc.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/ipcbuf.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/asm-generic/ipcbuf.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/sembuf.h \ + include/linux/signal.h \ + $(wildcard include/config/old/sigaction.h) \ + include/uapi/linux/signal.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/signal.h \ + $(wildcard include/config/trad/signals.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/signal.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/asm-generic/signal-defs.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/sigcontext.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/sigcontext.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/siginfo.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/siginfo.h \ + include/asm-generic/siginfo.h \ + include/uapi/asm-generic/siginfo.h \ + include/linux/pid.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) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/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/topology.h \ + $(wildcard include/config/sched/smt.h) \ + $(wildcard include/config/sched/mc.h) \ + $(wildcard include/config/sched/book.h) \ + $(wildcard include/config/use/percpu/numa/node/id.h) \ + $(wildcard include/config/have/memoryless/nodes.h) \ + include/linux/mmzone.h \ + $(wildcard include/config/force/max/zoneorder.h) \ + $(wildcard include/config/memory/isolation.h) \ + $(wildcard include/config/zone/dma.h) \ + $(wildcard include/config/zone/dma32.h) \ + $(wildcard include/config/memory/hotplug.h) \ + $(wildcard include/config/have/memblock/node/map.h) \ + $(wildcard include/config/flat/node/mem/map.h) \ + $(wildcard include/config/no/bootmem.h) \ + $(wildcard include/config/have/memory/present.h) \ + $(wildcard include/config/need/node/memmap/size.h) \ + $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ + $(wildcard include/config/sparsemem/extreme.h) \ + $(wildcard include/config/have/arch/pfn/valid.h) \ + $(wildcard include/config/nodes/span/other/nodes.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/memory_hotplug.h \ + $(wildcard include/config/have/arch/nodedata/extension.h) \ + $(wildcard include/config/have/bootmem/info/node.h) \ + include/linux/notifier.h \ + include/linux/srcu.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/topology.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/topology.h \ + include/asm-generic/topology.h \ + include/linux/proportions.h \ + include/linux/percpu_counter.h \ + include/linux/seccomp.h \ + $(wildcard include/config/seccomp.h) \ + $(wildcard include/config/seccomp/filter.h) \ + include/uapi/linux/seccomp.h \ + include/linux/rculist.h \ + include/linux/rtmutex.h \ + $(wildcard include/config/debug/rt/mutexes.h) \ + include/linux/plist.h \ + $(wildcard include/config/debug/pi/list.h) \ + include/linux/resource.h \ + include/uapi/linux/resource.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/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/timerfd.h) \ + include/linux/timerqueue.h \ + include/linux/task_io_accounting.h \ + $(wildcard include/config/task/io/accounting.h) \ + include/linux/latencytop.h \ + include/linux/cred.h \ + $(wildcard include/config/debug/credentials.h) \ + $(wildcard include/config/security.h) \ + include/linux/key.h \ + $(wildcard include/config/sysctl.h) \ + include/linux/sysctl.h \ + include/uapi/linux/sysctl.h \ + include/linux/selinux.h \ + $(wildcard include/config/security/selinux.h) \ + include/linux/llist.h \ + $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ + include/linux/gfp.h \ + include/linux/mmdebug.h \ + $(wildcard include/config/debug/vm.h) \ + $(wildcard include/config/debug/virtual.h) \ + include/linux/of.h \ + $(wildcard include/config/sparc.h) \ + $(wildcard include/config/of/dynamic.h) \ + $(wildcard include/config/of.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/proc/devicetree.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/prom.h \ + include/linux/io.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/bootinfo.h \ + $(wildcard include/config/swiotlb.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/setup.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/setup.h \ + include/uapi/linux/i2c.h \ + include/linux/module.h \ + $(wildcard include/config/module/stripped.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/stat.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/stat.h \ + include/uapi/linux/stat.h \ + include/linux/kmod.h \ + include/linux/elf.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/elf.h \ + $(wildcard include/config/mips32/n32.h) \ + $(wildcard include/config/mips32/o32.h) \ + $(wildcard include/config/mips32/compat.h) \ + include/uapi/linux/elf.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/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/tracepoint.h \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/jump/label.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/module.h \ + $(wildcard include/config/cpu/mips32/r1.h) \ + $(wildcard include/config/cpu/mips32/r2.h) \ + $(wildcard include/config/cpu/mips64/r1.h) \ + $(wildcard include/config/cpu/mips64/r2.h) \ + $(wildcard include/config/cpu/r4300.h) \ + $(wildcard include/config/cpu/r4x00.h) \ + $(wildcard include/config/cpu/tx49xx.h) \ + $(wildcard include/config/cpu/r5000.h) \ + $(wildcard include/config/cpu/r5432.h) \ + $(wildcard include/config/cpu/r6000.h) \ + $(wildcard include/config/cpu/nevada.h) \ + $(wildcard include/config/cpu/rm7000.h) \ + $(wildcard include/config/cpu/loongson1.h) \ + $(wildcard include/config/cpu/xlp.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/uaccess.h \ + include/linux/cdev.h \ + include/linux/kdev_t.h \ + include/uapi/linux/kdev_t.h \ + include/linux/fs.h \ + $(wildcard include/config/fs/posix/acl.h) \ + $(wildcard include/config/quota.h) \ + $(wildcard include/config/fsnotify.h) \ + $(wildcard include/config/ima.h) \ + $(wildcard include/config/debug/writecount.h) \ + $(wildcard include/config/file/locking.h) \ + $(wildcard include/config/fs/xip.h) \ + $(wildcard include/config/direct/io.h) \ + $(wildcard include/config/migration.h) \ + include/linux/dcache.h \ + include/linux/rculist_bl.h \ + include/linux/list_bl.h \ + include/linux/bit_spinlock.h \ + include/linux/path.h \ + include/linux/radix-tree.h \ + include/linux/semaphore.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/fiemap.h \ + include/linux/shrinker.h \ + include/linux/migrate_mode.h \ + include/linux/percpu-rwsem.h \ + include/linux/blk_types.h \ + $(wildcard include/config/blk/cgroup.h) \ + $(wildcard include/config/blk/dev/integrity.h) \ + include/uapi/linux/fs.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/limits.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/linux/ioctl.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/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) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/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 \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/uapi/asm/fcntl.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/include/uapi/asm-generic/fcntl.h \ + include/linux/interrupt.h \ + $(wildcard include/config/generic/hardirqs.h) \ + $(wildcard include/config/irq/forced/threading.h) \ + $(wildcard include/config/generic/irq/probe.h) \ + include/linux/irqreturn.h \ + include/linux/irqnr.h \ + include/uapi/linux/irqnr.h \ + include/linux/hardirq.h \ + include/linux/ftrace_irq.h \ + $(wildcard include/config/ftrace/nmi/enter.h) \ + include/linux/vtime.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/hardirq.h \ + include/asm-generic/hardirq.h \ + include/linux/irq_cpustat.h \ + include/linux/irq.h \ + $(wildcard include/config/generic/pending/irq.h) \ + $(wildcard include/config/hardirqs/sw/resend.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/irq.h \ + $(wildcard include/config/i8259.h) \ + $(wildcard include/config/mips/mt/smtc/irqaff.h) \ + $(wildcard include/config/mips/mt/smtc/im/backstop.h) \ + include/linux/irqdomain.h \ + $(wildcard include/config/irq/domain.h) \ + $(wildcard include/config/of/irq.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mipsmtregs.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/irq.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-generic/irq.h \ + $(wildcard include/config/irq/cpu/rm7k.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/irq_regs.h \ + include/linux/irqdesc.h \ + $(wildcard include/config/irq/preflow/fasteoi.h) \ + $(wildcard include/config/sparse/irq.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/hw_irq.h \ + include/linux/gpio.h \ + $(wildcard include/config/gpiolib.h) \ + $(wildcard include/config/arch/have/custom/gpio/h.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/gpio.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/mach-ralink/gpio.h \ + include/asm-generic/gpio.h \ + $(wildcard include/config/of/gpio.h) \ + $(wildcard include/config/gpio/sysfs.h) \ + include/linux/pinctrl/pinctrl.h \ + include/linux/kthread.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209_event.h \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/mt7620a_reg.h \ + $(wildcard include/config/ralink/mt7620.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/rt2880/rt_mmap.h \ + $(wildcard include/config/ralink/rt2880/shuttle.h) \ + $(wildcard include/config/ralink/rt2880/mp.h) \ + $(wildcard include/config/ralink/rt3052.h) \ + $(wildcard include/config/ralink/rt3352.h) \ + $(wildcard include/config/ralink/rt5350.h) \ + $(wildcard include/config/ralink/rt2883.h) \ + $(wildcard include/config/ralink/rt3883.h) \ + $(wildcard include/config/ralink/rt6855.h) \ + $(wildcard include/config/ralink/mt7621.h) \ + $(wildcard include/config/ralink/mt7628.h) \ + /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/arch/mips/include/asm/rt2880/surfboardint.h \ + $(wildcard include/config/ralink/rt2880.h) \ + +/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o: $(deps_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o) + +$(deps_/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o): diff --git a/.tmp_versions/axp209.mod b/.tmp_versions/axp209.mod new file mode 100644 index 0000000..fa96763 --- /dev/null +++ b/.tmp_versions/axp209.mod @@ -0,0 +1,2 @@ +/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.ko +/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209.o diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d96937b --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +ARCH ?=mips +CROSS_COMPILE ?=mipsel-openwrt-linux- +CC=$(CROSS_COMPILE)gcc +obj-m := axp209.o #要生成的模块名 +mymodules-objs:= axp209.o #生成这个模块名所需要的目标文件 + +KDIR :=/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/ + +PWD := $(shell pwd) + +default: + $(CC) demo.c -o demo + $(CC) axp.c -o axp209 -lm + make -C $(KDIR) M=$(PWD) modules + +clean: + rm -rf *.o .* .cmd *.ko *.mod.c .tmp_versions demo axp209 diff --git a/Module.symvers b/Module.symvers new file mode 100644 index 0000000..3ff499e --- /dev/null +++ b/Module.symvers @@ -0,0 +1,4 @@ +0x00000000 unregister_axp209_notifier /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209 EXPORT_SYMBOL +0x00000000 rgbled_notifier /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/rgbled/rgbled EXPORT_SYMBOL +0x00000000 register_axp209_notifier /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209 EXPORT_SYMBOL +0x00000000 call_axp209_notifiers /home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/driver_dev/axp209_drv/axp209 EXPORT_SYMBOL diff --git a/axp.c b/axp.c new file mode 100644 index 0000000..c086e39 --- /dev/null +++ b/axp.c @@ -0,0 +1,91 @@ +#include "axp209.h" +#include +#include +#include +#include +#include +#include +#include +#include +void usage() __attribute__ ((noreturn)); +void usage() +{ + printf("-----------usage----------->\n"); + printf("axp209 set reg value\n"); + printf("axp209 get reg\n"); + exit(-1); +} + +int hex2int(char *szhex) +{ + int n = 0, len; + int value = 0; + char hs2i[128] ={ + ['0'] = 0, + ['1'] = 1, + ['2'] = 2, + ['3'] = 3, + ['4'] = 4, + ['5'] = 5, + ['6'] = 6, + ['7'] = 7, + ['8'] = 8, + ['9'] = 9, + ['A'] = 10, + ['B'] = 11, + ['C'] = 12, + ['D'] = 13, + ['E'] = 14, + ['F'] = 15, + ['a'] = 10, + ['b'] = 11, + ['c'] = 12, + ['d'] = 13, + ['e'] = 14, + ['f'] = 15, + }; + len = strlen(szhex); + while(len) + { + value += hs2i[szhex[len - 1]] * pow(16, n); + n ++; + len --; + } + return value; +} +int str2int(char *hex) +{ + if(hex[1] == 'x' || hex[1] == 'X') + { + return hex2int(&hex[2]); + } + return atoi(hex); +} +int main(int argc, char *argv[]) +{ + int fd = -1; + unsigned char status = 0xff; + unsigned short context = 0xff; + fd = open("/dev/axp209",O_RDWR, S_IRUSR | S_IWUSR); + ioctl(fd, AXP209_GET_ELEC, &status); + printf("%s\t%d\t%d\n", __func__, __LINE__, status); + if(argc > 2 && (!strcmp("get",argv[1])) ) + { + context = (str2int(argv[2]) & 0xff) << 8; + ioctl(fd, AXP209_GET_REG, &context); + printf("%x\t%x\n",context >> 8, context & 0xff); + } + else if(argc > 3 && (!strcmp("set",argv[1]))) + { + context = (str2int(argv[2]) & 0xff) << 8; + context |= (str2int(argv[3]) & 0xff); + ioctl(fd, AXP209_SET_REG, &context); + } + else + { + // usage(); + ioctl(fd, AXP209_GET_ADDR, 0x00); + } + close(fd); + return 0; +} diff --git a/axp209 b/axp209 new file mode 100755 index 0000000000000000000000000000000000000000..8a6c50be786a05a5c94ed7a69e6e95a65d70252a GIT binary patch literal 9020 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 H2h#rmF2j!N literal 0 HcmV?d00001 diff --git a/axp209.c b/axp209.c new file mode 100644 index 0000000..779c713 --- /dev/null +++ b/axp209.c @@ -0,0 +1,434 @@ +/* + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "axp209.h" +#include "axp209_event.h" +#include "mt7620a_reg.h" + +#define GPIO_IRQ_NUM 33 + +struct { + dev_t dev; + struct cdev dev_c; + struct i2c_client *client; + struct class *cdev_class; + struct work_struct work; + unsigned char irq_status[5]; + unsigned int irq_mask; +}axp209_info; + +extern struct notifier_block rgbled_notifier; + +static RAW_NOTIFIER_HEAD(axp209_chain); + +const unsigned char reg_map[] = {21, 20, 6, 12, 13, 12, 6, 5, 47}; + +struct file_operations axp209_fops; + +int axp209_read_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char *value); + +int axp209_write_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char value); + +int axp209_open (struct inode *, struct file *); + +int axp209_release (struct inode *, struct file *); + +long axp209_ioctl (struct file *, unsigned int, unsigned long); + +static void axp209_irq_status_clear(); + +static void send_irq_status(struct work_struct*data); + +static int call_axp209_notifiers(unsigned long val, void *v) +{ + return raw_notifier_call_chain(&axp209_chain, val, v); +} +EXPORT_SYMBOL(call_axp209_notifiers); + +static int register_axp209_notifier(struct notifier_block *nb) +{ + return raw_notifier_chain_register(&axp209_chain, nb); +} +EXPORT_SYMBOL(register_axp209_notifier); + +static int unregister_axp209_notifier(struct notifier_block *nb) +{ + return raw_notifier_chain_unregister(&axp209_chain, nb); +} +EXPORT_SYMBOL(unregister_axp209_notifier); + +static int axp209_sendData(struct i2c_client *client, unsigned char reg,unsigned char value) +{ + int ret = 0; + int times = 0; + ret = axp209_write_a8_d8(client,reg,value); + while(ret != 0 && times < 2) + { + ret = axp209_write_a8_d8(client,reg,value); + times ++; + } + return ret; +} +static int axp209_readData(struct i2c_client *client, unsigned char reg,unsigned char *value) +{ + int ret = 0; + int times = 0; + + ret = axp209_read_a8_d8(client,reg,value); + while(ret != 0 && times < 2) + { + ret = axp209_read_a8_d8(client,reg,value); + times ++; + } + return ret; +} +int axp209_read_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char *value) +{ + unsigned char data[2]; + struct i2c_msg msg[2]; + int ret; + + data[0] = addr; + data[1] = 0xee; + msg[0].addr = client->addr; + msg[0].flags = 0; + msg[0].len = 1; + msg[0].buf = &data[0]; + msg[1].addr = client->addr; + msg[1].flags = I2C_M_RD; + msg[1].len = 1; + msg[1].buf = &data[1]; + + ret = i2c_transfer(client->adapter, msg, 2); + if (ret >= 0) + { + *value = data[1]; + ret = 0; + } + return ret; +} +int axp209_write_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char value) +{ + struct i2c_msg msg; + unsigned char data[2]; + int ret; + + data[0] = addr; + data[1] = value; + + msg.addr = client->addr; + msg.flags = 0; + msg.len = 2; + msg.buf = data; + + ret = i2c_transfer(client->adapter, &msg, 1); + return ret; +} + +int axp209_open (struct inode *i, struct file *f) +{ + return 0; +} + +int axp209_release (struct inode *i, struct file *f) +{ + return 0; +} + +long axp209_ioctl (struct file *i, unsigned int cmd, unsigned long arg) +{ + unsigned int context = 0x0000; + unsigned char value = 0x00; + switch(cmd) + { + case AXP209_GET_REG: + copy_from_user((void *)&context,(void __user *)arg, sizeof(unsigned short)); + axp209_readData(axp209_info.client, context >> 8, &value); + context |= value; + copy_to_user((void __user *)arg,(void *)&context, sizeof(unsigned short)); + break; + case AXP209_SET_REG: + copy_from_user((void *)&context,(void __user *)arg, sizeof(unsigned short)); + axp209_sendData(axp209_info.client, context >> 8, context & 0xff); + break; + case AXP209_SET_IRQ_MASK: + copy_from_user((void *)&context,(void __user *)arg, sizeof(unsigned int)); + axp209_info.irq_mask |= context; + break; + case AXP209_CLEAR_IRQ_MASK: + copy_from_user((void *)&context,(void __user *)arg, sizeof(unsigned int)); + axp209_info.irq_mask &= ~context; + break; + case AXP209_GET_IRQ_MASK: + copy_to_user((void __user *)arg,(void *)&axp209_info.irq_mask, sizeof(unsigned int)); + break; + case AXP209_GET_ELEC: + axp209_readData(axp209_info.client, 0xB9, &value); + context |= value; + context = value *100 / 0x7f; + copy_to_user((void __user *)arg,(void *)&context, sizeof(unsigned char)); + break; + default : + break; + } + return 0; +} + +static void axp209_irq_status_clear() +{ + axp209_sendData(axp209_info.client, 0x48, 0xff); + axp209_sendData(axp209_info.client, 0x49, 0xff); + axp209_sendData(axp209_info.client, 0x4a, 0xff); + axp209_sendData(axp209_info.client, 0x4b, 0xff); + axp209_sendData(axp209_info.client, 0x4c, 0xff); +} + +static void axp209_irq_status_read() +{ + int cnt; + for(cnt = 0; cnt < 5; cnt ++) + { + axp209_readData(axp209_info.client, 0x48 + cnt, &axp209_info.irq_status[cnt]); + printk("reg:%x\t%x\n",0x48 + cnt, axp209_info.irq_status[cnt]); + } +} + +irqreturn_t axp209_irq(int irq, void *data) +{ + axp209_irq_status_read(); + schedule_work(&axp209_info.work); + return IRQ_RETVAL(IRQ_HANDLED); +} + +static void usb_power_on() +{ + //gpio 61 62 63 output high + *(volatile unsigned int*)GPIO_MODE |= (0x01 << 10); + *(volatile unsigned int*)GPIO_71_40_DIR |= (0x07 << 21); + *(volatile unsigned int*)GPIO_71_40_DATA |= (0x07 << 21); +} + +#if 0 +static void gpio33_led_on() +{ + *(volatile unsigned int*)GPIO_MODE |= (0x01 << 9); + *(volatile unsigned int*)GPIO_39_24_DIR |= (0x01 << 9); + *(volatile unsigned int*)GPIO_39_24_DATA |= (0x01 << 9); +} + +static void gpio33_led_off() +{ + *(volatile unsigned *)GPIO_39_24_DATA &= ~(0x01 << 9); +} +#endif + +void gpio33_irq_init() +{ + *(volatile unsigned int*)GPIO_MODE |= (0x01 << 9); + *(volatile unsigned int*)GPIO_39_24_DIR &= ~(0x01 << 9); + //*(volatile unsigned int*)GPIO_39_24_INT |= (0x01 << 9); + //*(volatile unsigned int*)GPIO_39_24_EDGE |= (0x01 << 9); + *(volatile unsigned int*)GPIO_39_24_RMASK &= ~(0x01 << 9); + *(volatile unsigned int*)GPIO_39_24_FMASK |= (0x01 << 9); + *(volatile unsigned int*)INTENA |= RALINK_INTCTL_PIO; +} + +static unsigned int irq_status_reg_to_event() +{ + unsigned int event = 0x00, cnt; + for(cnt = 0; cnt < 32 && (axp209_info.irq_mask >> cnt); cnt ++) + { + if((axp209_info.irq_mask >> cnt | 0x01) && (axp209_info.irq_status[reg_map[cnt] / 10] & (0x01 << reg_map[cnt] % 10)) ) + { + event = (0x01 << cnt); + break; + } + } + return event; +} + + + +static void send_irq_status(struct work_struct*data) +{ + char context[15], cnt; + static unsigned long prev_event_time = 0; + unsigned int event = 0x00; + char *msg[2] = {context, NULL}; + + event = irq_status_reg_to_event(); + if(event) + { + sprintf(msg[0], "%d", event); + //PEK 抖动 + if(event & AXP209_PEK_PRESS) + { + if(jiffies - prev_event_time < 10) + goto out; + prev_event_time = jiffies; + } + kobject_uevent_env(&axp209_info.client->dev.kobj, KOBJ_CHANGE, msg); + } + +out: + axp209_irq_status_clear(); +} +static void axp209_irq_enable() +{ + //timer + axp209_sendData(axp209_info.client, 0x44, 0x80); +} + +int precent2level(uint8_t val) +{ + const static int map[2][4] = {{ELEC80_100, ELEC50_80, ELEC20_50, ELEC0_20}, {ELEC80_100_C, ELEC50_80_C, ELEC20_50_C, ELEC0_20_C}}; + int idx0 = 0, idx1 = 0; + uint8_t value = 0x00; + axp209_readData(axp209_info.client, 0x00, &value); + if(value & (1 << 2)) + idx0 = 1; + switch(val) + { + case 80 ... 100: + idx1 = 0; + break; + case 50 ... 79: + idx1 = 1; + break; + case 20 ... 49: + idx1 = 2; + break; + case 0 ... 19: + idx1 = 3; + break; + default: + break; + } + return map[idx0][idx1]; +} +static void elec_check(void *dummy) +{ + uint8_t value; + int ev = 0x00; + static int oldev = 0x00; + while(1) + { + schedule_timeout(10000 * HZ); + axp209_readData(axp209_info.client, 0xB9, &value); + value = value *100 / 0x7f; + ev = precent2level(value); + if (ev != oldev) + { + call_axp209_notifiers(ev, NULL); + oldev = ev; + } + } +} + +static int axp209_probe(struct i2c_client *client,const struct i2c_device_id *id) +{ + int ret; + if(!i2c_check_functionality(client->adapter,I2C_FUNC_I2C)) + return -ENODEV; + //gpio33_led_on(); + gpio33_irq_init(); + usb_power_on(); + ret = alloc_chrdev_region(&axp209_info.dev, 0, 1, AXP209_DEV_NAME ); + if(ret) return ret; + cdev_init(&axp209_info.dev_c, &axp209_fops); + ret = cdev_add(&axp209_info.dev_c, axp209_info.dev, 1); + if(ret) + { + unregister_chrdev_region(axp209_info.dev, 1); + return ret; + } + axp209_info.cdev_class = class_create(THIS_MODULE, AXP209_DEV_NAME); + if(IS_ERR(axp209_info.cdev_class)) + { + unregister_chrdev_region(axp209_info.dev, 1); + return -1; + } + device_create(axp209_info.cdev_class, NULL, axp209_info.dev, 0, AXP209_DEV_NAME); + axp209_sendData(client, 0x40, 0xFE); + axp209_info.client = client; + axp209_info.irq_mask = 0x1ff; + axp209_irq_status_clear(); + axp209_irq_enable(); + register_axp209_notifier(&rgbled_notifier); + INIT_WORK(&axp209_info.work, send_irq_status); + request_threaded_irq(gpio_to_irq(GPIO_IRQ_NUM), axp209_irq, NULL, IRQF_TRIGGER_FALLING,"axp209", NULL); + kthread_run(elec_check, NULL, "axp209_elec_chk"); + return 0; +} + +static int axp209_remove(struct i2c_client *client) +{ + device_destroy(axp209_info.cdev_class, axp209_info.dev); + class_destroy(axp209_info.cdev_class); + unregister_chrdev_region(axp209_info.dev, 1); + free_irq(gpio_to_irq(GPIO_IRQ_NUM), NULL); + unregister_axp209_notifier(&rgbled_notifier); + //gpio33_led_off(); + return 0; +} + +static const struct i2c_device_id axp209_id[] = { + {"axp209",0}, + { }, +}; +MODULE_DEVICE_TABLE(i2c,axp209_id); + +static const struct of_device_id axp209_of_match[] = { + {.compatible = "x-powers,axp209"}, + { } +}; +MODULE_DEVICE_TABLE(of,axp209_of_match); + +static struct i2c_driver axp209_driver = { + .driver = { + .name = "axp209", + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(axp209_of_match) + }, + .probe = axp209_probe, + .remove = axp209_remove, + .id_table = axp209_id +}; + +struct file_operations axp209_fops = { + .open = axp209_open, + .release = axp209_release, + .unlocked_ioctl = axp209_ioctl, +}; + +module_i2c_driver(axp209_driver); + +MODULE_AUTHOR("mrdong "); +MODULE_DESCRIPTION("AXP209 I2C bus driver"); +MODULE_LICENSE("GPL"); diff --git a/axp209.h b/axp209.h new file mode 100644 index 0000000..06edf1d --- /dev/null +++ b/axp209.h @@ -0,0 +1,25 @@ +#ifndef _AXP209_H +#define _AXP209_H +#include + +#define SET_BIT(value, bit) (value |= (0x1 << bit)) +#define CLR_BIT(value, bit) (value &= ~(0x1 << bit)) + +#define AXP209_DEV_NAME "axp209" +#define AXP209_IOC_MAGIC 't' + +#define AXP209_GET_REG _IOR(AXP209_IOC_MAGIC, 0xff, unsigned short) +#define AXP209_SET_REG _IOW(AXP209_IOC_MAGIC, 0xff, unsigned short) +#define AXP209_GET_ELEC _IOR(AXP209_IOC_MAGIC, 0xb9, unsigned char) +#define AXP209_SET_IRQ_MASK _IOW(AXP209_IOC_MAGIC, 0xfe, unsigned int) +#define AXP209_GET_IRQ_MASK _IOR(AXP209_IOC_MAGIC, 0xfe, unsigned int) +#define AXP209_CLEAR_IRQ_MASK _IOW(AXP209_IOC_MAGIC, 0xfd, unsigned int) + +/* +#define AXP209_GET_ACIN_STATUS _IOR(AXP209_IOC_MAGIC, 0x00, char) +#define AXP209_GET_MODEL _IOR(AXP209_IOC_MAGIC, 0x01, char) +#define AXP209_POWER_OFF _IO(AXP209_IOC_MAGIC,0x32) +*/ +#define AXP209_GET_ADDR _IOR(AXP209_IOC_MAGIC, 0xfe, unsigned int) + +#endif diff --git a/axp209.ko b/axp209.ko new file mode 100644 index 0000000000000000000000000000000000000000..4a655ba7036c8f5391b049386438dd909dc0fa03 GIT binary patch literal 9089 zcmd^EeQaCR6+eFdXj%firhx@$;Tc|1GlFr`uoY$`(-c}DgR+%TAtu|gUt3exHn!7` zsTy9JiB8JuXsxtrt3;GEg-sbL&`CuCkxh&-seiBuCZsVbn~=sNHkA#gN^9|czxVD- zUQ8&1Klo$2)ywamk9*F!=iYnX^X+4I^xx_8`NVBLX^}ZfePnS}!tq_qFa-{^& zZ^z@uv;N)(ByjdS|2+TDkH=T z5~PpTumsGokw6#y2q6%^1bu-ojIYCH9ro*PtcJX}@>TeZ!Dlb*YqJ0F-y53QAw$Cv znHaxb#>RmweWID++BEVp_GE`lOkE8$@aT|1XQd_~Qs$?8>3&+@K{IuJ-ZHptnaYIhR_j6Oa^1E49 zb!~tztUlyl>-wrJLw{daLe>o~R_^mU)-WWN5P4*q;IxNRJ=*YDOofUF?oNK_mFGt>e z$UAdR`yI$P?R)JknAao7D{>khnZ~e%@|yDGHKCpOFY+2lXmPINht)ppGiUt_28{m@ zvR>+89QD2>W9^imLwp^wzplw|&CUZ|nyFu_Es{igI6~jY?7fN8jr9ndi_aPoZaI!= zYjLjUQkgi!^=y~pE3tpE9%F|(^#P0393e;qM#uWRy4vs1rQ zOubJ&$(Jt2>#je!^;df*;IARC#N7EY_Q1#33&7Vxv5TxVQ_?q#`PEk=rp}K2@>%V0 z-YMi_WrttPj;uTgd$2v(Y;Of}idqy88`F}K36r^S;&XEOJZg}e%XS$*l*NA4ItEIQ z0k4z+JH9rYf94kZy{l8-IF~<_U+!n`e7Qln#@I_ZGjnx|XZaoMH=bG6N<289frA?m zLp#onljD#{-d*5%>ARcgdptD8);We}vLE~g;=x$#FQ-m+d;Fy&1ifP`MHa(aNvIEBG)n2nF+gopsw@;u@~`1ivJY3XPl1%eb@`!Un16U7VCJOaSZ2csJlgK ze0`y1!0(%+zJ@s&*y~`nM(|Gfrq6kwI5qj1I_5W9m*s>O=N=O+)64zPA6hruIPW)2 zW51w3nE-8K-z7qQlj}l`9&oZ(>l;o;rWZKLTEqxm!&;fBvE9g11ohTH4PK6Xbs(SN zBQ@-eq2U(UhiC2Z;6NuMFHzw3=yFLe;*s6$S26^E-uM_cso-Bdq z?5D@Ocs@#q4K`rM?7ElrVI%>PdnXtVNTAD+G1r|3U7F)@zV&d8y5_;z_v{D~u1O2# zgR>ogjSwEb=fA7$yn=qL%Xg-)dy%Bt*NOJDcYLGKX3mZ8Iw*3uE4+qhF-L2tO<~k!e#3D8*K`~U$(Ui(U;0Ho#NL_l^LxgQ+Fp~OS`&U3a9z1h><{5v zh2J3}*e-Gv9;DuGANsC2p}Mnh<}s17we{A{-HSVSBe|Vfk@W6TPwbXi6*15ao@jG)+$+rY~{A{)`7f*y)jt8Zpl@uRypaoOBRaN+?JeG<~CYbkV)tB&DxbFpCpY% zA{!RqljRmluh{Ss7wA9b{V{X_z0X7RY1ioUi0OaD#|lj3nhQ+El`piHILwu^ZZ6bZ zxm!=0bzHf#hyAs4jYh-OG0<`44$n7FPMfYAKdR6!ohN5ZuAEZL^b_RrvGT)wy?mnm z`SE-GSA!fsKmHDI-1y$M<@3jT=f}|tHFrGgK=b@!;J9*U?0o;mN92x{_wW4iUWwD6 zm9OvXyVZ!?hsyV0xq4H7u8=Ml4KR(~=$adQVyk+iv0kIx+k4B+J=c>LU5!hWPe11N zOW}8GVNiUWaKJCo%AOt7^Z>A0c5s{9LzT6n(2WiZ=JMGab6JU&t$egyi@PQOw%%*&#`2s9p z?X}?HN0!TOZCL?ChWh}`d9d*@(?XNdM_%e8k8`d)hh=K~j9r%{h>Jsz(;Ttwj8 z(6Pt4x%O~RWZPrR{86F99`)Sj+WQ6=UVCxa;~8UooTqCqi$3g^+&o7Xut)nl@Ngc? zH(O!>J<9juA-eWb&^tqhYVLXrf%fWc#AFcSY;))F{U*IU^zNS3a%_+sS9-PyTym`sP=?3ta7amtPFF!+{@wxU!FNU6H9&UU;fsWVSN!X(=+FOdpwfAfE znRnOTnM;s#&~9_%I}L`?vsu*hHrMa(!SsY9)JwTZhs@Rc9s1t*UPgRJz+-%uDLwl8 z10JuvjSSw?T-jg2V?U;3)Z5miNBKYSe9&kVUC}A%xpO4XwMRE@PRM^149yjK^vLo| zPaZ}we+>hrlT1Nd0~w?QSF=xR*5KHPXNlAoWHSo=`Zg@GXV!0y*vskmJsg z#!IRl#W)1q1Po%6K1>>z0^&a-a1Z3z->qfPov3 z2O{E3;UydB6sZD(CdQwcZf`qMtr9z2Tm*cWy-&T^&}skN3W6(JgwxfDSRCm zh={zc=yyqD|G!U!|8v0La`aJzLckUx{I>!FS7N^cgQ#sf`M`D};&`3=9EksTu<33f z?e-F3w?w;;$CW%mgx!sl--vm;dJ1a_aS>yWKLF%890Bqi9wiNXqoje8q~YfTY2Ya! z&+|0-CTbJ;z&FW9F_|GkuN?)7b_^ix#DL^)QkbV4x>d@7Y|Ib4%nx2`61W}@`4=HC z!Ak!C~2a>cuL`6;+K&Z zB7U4bMMM#Ofp{J2Ce}#{gCGsLL4-U(g#DDln!-_q(?ry}8AS{2AQ*#)I+P%CJQ4nD ziXK%sO~k&QQM5o;TPb#((@=X7q&eveG{0c5r{QkTL-9Q`-+*6ms65SYufiO|kDG08 z^9vTp)BN_T%rX3egX?L2!2$3zzx~BB$MD-<99|kP08jJJ`;uk+I1rxZ7rcl(%|GwU zlKNLPW#l4z#@tIzyU3mq_oPeD^_{(n(l*;D!_v(*()TDT3tTG80Pron90nxbgqz`yW*5BWy?zD%8v?eFpC+; z%UNq@l0Tt~1$9lHRKJ!p`E;d{%#^Kk)oQZJ>rdOXB$M7B%8w3OgI01^vAjJwXATCk z$@H3Jc8%+xhdoFIX6ro zS4CvxB&$Vxx}~y(E8uER-r8y9CBsRlvsuaYWbDb?*T30vZYOVj?Tg{r9Lo0Mz#~?s znjFN?LN#d>cH&|fGp$rHcTUdA+Ad%d*UYmCv$iI8q)Sr5RYP^VJ9FF~Sm}y|;4;P1 zp5$N!{vOF~!EJNJRoPN3Rit7M+v2^PUT~>)m2*{VesXigOf`>NZaWw^y_{#YoGw(h az#)mOl~1bq+R3m}R@s9*>`3l}xsh2tc literal 0 HcmV?d00001 diff --git a/axp209.mod.c b/axp209.mod.c new file mode 100644 index 0000000..0708f59 --- /dev/null +++ b/axp209.mod.c @@ -0,0 +1,19 @@ +#include +#include +#include + + +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 char __module_depends[] +__used +__attribute__((section(".modinfo"))) = +"depends=rgbled"; diff --git a/axp209.mod.o b/axp209.mod.o new file mode 100644 index 0000000000000000000000000000000000000000..4e7014f94662d441f540e75e1679fd0929635a74 GIT binary patch literal 6496 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 E0`MNvX#fBK literal 0 HcmV?d00001 diff --git a/axp209_event.h b/axp209_event.h new file mode 100644 index 0000000..f7cc050 --- /dev/null +++ b/axp209_event.h @@ -0,0 +1,25 @@ +#ifndef __AXP209_EVENT_H__ +#define __AXP209_EVENT_H__ + +#define AXP209_PEK_PRESS (1 << 0) +#define AXP209_PEK_PRESS_LONG (1 << 1) +#define AXP209_VBUS_INSERT (1 << 2) +#define AXP209_VBUS_REMOVE (1 << 3) +#define AXP209_CHARGING (1 << 4) +#define AXP209_CHARG_FINISHED (1 << 5) +#define AXP209_ACIN_INSERT (1 << 6) +#define AXP209_ACIN_REMOVE (1 << 7) +#define AXP209_SET_TIMER (1 << 8) + +enum{ + ELEC80_100 = 0x20, + ELEC50_80, + ELEC20_50, + ELEC0_20, + ELEC80_100_C, + ELEC50_80_C, + ELEC20_50_C, + ELEC0_20_C, +}; + +#endif diff --git a/demo b/demo new file mode 100755 index 0000000000000000000000000000000000000000..e4ac0ad38dd8fc7967d421d3ca88f2bd1126b6ac GIT binary patch literal 7271 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 X$i89XT_v-x&xShzEw!Av%6|VB3ZYTL literal 0 HcmV?d00001 diff --git a/demo.c b/demo.c new file mode 100644 index 0000000..f05af33 --- /dev/null +++ b/demo.c @@ -0,0 +1,57 @@ +#include +#include +#include +#include +#include +#include +//该头文件需要放在netlink.h前面防止编译出现__kernel_sa_family未定义 +#include +#include + +void MonitorNetlinkUevent() +{ + int sockfd; + struct sockaddr_nl sa; + int len; + char buf[4096]; + struct iovec iov; + struct msghdr msg; + int i; + + memset(&sa,0,sizeof(sa)); + sa.nl_family=AF_NETLINK; + sa.nl_groups=NETLINK_KOBJECT_UEVENT; + sa.nl_pid = 0;//getpid(); both is ok + //①、创建一个socket描述符 + sockfd=socket(AF_NETLINK,SOCK_RAW,NETLINK_KOBJECT_UEVENT); + if(sockfd==-1) + printf("socket creating failed:%s\n",strerror(errno)); + + //②、将描述符绑定到接收地址, 函数 bind() 用于把一个打开的 netlink socket 和 netlink 源 socket 地址绑定在一起 + if(bind(sockfd,(struct sockaddr *)&sa,sizeof(sa))==-1) + printf("bind error:%s\n",strerror(errno)); + + memset(&msg,0,sizeof(msg)); + iov.iov_base=(void *)buf; + iov.iov_len=sizeof(buf); + msg.msg_name=(void *)&sa; + msg.msg_namelen=sizeof(sa); + msg.msg_iov=&iov; + msg.msg_iovlen=1; + //③开始接收uevent + len=recvmsg(sockfd,&msg,0); + if(len<0) + printf("receive error\n"); + else if(len<32||len>sizeof(buf)) + printf("invalid message"); + for(i=0;i +#include + +#define GPIO_MODE_OFFSET 0x0060 +#define GPIO_39_24_DATA_OFFSET 0x0048 +#define GPIO_39_24_DIR_OFFSET 0x004C +#define GPIO_39_24_INT_OFFSET 0x0038 +#define GPIO_39_24_EDGE_OFFSET 0x003C +#define GPIO_39_24_RMASK_OFFSET 0x0040 +#define GPIO_39_24_FMASK_OFFSET 0x0044 + +#define GPIO_71_40_DATA_OFFSET 0x0070 +#define GPIO_71_40_DIR_OFFSET 0x0074 +#define GPIO_71_40_INT_OFFSET 0x0060 +#define GPIO_71_40_EDGE_OFFSET 0x0064 +#define GPIO_71_40_RMASK_OFFSET 0x0068 +#define GPIO_71_40_FMASK_OFFSET 0x006C + +#define INTENA_OFFSET 0x0034 + +#define GPIO_MODE (RALINK_SYSCTL_BASE + GPIO_MODE_OFFSET) + +#define GPIO_39_24_DATA (RALINK_PIO_BASE + GPIO_39_24_DATA_OFFSET) +#define GPIO_39_24_DIR (RALINK_PIO_BASE + GPIO_39_24_DIR_OFFSET) +#define GPIO_39_24_INT (RALINK_PIO_BASE + GPIO_39_24_INT_OFFSET) +#define GPIO_39_24_EDGE (RALINK_PIO_BASE + GPIO_39_24_EDGE_OFFSET) +#define GPIO_39_24_RMASK (RALINK_PIO_BASE + GPIO_39_24_RMASK_OFFSET) +#define GPIO_39_24_FMASK (RALINK_PIO_BASE + GPIO_39_24_FMASK_OFFSET) +#define INTENA (RALINK_INTCL_BASE + INTENA_OFFSET) + +#define GPIO_71_40_DATA (RALINK_PIO_BASE + GPIO_71_40_DATA_OFFSET) +#define GPIO_71_40_DIR (RALINK_PIO_BASE + GPIO_71_40_DIR_OFFSET) +#define GPIO_71_40_INT (RALINK_PIO_BASE + GPIO_71_40_INT_OFFSET) +#define GPIO_71_40_EDGE (RALINK_PIO_BASE + GPIO_71_40_EDGE_OFFSET) +#define GPIO_71_40_RMASK (RALINK_PIO_BASE + GPIO_71_40_RMASK_OFFSET) +#define GPIO_71_40_FMASK (RALINK_PIO_BASE + GPIO_71_40_FMASK_OFFSET) + +#endif diff --git a/taghl_config.txt b/taghl_config.txt new file mode 100644 index 0000000..f449b96 --- /dev/null +++ b/taghl_config.txt @@ -0,0 +1,3 @@ +IncludeLocals:True +UserLibraries:/home/mrdong/openwrt/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.49/types_c.taghl +TagFileDirectory:. diff --git a/tags b/tags new file mode 100644 index 0000000..1b5cbc0 --- /dev/null +++ b/tags @@ -0,0 +1,121 @@ +!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ +!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ +!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ +!_TAG_PROGRAM_NAME Exuberant Ctags // +!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ +!_TAG_PROGRAM_VERSION 5.9~svn20110310 // +AXP209_ACIN_INSERT axp209_event.h 10;" d +AXP209_ACIN_REMOVE axp209_event.h 11;" d +AXP209_CHARGING axp209_event.h 8;" d +AXP209_CHARG_FINISHED axp209_event.h 9;" d +AXP209_CLEAR_IRQ_MASK axp209.h 16;" d +AXP209_DEV_NAME axp209.h 8;" d +AXP209_GET_ADDR axp209.h 23;" d +AXP209_GET_ELEC axp209.h 13;" d +AXP209_GET_IRQ_MASK axp209.h 15;" d +AXP209_GET_REG axp209.h 11;" d +AXP209_IOC_MAGIC axp209.h 9;" d +AXP209_PEK_PRESS axp209_event.h 4;" d +AXP209_PEK_PRESS_LONG axp209_event.h 5;" d +AXP209_SET_IRQ_MASK axp209.h 14;" d +AXP209_SET_REG axp209.h 12;" d +AXP209_SET_TIMER axp209_event.h 12;" d +AXP209_VBUS_INSERT axp209_event.h 6;" d +AXP209_VBUS_REMOVE axp209_event.h 7;" d +CLR_BIT axp209.h 6;" d +CONFIG_RALINK_MT7620 mt7620a_reg.h 4;" d +GPIO_39_24_DATA mt7620a_reg.h 27;" d +GPIO_39_24_DATA_OFFSET mt7620a_reg.h 9;" d +GPIO_39_24_DIR mt7620a_reg.h 28;" d +GPIO_39_24_DIR_OFFSET mt7620a_reg.h 10;" d +GPIO_39_24_EDGE mt7620a_reg.h 30;" d +GPIO_39_24_EDGE_OFFSET mt7620a_reg.h 12;" d +GPIO_39_24_FMASK mt7620a_reg.h 32;" d +GPIO_39_24_FMASK_OFFSET mt7620a_reg.h 14;" d +GPIO_39_24_INT mt7620a_reg.h 29;" d +GPIO_39_24_INT_OFFSET mt7620a_reg.h 11;" d +GPIO_39_24_RMASK mt7620a_reg.h 31;" d +GPIO_39_24_RMASK_OFFSET mt7620a_reg.h 13;" d +GPIO_71_40_DATA mt7620a_reg.h 35;" d +GPIO_71_40_DATA_OFFSET mt7620a_reg.h 16;" d +GPIO_71_40_DIR mt7620a_reg.h 36;" d +GPIO_71_40_DIR_OFFSET mt7620a_reg.h 17;" d +GPIO_71_40_EDGE mt7620a_reg.h 38;" d +GPIO_71_40_EDGE_OFFSET mt7620a_reg.h 19;" d +GPIO_71_40_FMASK mt7620a_reg.h 40;" d +GPIO_71_40_FMASK_OFFSET mt7620a_reg.h 21;" d +GPIO_71_40_INT mt7620a_reg.h 37;" d +GPIO_71_40_INT_OFFSET mt7620a_reg.h 18;" d +GPIO_71_40_RMASK mt7620a_reg.h 39;" d +GPIO_71_40_RMASK_OFFSET mt7620a_reg.h 20;" d +GPIO_IRQ_NUM axp209.c 33;" d file: +GPIO_MODE mt7620a_reg.h 25;" d +GPIO_MODE_OFFSET mt7620a_reg.h 8;" d +INTENA mt7620a_reg.h 33;" d +INTENA_OFFSET mt7620a_reg.h 23;" d +MonitorNetlinkUevent demo.c /^void MonitorNetlinkUevent() $/;" f +RAW_NOTIFIER_HEAD axp209.c /^static RAW_NOTIFIER_HEAD(axp209_chain);$/;" p file: +SET_BIT axp209.h 5;" d +_AXP209_H axp209.h 2;" d +__AXP209_EVENT_H__ axp209_event.h 2;" d +__MT7620A_REG_H__ mt7620a_reg.h 2;" d +__anon1::cdev_class axp209.c /^ struct class *cdev_class;$/;" m struct:__anon1 typeref:struct:__anon1::class file: access:public +__anon1::client axp209.c /^ struct i2c_client *client;$/;" m struct:__anon1 typeref:struct:__anon1::i2c_client file: access:public +__anon1::dev axp209.c /^ dev_t dev;$/;" m struct:__anon1 file: access:public +__anon1::dev_c axp209.c /^ struct cdev dev_c;$/;" m struct:__anon1 typeref:struct:__anon1::cdev file: access:public +__anon1::irq_mask axp209.c /^ unsigned int irq_mask;$/;" m struct:__anon1 file: access:public +__anon1::irq_status axp209.c /^ unsigned char irq_status[5];$/;" m struct:__anon1 file: access:public +__anon1::work axp209.c /^ struct work_struct work;$/;" m struct:__anon1 typeref:struct:__anon1::work_struct file: access:public +__module_depends axp209.mod.c /^static const char __module_depends[]$/;" p file: signature:(section()) +axp209_driver axp209.c /^module_i2c_driver(axp209_driver);$/;" v +axp209_driver axp209.c /^static struct i2c_driver axp209_driver = {$/;" v typeref:struct:i2c_driver file: +axp209_fops axp209.c /^struct file_operations axp209_fops = {$/;" v typeref:struct:file_operations +axp209_fops axp209.c /^struct file_operations axp209_fops;$/;" v typeref:struct:file_operations +axp209_id axp209.c /^static const struct i2c_device_id axp209_id[] = {$/;" v typeref:struct:i2c_device_id file: +axp209_info axp209.c /^}axp209_info;$/;" v typeref:struct:__anon1 +axp209_ioctl axp209.c /^long axp209_ioctl (struct file *, unsigned int, unsigned long);$/;" p file: signature:(struct file *, unsigned int, unsigned long) +axp209_ioctl axp209.c /^long axp209_ioctl (struct file *i, unsigned int cmd, unsigned long arg)$/;" f signature:(struct file *i, unsigned int cmd, unsigned long arg) +axp209_irq axp209.c /^irqreturn_t axp209_irq(int irq, void *data)$/;" f signature:(int irq, void *data) +axp209_irq_enable axp209.c /^static void axp209_irq_enable()$/;" f file: +axp209_irq_status_clear axp209.c /^static void axp209_irq_status_clear()$/;" f file: +axp209_irq_status_clear axp209.c /^static void axp209_irq_status_clear();$/;" p file: +axp209_irq_status_read axp209.c /^static void axp209_irq_status_read()$/;" f file: +axp209_of_match axp209.c /^static const struct of_device_id axp209_of_match[] = {$/;" v typeref:struct:of_device_id file: +axp209_open axp209.c /^int axp209_open (struct inode *, struct file *);$/;" p file: signature:(struct inode *, struct file *) +axp209_open axp209.c /^int axp209_open (struct inode *i, struct file *f)$/;" f signature:(struct inode *i, struct file *f) +axp209_probe axp209.c /^static int axp209_probe(struct i2c_client *client,const struct i2c_device_id *id)$/;" f file: signature:(struct i2c_client *client,const struct i2c_device_id *id) +axp209_readData axp209.c /^static int axp209_readData(struct i2c_client *client, unsigned char reg,unsigned char *value)$/;" f file: signature:(struct i2c_client *client, unsigned char reg,unsigned char *value) +axp209_read_a8_d8 axp209.c /^int axp209_read_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char *value)$/;" f signature:(struct i2c_client *client, unsigned char addr,unsigned char *value) +axp209_read_a8_d8 axp209.c /^int axp209_read_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char *value);$/;" p file: signature:(struct i2c_client *client, unsigned char addr,unsigned char *value) +axp209_release axp209.c /^int axp209_release (struct inode *, struct file *);$/;" p file: signature:(struct inode *, struct file *) +axp209_release axp209.c /^int axp209_release (struct inode *i, struct file *f)$/;" f signature:(struct inode *i, struct file *f) +axp209_remove axp209.c /^static int axp209_remove(struct i2c_client *client)$/;" f file: signature:(struct i2c_client *client) +axp209_sendData axp209.c /^static int axp209_sendData(struct i2c_client *client, unsigned char reg,unsigned char value)$/;" f file: signature:(struct i2c_client *client, unsigned char reg,unsigned char value) +axp209_write_a8_d8 axp209.c /^int axp209_write_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char value)$/;" f signature:(struct i2c_client *client, unsigned char addr,unsigned char value) +axp209_write_a8_d8 axp209.c /^int axp209_write_a8_d8(struct i2c_client *client, unsigned char addr,unsigned char value);$/;" p file: signature:(struct i2c_client *client, unsigned char addr,unsigned char value) +call_axp209_notifiers axp209.c /^EXPORT_SYMBOL(call_axp209_notifiers);$/;" v +call_axp209_notifiers axp209.c /^static int call_axp209_notifiers(unsigned long val, void *v)$/;" f file: signature:(unsigned long val, void *v) +cdev_class axp209.c /^ struct class *cdev_class;$/;" m struct:__anon1 typeref:struct:__anon1::class file: access:public +client axp209.c /^ struct i2c_client *client;$/;" m struct:__anon1 typeref:struct:__anon1::i2c_client file: access:public +dev axp209.c /^ dev_t dev;$/;" m struct:__anon1 file: access:public +dev_c axp209.c /^ struct cdev dev_c;$/;" m struct:__anon1 typeref:struct:__anon1::cdev file: access:public +gpio33_irq_init axp209.c /^void gpio33_irq_init()$/;" f +hex2int axp.c /^int hex2int(char *szhex)$/;" f signature:(char *szhex) +irq_mask axp209.c /^ unsigned int irq_mask;$/;" m struct:__anon1 file: access:public +irq_status axp209.c /^ unsigned char irq_status[5];$/;" m struct:__anon1 file: access:public +irq_status_reg_to_event axp209.c /^static unsigned int irq_status_reg_to_event()$/;" f file: +main axp.c /^int main(int argc, char *argv[])$/;" f signature:(int argc, char *argv[]) +main demo.c /^int main(int argc,char **argv) $/;" f signature:(int argc,char **argv) +module axp209.mod.c /^struct module __this_module$/;" p file: signature:(section()) +reg_map axp209.c /^const unsigned char reg_map[] = {21, 20, 6, 12, 13, 12, 6, 5, 47};$/;" v +register_axp209_notifier axp209.c /^EXPORT_SYMBOL(register_axp209_notifier);$/;" v +register_axp209_notifier axp209.c /^static int register_axp209_notifier(struct notifier_block *nb)$/;" f file: signature:(struct notifier_block *nb) +send_irq_status axp209.c /^static void send_irq_status(struct work_struct*data)$/;" f file: signature:(struct work_struct*data) +send_irq_status axp209.c /^static void send_irq_status(struct work_struct*data);$/;" p file: signature:(struct work_struct*data) +str2int axp.c /^int str2int(char *hex)$/;" f signature:(char *hex) +unregister_axp209_notifier axp209.c /^EXPORT_SYMBOL(unregister_axp209_notifier);$/;" v +unregister_axp209_notifier axp209.c /^static int unregister_axp209_notifier(struct notifier_block *nb)$/;" f file: signature:(struct notifier_block *nb) +usage axp.c /^void usage() __attribute__ ((noreturn));$/;" p file: +usage axp.c /^void usage()$/;" f +usb_power_on axp209.c /^static void usb_power_on()$/;" f file: +work axp209.c /^ struct work_struct work;$/;" m struct:__anon1 typeref:struct:__anon1::work_struct file: access:public diff --git a/types_c.taghl b/types_c.taghl new file mode 100644 index 0000000..274201a --- /dev/null +++ b/types_c.taghl @@ -0,0 +1,7 @@ +syn keyword CTagsMember cdev_class work dev_c dev client irq_status irq_mask +syn keyword CTagsGlobalVariable unregister_axp209_notifier register_axp209_notifier call_axp209_notifiers axp209_driver axp209_fops axp209_info +syn keyword CTagsConstant axp209_id reg_map axp209_of_match +syn keyword CTagsFunction axp209_irq send_irq_status module axp209_sendData axp209_release axp209_remove axp209_irq_status_read call_axp209_notifiers axp209_open __module_depends usage axp209_write_a8_d8 main hex2int axp209_probe axp209_readData axp209_ioctl str2int axp209_irq_enable unregister_axp209_notifier gpio33_irq_init register_axp209_notifier usb_power_on axp209_read_a8_d8 irq_status_reg_to_event MonitorNetlinkUevent axp209_irq_status_clear RAW_NOTIFIER_HEAD +syn keyword CTagsDefinedName GPIO_71_40_DIR AXP209_IOC_MAGIC GPIO_71_40_INT CONFIG_RALINK_MT7620 GPIO_71_40_INT_OFFSET GPIO_71_40_DATA_OFFSET AXP209_SET_TIMER AXP209_SET_IRQ_MASK AXP209_SET_REG GPIO_39_24_EDGE GPIO_39_24_FMASK GPIO_39_24_DATA_OFFSET GPIO_39_24_DIR GPIO_71_40_FMASK GPIO_39_24_DATA GPIO_MODE_OFFSET GPIO_MODE AXP209_CHARGING AXP209_GET_ADDR AXP209_ACIN_REMOVE GPIO_71_40_EDGE GPIO_71_40_DATA GPIO_71_40_DIR_OFFSET GPIO_71_40_RMASK_OFFSET GPIO_39_24_EDGE_OFFSET GPIO_71_40_RMASK INTENA_OFFSET +syn keyword CTagsDefinedName CLR_BIT GPIO_71_40_EDGE_OFFSET GPIO_39_24_RMASK_OFFSET AXP209_VBUS_REMOVE SET_BIT _AXP209_H GPIO_39_24_DIR_OFFSET AXP209_CHARG_FINISHED AXP209_VBUS_INSERT __MT7620A_REG_H__ GPIO_39_24_FMASK_OFFSET AXP209_GET_IRQ_MASK AXP209_GET_REG AXP209_DEV_NAME GPIO_39_24_INT AXP209_PEK_PRESS AXP209_CLEAR_IRQ_MASK INTENA AXP209_ACIN_INSERT GPIO_39_24_RMASK GPIO_71_40_FMASK_OFFSET AXP209_GET_ELEC __AXP209_EVENT_H__ GPIO_IRQ_NUM GPIO_39_24_INT_OFFSET AXP209_PEK_PRESS_LONG +