diff options
| author | Suman Anna <s-anna@ti.com> | 2013-03-12 18:55:29 -0400 |
|---|---|---|
| committer | Suman Anna <s-anna@ti.com> | 2013-06-11 12:41:51 -0400 |
| commit | c869c75c16b3d1ffcf64fb2fd63ba0c4a369071c (patch) | |
| tree | 02be072bd60241b604e2295addf78e817c47e3ca /include/linux | |
| parent | fe32c1f6024e357f586b1d666237cab80a1215ce (diff) | |
mailbox/omap: move the OMAP mailbox framework to drivers
The mailbox hardware (in OMAP) uses a queued mailbox interrupt
mechanism that provides a communication channel between processors
through a set of registers and their associated interrupt signals
by sending and receiving messages.
The OMAP mailbox framework/driver code is moved to be under
drivers/mailbox, in preparation for adapting to a common mailbox
driver framework. This allows the build for OMAP mailbox to be
enabled (it was disabled during the multi-platform support).
As part of the migration from plat and mach code:
- Kconfig symbols have been renamed to build OMAP1 or OMAP2+ drivers.
- mailbox.h under plat-omap/plat/include has been split into a public
and private header files. The public header has only the API related
functions and types.
- The module name mailbox.ko from plat-omap is changed to
omap-mailbox.ko
- The module name mailbox_mach.ko from mach-omapX is changed as
mailbox_omap1.ko for OMAP1
mailbox_omap2.ko for OMAP2+
Cc: Tony Lindgren <tony@atomide.com>
[gregkh@linuxfoundation.org: ack for staging part]
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@copitl.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/omap-mailbox.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/linux/omap-mailbox.h b/include/linux/omap-mailbox.h new file mode 100644 index 000000000000..f8322d9cd235 --- /dev/null +++ b/include/linux/omap-mailbox.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* | ||
| 2 | * omap-mailbox: interprocessor communication module for OMAP | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License version 2 as | ||
| 6 | * published by the Free Software Foundation. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef OMAP_MAILBOX_H | ||
| 10 | #define OMAP_MAILBOX_H | ||
| 11 | |||
| 12 | typedef u32 mbox_msg_t; | ||
| 13 | struct omap_mbox; | ||
| 14 | |||
| 15 | typedef int __bitwise omap_mbox_irq_t; | ||
| 16 | #define IRQ_TX ((__force omap_mbox_irq_t) 1) | ||
| 17 | #define IRQ_RX ((__force omap_mbox_irq_t) 2) | ||
| 18 | |||
| 19 | int omap_mbox_msg_send(struct omap_mbox *, mbox_msg_t msg); | ||
| 20 | |||
| 21 | struct omap_mbox *omap_mbox_get(const char *, struct notifier_block *nb); | ||
| 22 | void omap_mbox_put(struct omap_mbox *mbox, struct notifier_block *nb); | ||
| 23 | |||
| 24 | void omap_mbox_save_ctx(struct omap_mbox *mbox); | ||
| 25 | void omap_mbox_restore_ctx(struct omap_mbox *mbox); | ||
| 26 | void omap_mbox_enable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq); | ||
| 27 | void omap_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq); | ||
| 28 | |||
| 29 | #endif /* OMAP_MAILBOX_H */ | ||
