aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-07-14 09:37:41 -0400
committerArnd Bergmann <arnd@arndb.de>2016-07-14 09:37:41 -0400
commit70814a9b32a2aad39ec76f0606dd2c69a14f2aea (patch)
tree079d1cee6ad9ff0f8880390222a14ab73848e14a /arch/arm/mach-tegra
parent979f97ddad4bd188b4f09dd6b46514bbd5117d0b (diff)
parentda35cbcafad3d46daa96a6f01022f11842e8e7b6 (diff)
Merge tag 'tegra-for-4.8-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/cleanup
Merge "ARM: tegra: Core SoC changes for v4.8-rc1" into next/cleanup: Some cleanups to eliminate sparse warnings and a section mismatch. * tag 'tegra-for-4.8-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Remove board_init_funcs array ARM: tegra: pm: Add tegra_cpu_do_idle() prototype ARM: tegra: irq: Add missing irq.h include ARM: tegra: cpuidle: Add missing cpuidle.h include ARM: tegra: hotplug: Include missing common.h
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r--arch/arm/mach-tegra/common.h22
-rw-r--r--arch/arm/mach-tegra/cpuidle-tegra114.c1
-rw-r--r--arch/arm/mach-tegra/cpuidle-tegra20.c1
-rw-r--r--arch/arm/mach-tegra/cpuidle-tegra30.c1
-rw-r--r--arch/arm/mach-tegra/cpuidle.h2
-rw-r--r--arch/arm/mach-tegra/hotplug.c1
-rw-r--r--arch/arm/mach-tegra/irq.c1
-rw-r--r--arch/arm/mach-tegra/pm.h2
-rw-r--r--arch/arm/mach-tegra/tegra.c24
9 files changed, 33 insertions, 22 deletions
diff --git a/arch/arm/mach-tegra/common.h b/arch/arm/mach-tegra/common.h
index 1f6fb808e236..4cc00e993b00 100644
--- a/arch/arm/mach-tegra/common.h
+++ b/arch/arm/mach-tegra/common.h
@@ -1,4 +1,26 @@
1/*
2 * Copyright (c) 2011, ARM Ltd.
3 * Copyright (c) 2013, NVIDIA Corporation. All rights reserved.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef __MACH_TEGRA_COMMON_H
19#define __MACH_TEGRA_COMMON_H
20
1extern const struct smp_operations tegra_smp_ops; 21extern const struct smp_operations tegra_smp_ops;
2 22
3extern int tegra_cpu_kill(unsigned int cpu); 23extern int tegra_cpu_kill(unsigned int cpu);
4extern void tegra_cpu_die(unsigned int cpu); 24extern void tegra_cpu_die(unsigned int cpu);
25
26#endif
diff --git a/arch/arm/mach-tegra/cpuidle-tegra114.c b/arch/arm/mach-tegra/cpuidle-tegra114.c
index 9157546fe68c..d3aa9be16621 100644
--- a/arch/arm/mach-tegra/cpuidle-tegra114.c
+++ b/arch/arm/mach-tegra/cpuidle-tegra114.c
@@ -26,6 +26,7 @@
26#include <asm/suspend.h> 26#include <asm/suspend.h>
27#include <asm/psci.h> 27#include <asm/psci.h>
28 28
29#include "cpuidle.h"
29#include "pm.h" 30#include "pm.h"
30#include "sleep.h" 31#include "sleep.h"
31 32
diff --git a/arch/arm/mach-tegra/cpuidle-tegra20.c b/arch/arm/mach-tegra/cpuidle-tegra20.c
index 7469347b1749..afcee04f2616 100644
--- a/arch/arm/mach-tegra/cpuidle-tegra20.c
+++ b/arch/arm/mach-tegra/cpuidle-tegra20.c
@@ -30,6 +30,7 @@
30#include <asm/smp_plat.h> 30#include <asm/smp_plat.h>
31#include <asm/suspend.h> 31#include <asm/suspend.h>
32 32
33#include "cpuidle.h"
33#include "flowctrl.h" 34#include "flowctrl.h"
34#include "iomap.h" 35#include "iomap.h"
35#include "irq.h" 36#include "irq.h"
diff --git a/arch/arm/mach-tegra/cpuidle-tegra30.c b/arch/arm/mach-tegra/cpuidle-tegra30.c
index 4dbe1dae937c..c1417361e10e 100644
--- a/arch/arm/mach-tegra/cpuidle-tegra30.c
+++ b/arch/arm/mach-tegra/cpuidle-tegra30.c
@@ -30,6 +30,7 @@
30#include <asm/smp_plat.h> 30#include <asm/smp_plat.h>
31#include <asm/suspend.h> 31#include <asm/suspend.h>
32 32
33#include "cpuidle.h"
33#include "pm.h" 34#include "pm.h"
34#include "sleep.h" 35#include "sleep.h"
35 36
diff --git a/arch/arm/mach-tegra/cpuidle.h b/arch/arm/mach-tegra/cpuidle.h
index c017dab60ffa..dd1624d4b294 100644
--- a/arch/arm/mach-tegra/cpuidle.h
+++ b/arch/arm/mach-tegra/cpuidle.h
@@ -23,8 +23,10 @@ void tegra20_cpuidle_pcie_irqs_in_use(void);
23int tegra30_cpuidle_init(void); 23int tegra30_cpuidle_init(void);
24int tegra114_cpuidle_init(void); 24int tegra114_cpuidle_init(void);
25void tegra_cpuidle_init(void); 25void tegra_cpuidle_init(void);
26void tegra_cpuidle_pcie_irqs_in_use(void);
26#else 27#else
27static inline void tegra_cpuidle_init(void) {} 28static inline void tegra_cpuidle_init(void) {}
29static inline void tegra_cpuidle_pcie_irqs_in_use(void) {}
28#endif 30#endif
29 31
30#endif 32#endif
diff --git a/arch/arm/mach-tegra/hotplug.c b/arch/arm/mach-tegra/hotplug.c
index 1b129899a277..8ec707826072 100644
--- a/arch/arm/mach-tegra/hotplug.c
+++ b/arch/arm/mach-tegra/hotplug.c
@@ -17,6 +17,7 @@
17 17
18#include <asm/smp_plat.h> 18#include <asm/smp_plat.h>
19 19
20#include "common.h"
20#include "sleep.h" 21#include "sleep.h"
21 22
22static void (*tegra_hotplug_shutdown)(void); 23static void (*tegra_hotplug_shutdown)(void);
diff --git a/arch/arm/mach-tegra/irq.c b/arch/arm/mach-tegra/irq.c
index 3b9098d27ea5..a69b22d37eed 100644
--- a/arch/arm/mach-tegra/irq.c
+++ b/arch/arm/mach-tegra/irq.c
@@ -29,6 +29,7 @@
29 29
30#include "board.h" 30#include "board.h"
31#include "iomap.h" 31#include "iomap.h"
32#include "irq.h"
32 33
33#define SGI_MASK 0xFFFF 34#define SGI_MASK 0xFFFF
34 35
diff --git a/arch/arm/mach-tegra/pm.h b/arch/arm/mach-tegra/pm.h
index 83bc87583446..717b48f22912 100644
--- a/arch/arm/mach-tegra/pm.h
+++ b/arch/arm/mach-tegra/pm.h
@@ -36,7 +36,7 @@ void tegra30_sleep_core_init(void);
36 36
37void tegra_clear_cpu_in_lp2(void); 37void tegra_clear_cpu_in_lp2(void);
38bool tegra_set_cpu_in_lp2(void); 38bool tegra_set_cpu_in_lp2(void);
39 39int tegra_cpu_do_idle(void);
40void tegra_idle_lp2_last(void); 40void tegra_idle_lp2_last(void);
41extern void (*tegra_tear_down_cpu)(void); 41extern void (*tegra_tear_down_cpu)(void);
42 42
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
index 2378fa560a21..42d7ee9658fa 100644
--- a/arch/arm/mach-tegra/tegra.c
+++ b/arch/arm/mach-tegra/tegra.c
@@ -118,32 +118,14 @@ out:
118 of_platform_populate(NULL, of_default_bus_match_table, NULL, parent); 118 of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
119} 119}
120 120
121static void __init paz00_init(void)
122{
123 if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC))
124 tegra_paz00_wifikill_init();
125}
126
127static struct {
128 char *machine;
129 void (*init)(void);
130} board_init_funcs[] = {
131 { "compal,paz00", paz00_init },
132};
133
134static void __init tegra_dt_init_late(void) 121static void __init tegra_dt_init_late(void)
135{ 122{
136 int i;
137
138 tegra_init_suspend(); 123 tegra_init_suspend();
139 tegra_cpuidle_init(); 124 tegra_cpuidle_init();
140 125
141 for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) { 126 if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) &&
142 if (of_machine_is_compatible(board_init_funcs[i].machine)) { 127 of_machine_is_compatible("compal,paz00"))
143 board_init_funcs[i].init(); 128 tegra_paz00_wifikill_init();
144 break;
145 }
146 }
147} 129}
148 130
149static const char * const tegra_dt_board_compat[] = { 131static const char * const tegra_dt_board_compat[] = {