diff options
Diffstat (limited to 'arch/powerpc/kernel/perf_counter.c')
-rw-r--r-- | arch/powerpc/kernel/perf_counter.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/powerpc/kernel/perf_counter.c b/arch/powerpc/kernel/perf_counter.c index 560dd1e7b524..0a4d14f279ae 100644 --- a/arch/powerpc/kernel/perf_counter.c +++ b/arch/powerpc/kernel/perf_counter.c | |||
@@ -624,13 +624,13 @@ hw_perf_counter_init(struct perf_counter *counter) | |||
624 | int err; | 624 | int err; |
625 | 625 | ||
626 | if (!ppmu) | 626 | if (!ppmu) |
627 | return NULL; | 627 | return ERR_PTR(-ENXIO); |
628 | if ((s64)counter->hw_event.irq_period < 0) | 628 | if ((s64)counter->hw_event.irq_period < 0) |
629 | return NULL; | 629 | return ERR_PTR(-EINVAL); |
630 | if (!perf_event_raw(&counter->hw_event)) { | 630 | if (!perf_event_raw(&counter->hw_event)) { |
631 | ev = perf_event_id(&counter->hw_event); | 631 | ev = perf_event_id(&counter->hw_event); |
632 | if (ev >= ppmu->n_generic || ppmu->generic_events[ev] == 0) | 632 | if (ev >= ppmu->n_generic || ppmu->generic_events[ev] == 0) |
633 | return NULL; | 633 | return ERR_PTR(-EOPNOTSUPP); |
634 | ev = ppmu->generic_events[ev]; | 634 | ev = ppmu->generic_events[ev]; |
635 | } else { | 635 | } else { |
636 | ev = perf_event_config(&counter->hw_event); | 636 | ev = perf_event_config(&counter->hw_event); |
@@ -656,14 +656,14 @@ hw_perf_counter_init(struct perf_counter *counter) | |||
656 | n = collect_events(counter->group_leader, ppmu->n_counter - 1, | 656 | n = collect_events(counter->group_leader, ppmu->n_counter - 1, |
657 | ctrs, events); | 657 | ctrs, events); |
658 | if (n < 0) | 658 | if (n < 0) |
659 | return NULL; | 659 | return ERR_PTR(-EINVAL); |
660 | } | 660 | } |
661 | events[n] = ev; | 661 | events[n] = ev; |
662 | ctrs[n] = counter; | 662 | ctrs[n] = counter; |
663 | if (check_excludes(ctrs, n, 1)) | 663 | if (check_excludes(ctrs, n, 1)) |
664 | return NULL; | 664 | return ERR_PTR(-EINVAL); |
665 | if (power_check_constraints(events, n + 1)) | 665 | if (power_check_constraints(events, n + 1)) |
666 | return NULL; | 666 | return ERR_PTR(-EINVAL); |
667 | 667 | ||
668 | counter->hw.config = events[n]; | 668 | counter->hw.config = events[n]; |
669 | atomic64_set(&counter->hw.period_left, counter->hw_event.irq_period); | 669 | atomic64_set(&counter->hw.period_left, counter->hw_event.irq_period); |
@@ -687,7 +687,7 @@ hw_perf_counter_init(struct perf_counter *counter) | |||
687 | counter->destroy = hw_perf_counter_destroy; | 687 | counter->destroy = hw_perf_counter_destroy; |
688 | 688 | ||
689 | if (err) | 689 | if (err) |
690 | return NULL; | 690 | return ERR_PTR(err); |
691 | return &power_perf_ops; | 691 | return &power_perf_ops; |
692 | } | 692 | } |
693 | 693 | ||