From 76d7b50c4a8c31f58cc42629105ea922addc4c32 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Sat, 18 Jan 2014 08:31:05 -0800 Subject: [PATCH] compat.h: Don't inlude i2C compatibility code This is not an I2C driver, so don't include any I2C compatibility code. Signed-off-by: Guenter Roeck --- compat.h | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/compat.h b/compat.h index 50456b1..49642d2 100644 --- a/compat.h +++ b/compat.h @@ -61,6 +61,8 @@ static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr) #endif +#ifdef __NEED_I2C__ + #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 21) #if !(defined RHEL_MAJOR && RHEL_MAJOR == 5 && RHEL_MINOR >= 6) /* Simplified version for compatibility */ @@ -91,6 +93,23 @@ static struct i2c_client_address_data addr_data = { }; #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) +static inline s32 +i2c_smbus_read_word_swapped(const struct i2c_client *client, u8 command) +{ + s32 value = i2c_smbus_read_word_data(client, command); + + return (value < 0) ? value : swab16(value); +} + +static inline s32 +i2c_smbus_write_word_swapped(const struct i2c_client *client, + u8 command, u16 value) +{ + return i2c_smbus_write_word_data(client, command, swab16(value)); +} +#endif + /* Red Hat EL5 includes backports of these functions, so we can't redefine * our own. */ #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 24) @@ -110,6 +129,8 @@ static inline int strict_strtol(const char *cp, unsigned int base, long *res) #endif #endif +#endif /* __NEED_I2C__ */ + #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 28) /* * Divide positive or negative dividend by positive divisor and round @@ -128,23 +149,6 @@ static inline int strict_strtol(const char *cp, unsigned int base, long *res) ) #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) -static inline s32 -i2c_smbus_read_word_swapped(const struct i2c_client *client, u8 command) -{ - s32 value = i2c_smbus_read_word_data(client, command); - - return (value < 0) ? value : swab16(value); -} - -static inline s32 -i2c_smbus_write_word_swapped(const struct i2c_client *client, - u8 command, u16 value) -{ - return i2c_smbus_write_word_data(client, command, swab16(value)); -} -#endif - #ifndef module_driver /** * module_driver() - Helper macro for drivers that don't do anything @@ -173,6 +177,8 @@ static void __exit __driver##_exit(void) \ module_exit(__driver##_exit); #endif +#ifdef __NEED_I2C__ + #ifndef module_i2c_driver /** * module_i2c_driver() - Helper macro for registering a I2C driver @@ -187,6 +193,8 @@ module_exit(__driver##_exit); i2c_del_driver) #endif +#endif /* __NEED_I2C__ */ + #ifndef clamp_val #define clamp_val SENSORS_LIMIT #endif -- 2.39.5