In file included from drivers/of/of_memory_accessor.c:16: ./include/linux/of_memory_accessor.h:26:39: warning: 'struct memory_accessor' declared inside parameter list will not be visible outside of this definition or declaration struct memory_accessor *macc); ^~~~~~~~~~~~~~~ drivers/of/of_memory_accessor.c:38:5: error: conflicting types for 'of_memory_accessor_register' int of_memory_accessor_register(struct device *dev, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ rm -f fs/built-in.a; mips64-openwrt-linux-musl-ar cDPrST fs/built-in.a fs/open.o fs/read_write.o fs/file_table.o fs/super.o fs/char_dev.o fs/stat.o fs/exec.o fs/pipe.o fs/namei.o fs/fcntl.o fs/ioctl.o fs/readdir.o fs/select.o fs/dcache.o fs/inode.o fs/attr.o fs/bad_inode.o fs/file.o fs/filesystems.o fs/namespace.o fs/seq_file.o fs/xattr.o fs/libfs.o fs/fs-writeback.o fs/pnode.o fs/splice.o fs/sync.o fs/utimes.o fs/d_path.o fs/stack.o fs/fs_struct.o fs/statfs.o fs/fs_pin.o fs/nsfs.o fs/fs_types.o fs/fs_context.o fs/fs_parser.o fs/fsopen.o fs/buffer.o fs/block_dev.o fs/direct-io.o fs/mpage.o fs/proc_namespace.o fs/notify/built-in.a fs/eventpoll.o fs/anon_inodes.o fs/signalfd.o fs/timerfd.o fs/eventfd.o fs/aio.o fs/io_uring.o fs/locks.o fs/binfmt_script.o fs/binfmt_elf.o fs/mbcache.o fs/coredump.o fs/drop_caches.o fs/fhandle.o fs/iomap/built-in.a fs/quota/built-in.a fs/proc/built-in.a fs/kernfs/built-in.a fs/sysfs/built-in.a fs/devpts/built-in.a fs/ext4/built-in.a fs/jbd2/built-in.a fs/cramfs/built-in.a fs/squashfs/built-in.a fs/ramfs/built-in.a fs/fat/built-in.a fs/exportfs/built-in.a fs/nls/built-in.a fs/jffs2/built-in.a fs/overlayfs/built-in.a fs/debugfs/built-in.a fs/f2fs/built-in.a In file included from drivers/of/of_memory_accessor.c:16: ./include/linux/of_memory_accessor.h:25:5: note: previous declaration of 'of_memory_accessor_register' was here int of_memory_accessor_register(struct device *dev, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./include/linux/linkage.h:7, from ./include/linux/kernel.h:8, from ./include/linux/list.h:9, from ./include/linux/module.h:9, from drivers/of/of_memory_accessor.c:11: drivers/of/of_memory_accessor.c:59:15: error: conflicting types for 'of_memory_accessor_register' EXPORT_SYMBOL(of_memory_accessor_register); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/export.h:108:21: note: in definition of macro '___export_symbol_common' extern typeof(sym) sym; \ ^~~ ./include/linux/export.h:177:34: note: in expansion of macro '___EXPORT_SYMBOL' #define __EXPORT_SYMBOL(sym,sec) ___EXPORT_SYMBOL(sym,sec) ^~~~~~~~~~~~~~~~ ./include/linux/export.h:187:29: note: in expansion of macro '__EXPORT_SYMBOL' #define EXPORT_SYMBOL(sym) __EXPORT_SYMBOL(sym, "") ^~~~~~~~~~~~~~~ drivers/of/of_memory_accessor.c:59:1: note: in expansion of macro 'EXPORT_SYMBOL' EXPORT_SYMBOL(of_memory_accessor_register); ^~~~~~~~~~~~~ In file included from drivers/of/of_memory_accessor.c:16: ./include/linux/of_memory_accessor.h:25:5: note: previous declaration of 'of_memory_accessor_register' was here int of_memory_accessor_register(struct device *dev, ^~~~~~~~~~~~~~~~~~~~~~~~~~~