summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-10-20 21:54:44 +0000
committerThomas Martitz <kugel@rockbox.org>2009-10-20 21:54:44 +0000
commit774bacc692b4d5c7b769bb88d24e182db9e4656f (patch)
tree07c5ed05c9d46145c783bd1de5062731e6babb32 /firmware
parent872852639fc52bcdb2cc8199fed60f81c7cad1f9 (diff)
Correct wrong usage of event callbacks all over the place. It's not supposed to return anything, and should take a data parameter.
Fixing it because correcting the event api prototypes causes many warnings. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23301 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/ata_idle_notify.c8
-rw-r--r--firmware/events.c4
-rw-r--r--firmware/export/ata_idle_notify.h6
-rw-r--r--firmware/export/events.h4
4 files changed, 10 insertions, 12 deletions
diff --git a/firmware/ata_idle_notify.c b/firmware/ata_idle_notify.c
index 99b1d4d786..35d192bee0 100644
--- a/firmware/ata_idle_notify.c
+++ b/firmware/ata_idle_notify.c
@@ -25,12 +25,12 @@
#include "kernel.h"
#include "string.h"
-void register_storage_idle_func(storage_idle_notify function)
+void register_storage_idle_func(void (*function)(void *data))
{
#if USING_STORAGE_CALLBACK
add_event(DISK_EVENT_SPINUP, true, function);
#else
- function(); /* just call the function now */
+ function(NULL); /* just call the function now */
/* this _may_ cause problems later if the calling function
sets a variable expecting the callback to unset it, because
the callback will be run before this function exits, so before the var is set */
@@ -38,12 +38,12 @@ void register_storage_idle_func(storage_idle_notify function)
}
#if USING_STORAGE_CALLBACK
-void unregister_storage_idle_func(storage_idle_notify func, bool run)
+void unregister_storage_idle_func(void (*func)(void *data), bool run)
{
remove_event(DISK_EVENT_SPINUP, func);
if (run)
- func();
+ func(NULL);
}
bool call_storage_idle_notifys(bool force)
diff --git a/firmware/events.c b/firmware/events.c
index 951214377e..dca612bc7b 100644
--- a/firmware/events.c
+++ b/firmware/events.c
@@ -33,7 +33,7 @@ struct sysevent {
static struct sysevent events[MAX_SYS_EVENTS];
-bool add_event(unsigned short id, bool oneshot, void (*handler))
+bool add_event(unsigned short id, bool oneshot, void (*handler)(void *data))
{
int i;
@@ -60,7 +60,7 @@ bool add_event(unsigned short id, bool oneshot, void (*handler))
return false;
}
-void remove_event(unsigned short id, void (*handler))
+void remove_event(unsigned short id, void (*handler)(void *data))
{
int i;
diff --git a/firmware/export/ata_idle_notify.h b/firmware/export/ata_idle_notify.h
index 18f1648e00..348165f1d1 100644
--- a/firmware/export/ata_idle_notify.h
+++ b/firmware/export/ata_idle_notify.h
@@ -48,11 +48,9 @@ enum {
&& (CONFIG_NAND == NAND_IFP7XX)) \
&& !defined(BOOTLOADER)
-typedef bool (*storage_idle_notify)(void);
-
-extern void register_storage_idle_func(storage_idle_notify function);
+extern void register_storage_idle_func(void (*function)(void *data));
#if USING_STORAGE_CALLBACK
-extern void unregister_storage_idle_func(storage_idle_notify function, bool run);
+extern void unregister_storage_idle_func(void (*function)(void *data), bool run);
extern bool call_storage_idle_notifys(bool force);
#else
#define unregister_storage_idle_func(f,r)
diff --git a/firmware/export/events.h b/firmware/export/events.h
index cad0fad895..694566a43e 100644
--- a/firmware/export/events.h
+++ b/firmware/export/events.h
@@ -38,8 +38,8 @@
#define EVENT_CLASS_BUFFERING 0x0400
#define EVENT_CLASS_GUI 0x0800
-bool add_event(unsigned short id, bool oneshot, void (*handler));
-void remove_event(unsigned short id, void (*handler));
+bool add_event(unsigned short id, bool oneshot, void (*handler)(void *data));
+void remove_event(unsigned short id, void (*handler)(void *data));
void send_event(unsigned short id, void *data);
#endif