Move OMAP Mailbox framework to drivers via Suman Anna <s-anna@ti.com>
The OMAP Mailbox driver framework is moved out of arch/arm folder into drivers/mailbox folder, to re-enable building it and also serve as a baseline for adapting to the new mailbox driver framework. The changes mainly contain: - a minor bug fix and cleanup of mach-specific mailbox code - remove any header dependencies from plat-omap for multi-platform support - represent mailbox device data through platform data/hwmod attrs - move the omap mailbox code out of plat-omap/mach-omapX to drivers/mailbox folder -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJRvusIAAoJEBvUPslcq6VzQLoP/Rua4CwUWWYWOXGWW1/Mnf9m suVWrYDwkpcSmWeshNSthoF9d0iLKGTSK2mSNsqjBDyKwpqG3SHaS5vIPoRtc58T wHoS/a6rubo1ar8mWrxxHPP0eol0VXR1PwJGMNJrmx7Akzs6DHsiCgmTyoTTmSW7 Rs9fJnfbV/DLz4nlmlL3sm+SDv7lbFZbowZPLKZl9LiUuoCIznq2hsIPW6XMufIa TeFpezMzxP55L2Yxya4Gc29bVSJO2PRdtn0d1UaJufcNfNdKnbrx0c2ksMwS8Kfn kuw3H5sohCN+vJX/Hd2OX0icv3W+k/6UtwBMZ3Nu65BvzAcggytskITCuGbRLOkz t0oKM5U+7tsnPpg5Wy/ZvuUj1TNgVrgbjWD26FnFbpRMnZ1kZGuIjgltrasGpjXP N7judIr1jgvy2+1sz8Rfeh0ymsu3PBss00A6hBk+WEErq554ajC4/e4p0Rk6GXPL SszQFdwOc/pvGTnbYR33BI1d465QEpgu6RDOevWKPGwmkqB0E7agQ/tOpp+M32Gu GL2YLFzqEr8cFZ6Rl/jixPXZnvjJs9GjzeQaSctgM1694kddwjWz3LnOUFUVlHFJ Vxg7ilw6YdrDvkdDxL2kiOQ3d9PAjaArhBjgPKgLr/riZ5+7XwY90eO70WvvhfJT S5Wklgl+mpILN/W6h6wy =j0vK -----END PGP SIGNATURE----- Merge tag 'omap-for-v3.11/mailbox-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers From Tony Lindgren: Move OMAP Mailbox framework to drivers via Suman Anna <s-anna@ti.com> The OMAP Mailbox driver framework is moved out of arch/arm folder into drivers/mailbox folder, to re-enable building it and also serve as a baseline for adapting to the new mailbox driver framework. The changes mainly contain: - a minor bug fix and cleanup of mach-specific mailbox code - remove any header dependencies from plat-omap for multi-platform support - represent mailbox device data through platform data/hwmod attrs - move the omap mailbox code out of plat-omap/mach-omapX to drivers/mailbox folder * tag 'omap-for-v3.11/mailbox-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: mailbox/omap: move the OMAP mailbox framework to drivers ARM: OMAP2+: add user and fifo info to mailbox platform data ARM: OMAP2+: mbox: remove dependencies with soc.h omap: mailbox: correct the argument type for irq ops omap: mailbox: call request_irq after mbox queues are allocated omap: mailbox: check iomem resource before dereferencing it Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
f9f697a77d
21 changed files with 360 additions and 281 deletions
58
include/linux/platform_data/mailbox-omap.h
Normal file
58
include/linux/platform_data/mailbox-omap.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* mailbox-omap.h
|
||||
*
|
||||
* Copyright (C) 2013 Texas Instruments, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _PLAT_MAILBOX_H
|
||||
#define _PLAT_MAILBOX_H
|
||||
|
||||
/* Interrupt register configuration types */
|
||||
#define MBOX_INTR_CFG_TYPE1 (0)
|
||||
#define MBOX_INTR_CFG_TYPE2 (1)
|
||||
|
||||
/**
|
||||
* struct omap_mbox_dev_info - OMAP mailbox device attribute info
|
||||
* @name: name of the mailbox device
|
||||
* @tx_id: mailbox queue id used for transmitting messages
|
||||
* @rx_id: mailbox queue id on which messages are received
|
||||
* @irq_id: irq identifier number to use from the hwmod data
|
||||
* @usr_id: mailbox user id for identifying the interrupt into
|
||||
* the MPU interrupt controller.
|
||||
*/
|
||||
struct omap_mbox_dev_info {
|
||||
const char *name;
|
||||
u32 tx_id;
|
||||
u32 rx_id;
|
||||
u32 irq_id;
|
||||
u32 usr_id;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct omap_mbox_pdata - OMAP mailbox platform data
|
||||
* @intr_type: type of interrupt configuration registers used
|
||||
while programming mailbox queue interrupts
|
||||
* @num_users: number of users (processor devices) that the mailbox
|
||||
* h/w block can interrupt
|
||||
* @num_fifos: number of h/w fifos within the mailbox h/w block
|
||||
* @info_cnt: number of mailbox devices for the platform
|
||||
* @info: array of mailbox device attributes
|
||||
*/
|
||||
struct omap_mbox_pdata {
|
||||
u32 intr_type;
|
||||
u32 num_users;
|
||||
u32 num_fifos;
|
||||
u32 info_cnt;
|
||||
struct omap_mbox_dev_info *info;
|
||||
};
|
||||
|
||||
#endif /* _PLAT_MAILBOX_H */
|
Loading…
Add table
Add a link
Reference in a new issue