On Thu, 2014-16-01 at 23:53:47 UTC, Cody P Schafer wrote: > Add PMU_RANGE_ATTR() and PMU_RANGE_RESV() (for reserved areas) which > generate functions to extract the relevent bits from > event->attr.config{,1,2} for use by sw-like pmus where the > 'config{,1,2}' values don't map directly to hardware registers.
This is neat. The split of the macros is a bit weird, ie. PMU_RANGE_RESV() doesn't really do what it's name suggests. I think you want one macro which creates the accessors, with a name that reflects that - yeah I can't think of a good one right now, but "event" should probably be in there because that's what it operates on. Having a macro for the reserved regions is good, but you MUST actually check that the reserved regions are zero. Otherwise you are permitting your caller to pass junk in there and you then can't unreserved them in a future version of the API. So I think a macro that gives you a special reserved region routine would be good, so you can write something like: if (event_check_reserved1() || event_check_reserved2()) return -EINVAL; cheers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/