Message ID | 1344919923-16764-1-git-send-email-sachin.kamat@linaro.org (mailing list archive) |
---|---|
State | Rejected, archived |
Headers |
Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from <linux-media-owner@vger.kernel.org>) id 1T198a-0001bI-NH for patchwork@linuxtv.org; Tue, 14 Aug 2012 06:53:52 +0200 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.75/mailfrontend-4) with esmtp for <patchwork@linuxtv.org> id 1T198a-0006O6-9z; Tue, 14 Aug 2012 06:53:52 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751654Ab2HNExt (ORCPT <rfc822;patchwork@linuxtv.org>); Tue, 14 Aug 2012 00:53:49 -0400 Received: from mail-gh0-f174.google.com ([209.85.160.174]:45176 "EHLO mail-gh0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751035Ab2HNExt (ORCPT <rfc822;linux-media@vger.kernel.org>); Tue, 14 Aug 2012 00:53:49 -0400 Received: by ghrr11 with SMTP id r11so3939086ghr.19 for <linux-media@vger.kernel.org>; Mon, 13 Aug 2012 21:53:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state; bh=a3jKmAGCCrB3o6WhWeA3BxURuAW154yDY4SDmV9l6UY=; b=PbKXFYw2DPvk15DBMrJ01hVhuTYil9FYzwSrq+tqZmHsBqx7DMirjMXUAKEjmsKNeG 0xdKtPKoGgV8B/BG4WmaxHdyAAv5WNCg/sEosJJycgSVJn8rwCut7ifR3lbjJLV4VCvS guK013L5VW6H5HON66rJVQP2OTvd+GAhZPaTnVAQqZmS/rXgoIbEIzn+nyBa7AJtOm4P /gK/GvK4/7pZQ6IdlvN+KL299p08Kv40m2B1+CuRYfrO8pX9T8NQH3fO8fPs3kt8zlLj sHI4VaCJPKiZiJczSMFqiRBtq3o18ZL0V4FboM5P1doVaiY9eDqp2B20hDLVfBhDjBKt Rf8w== Received: by 10.68.201.73 with SMTP id jy9mr21524868pbc.124.1344920028318; Mon, 13 Aug 2012 21:53:48 -0700 (PDT) Received: from localhost.localdomain ([115.113.119.130]) by mx.google.com with ESMTPS id io1sm460625pbc.67.2012.08.13.21.53.45 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 13 Aug 2012 21:53:47 -0700 (PDT) From: Sachin Kamat <sachin.kamat@linaro.org> To: linux-media@vger.kernel.org Cc: s.nawrocki@samsung.com, mchehab@infradead.org, sachin.kamat@linaro.org, patches@linaro.org Subject: [PATCH] [media] s5p-fimc: Make FIMC-Lite dependent on S5P-FIMC Date: Tue, 14 Aug 2012 10:22:03 +0530 Message-Id: <1344919923-16764-1-git-send-email-sachin.kamat@linaro.org> X-Mailer: git-send-email 1.7.4.1 X-Gm-Message-State: ALoCoQlcuNe5bkkGCDMEdrLGte8ayDtTBxz+MZDVISM1p+yADCk7wZm93ASFnqbfPbDoRzmMLZ0t Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.8.14.44230 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1600_1699 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_MEDIA_BODY 0, __CP_URI_IN_BODY 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS ' |
Commit Message
Sachin Kamat
Aug. 14, 2012, 4:52 a.m. UTC
FIMC-Lite driver accesses functions which are defined in files
attached to S5P_FIMC. Without this patch, if only FIMC-Lite is
selected, following errors are observed for missing symbols:
drivers/built-in.o: In function `fimc_md_create_links':
fimc-mdevice.c:641: undefined reference to `fimc_sensor_notify'
drivers/built-in.o: In function `fimc_md_link_notify':
fimc-mdevice.c:838: undefined reference to `fimc_ctrls_delete'
fimc-mdevice.c:854: undefined reference to `fimc_capture_ctrls_create'
drivers/built-in.o: In function `fimc_md_init':
fimc-mdevice.c:1018: undefined reference to `fimc_register_driver'
drivers/built-in.o: In function `fimc_md_exit':
fimc-mdevice.c:1028: undefined reference to `fimc_unregister_driver'
make: *** [vmlinux] Error 1
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/media/video/s5p-fimc/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Comments
Hi Sachin, On 08/14/2012 06:52 AM, Sachin Kamat wrote: > FIMC-Lite driver accesses functions which are defined in files > attached to S5P_FIMC. Without this patch, if only FIMC-Lite is > selected, following errors are observed for missing symbols: > > drivers/built-in.o: In function `fimc_md_create_links': > fimc-mdevice.c:641: undefined reference to `fimc_sensor_notify' > drivers/built-in.o: In function `fimc_md_link_notify': > fimc-mdevice.c:838: undefined reference to `fimc_ctrls_delete' > fimc-mdevice.c:854: undefined reference to `fimc_capture_ctrls_create' > drivers/built-in.o: In function `fimc_md_init': > fimc-mdevice.c:1018: undefined reference to `fimc_register_driver' > drivers/built-in.o: In function `fimc_md_exit': > fimc-mdevice.c:1028: undefined reference to `fimc_unregister_driver' > make: *** [vmlinux] Error 1 Hmm, when you select CONFIG_VIDEO_EXYNOS_FIMC_LITE only fimc-mdevice.c shouldn't be build. That what's in the Makefile [1]: 1 s5p-fimc-objs := fimc-core.o fimc-reg.o fimc-m2m.o fimc-capture.o fimc-mdevice.o 2 exynos-fimc-lite-objs += fimc-lite-reg.o fimc-lite.o 3 s5p-csis-objs := mipi-csis.o 4 5 obj-$(CONFIG_VIDEO_S5P_MIPI_CSIS) += s5p-csis.o 6 obj-$(CONFIG_VIDEO_EXYNOS_FIMC_LITE) += exynos-fimc-lite.o 7 obj-$(CONFIG_VIDEO_S5P_FIMC) += s5p-fimc.o Only following 3 symbols should be missing: - fimc_pipeline_initialize - fimc_pipeline_s_stream - fimc_pipeline_shutdown I'm getting following errors instead: drivers/built-in.o: In function `buffer_queue': /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:414: undefined reference to `fimc_pipeline_s_stream' drivers/built-in.o: In function `fimc_lite_resume': /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:1518: undefined reference to `fimc_pipeline_initialize' drivers/built-in.o: In function `fimc_lite_reinit': /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:196: undefined reference to `fimc_pipeline_s_stream' drivers/built-in.o: In function `fimc_lite_suspend': /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:1544: undefined reference to `fimc_pipeline_shutdown' drivers/built-in.o: In function `start_streaming': /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:310: undefined reference to `fimc_pipeline_s_stream' drivers/built-in.o: In function `fimc_lite_close': /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:496: undefined reference to `fimc_pipeline_shutdown' drivers/built-in.o: In function `fimc_lite_open': /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:469: undefined reference to `fimc_pipeline_initialize' Anyway, the current approach of exporting the pipeline control functions seems wrong, since we wouldn't be able to build s5p-fimc and exynos-gsc drivers and link them into common kernel image. It must be possible to build FIMC-LITE with s5p-fimc or exynos-gsc driver, or best as a standalone module. I think I will try to add some pipeline ops for the FIMC-LITE module, that would be initialized when it gets registered to selected media device (s5p-fimc or exynos-gsc in future). So this patch doesn't seem a right solution to me. I'll try to address this issue. And I'm wonderin why you're getting those different errors. Regards, Sylwester > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> > --- > drivers/media/video/s5p-fimc/Kconfig | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/media/video/s5p-fimc/Kconfig b/drivers/media/video/s5p-fimc/Kconfig > index a564f7e..17a1f8d 100644 > --- a/drivers/media/video/s5p-fimc/Kconfig > +++ b/drivers/media/video/s5p-fimc/Kconfig > @@ -35,7 +35,7 @@ if ARCH_EXYNOS > > config VIDEO_EXYNOS_FIMC_LITE > tristate "EXYNOS FIMC-LITE camera interface driver" > - depends on I2C > + depends on I2C && VIDEO_S5P_FIMC > select VIDEOBUF2_DMA_CONTIG > help > This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera [1] http://git.linuxtv.org/media_tree.git/blob/31ce54f6aeb70ecf1b8e758236955dfad1b1e398:/drivers/media/video/s5p-fimc/Makefile -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Sylwester, On 14 August 2012 16:23, Sylwester Nawrocki <s.nawrocki@samsung.com> wrote: > Hi Sachin, > > On 08/14/2012 06:52 AM, Sachin Kamat wrote: >> FIMC-Lite driver accesses functions which are defined in files >> attached to S5P_FIMC. Without this patch, if only FIMC-Lite is >> selected, following errors are observed for missing symbols: >> >> drivers/built-in.o: In function `fimc_md_create_links': >> fimc-mdevice.c:641: undefined reference to `fimc_sensor_notify' >> drivers/built-in.o: In function `fimc_md_link_notify': >> fimc-mdevice.c:838: undefined reference to `fimc_ctrls_delete' >> fimc-mdevice.c:854: undefined reference to `fimc_capture_ctrls_create' >> drivers/built-in.o: In function `fimc_md_init': >> fimc-mdevice.c:1018: undefined reference to `fimc_register_driver' >> drivers/built-in.o: In function `fimc_md_exit': >> fimc-mdevice.c:1028: undefined reference to `fimc_unregister_driver' >> make: *** [vmlinux] Error 1 > > Hmm, when you select CONFIG_VIDEO_EXYNOS_FIMC_LITE only fimc-mdevice.c > shouldn't be build. That what's in the Makefile [1]: > > 1 s5p-fimc-objs := fimc-core.o fimc-reg.o fimc-m2m.o fimc-capture.o fimc-mdevice.o > 2 exynos-fimc-lite-objs += fimc-lite-reg.o fimc-lite.o > 3 s5p-csis-objs := mipi-csis.o > 4 > 5 obj-$(CONFIG_VIDEO_S5P_MIPI_CSIS) += s5p-csis.o > 6 obj-$(CONFIG_VIDEO_EXYNOS_FIMC_LITE) += exynos-fimc-lite.o > 7 obj-$(CONFIG_VIDEO_S5P_FIMC) += s5p-fimc.o > > > Only following 3 symbols should be missing: > > - fimc_pipeline_initialize > - fimc_pipeline_s_stream > - fimc_pipeline_shutdown > > I'm getting following errors instead: > > drivers/built-in.o: In function `buffer_queue': > /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:414: undefined reference to `fimc_pipeline_s_stream' > drivers/built-in.o: In function `fimc_lite_resume': > /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:1518: undefined reference to `fimc_pipeline_initialize' > drivers/built-in.o: In function `fimc_lite_reinit': > /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:196: undefined reference to `fimc_pipeline_s_stream' > drivers/built-in.o: In function `fimc_lite_suspend': > /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:1544: undefined reference to `fimc_pipeline_shutdown' > drivers/built-in.o: In function `start_streaming': > /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:310: undefined reference to `fimc_pipeline_s_stream' > drivers/built-in.o: In function `fimc_lite_close': > /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:496: undefined reference to `fimc_pipeline_shutdown' > drivers/built-in.o: In function `fimc_lite_open': > /home/snawrocki/dev/linux-opensource-release/kernel/drivers/media/video/s5p-fimc/fimc-lite.c:469: undefined reference to `fimc_pipeline_initialize' Sorry for the confusion created due to the wrong copy of error messages. In fact I too get the same errors as mentioned by you. I was just playing around with the Makefile to see if including fimc-mdevice.o solved the problem (commit messsage errors were due to this). > > > Anyway, the current approach of exporting the pipeline control > functions seems wrong, since we wouldn't be able to build s5p-fimc > and exynos-gsc drivers and link them into common kernel image. > > It must be possible to build FIMC-LITE with s5p-fimc or exynos-gsc > driver, or best as a standalone module. I think I will try to add > some pipeline ops for the FIMC-LITE module, that would be initialized > when it gets registered to selected media device (s5p-fimc or > exynos-gsc in future). Sounds good. > > So this patch doesn't seem a right solution to me. Right. This patch was more from the point of view of bringing this issue to notice and possibly providing a quick fix (workaround). I'll try to address > this issue. And I'm wonderin why you're getting those different errors. My mistake :) > > Regards, > Sylwester > >> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> >> --- >> drivers/media/video/s5p-fimc/Kconfig | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/media/video/s5p-fimc/Kconfig b/drivers/media/video/s5p-fimc/Kconfig >> index a564f7e..17a1f8d 100644 >> --- a/drivers/media/video/s5p-fimc/Kconfig >> +++ b/drivers/media/video/s5p-fimc/Kconfig >> @@ -35,7 +35,7 @@ if ARCH_EXYNOS >> >> config VIDEO_EXYNOS_FIMC_LITE >> tristate "EXYNOS FIMC-LITE camera interface driver" >> - depends on I2C >> + depends on I2C && VIDEO_S5P_FIMC >> select VIDEOBUF2_DMA_CONTIG >> help >> This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera > > [1] http://git.linuxtv.org/media_tree.git/blob/31ce54f6aeb70ecf1b8e758236955dfad1b1e398:/drivers/media/video/s5p-fimc/Makefile
diff --git a/drivers/media/video/s5p-fimc/Kconfig b/drivers/media/video/s5p-fimc/Kconfig index a564f7e..17a1f8d 100644 --- a/drivers/media/video/s5p-fimc/Kconfig +++ b/drivers/media/video/s5p-fimc/Kconfig @@ -35,7 +35,7 @@ if ARCH_EXYNOS config VIDEO_EXYNOS_FIMC_LITE tristate "EXYNOS FIMC-LITE camera interface driver" - depends on I2C + depends on I2C && VIDEO_S5P_FIMC select VIDEOBUF2_DMA_CONTIG help This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera