Commit f91121b4 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

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.
parent 3d545326
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/gpio.h>
#include <linux/gpio/driver.h>
#include <linux/gpio.h>
#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);
}

+22 −0
Original line number Diff line number Diff line
/*
 * 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 */
+2 −0
Original line number Diff line number Diff line
@@ -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,		\