ARM: tegra: Move mach-tegra/{gic.h, pm-irq.h}
Ajay Nandakumar [Wed, 23 Oct 2013 15:30:12 +0000 (20:30 +0530)]
Moving mach-tegra/gic.h and mach-tegra/pm-irq.h to
include/linux/irqchip/tegra-irq.h so that it helps faclitate the
movement of irq drivers from mach-tegra/ to drivers/.

Bug 1379891

Change-Id: Id062ebc16441ac295df78731c1e44b32e75d3286
Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com>
Reviewed-on: http://git-master/r/302884
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>

23 files changed:
arch/arm/mach-tegra/board-ardbeg.c
arch/arm/mach-tegra/board-dalmore.c
arch/arm/mach-tegra/board-loki.c
arch/arm/mach-tegra/board-macallan.c
arch/arm/mach-tegra/board-pismo.c
arch/arm/mach-tegra/cpuidle-t11x.c
arch/arm/mach-tegra/cpuidle-t14x.c
arch/arm/mach-tegra/cpuidle-t2.c
arch/arm/mach-tegra/cpuidle-t3.c
arch/arm/mach-tegra/fiq.c
arch/arm/mach-tegra/gic.c
arch/arm/mach-tegra/gic.h [deleted file]
arch/arm/mach-tegra/hotplug.c
arch/arm/mach-tegra/include/mach/fiq.h [deleted file]
arch/arm/mach-tegra/include/mach/legacy_irq.h [deleted file]
arch/arm/mach-tegra/irq.c
arch/arm/mach-tegra/pm-irq.c
arch/arm/mach-tegra/pm.c
arch/arm/mach-tegra/tegra_wakeup_monitor.c
arch/arm/mach-tegra/wakeups-t11x.c
drivers/gpio/gpio-tegra.c
drivers/media/platform/tegra/nvavp/nvavp_dev.c
include/linux/irqchip/tegra.h [moved from arch/arm/mach-tegra/pm-irq.h with 53% similarity]

index 92fe38b..7cffe0a 100644 (file)
@@ -74,6 +74,7 @@
 #include <mach/xusb.h>
 #include <linux/platform_data/tegra_usb_modem_power.h>
 #include <linux/platform_data/tegra_ahci.h>
+#include <linux/irqchip/tegra.h>
 
 #include "board.h"
 #include "board-ardbeg.h"
@@ -86,7 +87,6 @@
 #include "gpio-names.h"
 #include "iomap.h"
 #include "pm.h"
-#include "pm-irq.h"
 #include "tegra-board-id.h"
 
 static struct board_info board_info, display_board_info;
index 5709f33..edb198d 100644 (file)
@@ -50,6 +50,7 @@
 #include <linux/usb/tegra_usb_phy.h>
 #include <linux/clk/tegra.h>
 #include <linux/clocksource.h>
+#include <linux/irqchip/tegra.h>
 
 #include <mach/irqs.h>
 #include <mach/pinmux.h>
@@ -75,7 +76,6 @@
 #include "fuse.h"
 #include "iomap.h"
 #include "pm.h"
-#include "pm-irq.h"
 #include "common.h"
 #include "tegra-board-id.h"
 
index 5aa27d2..26a47fd 100644 (file)
@@ -71,6 +71,7 @@
 #include <mach/tegra_fiq_debugger.h>
 #include <mach/xusb.h>
 #include <linux/platform_data/tegra_usb_modem_power.h>
+#include <linux/irqchip/tegra.h>
 
 #include "board-touch-raydium.h"
 #include "board.h"
@@ -80,7 +81,6 @@
 #include "devices.h"
 #include "gpio-names.h"
 #include "pm.h"
-#include "pm-irq.h"
 #include "common.h"
 #include "tegra-board-id.h"
 #include "iomap.h"
index 0f8276d..b37b7bb 100644 (file)
@@ -49,6 +49,7 @@
 #include <linux/clk/tegra.h>
 #include <linux/tegra-soc.h>
 #include <linux/clocksource.h>
+#include <linux/irqchip/tegra.h>
 
 #include <mach/irqs.h>
 #include <mach/pinmux.h>
@@ -73,7 +74,6 @@
 #include "fuse.h"
 #include "iomap.h"
 #include "pm.h"
-#include "pm-irq.h"
 #include "common.h"
 #include "tegra-board-id.h"
 
index bc7598a..f784399 100644 (file)
@@ -50,6 +50,7 @@
 #include <linux/usb/tegra_usb_phy.h>
 #include <linux/clk/tegra.h>
 #include <linux/clocksource.h>
+#include <linux/irqchip/tegra.h>
 
 #include <mach/irqs.h>
 #include <mach/pinmux.h>
@@ -72,7 +73,6 @@
 #include "gpio-names.h"
 #include "fuse.h"
 #include "pm.h"
-#include "pm-irq.h"
 #include "common.h"
 #include "tegra-board-id.h"
 #include "iomap.h"
index 0ca9bd0..320959e 100644 (file)
@@ -43,6 +43,7 @@
 #include <linux/tegra-soc.h>
 #include <linux/tegra-timer.h>
 #include <linux/tegra-cpuidle.h>
+#include <linux/irqchip/tegra.h>
 
 #include <asm/cacheflush.h>
 #include <asm/localtimer.h>
@@ -55,7 +56,6 @@
 
 #include "clock.h"
 #include "dvfs.h"
-#include "gic.h"
 #include "iomap.h"
 #include "pm.h"
 #include "reset.h"
index b4145d0..fb8e18f 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/cpu_pm.h>
 #include <linux/module.h>
 #include <linux/tegra-soc.h>
+#include <linux/irqchip/tegra.h>
 
 #include <asm/cacheflush.h>
 #include <asm/localtimer.h>
@@ -50,7 +51,6 @@
 #include "cpuidle.h"
 #include "dvfs.h"
 #include "fuse.h"
-#include "gic.h"
 #include "iomap.h"
 #include "pm.h"
 #include "reset.h"
index 1736b79..c0787c3 100644 (file)
@@ -3,7 +3,7 @@
  *
  * CPU idle driver for Tegra2 CPUs
  *
- * Copyright (c) 2010-2011, NVIDIA Corporation.
+ * Copyright (c) 2010-2013, NVIDIA Corporation.   All rights reserved.
  * Copyright (c) 2011 Google, Inc.
  * Author: Colin Cross <ccross@android.com>
  *         Gary King <gking@nvidia.com>
@@ -39,6 +39,7 @@
 #include <linux/suspend.h>
 #include <linux/tick.h>
 #include <linux/cpu_pm.h>
+#include <linux/irqchip/tegra.h>
 
 #include <asm/suspend.h>
 
@@ -46,7 +47,6 @@
 #include <mach/irqs.h>
 
 #include "cpuidle.h"
-#include "gic.h"
 #include "pm.h"
 #include "sleep.h"
 #include "timer.h"
index 2e436ae..e79964d 100644 (file)
@@ -3,7 +3,7 @@
  *
  * CPU idle driver for Tegra3 CPUs
  *
- * Copyright (c) 2010-2013, NVIDIA Corporation.
+ * Copyright (c) 2010-2013, NVIDIA Corporation.   All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -41,6 +41,7 @@
 #include <linux/cpu_pm.h>
 #include <linux/module.h>
 #include <linux/tegra-soc.h>
+#include <linux/irqchip/tegra.h>
 
 #include <asm/cacheflush.h>
 #include <asm/localtimer.h>
@@ -56,7 +57,6 @@
 #include "cpuidle.h"
 #include "dvfs.h"
 #include "fuse.h"
-#include "gic.h"
 #include "iomap.h"
 #include "pm.h"
 #include "reset.h"
index 4f650ac..1ed4570 100644 (file)
@@ -26,8 +26,6 @@
 #include <linux/slab.h>
 #include <linux/irqchip/arm-gic.h>
 
-#include <mach/fiq.h>
-
 #include "board.h"
 #include "iomap.h"
 
index 4688a74..48e5240 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2012, NVIDIA Corporation
+ * Copyright (C) 2010-2013, NVIDIA Corporation.  All rights reserved.
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
 #include <linux/irqnr.h>
 #include <linux/cpu_pm.h>
 #include <linux/irqchip/arm-gic.h>
+#include <linux/irqchip/tegra.h>
 
 #include <mach/irqs.h>
 
-#include "gic.h"
 #include "iomap.h"
 #include "pm.h"
 
diff --git a/arch/arm/mach-tegra/gic.h b/arch/arm/mach-tegra/gic.h
deleted file mode 100644 (file)
index d5ea028..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * arch/arm/mach-tegra/include/mach/gic.h
- *
- * Copyright (C) 2010-2012 NVIDIA Corporation
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * 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 _MACH_TEGRA_GIC_H_
-#define _MACH_TEGRA_GIC_H_
-
-#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PM_SLEEP)
-
-void tegra_gic_cpu_disable(bool disable_pass_through);
-void tegra_gic_cpu_enable(void);
-
-#endif
-
-#define        GIC_V1  1
-#define        GIC_V2  2
-
-#if defined(CONFIG_PM_SLEEP)
-
-int tegra_gic_pending_interrupt(void);
-
-#ifndef CONFIG_ARCH_TEGRA_2x_SOC
-
-void tegra_gic_dist_disable(void);
-void tegra_gic_dist_enable(void);
-
-void tegra_gic_disable_affinity(void);
-void tegra_gic_restore_affinity(void);
-void tegra_gic_affinity_to_cpu0(void);
-
-#endif
-#endif
-
-u32 tegra_gic_version(void);
-void __init tegra_gic_init(bool is_dt);
-
-#endif /* _MACH_TEGRA_GIC_H_ */
index b07a52c..20f5f21 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Copyright (C) 2002 ARM Ltd.
  *  All Rights Reserved
- *  Copyright (c) 2010, 2012 NVIDIA Corporation. All rights reserved.
+ *  Copyright (C) 2010-2013 NVIDIA Corporation. All rights reserved.
  *
  * 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
 #include <linux/clk/tegra.h>
 #include <linux/cpu_pm.h>
 #include <linux/clk/tegra.h>
+#include <linux/irqchip/tegra.h>
 
 #include <asm/cacheflush.h>
 #include <asm/smp_plat.h>
 
-#include "gic.h"
 #include "sleep.h"
 
 static void (*tegra_hotplug_shutdown)(void);
diff --git a/arch/arm/mach-tegra/include/mach/fiq.h b/arch/arm/mach-tegra/include/mach/fiq.h
deleted file mode 100644 (file)
index 17625fa..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2010 Google, Inc.
- *
- * Author:
- *     Iliyan Malchev <malchev@google.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * 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 __ASM_ARCH_TEGRA_FIQ_H
-#define __ASM_ARCH_TEGRA_FIQ_H
-
-/* enable/disable an interrupt that is an FIQ (safe from FIQ context?) */
-void tegra_fiq_enable(int n);
-void tegra_fiq_disable(int n);
-
-#endif
diff --git a/arch/arm/mach-tegra/include/mach/legacy_irq.h b/arch/arm/mach-tegra/include/mach/legacy_irq.h
deleted file mode 100644 (file)
index c692c12..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * arch/arm/mach-tegra/include/mach/legacy_irq.h
- *
- * Copyright (C) 2010 Google, Inc.
- * Author: Colin Cross <ccross@android.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * 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 _ARCH_ARM_MACH_TEGRA_LEGARY_IRQ_H
-#define _ARCH_ARM_MACH_TEGRA_LEGARY_IRQ_H
-
-void tegra_init_legacy_irq_cop(void);
-
-/* lp1 wake interrupts enabled or disabled using this API */
-int tegra_update_lp1_irq_wake(unsigned int irq, bool enable);
-
-#endif
index 2bb7ea6..9569352 100644 (file)
 #include <linux/irqchip.h>
 #include <linux/syscore_ops.h>
 #include <linux/clk/tegra.h>
-
-#include <mach/legacy_irq.h>
+#include <linux/irqchip/tegra.h>
 
 #include "board.h"
-#include "gic.h"
 #include "iomap.h"
-#include "pm-irq.h"
 
 #define ICTLR_CPU_IEP_VFIQ     0x08
 #define ICTLR_CPU_IEP_FIR      0x14
index 15b7531..e7860d3 100644 (file)
@@ -30,9 +30,9 @@
 #include <linux/moduleparam.h>
 #include <linux/seq_file.h>
 #include <linux/syscore_ops.h>
+#include <linux/irqchip/tegra.h>
 
 #include "iomap.h"
-#include "pm-irq.h"
 
 #define PMC_CTRL               0x0
 #define PMC_CTRL_LATCH_WAKEUPS (1 << 5)
index 88629b7..ddce3ea 100644 (file)
@@ -52,6 +52,7 @@
 #include <linux/tegra-soc.h>
 #include <linux/tegra-timer.h>
 #include <linux/tegra-cpuidle.h>
+#include <linux/irqchip/tegra.h>
 
 #include <trace/events/power.h>
 #include <trace/events/nvsecurity.h>
 #include "clock.h"
 #include "common.h"
 #include "fuse.h"
-#include "gic.h"
 #include "iomap.h"
 #include "pm.h"
-#include "pm-irq.h"
 #include "reset.h"
 #include "pmc.h"
 #include "sleep.h"
index 534c37a..ba84348 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/completion.h>
 #include <linux/suspend.h>
 #include <linux/slab.h>
+#include <linux/irqchip/tegra.h>
 
 #include <net/ip.h>
 #include <linux/netfilter_ipv4.h>
@@ -29,7 +30,6 @@
 
 #include <mach/tegra_wakeup_monitor.h>
 
-#include "pm-irq.h"
 
 #define MAX_PACKET_NUM 6
 #define MONITOR_HTABLE_SIZE 256
index 1eca859..d3ae390 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/io.h>
+#include <linux/irqchip/tegra.h>
 
 #include <mach/irqs.h>
 #include <mach/gpio-tegra.h>
@@ -25,7 +26,6 @@
 #include "tegra-board-id.h"
 #include "gpio-names.h"
 #include "iomap.h"
-#include "pm-irq.h"
 
 /* Tegra USB1 wake source index */
 #define USB1_VBUS_WAKE 19
index 124321c..5369f4c 100644 (file)
 #include <linux/pm.h>
 #include <linux/syscore_ops.h>
 #include <linux/tegra-soc.h>
-
-#include <mach/legacy_irq.h>
-
-#include "../../arch/arm/mach-tegra/pm-irq.h"
+#include <linux/irqchip/tegra.h>
 
 #define GPIO_BANK(x)           ((x) >> 5)
 #define GPIO_PORT(x)           (((x) >> 3) & 0x3)
index f8d7994..1ed26cc 100644 (file)
@@ -39,8 +39,8 @@
 #include <linux/pm_runtime.h>
 #include <linux/clk/tegra.h>
 #include <linux/tegra-powergate.h>
+#include <linux/irqchip/tegra.h>
 
-#include <mach/legacy_irq.h>
 #include <mach/pm_domains.h>
 
 #include <linux/nvmap.h>
similarity index 53%
rename from arch/arm/mach-tegra/pm-irq.h
rename to include/linux/irqchip/tegra.h
index 279db85..c51b124 100644 (file)
@@ -1,30 +1,53 @@
 /*
- * Copyright (C) 2011 Google, Inc.
+ * arch/arm/mach-tegra/include/mach/gic.h
  *
- * Author:
- *     Colin Cross <ccross@android.com>
+ * Copyright (C) 2010-2013 NVIDIA Corporation.  All rights reserved.
  *
- * Copyright (c) 2012-2013, NVIDIA CORPORATION.  All rights reserved.
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions 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.
  *
- * This program is distributed in the hope 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef _MACH_TERA_PM_IRQ_H_
-#define _MACH_TERA_PM_IRQ_H_
+#ifndef _MACH_TEGRA_GIC_H_
+#define _MACH_TEGRA_GIC_H_
 
 #define PMC_MAX_WAKE_COUNT 64
+#define        GIC_V1  1
+#define        GIC_V2  2
+
+/* tegra internal any polarity wake sources */
+enum {
+       ANY_WAKE_INDEX_VBUS = 0,
+       ANY_WAKE_INDEX_ID
+};
+
+#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PM_SLEEP)
+void tegra_gic_cpu_disable(bool disable_pass_through);
+void tegra_gic_cpu_enable(void);
+#endif
+
+#if defined(CONFIG_PM_SLEEP)
+int tegra_gic_pending_interrupt(void);
+#ifndef CONFIG_ARCH_TEGRA_2x_SOC
+void tegra_gic_dist_disable(void);
+void tegra_gic_dist_enable(void);
+
+void tegra_gic_disable_affinity(void);
+void tegra_gic_restore_affinity(void);
+void tegra_gic_affinity_to_cpu0(void);
+#endif
+#endif
 
-#ifdef CONFIG_PM_SLEEP
+u32 tegra_gic_version(void);
+void __init tegra_gic_init(bool is_dt);
+
+#if defined(CONFIG_PM_SLEEP)
 u64 tegra_read_pmc_wake_status(void);
 int tegra_pm_irq_set_wake(int wake, int enable);
 int tegra_pm_irq_set_wake_type(int wake, int flow_type);
@@ -68,13 +91,8 @@ static inline int tegra_disable_wake_source(int wake)
        return 0;
 }
 #endif
-void tegra_set_usb_wake_source(void);
 
-/* tegra internal any polarity wake sources */
-enum {
-       ANY_WAKE_INDEX_VBUS = 0,
-       ANY_WAKE_INDEX_ID
-};
+void tegra_set_usb_wake_source(void);
 
 /* get chip specific list of internal any polarity wake sources */
 void tegra_get_internal_any_wake_list(u8 *wake_count, u8 **any_wake,
@@ -89,4 +107,13 @@ void tegra_get_internal_any_wake_list(u8 *wake_count, u8 **any_wake,
 int get_vbus_id_cable_connect_state(bool *is_vbus_connected,
                bool *is_id_connected);
 
-#endif
+/* enable/disable an interrupt that is an FIQ (safe from FIQ context?) */
+void tegra_fiq_enable(int n);
+void tegra_fiq_disable(int n);
+
+void tegra_init_legacy_irq_cop(void);
+
+/* lp1 wake interrupts enabled or disabled using this API */
+int tegra_update_lp1_irq_wake(unsigned int irq, bool enable);
+
+#endif /* _MACH_TEGRA_GIC_H_ */