From d195fd680eac1044681fd265edfbf342888f4a93 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 6 Feb 2015 13:11:25 +1100 Subject: Move skiboot internal things from opal.h to opal-api.h This is probably not the best collection of things in the world, but it means that opal.h is much closer to being directly usable by an OS. This triggers a bunch of #include fixes throughout the tree. Signed-off-by: Stewart Smith --- include/opal.h | 63 ---------------------------------------------------------- 1 file changed, 63 deletions(-) (limited to 'include/opal.h') diff --git a/include/opal.h b/include/opal.h index 7e23dfa..088a30d 100644 --- a/include/opal.h +++ b/include/opal.h @@ -816,68 +816,5 @@ struct opal_i2c_request { __be64 buffer_ra; /* Buffer real address */ }; -/****** Internal **********/ -#include - -/* An opal table entry */ -struct opal_table_entry { - void *func; - __be32 token; - __be32 nargs; -}; - -#define opal_call(__tok, __func, __nargs) \ -static struct opal_table_entry __e_##__func __used __section(".opal_table") = \ -{ .func = __func, .token = __tok, \ - .nargs = __nargs + 0 * sizeof(__func( __test_args##__nargs )) } - -/* Make sure function takes args they claim. Look away now... */ -#define __test_args0 -#define __test_args1 0 -#define __test_args2 0,0 -#define __test_args3 0,0,0 -#define __test_args4 0,0,0,0 -#define __test_args5 0,0,0,0,0 -#define __test_args6 0,0,0,0,0,0 -#define __test_args7 0,0,0,0,0,0,0 - -extern struct opal_table_entry __opal_table_start[]; -extern struct opal_table_entry __opal_table_end[]; - -extern __be64 opal_pending_events; - -extern struct dt_node *opal_node; - -extern void opal_table_init(void); -extern void opal_update_pending_evt(__be64 evt_mask, __be64 evt_values); -__be64 opal_dynamic_event_alloc(void); -void opal_dynamic_event_free(__be64 event); -extern void add_opal_node(void); - -#define opal_register(token, func, nargs) \ - __opal_register((token) + 0*sizeof(func(__test_args##nargs)), \ - (func), (nargs)) -extern void __opal_register(__be64 token, void *func, unsigned num_args); - -/* Warning: no locking at the moment, do at init time only - * - * XXX TODO: Add the big RCU-ish "opal API lock" to protect us here - * which will also be used for other things such as runtime updates - */ -extern void opal_add_poller(void (*poller)(void *data), void *data); -extern void opal_del_poller(void (*poller)(void *data)); -extern void opal_run_pollers(void); - -/* - * Warning: no locking, only call that from the init processor - */ -extern void opal_add_host_sync_notifier(bool (*notify)(void *data), void *data); -extern void opal_del_host_sync_notifier(bool (*notify)(void *data)); - -/* - * Opal internal function prototype - */ -extern int handle_hmi_exception(__be64 hmer, struct OpalHMIEvent *hmi_evt); - #endif /* __ASSEMBLY__ */ #endif /* __OPAL_H */ -- cgit v1.1