From: Greg Kroah-Hartman Date: Thu, 11 Sep 2014 15:22:06 +0000 (-0700) Subject: greybus: Fix build errors on older kernels. X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~2124 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f91121b48fda4bba7eb298c51e9a871ec9c538d7;p=karo-tx-linux.git greybus: Fix build errors on older kernels. Thanks to Marti for pointing out the code didn't build properly on 3.10. Added kernel_ver.h to handle any api mis-matches between the code and older kernel versions. --- diff --git a/drivers/staging/greybus/gpio-gb.c b/drivers/staging/greybus/gpio-gb.c index 3428220c5158..bcf65087e8e5 100644 --- a/drivers/staging/greybus/gpio-gb.c +++ b/drivers/staging/greybus/gpio-gb.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "greybus.h" struct gb_gpio_device { @@ -90,10 +90,11 @@ int gb_gpio_probe(struct greybus_device *gdev, void gb_gpio_disconnect(struct greybus_device *gdev) { struct gb_gpio_device *gb_gpio_dev; + int retval; gb_gpio_dev = gdev->gb_gpio_dev; - gpiochip_remove(&gb_gpio_dev->chip); + retval = gpiochip_remove(&gb_gpio_dev->chip); kfree(gb_gpio_dev); } diff --git a/drivers/staging/greybus/kernel_ver.h b/drivers/staging/greybus/kernel_ver.h new file mode 100644 index 000000000000..40cc2e8af525 --- /dev/null +++ b/drivers/staging/greybus/kernel_ver.h @@ -0,0 +1,22 @@ +/* + * Greybus kernel "version" glue logic. + * + * Copyright 2014 Google Inc. + * + * Released under the GPLv2 only. + * + * Backports of newer kernel apis to allow the code to build properly on older + * kernel versions. Remove this file when merging to upstream, it should not be + * needed at all + */ + +#ifndef __GREYBUS_KERNEL_VER_H +#define __GREYBUS_KERNEL_VER_H + +#ifndef DEVICE_ATTR_RO +#define DEVICE_ATTR_RO(_name) \ + struct device_attribute dev_attr_##_name = __ATTR_RO(_name) +#endif + + +#endif /* __GREYBUS_KERNEL_VER_H */ diff --git a/drivers/staging/greybus/sysfs.c b/drivers/staging/greybus/sysfs.c index 2393a6a0b678..c02ca552c1a0 100644 --- a/drivers/staging/greybus/sysfs.c +++ b/drivers/staging/greybus/sysfs.c @@ -18,6 +18,8 @@ #include "greybus.h" +#include "kernel_ver.h" + /* Function fields */ #define greybus_function_attr(field) \ static ssize_t function_##field##_show(struct device *dev, \