Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6-microblaze.git] / drivers / perf / xgene_pmu.c
index ffe3bde..2b6d476 100644 (file)
@@ -278,17 +278,14 @@ static const struct attribute_group mc_pmu_v3_format_attr_group = {
 static ssize_t xgene_pmu_event_show(struct device *dev,
                                    struct device_attribute *attr, char *buf)
 {
-       struct dev_ext_attribute *eattr;
+       struct perf_pmu_events_attr *pmu_attr =
+               container_of(attr, struct perf_pmu_events_attr, attr);
 
-       eattr = container_of(attr, struct dev_ext_attribute, attr);
-       return sysfs_emit(buf, "config=0x%lx\n", (unsigned long) eattr->var);
+       return sysfs_emit(buf, "config=0x%llx\n", pmu_attr->id);
 }
 
 #define XGENE_PMU_EVENT_ATTR(_name, _config)           \
-       (&((struct dev_ext_attribute[]) {               \
-               { .attr = __ATTR(_name, S_IRUGO, xgene_pmu_event_show, NULL), \
-                 .var = (void *) _config, }            \
-        })[0].attr.attr)
+       PMU_EVENT_ATTR_ID(_name, xgene_pmu_event_show, _config)
 
 static struct attribute *l3c_pmu_events_attrs[] = {
        XGENE_PMU_EVENT_ATTR(cycle-count,                       0x00),
@@ -604,15 +601,15 @@ static const struct attribute_group mc_pmu_v3_events_attr_group = {
 /*
  * sysfs cpumask attributes
  */
-static ssize_t xgene_pmu_cpumask_show(struct device *dev,
-                                     struct device_attribute *attr, char *buf)
+static ssize_t cpumask_show(struct device *dev,
+                           struct device_attribute *attr, char *buf)
 {
        struct xgene_pmu_dev *pmu_dev = to_pmu_dev(dev_get_drvdata(dev));
 
        return cpumap_print_to_pagebuf(true, buf, &pmu_dev->parent->cpu);
 }
 
-static DEVICE_ATTR(cpumask, S_IRUGO, xgene_pmu_cpumask_show, NULL);
+static DEVICE_ATTR_RO(cpumask);
 
 static struct attribute *xgene_pmu_cpumask_attrs[] = {
        &dev_attr_cpumask.attr,