提交 71d1e5d7 编写于 作者: G Greg Kroah-Hartman

arm: ecard: use dev_groups and not dev_attrs for bus_type

The dev_attrs field has long been "depreciated" and is finally being
removed, so move the driver to use the "correct" dev_groups field
instead for struct bus_type.

Cc: Russell King <linux@armlinux.org.uk>
Cc: <linux-arm-kernel@lists.infradead.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 ecbaa83e
...@@ -761,19 +761,21 @@ static struct expansion_card *__init ecard_alloc_card(int type, int slot) ...@@ -761,19 +761,21 @@ static struct expansion_card *__init ecard_alloc_card(int type, int slot)
return ec; return ec;
} }
static ssize_t ecard_show_irq(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t irq_show(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct expansion_card *ec = ECARD_DEV(dev); struct expansion_card *ec = ECARD_DEV(dev);
return sprintf(buf, "%u\n", ec->irq); return sprintf(buf, "%u\n", ec->irq);
} }
static DEVICE_ATTR_RO(irq);
static ssize_t ecard_show_dma(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t dma_show(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct expansion_card *ec = ECARD_DEV(dev); struct expansion_card *ec = ECARD_DEV(dev);
return sprintf(buf, "%u\n", ec->dma); return sprintf(buf, "%u\n", ec->dma);
} }
static DEVICE_ATTR_RO(dma);
static ssize_t ecard_show_resources(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t resource_show(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct expansion_card *ec = ECARD_DEV(dev); struct expansion_card *ec = ECARD_DEV(dev);
char *str = buf; char *str = buf;
...@@ -787,35 +789,39 @@ static ssize_t ecard_show_resources(struct device *dev, struct device_attribute ...@@ -787,35 +789,39 @@ static ssize_t ecard_show_resources(struct device *dev, struct device_attribute
return str - buf; return str - buf;
} }
static DEVICE_ATTR_RO(resource_show)
static ssize_t ecard_show_vendor(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t vendor_show(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct expansion_card *ec = ECARD_DEV(dev); struct expansion_card *ec = ECARD_DEV(dev);
return sprintf(buf, "%u\n", ec->cid.manufacturer); return sprintf(buf, "%u\n", ec->cid.manufacturer);
} }
static DEVICE_ATTR_RO(vendor);
static ssize_t ecard_show_device(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t device_show(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct expansion_card *ec = ECARD_DEV(dev); struct expansion_card *ec = ECARD_DEV(dev);
return sprintf(buf, "%u\n", ec->cid.product); return sprintf(buf, "%u\n", ec->cid.product);
} }
static DEVICE_ATTR_RO(device);
static ssize_t ecard_show_type(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t type_show(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct expansion_card *ec = ECARD_DEV(dev); struct expansion_card *ec = ECARD_DEV(dev);
return sprintf(buf, "%s\n", ec->easi ? "EASI" : "IOC"); return sprintf(buf, "%s\n", ec->easi ? "EASI" : "IOC");
} }
static DEVICE_ATTR_RO(type);
static struct device_attribute ecard_dev_attrs[] = {
__ATTR(device, S_IRUGO, ecard_show_device, NULL), static struct attribute *ecard_dev_attrs[] = {
__ATTR(dma, S_IRUGO, ecard_show_dma, NULL), &dev_attr_device.attr,
__ATTR(irq, S_IRUGO, ecard_show_irq, NULL), &dev_attr_dma.attr,
__ATTR(resource, S_IRUGO, ecard_show_resources, NULL), &dev_attr_irq.attr,
__ATTR(type, S_IRUGO, ecard_show_type, NULL), &dev_attr_resource.attr,
__ATTR(vendor, S_IRUGO, ecard_show_vendor, NULL), &dev_attr_type.attr,
__ATTR_NULL, &dev_attr_vendor.attr,
NULL,
}; };
ATTRIBUTE_GROUPS(ecard_dev);
int ecard_request_resources(struct expansion_card *ec) int ecard_request_resources(struct expansion_card *ec)
{ {
...@@ -1120,7 +1126,7 @@ static int ecard_match(struct device *_dev, struct device_driver *_drv) ...@@ -1120,7 +1126,7 @@ static int ecard_match(struct device *_dev, struct device_driver *_drv)
struct bus_type ecard_bus_type = { struct bus_type ecard_bus_type = {
.name = "ecard", .name = "ecard",
.dev_attrs = ecard_dev_attrs, .dev_groups = ecard_dev_groups,
.match = ecard_match, .match = ecard_match,
.probe = ecard_drv_probe, .probe = ecard_drv_probe,
.remove = ecard_drv_remove, .remove = ecard_drv_remove,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册