Delivered-To: jwboyer@gmail.com Received: by 10.216.166.129 with SMTP id g1csp52986wel; Sat, 7 Sep 2013 07:21:20 -0700 (PDT) X-Received: by 10.50.26.36 with SMTP id i4mr2187231igg.33.1378563679768; Sat, 07 Sep 2013 07:21:19 -0700 (PDT) Return-Path: Received: from bastion.fedoraproject.org (bastion02.fedoraproject.org. [209.132.181.3]) by mx.google.com with ESMTP id mc6si3756304icc.53.1969.12.31.16.00.00; Sat, 07 Sep 2013 07:21:19 -0700 (PDT) Received-SPF: neutral (google.com: 209.132.181.3 is neither permitted nor denied by best guess record for domain of ard.biesheuvel@linaro.org) client-ip=209.132.181.3; Authentication-Results: mx.google.com; spf=neutral (google.com: 209.132.181.3 is neither permitted nor denied by best guess record for domain of ard.biesheuvel@linaro.org) smtp.mail=ard.biesheuvel@linaro.org Received: by bastion02.phx2.fedoraproject.org (Postfix) id EE3EB40737; Sat, 7 Sep 2013 14:21:18 +0000 (UTC) Delivered-To: jwboyer@fedoraproject.org Received: from mx1.redhat.com (ext-mx16.extmail.prod.ext.phx2.redhat.com [10.5.110.21]) by bastion02.phx2.fedoraproject.org (Postfix) with ESMTP id D80244052F for ; Sat, 7 Sep 2013 14:21:18 +0000 (UTC) Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r87ELGCQ021393 for ; Sat, 7 Sep 2013 10:21:17 -0400 Received: by mail-wi0-f175.google.com with SMTP id ez12so1920603wid.14 for ; Sat, 07 Sep 2013 07:21:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=8NEw4B1Nab9xiONGFPVLOs/nT1KunUfaacstB7/m/No=; b=DB/Eo8aD3MRNKvlw+eoioLLb0CGNH/AiibPqiInWEpiU7eNwGiVjkPnJVaqT2DiH0Z bkL4pFXThRYvpeeJ1Qind76YdsYxX1wcqqYqASAk6m/a+623LbEnilGsC85+8sW10fbk xeFhNZCAGQ4uROVe034V2mfoXadXiHGfB5FPzI49QJ9tzHDDWlW/q+YHVvYjtxYfJxjm Joeciq+LG04AvYeZ3+I0XOHoSuaD8BNthivxr9IFPyUqxfA7OK8B4DG0YptbXzErpntI 1zEY5YFmR6fATLo/6RItgWle0OGD+zhqYJYPw3S56z/1JN4aJWnPII53w1sIezgFzcMv WWLQ== X-Gm-Message-State: ALoCoQmWJcKQMJ6xt5DORrctGdw5Yt5RzFKGNaHdcTwAevLxBc5Js9+qvziWRVYvjeGY2VutWSrU X-Received: by 10.180.211.206 with SMTP id ne14mr2342383wic.30.1378563676626; Sat, 07 Sep 2013 07:21:16 -0700 (PDT) Received: from localhost.localdomain (cag06-7-83-153-85-71.fbx.proxad.net. [83.153.85.71]) by mx.google.com with ESMTPSA id ey2sm3980324wib.5.1969.12.31.16.00.00 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 07 Sep 2013 07:21:16 -0700 (PDT) From: Ard Biesheuvel To: linux-arm-kernel@lists.infradead.org Cc: linux@arm.linux.org.uk, nico@linaro.org, jwboyer@fedoraproject.org, Ard Biesheuvel Subject: [PATCH] ARM: fix modular build of xor_blocks() with NEON enabled Date: Sat, 7 Sep 2013 16:21:13 +0200 Message-Id: <1378563673-10637-1-git-send-email-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 1.8.1.2 X-RedHat-Spam-Score: -2.999 (BAYES_00,DCC_REPUT_00_12,RCVD_IN_DNSWL_LOW,URIBL_BLOCKED) X-Scanned-By: MIMEDefang 2.68 on 10.5.110.21 Commit 0195659 introduced a NEON accelerated version of the xor_blocks() function, but it needs the changes in this patch to allow it to be built as a module rather than statically into the kernel. This patch creates a separate module xor-neon.ko which exports the NEON inner xor_blocks() functions depended upon by the regular xor.ko if it is built with CONFIG_KERNEL_MODE_NEON=y Reported-by: Josh Boyer Signed-off-by: Ard Biesheuvel --- arch/arm/lib/Makefile | 4 +++- arch/arm/lib/xor-neon.c | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile index aaf3a87..6bc2bd3 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile @@ -49,5 +49,7 @@ $(obj)/csumpartialcopyuser.o: $(obj)/csumpartialcopygeneric.S ifeq ($(CONFIG_KERNEL_MODE_NEON),y) NEON_FLAGS := -mfloat-abi=softfp -mfpu=neon CFLAGS_xor-neon.o += $(NEON_FLAGS) - lib-$(CONFIG_XOR_BLOCKS) += xor-neon.o + xor-neon-$(CONFIG_XOR_BLOCKS) := xor-neon.o + lib-y += $(xor-neon-y) + obj-m += $(xor-neon-m) endif diff --git a/arch/arm/lib/xor-neon.c b/arch/arm/lib/xor-neon.c index f485e5a..2c40aea 100644 --- a/arch/arm/lib/xor-neon.c +++ b/arch/arm/lib/xor-neon.c @@ -9,6 +9,9 @@ */ #include +#include + +MODULE_LICENSE("GPL"); #ifndef __ARM_NEON__ #error You should compile this file with '-mfloat-abi=softfp -mfpu=neon' @@ -40,3 +43,4 @@ struct xor_block_template const xor_block_neon_inner = { .do_4 = xor_8regs_4, .do_5 = xor_8regs_5, }; +EXPORT_SYMBOL(xor_block_neon_inner); -- 1.8.1.2