I am working on 32bit to 64bit kernel module porting project. The old kernel version is 2.6.18 and the target is 2.6.32.
The old kernel modules were creating files under /proc/sys/net// path via the following function:
if (create_proc_read_entry("/sys/net/<module_name>/<proc_file_name>", 0, NULL, read_proc, NULL) == NULL){ ...}
I set CONFIG_PROC_FS as "y" in .config file before building 2.6.32 kernel.
However, although proc_fs.h for kernel version 2.6.32 has "create_proc_read_entry" same as kernel version 2.6.18, and "CONFIG_PROC_FS=y" in .config file, the return value is always NULL and it crashes the module when I load it with modprodbe command. If I comment out the subject function call, module is loaded without any problem and it works without any problem.
Did I miss something ? Should I stick with CONFIG_PROC_FS flag ?