Suzuki K Poulose <suzuki.poulose@xxxxxxx> writes: >> + /* >> + * The HW mapping of a component is unique. If the value we've been >> + * given matches the component's start address, then we must have found >> + * the device we are looking for. >> + */ > > To be frank, I don't quite like the idea of passing the base address of the > component as the key to locate a device, (even though that is unique and readily > available). I would rather prefer a programmable way to map the keys to the > "sink" devices, which works platform agnostic (e.g, ACPI support, where the base > address is not obvious from the name). Also if we decide to use a platform > agnostic naming scheme, it becomes even more complex. > > We could assign a static "id/key" exported either via the device sysfs dir or > the "pmu" dir. I prefer the latter. > > Thoughts ? So, my understanding is that we have a bunch of trace sources and a bunch of trace sinks to choose from when we set up the perf event. The current model basically treats trace sources as PMUs and relies on the sink configuration process to be done via sysfs, which is not ideal as an API. The first thing that comes to mind is: can then the sinks be made their own PMUs, so the above can be done via the existing SET_OUTPUT ioctl? Regards, -- Alex