greybus: greybus_string()

This commit is contained in:
Greg Kroah-Hartman 2014-09-01 19:01:14 -07:00
parent 21ee4116fd
commit e24e7257b1
2 changed files with 19 additions and 3 deletions

View File

@ -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);

View File

@ -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. */