Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[pandora-kernel.git] / arch / arm / mach-msm / scm-boot.c
1 /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
2  *
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License version 2 and
5  * only version 2 as published by the Free Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15  * 02110-1301, USA.
16  */
17
18 #include <linux/module.h>
19 #include <linux/slab.h>
20
21 #include "scm.h"
22 #include "scm-boot.h"
23
24 /*
25  * Set the cold/warm boot address for one of the CPU cores.
26  */
27 int scm_set_boot_addr(phys_addr_t addr, int flags)
28 {
29         struct {
30                 unsigned int flags;
31                 phys_addr_t  addr;
32         } cmd;
33
34         cmd.addr = addr;
35         cmd.flags = flags;
36         return scm_call(SCM_SVC_BOOT, SCM_BOOT_ADDR,
37                         &cmd, sizeof(cmd), NULL, 0);
38 }
39 EXPORT_SYMBOL(scm_set_boot_addr);