On 11/19/2013 08:26 AM, Antonio Quartulli wrote:
kstrtou32() does not exist before 2.6.39. Convert it to strict_strtoul() in that case.
Used-by: e29249b4483b91d7a590a16e9b5ffe9412ce7fde ("batman-adv: add isolation_mark sysfs attribute")
Signed-off-by: Antonio Quartulli antonio@meshcoding.com
compat.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/compat.h b/compat.h index 01984b8..334dc5c 100644 --- a/compat.h +++ b/compat.h @@ -152,6 +152,8 @@ static inline int batadv_param_set_copystring(const char *val,
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
+/* cast last argument of strict_strtoul() because we have a uint32_t */ +#define kstrtou32(cp, base, v) strict_strtoul(cp, base, (unsigned long *)v) #define kstrtoul strict_strtoul #define kstrtol strict_strtol
You are casting a u32 * to unsigned long *? Won't this break horribly when sizeof(u32) != sizeof(unsigned long)?