From: Tejun Heo <tj@kernel.org> Date: Thu, 28 Feb 2013 01:04:55 +0000 (-0800) Subject: events: convert to idr_alloc() X-Git-Tag: v3.9-rc1~46^2~49 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0e9c3be20d88aa5ed13fde4ece50f45eb96824ad;p=users%2Fdwmw2%2Flinux.git events: convert to idr_alloc() Convert to the much saner new idr interface. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- diff --git a/kernel/events/core.c b/kernel/events/core.c index ccc457e363544..5a92cf6beff03 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -5965,13 +5965,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; } }