greybus: interface_block: move sysfs files into the interface_block.c file
No need to keep these out in sysfs.c, move them into the interface_block.c file so that we can see them easier, and remove some variable definitions by taking advantage of the attribute group macro. Reviewed-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
parent
fc2a8fbec7
commit
ab88eb58c7
|
@ -1,5 +1,4 @@
|
|||
greybus-y := core.o \
|
||||
sysfs.o \
|
||||
debugfs.o \
|
||||
ap.o \
|
||||
manifest.o \
|
||||
|
|
|
@ -167,7 +167,6 @@ int gb_debugfs_init(void);
|
|||
void gb_debugfs_cleanup(void);
|
||||
|
||||
extern struct bus_type greybus_bus_type;
|
||||
extern const struct attribute_group *greybus_interface_block_groups[];
|
||||
|
||||
int gb_uart_device_init(struct gb_connection *connection);
|
||||
void gb_uart_device_exit(struct gb_connection *connection);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Greybus modules
|
||||
* Greybus interface block code
|
||||
*
|
||||
* Copyright 2014 Google Inc.
|
||||
*
|
||||
|
@ -8,6 +8,34 @@
|
|||
|
||||
#include "greybus.h"
|
||||
|
||||
/* interface block sysfs attributes */
|
||||
#define gb_ib_attr(field, type) \
|
||||
static ssize_t field##_show(struct device *dev, \
|
||||
struct device_attribute *attr, \
|
||||
char *buf) \
|
||||
{ \
|
||||
struct gb_interface_block *gb_ib = to_gb_interface_block(dev); \
|
||||
return sprintf(buf, "%"#type"\n", gb_ib->field); \
|
||||
} \
|
||||
static DEVICE_ATTR_RO(field)
|
||||
|
||||
gb_ib_attr(vendor, x);
|
||||
gb_ib_attr(product, x);
|
||||
gb_ib_attr(unique_id, llX);
|
||||
gb_ib_attr(vendor_string, s);
|
||||
gb_ib_attr(product_string, s);
|
||||
|
||||
static struct attribute *interface_block_attrs[] = {
|
||||
&dev_attr_vendor.attr,
|
||||
&dev_attr_product.attr,
|
||||
&dev_attr_unique_id.attr,
|
||||
&dev_attr_vendor_string.attr,
|
||||
&dev_attr_product_string.attr,
|
||||
NULL,
|
||||
};
|
||||
ATTRIBUTE_GROUPS(interface_block);
|
||||
|
||||
|
||||
/* XXX This could be per-host device */
|
||||
static DEFINE_SPINLOCK(gb_modules_lock);
|
||||
|
||||
|
@ -101,7 +129,7 @@ static struct gb_interface_block *gb_ib_create(struct greybus_host_device *hd,
|
|||
gb_ib->dev.parent = hd->parent;
|
||||
gb_ib->dev.bus = &greybus_bus_type;
|
||||
gb_ib->dev.type = &greybus_interface_block_type;
|
||||
gb_ib->dev.groups = greybus_interface_block_groups;
|
||||
gb_ib->dev.groups = interface_block_groups;
|
||||
gb_ib->dev.dma_mask = hd->parent->dma_mask;
|
||||
device_initialize(&gb_ib->dev);
|
||||
dev_set_name(&gb_ib->dev, "%d", module_id);
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
/*
|
||||
* Greybus sysfs file functions
|
||||
*
|
||||
* Copyright 2014 Google Inc.
|
||||
*
|
||||
* Released under the GPLv2 only.
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/device.h>
|
||||
|
||||
#include "greybus.h"
|
||||
#include "kernel_ver.h"
|
||||
|
||||
/* Module fields */
|
||||
#define gb_ib_attr(field, type) \
|
||||
static ssize_t field##_show(struct device *dev, \
|
||||
struct device_attribute *attr, \
|
||||
char *buf) \
|
||||
{ \
|
||||
struct gb_interface_block *gb_ib = to_gb_interface_block(dev); \
|
||||
return sprintf(buf, "%"#type"\n", gb_ib->field); \
|
||||
} \
|
||||
static DEVICE_ATTR_RO(field)
|
||||
|
||||
gb_ib_attr(vendor, x);
|
||||
gb_ib_attr(product, x);
|
||||
gb_ib_attr(unique_id, llX);
|
||||
gb_ib_attr(vendor_string, s);
|
||||
gb_ib_attr(product_string, s);
|
||||
|
||||
static struct attribute *interface_block_attrs[] = {
|
||||
&dev_attr_vendor.attr,
|
||||
&dev_attr_product.attr,
|
||||
&dev_attr_unique_id.attr,
|
||||
&dev_attr_vendor_string.attr,
|
||||
&dev_attr_product_string.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static struct attribute_group interface_block_attr_grp = {
|
||||
.attrs = interface_block_attrs,
|
||||
};
|
||||
|
||||
const struct attribute_group *greybus_interface_block_groups[] = {
|
||||
&interface_block_attr_grp,
|
||||
NULL,
|
||||
};
|
||||
|
Loading…
Reference in a new issue