Message ID | 20230117171055.2714621-1-arnd@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1877463wrn; Tue, 17 Jan 2023 09:14:13 -0800 (PST) X-Google-Smtp-Source: AMrXdXvE1/7FXGCydIq6jiQyawcCJIBrXUO1gLQEEFS3pkJoUWz4VqEo6E9VRZURK7wDqcUBOjUB X-Received: by 2002:a17:907:cbc5:b0:7ad:9455:d57d with SMTP id vk5-20020a170907cbc500b007ad9455d57dmr3854373ejc.74.1673975653297; Tue, 17 Jan 2023 09:14:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673975653; cv=none; d=google.com; s=arc-20160816; b=rXyYVtGSGNgKfON28WF7qCUcHDTf77QYM3pxwZ1qcHqUAX8+kT+hOhS46SclyHtskh L2k2d+6rXX5Pj2m+8wAMwJQdw2omO4FphkXZD+/bwhnSo63qyqWm2pk1DDKTZEKs9B4q F9VtzIhXmFrKDM7ii0blB/F4I7whAY9Vs1pCJiphIaNvB5Ce8dQFyRu6p4xOAR+ZdGs1 RpOjuRK3cMk2HM1JoqO5eSfg9o/m458/F+cC853kbzzhv8g7rUBKg1npwgaMvBuzMlir rQsENvOp/3l32/ycGIVhmFwKjwlizxunIdRh4vihqOxCsqf3Yck3UlXuOM9lFHRM1kTg yruQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Wjtxsu1HxtEE44eVZWwqaBLQp5/kueGugcWHakcYO9A=; b=XqzBsUKhTvOSl11c3tWlSgxXgl0wm4+fjrN62BYhQ/YWsjUz3zUFIVYd6LFWhDdWEv 1EGEJpweXK8hQllKtF6jcetlcYIaIEU484O6OOW6Fjk72QaiZRiB6eeNlbHe5tinO518 9gdyPSQ1sFeXXlXxf9jnR3OuuGTbHfMVRnqjmXBlQgN225Y0zis8yRdKRt6WpRf+9x0/ /f8Jk7n4kORejQqIj7xxsn9lW0To0YUq+0bZWAZJFxGKZLD8PgzbS2xj63y6su0uJHLp LT4WiC4mR0ocGt/zTr1sJlzxA9gAGNEuqePcTWCmoED4sA0hg80ZmLUAV7Dbhd+LuAck G5/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ixTR+TDn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id js8-20020a17090797c800b0078cc4a8a956si35952012ejc.881.2023.01.17.09.13.49; Tue, 17 Jan 2023 09:14:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ixTR+TDn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234053AbjAQRLJ (ORCPT <rfc822;pfffrao@gmail.com> + 99 others); Tue, 17 Jan 2023 12:11:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41758 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234031AbjAQRLF (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 17 Jan 2023 12:11:05 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3DB7918B28; Tue, 17 Jan 2023 09:11:04 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D5B1D614E6; Tue, 17 Jan 2023 17:11:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD500C433D2; Tue, 17 Jan 2023 17:11:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673975463; bh=/4bh/nj8CulG+RACSX9jdm3RR+gTaOZx78QgoDmAThg=; h=From:To:Cc:Subject:Date:From; b=ixTR+TDnzR8t46qA7h3081NbdQ3JLhJkYwZaNMDVS1sFU0gTxeRBD5wAIEKAJxlKZ mtEdsKYXJSBz0d3X3MOLawak7VLcafi1j9uUZsmoRx6GQbg0S5Z5uYkhJFNp911DzO rf+TqaYWEyVNNSjHc+rcP42reeMQapzFNgZegu0i3GCn/4Zr5kfDZgryztAOEpU8Nt 8q4sO4oQ1EXHexixn2tsUtCphCqis/6l8KHIUy363urQ3S0VUtgyaxcR19eLBnoDMY j5PBdaZc1LG3bQRJd+3kyW8/oBrO4F2uA2Z1T4vIf8W6anQImQmlONjZKhKaf22ItA 6mX0QRlVUz1zw== From: Arnd Bergmann <arnd@kernel.org> To: Mike Isely <isely@pobox.com>, Mauro Carvalho Chehab <mchehab@kernel.org>, Lecopzer Chen <lecopzer.chen@mediatek.com>, Hans Verkuil <hverkuil-cisco@xs4all.nl> Cc: Arnd Bergmann <arnd@arndb.de>, =?utf-8?q?=C5=81ukasz_Stelmach?= <l.stelmach@samsung.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Jacopo Mondi <jacopo@jmondi.org>, Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] media: pvrusb2: fix DVB_CORE dependency Date: Tue, 17 Jan 2023 18:10:16 +0100 Message-Id: <20230117171055.2714621-1-arnd@kernel.org> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755290694340697449?= X-GMAIL-MSGID: =?utf-8?q?1755290694340697449?= |
Series |
media: pvrusb2: fix DVB_CORE dependency
|
|
Commit Message
Arnd Bergmann
Jan. 17, 2023, 5:10 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de> Now that DVB_CORE can be a loadable module, pvrusb2 can run into a link error: ld.lld: error: undefined symbol: dvb_module_probe >>> referenced by pvrusb2-devattr.c >>> drivers/media/usb/pvrusb2/pvrusb2-devattr.o:(pvr2_lgdt3306a_attach) in archive vmlinux.a ld.lld: error: undefined symbol: dvb_module_release >>> referenced by pvrusb2-devattr.c >>> drivers/media/usb/pvrusb2/pvrusb2-devattr.o:(pvr2_dual_fe_attach) in archive vmlinux.a Refine the Kconfig dependencies to avoid this case. Fixes: 7655c342dbc4 ("media: Kconfig: Make DVB_CORE=m possible when MEDIA_SUPPORT=y") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/media/usb/pvrusb2/Kconfig | 1 + 1 file changed, 1 insertion(+)
Comments
That doesn't seem right. The pvrusb2 module should reference that symbol like any other. There is no special treatment of it within pvrusb2 - so why is that requiring special treatment here? Is it possible that dvb_module_probe and dvb_module_release are not exported? (Or that there are two corresponding different exported symbol names that pvrusb2 should be using instead?) -Mike On Tue, 17 Jan 2023, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > Now that DVB_CORE can be a loadable module, pvrusb2 can run into > a link error: > > ld.lld: error: undefined symbol: dvb_module_probe > >>> referenced by pvrusb2-devattr.c > >>> drivers/media/usb/pvrusb2/pvrusb2-devattr.o:(pvr2_lgdt3306a_attach) in archive vmlinux.a > ld.lld: error: undefined symbol: dvb_module_release > >>> referenced by pvrusb2-devattr.c > >>> drivers/media/usb/pvrusb2/pvrusb2-devattr.o:(pvr2_dual_fe_attach) in archive vmlinux.a > > Refine the Kconfig dependencies to avoid this case. > > Fixes: 7655c342dbc4 ("media: Kconfig: Make DVB_CORE=m possible when MEDIA_SUPPORT=y") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/media/usb/pvrusb2/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/media/usb/pvrusb2/Kconfig b/drivers/media/usb/pvrusb2/Kconfig > index f2b64e49c5a2..e02a25d2d029 100644 > --- a/drivers/media/usb/pvrusb2/Kconfig > +++ b/drivers/media/usb/pvrusb2/Kconfig > @@ -37,6 +37,7 @@ config VIDEO_PVRUSB2_DVB > bool "pvrusb2 ATSC/DVB support" > default y > depends on VIDEO_PVRUSB2 && DVB_CORE > + depends on VIDEO_PVRUSB2=m || DVB_CORE=y > select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT > select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT > select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT >
On Wed, Jan 18, 2023, at 16:39, Mike Isely wrote: > That doesn't seem right. The pvrusb2 module should reference that > symbol like any other. There is no special treatment of it within > pvrusb2 - so why is that requiring special treatment here? The problem is that VIDEO_PVRUSB2_DVB is a 'bool' symbol, not a 'tristate', so the existing 'depends on DVB_CORE' is not sufficient. Another way to do this would be to prevent VIDEO_PVRUSB2 from being built-in when DVB_CORE is a module: config VIDEO_PVRUSB2 tristate "Hauppauge WinTV-PVR USB2 support" depends on VIDEO_DEV && I2C + depends on DVB_CORE || !DVB_CORE select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X but that doesn't feel right for users that don't care about DVB support. > Is it possible that dvb_module_probe and dvb_module_release are not > exported? (Or that there are two corresponding different exported > symbol names that pvrusb2 should be using instead?) No. Arnd
diff --git a/drivers/media/usb/pvrusb2/Kconfig b/drivers/media/usb/pvrusb2/Kconfig index f2b64e49c5a2..e02a25d2d029 100644 --- a/drivers/media/usb/pvrusb2/Kconfig +++ b/drivers/media/usb/pvrusb2/Kconfig @@ -37,6 +37,7 @@ config VIDEO_PVRUSB2_DVB bool "pvrusb2 ATSC/DVB support" default y depends on VIDEO_PVRUSB2 && DVB_CORE + depends on VIDEO_PVRUSB2=m || DVB_CORE=y select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT