hlist: drop the node parameter from iterators
[linux-block.git] / kernel / events / core.c
index 5c75791d7269e87c19a86fe711364f2c3c2793f2..b0cd86501c30db1a1320d284f2d52eb1ec499f2b 100644 (file)
@@ -3691,7 +3691,7 @@ unlock:
 
 static int perf_fasync(int fd, struct file *filp, int on)
 {
-       struct inode *inode = filp->f_path.dentry->d_inode;
+       struct inode *inode = file_inode(filp);
        struct perf_event *event = filp->private_data;
        int retval;
 
@@ -5126,7 +5126,6 @@ static void do_perf_sw_event(enum perf_type_id type, u32 event_id,
 {
        struct swevent_htable *swhash = &__get_cpu_var(swevent_htable);
        struct perf_event *event;
-       struct hlist_node *node;
        struct hlist_head *head;
 
        rcu_read_lock();
@@ -5134,7 +5133,7 @@ static void do_perf_sw_event(enum perf_type_id type, u32 event_id,
        if (!head)
                goto end;
 
-       hlist_for_each_entry_rcu(event, node, head, hlist_entry) {
+       hlist_for_each_entry_rcu(event, head, hlist_entry) {
                if (perf_swevent_match(event, type, event_id, data, regs))
                        perf_swevent_event(event, nr, data, regs);
        }
@@ -5419,7 +5418,6 @@ void perf_tp_event(u64 addr, u64 count, void *record, int entry_size,
 {
        struct perf_sample_data data;
        struct perf_event *event;
-       struct hlist_node *node;
 
        struct perf_raw_record raw = {
                .size = entry_size,
@@ -5429,7 +5427,7 @@ void perf_tp_event(u64 addr, u64 count, void *record, int entry_size,
        perf_sample_data_init(&data, addr, 0);
        data.raw = &raw;
 
-       hlist_for_each_entry_rcu(event, node, head, hlist_entry) {
+       hlist_for_each_entry_rcu(event, head, hlist_entry) {
                if (perf_tp_event_match(event, &data, regs))
                        perf_swevent_event(event, count, &data, regs);
        }
@@ -5965,13 +5963,9 @@ int perf_pmu_register(struct pmu *pmu, char *name, int type)
        pmu->name = name;
 
        if (type < 0) {
-               int err = idr_pre_get(&pmu_idr, GFP_KERNEL);
-               if (!err)
-                       goto free_pdc;
-
-               err = idr_get_new_above(&pmu_idr, pmu, PERF_TYPE_MAX, &type);
-               if (err) {
-                       ret = err;
+               type = idr_alloc(&pmu_idr, pmu, PERF_TYPE_MAX, 0, GFP_KERNEL);
+               if (type < 0) {
+                       ret = type;
                        goto free_pdc;
                }
        }