From patchwork Fri Aug 26 15:34:29 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 9301729 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id E7BE860757 for ; Fri, 26 Aug 2016 15:46:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D6D1A28DF8 for ; Fri, 26 Aug 2016 15:46:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C19C32963A; Fri, 26 Aug 2016 15:46:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 50A0728DF8 for ; Fri, 26 Aug 2016 15:46:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754703AbcHZPm4 (ORCPT ); Fri, 26 Aug 2016 11:42:56 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:51414 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751139AbcHZPi0 (ORCPT ); Fri, 26 Aug 2016 11:38:26 -0400 Received: from wuerfel.lan. ([176.0.135.42]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0Md4aY-1bMC0q0NvO-00IFLE; Fri, 26 Aug 2016 17:35:02 +0200 From: Arnd Bergmann To: Tomi Valkeinen Cc: Russell King , Arnd Bergmann , Jean-Christophe Plagniol-Villard , Linus Walleij , linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] video: ARM CLCD: export symbols for driver module Date: Fri, 26 Aug 2016 17:34:29 +0200 Message-Id: <20160826153500.768744-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:2YP05HST8ZQFvxiQVFwi7Yho7cjbF6z7+fm1XHLL3Zo4nhMYFTn 9XG8WE7qdwxdJaC3Cy/OJo+37XLNPjxUZmYaYs97s7e4xrQPf2b2NckMuMscY9lfzwTC3Vb GmvurtHYKOGJbeDu1PlxHWWGI4S7jWUuwB6/Nce3XbaJMXrXemCx6J4q6yXg0QP8cApixb1 n3Dy/cUsgiUG+Ymfa9CMQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:pvSyCRsYRC4=:OJqQgRR4kGF+f8QU9m2bpB 0Qb7xk5vl5nQtvPv5eEM6x/t4v1N5rX8dX4J2xWsV8tWsVv/jYWlHR0nvD5PXc5ilc7IRbfJh BUF2jYfelpb/VHJfRuwH2ojTQ8jO/AyZrCbEI9433HV8v7dauJnJEftEIjyzQWjb3+cakgFDO pkF/Z/1y+qo/iEAX8af+2A5f+E7cH3+qrsLv7OcDknGivtpBh5XSkT6/uqnckIFbvETKNJ2ED g5ZVmxmSYks4R2jdzndjKDOOpdQ5Hes+gE2J55jDlvoRbQigq7oGulBTxqvXOMzHIzk0UG3lZ y4s1JfxS7/iuL/kW/6azUgeDmbPaszdPMtPNGad7zzK1KQ4hRAftUIDcwcpB/ZCi5uzKfV8r2 SdKfklUMFrfyXxMXWvAtcrWZJ2N0hLeAciCg66Ty5KRR4vuMPBmKK2qh0Vkw8hrp8VaQIItCC rlM76i7PjSh+jk+D35ylhwYnOKXfpVywRobfSo7IUy0GfZdG67L8/jC5pRonLnd2liym2jL3w WjuRjUzENXNTTau0EvKDdi6ojBKmsXomBMFP07yXGnDUpdodTsgJs4f+aEzNamIp3f9d2+guX BIt8ThCYtUd/OcuVNWwyhLoOaBLWQry0iUyjuxeTB1PB+vsx67iKf5j2MABxHWP/YLdWF8DFd +X1SB6ty0IaL/l2nwE3ERGoFSB6+RESb7Jpa2/7pqF1XMbKUQlZ5NNOhZtQDOgdUxx/M= Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The amba-clcd-versatile.c code is always built-in and has to be done that way because it gets called by platform code that is also built-in. However, it now also gets called from the core CLCD driver through the .init_panel callback function, which leads to a build error when the framebuffer is configured as a loadable module: ERROR: "versatile_clcd_init_panel" [drivers/video/fbdev/amba-clcd-mod.ko] undefined! The same thing happens for the nomadik driver, although that could be linked into the core module if we want to: ERROR: "nomadik_clcd_init_panel" [drivers/video/fbdev/amba-clcd.ko] undefined! ERROR: "nomadik_clcd_init_board" [drivers/video/fbdev/amba-clcd.ko] undefined! For consistency, I'm taking the same approach in both cases here and just export the functions to make them usable by the driver. Alternatively, we could split out the CONFIG_OF-code from amba-clcd-versatile.c into a new file and link those two together with the core driver as one module. Signed-off-by: Arnd Bergmann Fixes: 1d3f0cbe0d3a ("video: ARM CLCD: add special board and panel hooks for Nomadik") Fixes: 25348160e9a4 ("video: ARM CLCD: add special panel hook for Versatiles") Reviewed-by: Linus Walleij --- drivers/video/fbdev/amba-clcd-nomadik.c | 2 ++ drivers/video/fbdev/amba-clcd-versatile.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/video/fbdev/amba-clcd-nomadik.c b/drivers/video/fbdev/amba-clcd-nomadik.c index 243167c8ee15..0c06fcaaa6e8 100644 --- a/drivers/video/fbdev/amba-clcd-nomadik.c +++ b/drivers/video/fbdev/amba-clcd-nomadik.c @@ -231,6 +231,7 @@ int nomadik_clcd_init_panel(struct clcd_fb *fb, /* Unknown panel, fall through */ return 0; } +EXPORT_SYMBOL_GPL(nomadik_clcd_init_panel); #define PMU_CTRL_OFFSET 0x0000 #define PMU_CTRL_LCDNDIF BIT(26) @@ -255,3 +256,4 @@ int nomadik_clcd_init_board(struct amba_device *adev, return 0; } +EXPORT_SYMBOL_GPL(nomadik_clcd_init_board); diff --git a/drivers/video/fbdev/amba-clcd-versatile.c b/drivers/video/fbdev/amba-clcd-versatile.c index 9a90817b1550..dc3c153cad0f 100644 --- a/drivers/video/fbdev/amba-clcd-versatile.c +++ b/drivers/video/fbdev/amba-clcd-versatile.c @@ -567,5 +567,5 @@ int versatile_clcd_init_panel(struct clcd_fb *fb, return 0; } - +EXPORT_SYMBOL_GPL(versatile_clcd_init_panel); #endif