From patchwork Thu May 28 23:31:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Hilman X-Patchwork-Id: 49122 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lb0-f200.google.com (mail-lb0-f200.google.com [209.85.217.200]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 9543D218EC for ; Thu, 28 May 2015 23:31:37 +0000 (UTC) Received: by lbbqq2 with SMTP id qq2sf13930677lbb.0 for ; Thu, 28 May 2015 16:31:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:subject:date :message-id:sender:precedence:list-id:x-original-sender :x-original-authentication-results:mailing-list:list-post:list-help :list-archive:list-unsubscribe; bh=dx9/Ly6uYCncyHqYq2P0Ikx4SP7rTF0YBI7WOT93puE=; b=Q3avmoZb9yF5r6aFFgyaIFD2EHDXkYs461giXjRG4whgFer/eufT7z9T2Rb2hsG4P3 qXAZSHrE4n+0CH4kSWQbDWLZBtmCtD4ChBiaJliKTZoZDS52QwuuDj/mjpffP0m3xTWW DF73PkHTtn5aFXBvgOqseUln4QK+QoMj7f8WldUB7cPX3wiDvo6VrJljNToLugrOOrc1 IBna6YkyXyn9Aod8o0JDAMAfDOLoSe6NN/5Sy5Stf7wPa/1obYsGwD+ow/YGnCfYDP5e wV1tx9k29KcHgl4rJF1fIz1rHJAXSMIaWlcP91dOezAvXJv2maZVwQaWq9T1HrEGxudv R4FA== X-Gm-Message-State: ALoCoQmUInHQFR/hRgrDr541kV4nfKDmEKM7ngpLfwABG2uWDVAtGUtJHHpACmMuAM+3yECzmTGv X-Received: by 10.152.2.169 with SMTP id 9mr4723918lav.1.1432855895755; Thu, 28 May 2015 16:31:35 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.181.34 with SMTP id dt2ls249769lac.14.gmail; Thu, 28 May 2015 16:31:35 -0700 (PDT) X-Received: by 10.112.222.133 with SMTP id qm5mr5199538lbc.86.1432855895631; Thu, 28 May 2015 16:31:35 -0700 (PDT) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com. [209.85.217.182]) by mx.google.com with ESMTPS id ld16si3117832lbb.169.2015.05.28.16.31.35 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 16:31:35 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.182 as permitted sender) client-ip=209.85.217.182; Received: by lbcue7 with SMTP id ue7so38330133lbc.0 for ; Thu, 28 May 2015 16:31:35 -0700 (PDT) X-Received: by 10.112.219.70 with SMTP id pm6mr5062955lbc.41.1432855895241; Thu, 28 May 2015 16:31:35 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.108.230 with SMTP id hn6csp1535306lbb; Thu, 28 May 2015 16:31:34 -0700 (PDT) X-Received: by 10.70.62.6 with SMTP id u6mr9764732pdr.142.1432855894252; Thu, 28 May 2015 16:31:34 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id gq8si5726286pbc.83.2015.05.28.16.31.33; Thu, 28 May 2015 16:31:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932170AbbE1Xbc (ORCPT + 2 others); Thu, 28 May 2015 19:31:32 -0400 Received: from mail-pa0-f46.google.com ([209.85.220.46]:35106 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932236AbbE1Xbb (ORCPT ); Thu, 28 May 2015 19:31:31 -0400 Received: by pacwv17 with SMTP id wv17so34399234pac.2 for ; Thu, 28 May 2015 16:31:31 -0700 (PDT) X-Received: by 10.70.129.133 with SMTP id nw5mr9724407pdb.155.1432855891257; Thu, 28 May 2015 16:31:31 -0700 (PDT) Received: from localhost (c-67-160-101-93.hsd1.wa.comcast.net. [67.160.101.93]) by mx.google.com with ESMTPSA id nj7sm3490503pbc.36.2015.05.28.16.31.29 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 28 May 2015 16:31:30 -0700 (PDT) From: Kevin Hilman To: stable@vger.kernel.org Subject: [PATCH] ARM: 8221/1: PJ4: allow building in Thumb-2 mode Date: Thu, 28 May 2015 16:31:28 -0700 Message-Id: <1432855888-15386-1-git-send-email-khilman@kernel.org> X-Mailer: git-send-email 2.3.1 Sender: stable-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: stable@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: patch@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.182 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , From: Ard Biesheuvel Two files that get included when building the multi_v7_defconfig target fail to build when selecting THUMB2_KERNEL for this configuration. In both cases, we can just build the file as ARM code, as none of its symbols are exported to modules, so there are no interworking concerns. In the iwmmxt.S case, add ENDPROC() declarations so the symbols are annotated as functions, resulting in the linker to emit the appropriate mode switches. Acked-by: Nicolas Pitre Tested-by: Olof Johansson Signed-off-by: Ard Biesheuvel Signed-off-by: Russell King (cherry picked from commit 13d1b9575ac2c2da143cd2236b6cf0fc314570f8) Cc: # v3.18+ Signed-off-by: Kevin Hilman --- arch/arm/kernel/Makefile | 1 + arch/arm/kernel/iwmmxt.S | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 03120e656aea..2ecc7d15bc09 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@ -84,6 +84,7 @@ obj-$(CONFIG_CPU_PJ4B) += pj4-cp0.o obj-$(CONFIG_IWMMXT) += iwmmxt.o obj-$(CONFIG_PERF_EVENTS) += perf_regs.o obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o perf_event_cpu.o +CFLAGS_pj4-cp0.o := -marm AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o diff --git a/arch/arm/kernel/iwmmxt.S b/arch/arm/kernel/iwmmxt.S index ad58e565fe98..49fadbda8c63 100644 --- a/arch/arm/kernel/iwmmxt.S +++ b/arch/arm/kernel/iwmmxt.S @@ -58,6 +58,7 @@ #define MMX_SIZE (0x98) .text + .arm /* * Lazy switching of Concan coprocessor context @@ -182,6 +183,8 @@ concan_load: tmcr wCon, r2 ret lr +ENDPROC(iwmmxt_task_enable) + /* * Back up Concan regs to save area and disable access to them * (mainly for gdb or sleep mode usage) @@ -232,6 +235,8 @@ ENTRY(iwmmxt_task_disable) 1: msr cpsr_c, ip @ restore interrupt mode ldmfd sp!, {r4, pc} +ENDPROC(iwmmxt_task_disable) + /* * Copy Concan state to given memory address * @@ -268,6 +273,8 @@ ENTRY(iwmmxt_task_copy) msr cpsr_c, ip @ restore interrupt mode ret r3 +ENDPROC(iwmmxt_task_copy) + /* * Restore Concan state from given memory address * @@ -304,6 +311,8 @@ ENTRY(iwmmxt_task_restore) msr cpsr_c, ip @ restore interrupt mode ret r3 +ENDPROC(iwmmxt_task_restore) + /* * Concan handling on task switch * @@ -335,6 +344,8 @@ ENTRY(iwmmxt_task_switch) mrc p15, 0, r1, c2, c0, 0 sub pc, lr, r1, lsr #32 @ cpwait and return +ENDPROC(iwmmxt_task_switch) + /* * Remove Concan ownership of given task * @@ -353,6 +364,8 @@ ENTRY(iwmmxt_task_release) msr cpsr_c, r2 @ restore interrupts ret lr +ENDPROC(iwmmxt_task_release) + .data concan_owner: .word 0