![Chris Kelly](/assets/img/avatar_default.png)
The event logging subsystem allows internal events in the driver to be logged. This facilitates testing the correct operation of the driver. This subsystem is optional and can be switched out at compile time. Signed-off-by: Chris Kelly <ckelly@ozmodevices.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
32 lines
1,014 B
C
32 lines
1,014 B
C
/* -----------------------------------------------------------------------------
|
|
* Copyright (c) 2011 Ozmo Inc
|
|
* Released under the GNU General Public License Version 2 (GPLv2).
|
|
* -----------------------------------------------------------------------------
|
|
*/
|
|
#ifndef _OZEVENT_H
|
|
#define _OZEVENT_H
|
|
#include "ozconfig.h"
|
|
#include "ozeventdef.h"
|
|
|
|
#ifdef WANT_EVENT_TRACE
|
|
extern unsigned long g_evt_mask;
|
|
void oz_event_init(void);
|
|
void oz_event_term(void);
|
|
void oz_event_log2(u8 evt, u8 ctx1, u16 ctx2, void *ctx3, unsigned ctx4);
|
|
#define oz_event_log(__evt, __ctx1, __ctx2, __ctx3, __ctx4) \
|
|
do { \
|
|
if ((1<<(__evt)) & g_evt_mask) \
|
|
oz_event_log2(__evt, __ctx1, __ctx2, __ctx3, __ctx4); \
|
|
} while (0)
|
|
int oz_events_copy(struct oz_evtlist __user *lst);
|
|
void oz_events_clear(void);
|
|
#else
|
|
#define oz_event_init()
|
|
#define oz_event_term()
|
|
#define oz_event_log(__evt, __ctx1, __ctx2, __ctx3, __ctx4)
|
|
#define oz_events_copy(__lst)
|
|
#define oz_events_clear()
|
|
#endif /* WANT_EVENT_TRACE */
|
|
|
|
#endif /* _OZEVENT_H */
|