From 4efe6065ce0e68fc6216114d061a14b9828c0e00 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 17 Nov 2014 16:55:54 -0800 Subject: [PATCH] greybus: vibrator-gb: fixes based on Marti's review comments. Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/kernel_ver.h | 14 +++++++------- drivers/staging/greybus/vibrator-gb.c | 16 +++++----------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/drivers/staging/greybus/kernel_ver.h b/drivers/staging/greybus/kernel_ver.h index ca0da11..a39ceaf 100644 --- a/drivers/staging/greybus/kernel_ver.h +++ b/drivers/staging/greybus/kernel_ver.h @@ -13,6 +13,13 @@ #ifndef __GREYBUS_KERNEL_VER_H #define __GREYBUS_KERNEL_VER_H +#ifndef __ATTR_WO +#define __ATTR_WO(_name) { \ + .attr = { .name = __stringify(_name), .mode = S_IWUSR }, \ + .store = _name##_store, \ +} +#endif + #ifndef DEVICE_ATTR_RO #define DEVICE_ATTR_RO(_name) \ struct device_attribute dev_attr_##_name = __ATTR_RO(_name) @@ -23,13 +30,6 @@ struct device_attribute dev_attr_##_name = __ATTR_WO(_name) #endif -#ifndef __ATTR_WO -#define __ATTR_WO(_name) { \ - .attr = { .name = __stringify(_name), .mode = S_IWUSR }, \ - .store = _name##_store, \ -} -#endif - #ifndef U8_MAX #define U8_MAX ((u8)~0U) #endif /* ! U8_MAX */ diff --git a/drivers/staging/greybus/vibrator-gb.c b/drivers/staging/greybus/vibrator-gb.c index 2fcb2a4..22356af 100644 --- a/drivers/staging/greybus/vibrator-gb.c +++ b/drivers/staging/greybus/vibrator-gb.c @@ -1,5 +1,5 @@ /* - * I2C bridge driver for the Greybus "generic" I2C module. + * Greybus Vibrator protocol driver. * * Copyright 2014 Google Inc. * @@ -153,20 +153,13 @@ out: gb_operation_destroy(operation); return retval; - - return 0; } static int turn_off(struct gb_vibrator_device *vib) { struct gb_connection *connection = vib->connection; - int retval; - retval = request_operation(connection, GB_VIBRATOR_TYPE_OFF, NULL, 0); - if (retval) - return retval; - - return 0; + return request_operation(connection, GB_VIBRATOR_TYPE_OFF, NULL, 0); } static ssize_t timeout_store(struct device *dev, struct device_attribute *attr, @@ -232,7 +225,7 @@ static int gb_vibrator_connection_init(struct gb_connection *connection) * are there is a "real" device somewhere in the kernel for this, but I * can't find it at the moment... */ - dev = device_create(&vibrator_class, NULL, MKDEV(0, 0), vib, + dev = device_create(&vibrator_class, &connection->dev, MKDEV(0, 0), vib, "vibrator%d", minor); if (IS_ERR(dev)) { retval = -EINVAL; @@ -243,7 +236,8 @@ static int gb_vibrator_connection_init(struct gb_connection *connection) #if LINUX_VERSION_CODE <= KERNEL_VERSION(3,11,0) /* - * Newer kernels handle this in a race-free manner, for us, we need + * Newer kernels handle this in a race-free manner, by the dev_groups + * field in the struct class up above. But for older kernels, we need * to "open code this :( */ retval = sysfs_create_group(&dev->kobj, vibrator_groups[0]); -- 2.7.4