diff options
| author | Michael Sevakis <jethead71@rockbox.org> | 2011-02-14 11:27:45 +0000 |
|---|---|---|
| committer | Michael Sevakis <jethead71@rockbox.org> | 2011-02-14 11:27:45 +0000 |
| commit | b15aa47c56d4f8c6e4bf83fef48e7a764dd119a2 (patch) | |
| tree | 90e95627f56397cb74e021269a3cb65dd4c6ba2c /firmware/drivers | |
| parent | 8f14357064d1b8734e2f4dbe2708ace26d5134d1 (diff) | |
| download | rockbox-b15aa47c56d4f8c6e4bf83fef48e7a764dd119a2.zip rockbox-b15aa47c56d4f8c6e4bf83fef48e7a764dd119a2.tar.gz rockbox-b15aa47c56d4f8c6e4bf83fef48e7a764dd119a2.tar.bz2 rockbox-b15aa47c56d4f8c6e4bf83fef48e7a764dd119a2.tar.xz | |
All kernel objects in code shared amongs targets (core, plugins, codecs) should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29305 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
| -rw-r--r-- | firmware/drivers/ata_mmc.c | 4 | ||||
| -rw-r--r-- | firmware/drivers/button.c | 2 | ||||
| -rw-r--r-- | firmware/drivers/i2c.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/firmware/drivers/ata_mmc.c b/firmware/drivers/ata_mmc.c index dfc6302..fc2efcd 100644 --- a/firmware/drivers/ata_mmc.c +++ b/firmware/drivers/ata_mmc.c @@ -90,7 +90,7 @@ static long last_disk_activity = -1; /* private variables */ -static struct mutex mmc_mutex; +static struct mutex mmc_mutex SHAREDBSS_ATTR; #ifdef HAVE_HOTSWAP static long mmc_stack[((DEFAULT_STACK_SIZE*2) + 0x800)/sizeof(long)]; @@ -98,7 +98,7 @@ static long mmc_stack[((DEFAULT_STACK_SIZE*2) + 0x800)/sizeof(long)]; static long mmc_stack[(DEFAULT_STACK_SIZE*2)/sizeof(long)]; #endif static const char mmc_thread_name[] = "mmc"; -static struct event_queue mmc_queue; +static struct event_queue mmc_queue SHAREDBSS_ATTR; static bool initialized = false; static bool new_mmc_circuit; diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 403b521..c2df006 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c @@ -42,7 +42,7 @@ #include "lcd-remote.h" #endif -struct event_queue button_queue; +struct event_queue button_queue SHAREDBSS_ATTR; static long lastbtn; /* Last valid button status */ static long last_read; /* Last button status, for debouncing/filtering */ diff --git a/firmware/drivers/i2c.c b/firmware/drivers/i2c.c index 8cc7c78..b3a5324 100644 --- a/firmware/drivers/i2c.c +++ b/firmware/drivers/i2c.c @@ -54,7 +54,7 @@ /* arbitrary delay loop */ #define DELAY do { int _x; for(_x=0;_x<20;_x++);} while (0) -static struct mutex i2c_mtx; +static struct mutex i2c_mtx SHAREDBSS_ATTR; void i2c_begin(void) { |