linux-stable/include/trace/events/rpm.h
Paul Gortmaker 313162d0b8 device.h: audit and cleanup users in main include dir
The <linux/device.h> header includes a lot of stuff, and
it in turn gets a lot of use just for the basic "struct device"
which appears so often.

Clean up the users as follows:

1) For those headers only needing "struct device" as a pointer
in fcn args, replace the include with exactly that.

2) For headers not really using anything from device.h, simply
delete the include altogether.

3) For headers relying on getting device.h implicitly before
being included themselves, now explicitly include device.h

4) For files in which doing #1 or #2 uncovers an implicit
dependency on some other header, fix by explicitly adding
the required header(s).

Any C files that were implicitly relying on device.h to be
present have already been dealt with in advance.

Total removals from #1 and #2: 51.  Total additions coming
from #3: 9.  Total other implicit dependencies from #4: 7.

As of 3.3-rc1, there were 110, so a net removal of 42 gives
about a 38% reduction in device.h presence in include/*

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2012-03-16 10:38:24 -04:00

100 lines
2.3 KiB
C

#undef TRACE_SYSTEM
#define TRACE_SYSTEM rpm
#if !defined(_TRACE_RUNTIME_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_RUNTIME_POWER_H
#include <linux/ktime.h>
#include <linux/tracepoint.h>
struct device;
/*
* The rpm_internal events are used for tracing some important
* runtime pm internal functions.
*/
DECLARE_EVENT_CLASS(rpm_internal,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags),
TP_STRUCT__entry(
__string( name, dev_name(dev) )
__field( int, flags )
__field( int , usage_count )
__field( int , disable_depth )
__field( int , runtime_auto )
__field( int , request_pending )
__field( int , irq_safe )
__field( int , child_count )
),
TP_fast_assign(
__assign_str(name, dev_name(dev));
__entry->flags = flags;
__entry->usage_count = atomic_read(
&dev->power.usage_count);
__entry->disable_depth = dev->power.disable_depth;
__entry->runtime_auto = dev->power.runtime_auto;
__entry->request_pending = dev->power.request_pending;
__entry->irq_safe = dev->power.irq_safe;
__entry->child_count = atomic_read(
&dev->power.child_count);
),
TP_printk("%s flags-%x cnt-%-2d dep-%-2d auto-%-1d p-%-1d"
" irq-%-1d child-%d",
__get_str(name), __entry->flags,
__entry->usage_count,
__entry->disable_depth,
__entry->runtime_auto,
__entry->request_pending,
__entry->irq_safe,
__entry->child_count
)
);
DEFINE_EVENT(rpm_internal, rpm_suspend,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags)
);
DEFINE_EVENT(rpm_internal, rpm_resume,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags)
);
DEFINE_EVENT(rpm_internal, rpm_idle,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags)
);
TRACE_EVENT(rpm_return_int,
TP_PROTO(struct device *dev, unsigned long ip, int ret),
TP_ARGS(dev, ip, ret),
TP_STRUCT__entry(
__string( name, dev_name(dev))
__field( unsigned long, ip )
__field( int, ret )
),
TP_fast_assign(
__assign_str(name, dev_name(dev));
__entry->ip = ip;
__entry->ret = ret;
),
TP_printk("%pS:%s ret=%d", (void *)__entry->ip, __get_str(name),
__entry->ret)
);
#endif /* _TRACE_RUNTIME_POWER_H */
/* This part must be outside protection */
#include <trace/define_trace.h>