Synchronize with upstream version

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Update compat.h to work with kernel 3.18 and later

Signed-off-by: Guenter Roeck <linux@roeck-us.net>