[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100722130700.GA4800@elte.hu>
Date: Thu, 22 Jul 2010 15:07:00 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Johannes Berg <johannes@...solutions.net>
Cc: Lin Ming <ming.m.lin@...el.com>,
Robert Richter <robert.richter@....com>,
Corey Ashford <cjashfor@...ux.vnet.ibm.com>,
Peter Zijlstra <peterz@...radead.org>,
Greg KH <greg@...ah.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Paul Mundt <lethal@...ux-sh.org>,
"eranian@...il.com" <eranian@...il.com>,
"Gary.Mohr@...l.com" <Gary.Mohr@...l.com>,
"arjan@...ux.intel.com" <arjan@...ux.intel.com>,
"Zhang, Yanmin" <yanmin_zhang@...ux.intel.com>,
Paul Mackerras <paulus@...ba.org>,
"David S. Miller" <davem@...emloft.net>,
Russell King <rmk+kernel@....linux.org.uk>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Will Deacon <will.deacon@....com>,
Maynard Johnson <mpjohn@...ibm.com>,
Carl Love <carll@...ibm.com>,
Kay Sievers <kay.sievers@...y.org>,
lkml <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Steven Rostedt <rostedt@...dmis.org>
Subject: Re: [RFC][PATCH v1 15/15] perf: export tracepoint events via sysfs:
mac80211
* Johannes Berg <johannes@...solutions.net> wrote:
> On Thu, 2010-07-22 at 19:18 +0800, Lin Ming wrote:
> > mac80211 tracepoint events are exported like below,
> >
> > /sys/class/ieee80211/events/
> > |-- api_beacon_loss
> > | |-- config
> > | |-- type
> > ....
> > ....
> > |-- drv_add_interface
> > | |-- config
> > | |-- type
> > ....
> > ....
> > |-- stop_queue
> > | |-- config
> > | |-- type
> > |-- wake_queue
> > | |-- config
> > | |-- type
> > ---
> > drivers/base/class.c | 12 ++++++++++++
> > 1 files changed, 12 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/base/class.c b/drivers/base/class.c
> > index 8e231d0..57ada53 100644
> > --- a/drivers/base/class.c
> > +++ b/drivers/base/class.c
> > @@ -19,6 +19,7 @@
> > #include <linux/slab.h>
> > #include <linux/genhd.h>
> > #include <linux/mutex.h>
> > +#include <linux/perf_event.h>
> > #include "base.h"
> >
> > #define to_class_attr(_attr) container_of(_attr, struct class_attribute, attr)
> > @@ -160,6 +161,14 @@ static void klist_class_dev_put(struct klist_node *n)
> > put_device(dev);
> > }
> >
> > +extern struct class ieee80211_class;
> > +
> > +static void class_sys_add_tp(struct kobject *class_kobj, struct class *cls)
> > +{
> > + if (cls == &ieee80211_class)
> > + perf_sys_add_tp(class_kobj, "mac80211");
> > +}
> > +
>
> Ick, what a bad hack! [...]
Yeah, putting driver specific code into generic code for a prototype is OK but
not acceptable as an end result.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists