I'm writing a kernel module for work and they recently asked me to port it to an older version of the kernel so that it could run on some of our systems (2.6.18). Well a lot of things in 2.6.32 don't exist in 2.6.18 and the only way I could think of that could fix it and work (since backporting was not an option to us) is to create a header and c file in my module that contains all the functions, structs, and global variables from the .32 kernel. It was working fine up until I had to add
.Code:static inline struct crypto_tfm *crypto_blkcipher_tfm(struct crypto_blkcipher *tfm){....}
I go the error that the function was an invalid storage class and when I removed the static inline part it was fine. But now its complaining that all the static functions that we originally created are also invalid storage classes. Why is it doing this? Is there any way to fix it other than removing all of the "static" keywords?