msm: remote_spinlock: Support multiplatform

Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move the remote-spinlock driver to the drivers/hwspinlock location to
support multiplatform.

Change-Id: Ibbc6046ab177b62a5a79cba7f5752685470c4ebb
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
This commit is contained in:
Jeff Hugo 2013-11-26 11:49:25 -07:00
parent 15d9b130f7
commit aca2f1a277
20 changed files with 30 additions and 24 deletions

View File

@ -519,6 +519,7 @@ CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_CLKDIV=y
CONFIG_QPNP_USB_DETECT=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V1=y
CONFIG_IOMMU_PGTABLES_L2=y
CONFIG_IOMMU_LPAE=y

View File

@ -520,6 +520,7 @@ CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_CLKDIV=y
CONFIG_QPNP_USB_DETECT=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V1=y
CONFIG_MSM_IOMMU_PMON=y
CONFIG_IOMMU_PGTABLES_L2=y

View File

@ -205,6 +205,7 @@ CONFIG_SPS=y
CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_CLKDIV=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_PWM=y
CONFIG_PWM_QPNP=y
CONFIG_EXT2_FS=y

View File

@ -206,6 +206,7 @@ CONFIG_SPS=y
CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_CLKDIV=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_PWM=y
CONFIG_PWM_QPNP=y
CONFIG_EXT2_FS=y

View File

@ -351,6 +351,7 @@ CONFIG_SPS_SUPPORT_BAMDMA=y
CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_CLKDIV=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V1=y
CONFIG_IOMMU_PGTABLES_L2=y
CONFIG_IOMMU_NON_SECURE=y

View File

@ -408,6 +408,7 @@ CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_VIBRATOR=y
CONFIG_QPNP_REVID=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V1=y
CONFIG_PWM=y
CONFIG_PWM_QPNP=y

View File

@ -412,6 +412,7 @@ CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_VIBRATOR=y
CONFIG_QPNP_REVID=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V1=y
CONFIG_PWM=y
CONFIG_PWM_QPNP=y

View File

@ -382,6 +382,7 @@ CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_VIBRATOR=y
CONFIG_QPNP_REVID=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V0=y
CONFIG_PWM=y
CONFIG_PWM_QPNP=y

View File

@ -380,6 +380,7 @@ CONFIG_SPS_SUPPORT_NDP_BAM=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_VIBRATOR=y
CONFIG_QPNP_REVID=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V0=y
CONFIG_PWM=y
CONFIG_PWM_QPNP=y

View File

@ -448,6 +448,7 @@ CONFIG_QPNP_CLKDIV=y
CONFIG_QPNP_REVID=y
CONFIG_QPNP_COINCELL=y
CONFIG_MSM_AVTIMER=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V1=y
CONFIG_IOMMU_PGTABLES_L2=y
CONFIG_PWM=y

View File

@ -459,6 +459,7 @@ CONFIG_QPNP_CLKDIV=y
CONFIG_QPNP_REVID=y
CONFIG_QPNP_COINCELL=y
CONFIG_MSM_AVTIMER=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_MSM_IOMMU_V1=y
CONFIG_MSM_IOMMU_PMON=y
CONFIG_IOMMU_PGTABLES_L2=y

View File

@ -190,6 +190,7 @@ CONFIG_PCI_MSI=y
CONFIG_MSM_PCIE=y
CONFIG_QPNP_POWER_ON=y
CONFIG_QPNP_REVID=y
CONFIG_REMOTE_SPINLOCK_MSM=y
CONFIG_IPA=y
CONFIG_RMNET_IPA=y
CONFIG_CORESIGHT=y

View File

@ -1,18 +0,0 @@
/* Copyright (c) 2009, The Linux Foundation. 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 and
* only 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 __ASM_REMOTE_SPINLOCK_H
#define __ASM_REMOTE_SPINLOCK_H
#include <mach/remote_spinlock.h>
#endif /* __ASM_REMOTE_SPINLOCK_H */

View File

@ -592,6 +592,7 @@ config MSM_SERIAL_DEBUGGER_CONSOLE
the debugger serial port as the occur.
config MSM_SMD
depends on REMOTE_SPINLOCK_MSM
bool "MSM Shared Memory Driver (SMD)"
help
Support for the shared memory interface between the apps

View File

@ -32,7 +32,7 @@ target += smd_rpc_sym.c
$(obj)/smd_rpc_sym.c: $(src)/smd_rpc_sym $(src)/mkrpcsym.pl
$(call if_changed,mkrpcsym)
obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o remote_spinlock.o smd_private.o smem.o smd_init_dt.o smd_init_plat.o smsm_debug.o smem_debug.o
obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o smd_private.o smem.o smd_init_dt.o smd_init_plat.o smsm_debug.o smem_debug.o
obj-$(CONFIG_MSM_SMP2P) += smp2p.o smp2p_debug.o smp2p_gpio.o
obj-$(CONFIG_MSM_SMP2P_TEST) += smp2p_loopback.o smp2p_test.o smp2p_gpio_test.o smp2p_spinlock_test.o
obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o

View File

@ -29,4 +29,15 @@ config HSEM_U8500
If unsure, say N.
config REMOTE_SPINLOCK_MSM
bool "MSM Remote Spinlock Functionality"
depends on ARCH_MSM
select HWSPINLOCK
help
Say y here to support the MSM Remote Spinlock functionality, which
provides a synchronisation mechanism for the various processor on the
SoC.
If unsure, say N.
endmenu

View File

@ -5,3 +5,4 @@
obj-$(CONFIG_HWSPINLOCK) += hwspinlock_core.o
obj-$(CONFIG_HWSPINLOCK_OMAP) += omap_hwspinlock.o
obj-$(CONFIG_HSEM_U8500) += u8500_hsem.o
obj-$(CONFIG_REMOTE_SPINLOCK_MSM) += msm_remote_spinlock.o

View File

@ -17,8 +17,8 @@
#include <linux/delay.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/msm_remote_spinlock.h>
#include <mach/remote_spinlock.h>
#include <mach/msm_smem.h>

View File

@ -32,7 +32,7 @@ typedef raw_remote_spinlock_t *_remote_spinlock_t;
#define remote_spinlock_id_t const char *
#if defined(CONFIG_MSM_SMD)
#if defined(CONFIG_REMOTE_SPINLOCK_MSM)
int _remote_spin_lock_init(remote_spinlock_id_t, _remote_spinlock_t *lock);
void _remote_spin_release_all(uint32_t pid);
void _remote_spin_lock(_remote_spinlock_t *lock);
@ -76,7 +76,7 @@ struct remote_mutex_id {
uint32_t delay_us;
};
#ifdef CONFIG_MSM_SMD
#ifdef CONFIG_REMOTE_SPINLOCK_MSM
int _remote_mutex_init(struct remote_mutex_id *id, _remote_mutex_t *lock);
void _remote_mutex_lock(_remote_mutex_t *lock);
void _remote_mutex_unlock(_remote_mutex_t *lock);

View File

@ -16,8 +16,7 @@
#include <linux/spinlock.h>
#include <linux/mutex.h>
#include <asm/remote_spinlock.h>
#include <linux/msm_remote_spinlock.h>
/* Grabbing a local spin lock before going for a remote lock has several
* advantages: