The RT PREEMPT patch eliminates the sem member in struct device breaking device_lock, device_unlock and device_trylock in kernels prior to 2.6.34. The attached patch replaces the use of sem by a use of mutex. Signed-off-by: Blaise Gassend <blaise@xxxxxxxxxxxxxxxx> diff --git a/include/linux/compat-2.6.34.h b/include/linux/compat-2.6.34.h index 336c61b..5604c7e 100644 --- a/include/linux/compat-2.6.34.h +++ b/include/linux/compat-2.6.34.h @@ -142,17 +142,32 @@ do { static inline void device_lock(struct device *dev) { +#if defined(CONFIG_NONE) || defined(CONFIG_PREEMPT_RT) || \ + defined(CONFIG_PREEMPT_VOLUNTARY) || defined(CONFIG_PREEMPT_DESKTOP) + mutex_lock(&dev->parent->mutex); +#else down(&dev->sem); +#endif } static inline int device_trylock(struct device *dev) { +#if defined(CONFIG_NONE) || defined(CONFIG_PREEMPT_RT) || \ + defined(CONFIG_PREEMPT_VOLUNTARY) || defined(CONFIG_PREEMPT_DESKTOP) + return mutex_trylock(&dev->mutex); +#else return down_trylock(&dev->sem); +#endif } static inline void device_unlock(struct device *dev) { +#if defined(CONFIG_NONE) || defined(CONFIG_PREEMPT_RT) || \ + defined(CONFIG_PREEMPT_VOLUNTARY) || defined(CONFIG_PREEMPT_DESKTOP) + mutex_unlock(&dev->mutex); +#else up(&dev->sem); +#endif } #if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html