From: Greg Kroah-Hartman Date: Tue, 2 Sep 2014 02:01:14 +0000 (-0700) Subject: greybus: greybus_string() X-Git-Tag: v4.14-rc1~2366^2~378^2~21^2~2148 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e24e7257b12d409d1ef0a24307b9525093845f1e;p=platform%2Fkernel%2Flinux-rpi.git greybus: greybus_string() --- diff --git a/drivers/staging/greybus/core.c b/drivers/staging/greybus/core.c index 37ece6d..235a9c4 100644 --- a/drivers/staging/greybus/core.c +++ b/drivers/staging/greybus/core.c @@ -169,6 +169,22 @@ static void greybus_module_release(struct device *dev) } +const u8 *greybus_string(struct greybus_device *gdev, int id) +{ + int i; + struct gdev_string *string; + + if (!gdev) + return NULL; + + for (i = 0; i < gdev->num_strings; ++i) { + string = gdev->string[i]; + if (string->id == id) + return &string->string[0]; + } + return NULL; +} + static struct device_type greybus_module_type = { .name = "greybus_module", .release = greybus_module_release, @@ -242,7 +258,7 @@ static ssize_t module_vendor_string_show(struct device *dev, { struct greybus_device *gdev = to_greybus_device(dev); return sprintf(buf, "%s", - greybus_string(gdev->module_id.vendor_stringid)); + greybus_string(gdev, gdev->module_id.vendor_stringid)); } static DEVICE_ATTR_RO(module_vendor_string); @@ -252,7 +268,7 @@ static ssize_t module_product_string_show(struct device *dev, { struct greybus_device *gdev = to_greybus_device(dev); return sprintf(buf, "%s", - greybus_string(gdev->module_id.product_stringid)); + greybus_string(gdev, gdev->module_id.product_stringid)); } static DEVICE_ATTR_RO(module_product_string); diff --git a/drivers/staging/greybus/greybus.h b/drivers/staging/greybus/greybus.h index 1955fea..50bbf18 100644 --- a/drivers/staging/greybus/greybus.h +++ b/drivers/staging/greybus/greybus.h @@ -178,7 +178,7 @@ struct greybus_device *greybus_new_device(struct device *parent, int size); void greybus_remove_device(struct greybus_device *gdev); -const u8 *greybus_string(int id); +const u8 *greybus_string(struct greybus_device *gdev, int id); /* Internal functions to gb module, move to internal .h file eventually. */