From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 36526E95A91 for ; Mon, 9 Oct 2023 08:44:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345431AbjJIIoV (ORCPT ); Mon, 9 Oct 2023 04:44:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55206 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345499AbjJIIoP (ORCPT ); Mon, 9 Oct 2023 04:44:15 -0400 Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23936BA for ; Mon, 9 Oct 2023 01:44:13 -0700 (PDT) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 2534B320093B; Mon, 9 Oct 2023 04:44:09 -0400 (EDT) Received: from imap50 ([10.202.2.100]) by compute5.internal (MEProxy); Mon, 09 Oct 2023 04:44:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm2; t= 1696841048; x=1696927448; bh=1sZxVc5EigODDoOyigeTGKUmaWkUnrbXaUh wwKGR3lE=; b=aQ9SElXZqX1QOGiUCAIU8Zuf/SFKLBgYKtCDcjRpNEmnkIx/fTj sj0ODczbWdeSHv84egvy04/SZereoI8nmMuRK9Gs24k9n0W4K31G5M0Ua+v7mUNz qdgkYn/Q5dJGKcL67LEC7hyYIBtdQWqEWcyCC4iHOG8M5dZj7cOsTnVMXirx/5z6 0zqDU3JW9aHlXerKmrJjHv+dK6k5cjSMpRBor5Ha8RaqmmE3txQiZbUBPOiPo2gH ag1RPhGZFMiTQZ6dWHPkCEL2io6trIScbCizcHE58OypbvMcsTk23UVtVYlkZ4y1 o9FdkMAfbf9f+KRiUpVVpr7QxY5mRMFrA4Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1696841048; x=1696927448; bh=1sZxVc5EigODDoOyigeTGKUmaWkUnrbXaUh wwKGR3lE=; b=M34ZpYF040jVzYm33BYv2cytOWlr+Nj4nOm/3WNIoF9T5goxNZR A9VNfWBICQ3+Lr2CQHpsJsKP4aNjhReApGIyVK3Y/ZtEV0f9Znk4zIOOLik1I99A Uyfn5ADHS/diq00gUhUjZFFT3EER4D4c2TE5RNoTYk9jN0H3jcj0dik24mLpON8R zbiMXVPbsbuDSGdIqwLh2yHoB9LHU+IS22P+h/ZkUMDQ07qot3kJS7X64bHzwMgV SkK1gnHISBHsYY/+xr1q4dKnv3G2pGsBpHLdcgtJ45x380/uDq1GAVDqqhhTufy6 jOC0n3kF5Q1W5l5lAKPTdl/R6a2BkMn/0RQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrheefgddtjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedftehr nhguuceuvghrghhmrghnnhdfuceorghrnhgusegrrhhnuggsrdguvgeqnecuggftrfgrth htvghrnhepgeefjeehvdelvdffieejieejiedvvdfhleeivdelveehjeelteegudektdfg jeevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprg hrnhgusegrrhhnuggsrdguvg X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 5BE641700089; Mon, 9 Oct 2023 04:44:07 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-958-g1b1b911df8-fm-20230927.002-g1b1b911d MIME-Version: 1.0 Message-Id: In-Reply-To: References: <20231008200143.196369-1-u.kleine-koenig@pengutronix.de> <20231008200143.196369-2-u.kleine-koenig@pengutronix.de> Date: Mon, 09 Oct 2023 10:43:46 +0200 From: "Arnd Bergmann" To: "Masahiro Yamada" , =?UTF-8?Q?Uwe_Kleine-K=C3=B6nig?= Cc: "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "David Woodhouse" , "Atsushi Nemoto" , "Andrew Morton" , linux-mtd@lists.infradead.org, "Pengutronix Kernel Team" , linux-kbuild@vger.kernel.org, "Greg Kroah-Hartman" Subject: Re: [PATCH 01/20] mtd: rawnand: txx9ndfmc: Mark driver struct with __refdata to prevent section mismatch warning Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org On Mon, Oct 9, 2023, at 09:22, Masahiro Yamada wrote: > On Mon, Oct 9, 2023 at 5:02=E2=80=AFAM Uwe Kleine-K=C3=B6nig wrote: >> >> As described in the added code comment, a reference to .exit.text is = ok >> for drivers registered via module_platform_driver_probe(). Make this >> explicit to prevent a section mismatch warning with > > We have thousands of module_platform_drivers. > I would be scared if they started to add __refdata. > > I am not sure if this is the right direction. For a normal module_platform_driver(), this would indeed be wrong, but as Uwe said above there is a special case for module_platform_driver_probe(), which implicitly sets the drv->driver.suppress_bind_attrs=3Dtrue flag. > In my understanding of the current DT overlay, > there is no way to create/remove a platform device dynamically. > I do not know if that will happen in the future. For drivers without suppress_bind_attrs, you can manually unbind the device from a driver, which in case of a loadable module ends up calling the .remove callback (this is fine), but in a built-in driver this would use a NULL pointer for .remove and cause unexpected behavior. This is the list of module_platform_driver_probe() instances I found that have a .remove callback: drivers/ata/pata_falcon.c- .remove =3D __exit_p(pata_falcon_remove_one), drivers/ata/pata_gayle.c- .remove =3D __exit_p(pata_gayle_remove_one), drivers/char/hw_random/mxc-rnga.c- .remove =3D __exit_p(mxc_rnga_remove), drivers/hwmon/mc13783-adc.c- .remove_new =3D mc13783_adc_remove, drivers/input/mouse/amimouse.c- .remove =3D __exit_p(amimouse_remove), drivers/input/serio/q40kbd.c- .remove_new =3D q40kbd_remove, drivers/input/touchscreen/mc13783_ts.c- .remove_new =3D mc13783_ts_remov= e, drivers/leds/leds-mc13783.c- .remove_new =3D mc13xxx_led_remove, drivers/media/platform/renesas/sh_vou.c: .remove_new =3D sh_vou_remove, drivers/media/rc/meson-ir-tx.c- .remove_new =3D meson_irtx_remove, drivers/memory/emif.c- .remove =3D __exit_p(emif_remove), drivers/memory/ti-aemif.c- .remove =3D aemif_remove, drivers/memory/ti-emif-pm.c- .remove =3D ti_emif_remove, drivers/mtd/devices/docg3.c- .remove =3D docg3_release, drivers/net/ethernet/broadcom/tg3.c- .remove =3D tg3_remove_one, drivers/rapidio/switches/idt_gen3.c- .remove =3D idtg3_remove, drivers/video/fbdev/cg3.c- .remove_new =3D cg3_remove, drivers/mtd/nand/raw/fsmc_nand.c- .remove_new =3D fsmc_nand_remove, drivers/mtd/nand/raw/orion_nand.c- .remove_new =3D orion_nand_remove, drivers/mtd/nand/raw/sh_flctl.c- .remove_new =3D flctl_remove, drivers/mtd/nand/raw/txx9ndfmc.c- .remove =3D __exit_p(txx9ndfmc_remove= ), drivers/net/ethernet/cirrus/cs89x0.c- .remove_new =3D cs89x0_platform_re= move, drivers/parport/parport_amiga.c- .remove =3D __exit_p(amiga_parallel_rem= ove), drivers/power/reset/at91-poweroff.c- .remove =3D __exit_p(at91_poweroff_= remove), drivers/power/reset/at91-reset.c- .remove =3D __exit_p(at91_reset_remove= ), drivers/power/reset/at91-sama5d2_shdwc.c- .remove =3D __exit_p(at91_shdw= c_remove), drivers/rtc/rtc-at91rm9200.c- .remove =3D __exit_p(at91_rtc_remove), drivers/rtc/rtc-at91sam9.c- .remove_new =3D at91_rtc_remove, drivers/rtc/rtc-ftrtc010.c- .remove_new =3D ftrtc010_rtc_remove, drivers/rtc/rtc-imxdi.c- .remove =3D __exit_p(dryice_rtc_remove), drivers/rtc/rtc-mc13xxx.c- .remove_new =3D mc13xxx_rtc_remove, drivers/rtc/rtc-mv.c- .remove =3D __exit_p(mv_rtc_remove), drivers/rtc/rtc-pcap.c- .remove =3D __exit_p(pcap_rtc_remove), drivers/rtc/rtc-pxa.c- .remove =3D __exit_p(pxa_rtc_remove), drivers/rtc/rtc-sh.c- .remove =3D __exit_p(sh_rtc_remove), drivers/scsi/a3000.c- .remove =3D __exit_p(amiga_a3000_scsi_remove), drivers/scsi/a4000t.c- .remove =3D __exit_p(amiga_a4000t_scsi_remove), drivers/scsi/atari_scsi.c- .remove =3D __exit_p(atari_scsi_remove), drivers/scsi/mac_scsi.c- .remove =3D __exit_p(mac_scsi_remove), drivers/scsi/sun3_scsi.c- .remove =3D __exit_p(sun3_scsi_remove), drivers/tty/amiserial.c- .remove =3D __exit_p(amiga_serial_remove), drivers/usb/gadget/udc/at91_udc.c- .remove =3D at91udc_remove, drivers/staging/emxx_udc/emxx_udc.c- .remove_new =3D nbu2ss_drv_remove, drivers/usb/gadget/udc/aspeed_udc.c- .remove =3D ast_udc_remove, drivers/usb/gadget/udc/at91_udc.c- .remove =3D at91udc_remove, drivers/usb/gadget/udc/atmel_usba_udc.c- .remove_new =3D usba_udc_remove, drivers/usb/gadget/udc/bcm63xx_udc.c- .remove_new =3D bcm63xx_udc_remove, drivers/usb/gadget/udc/dummy_hcd.c- .remove_new =3D dummy_udc_remove, drivers/usb/gadget/udc/fsl_qe_udc.c- .remove_new =3D qe_udc_remove, drivers/usb/gadget/udc/fsl_udc_core.c- .remove =3D fsl_udc_remove, drivers/usb/gadget/udc/lpc32xx_udc.c- .remove =3D lpc32xx_udc_remove, drivers/usb/gadget/udc/mv_udc_core.c- .remove_new =3D mv_udc_remove, drivers/usb/gadget/udc/omap_udc.c- .remove_new =3D omap_udc_remove, drivers/usb/gadget/udc/pch_udc.c- .remove =3D pch_udc_remove, drivers/usb/gadget/udc/pxa25x_udc.c- .remove =3D pxa25x_udc_remove, drivers/usb/gadget/udc/pxa27x_udc.c- .remove_new =3D pxa_udc_remove, drivers/usb/gadget/udc/renesas_usbf.c- .remove_new =3D usbf_remove, drivers/usb/gadget/udc/tegra-xudc.c- .remove_new =3D tegra_xudc_remove, drivers/usb/gadget/udc/udc-xilinx.c- .remove_new =3D xudc_remove, drivers/usb/usbip/vudc_main.c- .remove =3D vudc_remove, drivers/usb/gadget/udc/fusb300_udc.c- .remove_new =3D fusb300_remove, drivers/usb/gadget/udc/lpc32xx_udc.c- .remove =3D lpc32xx_udc_remove, drivers/usb/gadget/udc/m66592-udc.c- .remove_new =3D m66592_remove, drivers/usb/gadget/udc/r8a66597-udc.c- .remove_new =3D r8a66597_remove, drivers/usb/host/r8a66597-hcd.c- .remove_new =3D r8a66597_remove, drivers/video/fbdev/amifb.c- .remove =3D __exit_p(amifb_remove), drivers/video/fbdev/atmel_lcdfb.c- .remove =3D __exit_p(atmel_lcdfb_rem= ove), drivers/video/fbdev/omap2/omapfb/vrfb.c- .remove =3D __exit_p(vrfb_remo= ve), drivers/virt/coco/sev-guest/sev-guest.c- .remove =3D __exit_p(sev_guest= _remove), drivers/watchdog/at91rm9200_wdt.c- .remove_new =3D at91wdt_remove, drivers/watchdog/at91sam9_wdt.c- .remove =3D __exit_p(at91wdt_remove), drivers/watchdog/txx9wdt.c- .remove =3D __exit_p(txx9wdt_remove), Out of these, only 29 have the .remove callback in the .exit.text sectio= n, and they all use __exit_p: drivers/ata/pata_falcon.c:static int __exit pata_falcon_remove_one(struc= t platform_device *pdev) drivers/ata/pata_gayle.c:static int __exit pata_gayle_remove_one(struct = platform_device *pdev) drivers/char/hw_random/mxc-rnga.c:static int __exit mxc_rnga_remove(stru= ct platform_device *pdev) drivers/input/mouse/amimouse.c:static int __exit amimouse_remove(struct = platform_device *pdev) drivers/memory/emif.c:static int __exit emif_remove(struct platform_devi= ce *pdev) drivers/mtd/nand/raw/txx9ndfmc.c:static int __exit txx9ndfmc_remove(stru= ct platform_device *dev) drivers/parport/parport_amiga.c:static int __exit amiga_parallel_remove(= struct platform_device *pdev) drivers/power/reset/at91-poweroff.c:static int __exit at91_poweroff_remo= ve(struct platform_device *pdev) drivers/power/reset/at91-reset.c:static int __exit at91_reset_remove(str= uct platform_device *pdev) drivers/power/reset/at91-sama5d2_shdwc.c:static int __exit at91_shdwc_re= move(struct platform_device *pdev) drivers/rtc/rtc-at91rm9200.c:static int __exit at91_rtc_remove(struct pl= atform_device *pdev) drivers/rtc/rtc-imxdi.c:static int __exit dryice_rtc_remove(struct platf= orm_device *pdev) drivers/rtc/rtc-mv.c:static int __exit mv_rtc_remove(struct platform_dev= ice *pdev) drivers/rtc/rtc-pcap.c:static int __exit pcap_rtc_remove(struct platform= _device *pdev) drivers/rtc/rtc-pxa.c:static int __exit pxa_rtc_remove(struct platform_d= evice *pdev) drivers/rtc/rtc-sh.c:static int __exit sh_rtc_remove(struct platform_dev= ice *pdev) drivers/scsi/a3000.c:static int __exit amiga_a3000_scsi_remove(struct pl= atform_device *pdev) drivers/scsi/a4000t.c:static int __exit amiga_a4000t_scsi_remove(struct = platform_device *pdev) drivers/scsi/atari_scsi.c:static int __exit atari_scsi_remove(struct pla= tform_device *pdev) drivers/scsi/mac_scsi.c:static int __exit mac_scsi_remove(struct platfor= m_device *pdev) drivers/scsi/sun3_scsi.c:static int __exit sun3_scsi_remove(struct platf= orm_device *pdev) drivers/tty/amiserial.c:static int __exit amiga_serial_remove(struct pla= tform_device *pdev) drivers/video/fbdev/amifb.c:static int __exit amifb_remove(struct platfo= rm_device *pdev) drivers/video/fbdev/atmel_lcdfb.c:static int __exit atmel_lcdfb_remove(s= truct platform_device *pdev) drivers/video/fbdev/omap2/omapfb/vrfb.c:static void __exit vrfb_remove(s= truct platform_device *pdev) drivers/virt/coco/sev-guest/sev-guest.c:static int __exit sev_guest_remo= ve(struct platform_device *pdev) drivers/watchdog/at91sam9_wdt.c:static int __exit at91wdt_remove(struct = platform_device *pdev) drivers/watchdog/at91sam9_wdt.c:static int __exit at91wdt_remove(struct = platform_device *pdev) drivers/watchdog/txx9wdt.c:static int __exit txx9wdt_remove(struct platf= orm_device *dev) These are mostly ancient drivers, and half of them don't even have DT support, so I think annotating them with __refdata is probably fine, but removing the __exit_p() and __exit annotations would also work, depending on the individual maintainer's preferences. There are three more drivers that set .suppress_bind_addrs=3Dtrue and have a __exit_p .remove callback (coresight-etm4x-core.c, pcie-kirin.c, omapfb), they would also need to make the same decision to shut up the warning. All other drivers that have an __exit annotated .remove callback are in probably broken and need a proper fix. Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A45A6E95A91 for ; Mon, 9 Oct 2023 08:44:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:Cc:To:From:Date:References: In-Reply-To:Message-Id:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=wUmPJaVT/Nwy3L+A4k29BRZ5wOeC5WPhavP5pvNQ9J8=; b=KdSre2El5x+G4F 0jHiqPWd2KY9Pz6tOVkB+Uw1hvJp62hRTU+3bPP0/iPLWvC/BuX8jst1bx75TtwdJyN3o5JKjuf1h NB9o0Zcp7ZHkElcHv7W/uWIZdSBcyUyAaK7knSIZDwtjlZN2u0NRn15M81VxNHlCWfwd+/juJEz9N 8mkM9f0Wk1M7G/nx/NCBIW/XihckODkhvfOSlPDj95oyOkBzDxJOyhyYy6PAH7pN6MLJKwimJPnEX pu2EJ8Kt5KbHO+LRiCADn/yWO77A2g/B748BbFKWjSmzBvBPXys1STFkdG9GumkllLwUM4G5dVaZH Dvsaoe9tQ4J7i4qYzeHQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qplsF-00A03J-37; Mon, 09 Oct 2023 08:44:23 +0000 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qplsB-009zzK-1a for linux-mtd@lists.infradead.org; Mon, 09 Oct 2023 08:44:21 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 2534B320093B; Mon, 9 Oct 2023 04:44:09 -0400 (EDT) Received: from imap50 ([10.202.2.100]) by compute5.internal (MEProxy); Mon, 09 Oct 2023 04:44:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm2; t= 1696841048; x=1696927448; bh=1sZxVc5EigODDoOyigeTGKUmaWkUnrbXaUh wwKGR3lE=; b=aQ9SElXZqX1QOGiUCAIU8Zuf/SFKLBgYKtCDcjRpNEmnkIx/fTj sj0ODczbWdeSHv84egvy04/SZereoI8nmMuRK9Gs24k9n0W4K31G5M0Ua+v7mUNz qdgkYn/Q5dJGKcL67LEC7hyYIBtdQWqEWcyCC4iHOG8M5dZj7cOsTnVMXirx/5z6 0zqDU3JW9aHlXerKmrJjHv+dK6k5cjSMpRBor5Ha8RaqmmE3txQiZbUBPOiPo2gH ag1RPhGZFMiTQZ6dWHPkCEL2io6trIScbCizcHE58OypbvMcsTk23UVtVYlkZ4y1 o9FdkMAfbf9f+KRiUpVVpr7QxY5mRMFrA4Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1696841048; x=1696927448; bh=1sZxVc5EigODDoOyigeTGKUmaWkUnrbXaUh wwKGR3lE=; b=M34ZpYF040jVzYm33BYv2cytOWlr+Nj4nOm/3WNIoF9T5goxNZR A9VNfWBICQ3+Lr2CQHpsJsKP4aNjhReApGIyVK3Y/ZtEV0f9Znk4zIOOLik1I99A Uyfn5ADHS/diq00gUhUjZFFT3EER4D4c2TE5RNoTYk9jN0H3jcj0dik24mLpON8R zbiMXVPbsbuDSGdIqwLh2yHoB9LHU+IS22P+h/ZkUMDQ07qot3kJS7X64bHzwMgV SkK1gnHISBHsYY/+xr1q4dKnv3G2pGsBpHLdcgtJ45x380/uDq1GAVDqqhhTufy6 jOC0n3kF5Q1W5l5lAKPTdl/R6a2BkMn/0RQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrheefgddtjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedftehr nhguuceuvghrghhmrghnnhdfuceorghrnhgusegrrhhnuggsrdguvgeqnecuggftrfgrth htvghrnhepgeefjeehvdelvdffieejieejiedvvdfhleeivdelveehjeelteegudektdfg jeevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprg hrnhgusegrrhhnuggsrdguvg X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 5BE641700089; Mon, 9 Oct 2023 04:44:07 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-958-g1b1b911df8-fm-20230927.002-g1b1b911d MIME-Version: 1.0 Message-Id: In-Reply-To: References: <20231008200143.196369-1-u.kleine-koenig@pengutronix.de> <20231008200143.196369-2-u.kleine-koenig@pengutronix.de> Date: Mon, 09 Oct 2023 10:43:46 +0200 From: "Arnd Bergmann" To: "Masahiro Yamada" , =?UTF-8?Q?Uwe_Kleine-K=C3=B6nig?= Cc: "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "David Woodhouse" , "Atsushi Nemoto" , "Andrew Morton" , linux-mtd@lists.infradead.org, "Pengutronix Kernel Team" , linux-kbuild@vger.kernel.org, "Greg Kroah-Hartman" Subject: Re: [PATCH 01/20] mtd: rawnand: txx9ndfmc: Mark driver struct with __refdata to prevent section mismatch warning X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231009_014419_944270_4944732D X-CRM114-Status: GOOD ( 17.77 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org T24gTW9uLCBPY3QgOSwgMjAyMywgYXQgMDk6MjIsIE1hc2FoaXJvIFlhbWFkYSB3cm90ZToKPiBP biBNb24sIE9jdCA5LCAyMDIzIGF0IDU6MDLigK9BTSBVd2UgS2xlaW5lLUvDtm5pZyA8dS5rbGVp bmUta29lbmlnQHBlbmd1dHJvbml4LmRlPiB3cm90ZToKPj4KPj4gQXMgZGVzY3JpYmVkIGluIHRo ZSBhZGRlZCBjb2RlIGNvbW1lbnQsIGEgcmVmZXJlbmNlIHRvIC5leGl0LnRleHQgaXMgb2sKPj4g Zm9yIGRyaXZlcnMgcmVnaXN0ZXJlZCB2aWEgbW9kdWxlX3BsYXRmb3JtX2RyaXZlcl9wcm9iZSgp LiBNYWtlIHRoaXMKPj4gZXhwbGljaXQgdG8gcHJldmVudCBhIHNlY3Rpb24gbWlzbWF0Y2ggd2Fy bmluZyB3aXRoCgo+Cj4gV2UgaGF2ZSB0aG91c2FuZHMgb2YgbW9kdWxlX3BsYXRmb3JtX2RyaXZl cnMuCj4gSSB3b3VsZCBiZSBzY2FyZWQgaWYgdGhleSBzdGFydGVkIHRvIGFkZCBfX3JlZmRhdGEu Cj4KPiBJIGFtIG5vdCBzdXJlIGlmIHRoaXMgaXMgdGhlIHJpZ2h0IGRpcmVjdGlvbi4KCkZvciBh IG5vcm1hbCBtb2R1bGVfcGxhdGZvcm1fZHJpdmVyKCksIHRoaXMgd291bGQgaW5kZWVkIGJlCndy b25nLCBidXQgYXMgVXdlIHNhaWQgYWJvdmUgdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2UgZm9yCm1v ZHVsZV9wbGF0Zm9ybV9kcml2ZXJfcHJvYmUoKSwgd2hpY2ggaW1wbGljaXRseSBzZXRzIHRoZQpk cnYtPmRyaXZlci5zdXBwcmVzc19iaW5kX2F0dHJzPXRydWUgZmxhZy4KCj4gSW4gbXkgdW5kZXJz dGFuZGluZyBvZiB0aGUgY3VycmVudCBEVCBvdmVybGF5LAo+IHRoZXJlIGlzIG5vIHdheSB0byBj cmVhdGUvcmVtb3ZlIGEgcGxhdGZvcm0gZGV2aWNlIGR5bmFtaWNhbGx5Lgo+IEkgZG8gbm90IGtu b3cgaWYgdGhhdCB3aWxsIGhhcHBlbiBpbiB0aGUgZnV0dXJlLgoKRm9yIGRyaXZlcnMgd2l0aG91 dCBzdXBwcmVzc19iaW5kX2F0dHJzLCB5b3UgY2FuIG1hbnVhbGx5CnVuYmluZCB0aGUgZGV2aWNl IGZyb20gYSBkcml2ZXIsIHdoaWNoIGluIGNhc2Ugb2YgYSBsb2FkYWJsZQptb2R1bGUgZW5kcyB1 cCBjYWxsaW5nIHRoZSAucmVtb3ZlIGNhbGxiYWNrICh0aGlzIGlzIGZpbmUpLApidXQgaW4gYSBi dWlsdC1pbiBkcml2ZXIgdGhpcyB3b3VsZCB1c2UgYSBOVUxMIHBvaW50ZXIgZm9yCi5yZW1vdmUg YW5kIGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuCgpUaGlzIGlzIHRoZSBsaXN0IG9mIG1vZHVs ZV9wbGF0Zm9ybV9kcml2ZXJfcHJvYmUoKSBpbnN0YW5jZXMKSSBmb3VuZCB0aGF0IGhhdmUgYSAu cmVtb3ZlIGNhbGxiYWNrOgoKZHJpdmVycy9hdGEvcGF0YV9mYWxjb24uYy0JLnJlbW92ZSA9IF9f ZXhpdF9wKHBhdGFfZmFsY29uX3JlbW92ZV9vbmUpLApkcml2ZXJzL2F0YS9wYXRhX2dheWxlLmMt CS5yZW1vdmUgPSBfX2V4aXRfcChwYXRhX2dheWxlX3JlbW92ZV9vbmUpLApkcml2ZXJzL2NoYXIv aHdfcmFuZG9tL214Yy1ybmdhLmMtCS5yZW1vdmUgPSBfX2V4aXRfcChteGNfcm5nYV9yZW1vdmUp LApkcml2ZXJzL2h3bW9uL21jMTM3ODMtYWRjLmMtCS5yZW1vdmVfbmV3CT0gbWMxMzc4M19hZGNf cmVtb3ZlLApkcml2ZXJzL2lucHV0L21vdXNlL2FtaW1vdXNlLmMtCS5yZW1vdmUgPSBfX2V4aXRf cChhbWltb3VzZV9yZW1vdmUpLApkcml2ZXJzL2lucHV0L3NlcmlvL3E0MGtiZC5jLQkucmVtb3Zl X25ldwk9IHE0MGtiZF9yZW1vdmUsCmRyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vbWMxMzc4M190 cy5jLQkucmVtb3ZlX25ldwk9IG1jMTM3ODNfdHNfcmVtb3ZlLApkcml2ZXJzL2xlZHMvbGVkcy1t YzEzNzgzLmMtCS5yZW1vdmVfbmV3CT0gbWMxM3h4eF9sZWRfcmVtb3ZlLApkcml2ZXJzL21lZGlh L3BsYXRmb3JtL3JlbmVzYXMvc2hfdm91LmM6CS5yZW1vdmVfbmV3ID0gc2hfdm91X3JlbW92ZSwK ZHJpdmVycy9tZWRpYS9yYy9tZXNvbi1pci10eC5jLQkucmVtb3ZlX25ldyA9IG1lc29uX2lydHhf cmVtb3ZlLApkcml2ZXJzL21lbW9yeS9lbWlmLmMtCS5yZW1vdmUJCT0gX19leGl0X3AoZW1pZl9y ZW1vdmUpLApkcml2ZXJzL21lbW9yeS90aS1hZW1pZi5jLQkucmVtb3ZlID0gYWVtaWZfcmVtb3Zl LApkcml2ZXJzL21lbW9yeS90aS1lbWlmLXBtLmMtCS5yZW1vdmUgPSB0aV9lbWlmX3JlbW92ZSwK ZHJpdmVycy9tdGQvZGV2aWNlcy9kb2NnMy5jLQkucmVtb3ZlCQk9IGRvY2czX3JlbGVhc2UsCmRy aXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL3RnMy5jLQkucmVtb3ZlCQk9IHRnM19yZW1vdmVf b25lLApkcml2ZXJzL3JhcGlkaW8vc3dpdGNoZXMvaWR0X2dlbjMuYy0JLnJlbW92ZSA9IGlkdGcz X3JlbW92ZSwKZHJpdmVycy92aWRlby9mYmRldi9jZzMuYy0JLnJlbW92ZV9uZXcJPSBjZzNfcmVt b3ZlLApkcml2ZXJzL210ZC9uYW5kL3Jhdy9mc21jX25hbmQuYy0JLnJlbW92ZV9uZXcgPSBmc21j X25hbmRfcmVtb3ZlLApkcml2ZXJzL210ZC9uYW5kL3Jhdy9vcmlvbl9uYW5kLmMtCS5yZW1vdmVf bmV3CT0gb3Jpb25fbmFuZF9yZW1vdmUsCmRyaXZlcnMvbXRkL25hbmQvcmF3L3NoX2ZsY3RsLmMt CS5yZW1vdmVfbmV3CT0gZmxjdGxfcmVtb3ZlLApkcml2ZXJzL210ZC9uYW5kL3Jhdy90eHg5bmRm bWMuYy0JLnJlbW92ZQkJPSBfX2V4aXRfcCh0eHg5bmRmbWNfcmVtb3ZlKSwKZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2lycnVzL2NzODl4MC5jLQkucmVtb3ZlX25ldyA9IGNzODl4MF9wbGF0Zm9ybV9y ZW1vdmUsCmRyaXZlcnMvcGFycG9ydC9wYXJwb3J0X2FtaWdhLmMtCS5yZW1vdmUgPSBfX2V4aXRf cChhbWlnYV9wYXJhbGxlbF9yZW1vdmUpLApkcml2ZXJzL3Bvd2VyL3Jlc2V0L2F0OTEtcG93ZXJv ZmYuYy0JLnJlbW92ZSA9IF9fZXhpdF9wKGF0OTFfcG93ZXJvZmZfcmVtb3ZlKSwKZHJpdmVycy9w b3dlci9yZXNldC9hdDkxLXJlc2V0LmMtCS5yZW1vdmUgPSBfX2V4aXRfcChhdDkxX3Jlc2V0X3Jl bW92ZSksCmRyaXZlcnMvcG93ZXIvcmVzZXQvYXQ5MS1zYW1hNWQyX3NoZHdjLmMtCS5yZW1vdmUg PSBfX2V4aXRfcChhdDkxX3NoZHdjX3JlbW92ZSksCmRyaXZlcnMvcnRjL3J0Yy1hdDkxcm05MjAw LmMtCS5yZW1vdmUJCT0gX19leGl0X3AoYXQ5MV9ydGNfcmVtb3ZlKSwKZHJpdmVycy9ydGMvcnRj LWF0OTFzYW05LmMtCS5yZW1vdmVfbmV3CT0gYXQ5MV9ydGNfcmVtb3ZlLApkcml2ZXJzL3J0Yy9y dGMtZnRydGMwMTAuYy0JLnJlbW92ZV9uZXcJPSBmdHJ0YzAxMF9ydGNfcmVtb3ZlLApkcml2ZXJz L3J0Yy9ydGMtaW14ZGkuYy0JLnJlbW92ZSA9IF9fZXhpdF9wKGRyeWljZV9ydGNfcmVtb3ZlKSwK ZHJpdmVycy9ydGMvcnRjLW1jMTN4eHguYy0JLnJlbW92ZV9uZXcgPSBtYzEzeHh4X3J0Y19yZW1v dmUsCmRyaXZlcnMvcnRjL3J0Yy1tdi5jLQkucmVtb3ZlCQk9IF9fZXhpdF9wKG12X3J0Y19yZW1v dmUpLApkcml2ZXJzL3J0Yy9ydGMtcGNhcC5jLQkucmVtb3ZlID0gX19leGl0X3AocGNhcF9ydGNf cmVtb3ZlKSwKZHJpdmVycy9ydGMvcnRjLXB4YS5jLQkucmVtb3ZlCQk9IF9fZXhpdF9wKHB4YV9y dGNfcmVtb3ZlKSwKZHJpdmVycy9ydGMvcnRjLXNoLmMtCS5yZW1vdmUJCT0gX19leGl0X3Aoc2hf cnRjX3JlbW92ZSksCmRyaXZlcnMvc2NzaS9hMzAwMC5jLQkucmVtb3ZlID0gX19leGl0X3AoYW1p Z2FfYTMwMDBfc2NzaV9yZW1vdmUpLApkcml2ZXJzL3Njc2kvYTQwMDB0LmMtCS5yZW1vdmUgPSBf X2V4aXRfcChhbWlnYV9hNDAwMHRfc2NzaV9yZW1vdmUpLApkcml2ZXJzL3Njc2kvYXRhcmlfc2Nz aS5jLQkucmVtb3ZlID0gX19leGl0X3AoYXRhcmlfc2NzaV9yZW1vdmUpLApkcml2ZXJzL3Njc2kv bWFjX3Njc2kuYy0JLnJlbW92ZSA9IF9fZXhpdF9wKG1hY19zY3NpX3JlbW92ZSksCmRyaXZlcnMv c2NzaS9zdW4zX3Njc2kuYy0JLnJlbW92ZSA9IF9fZXhpdF9wKHN1bjNfc2NzaV9yZW1vdmUpLApk cml2ZXJzL3R0eS9hbWlzZXJpYWwuYy0JLnJlbW92ZSA9IF9fZXhpdF9wKGFtaWdhX3NlcmlhbF9y ZW1vdmUpLApkcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2F0OTFfdWRjLmMtCS5yZW1vdmUJCT0gYXQ5 MXVkY19yZW1vdmUsCmRyaXZlcnMvc3RhZ2luZy9lbXh4X3VkYy9lbXh4X3VkYy5jLQkucmVtb3Zl X25ldwk9IG5idTJzc19kcnZfcmVtb3ZlLApkcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2FzcGVlZF91 ZGMuYy0JLnJlbW92ZQkJCT0gYXN0X3VkY19yZW1vdmUsCmRyaXZlcnMvdXNiL2dhZGdldC91ZGMv YXQ5MV91ZGMuYy0JLnJlbW92ZQkJPSBhdDkxdWRjX3JlbW92ZSwKZHJpdmVycy91c2IvZ2FkZ2V0 L3VkYy9hdG1lbF91c2JhX3VkYy5jLQkucmVtb3ZlX25ldwk9IHVzYmFfdWRjX3JlbW92ZSwKZHJp dmVycy91c2IvZ2FkZ2V0L3VkYy9iY202M3h4X3VkYy5jLQkucmVtb3ZlX25ldwk9IGJjbTYzeHhf dWRjX3JlbW92ZSwKZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9kdW1teV9oY2QuYy0JLnJlbW92ZV9u ZXcJPSBkdW1teV91ZGNfcmVtb3ZlLApkcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2ZzbF9xZV91ZGMu Yy0JLnJlbW92ZV9uZXcgICAgID0gcWVfdWRjX3JlbW92ZSwKZHJpdmVycy91c2IvZ2FkZ2V0L3Vk Yy9mc2xfdWRjX2NvcmUuYy0JLnJlbW92ZQkJPSBmc2xfdWRjX3JlbW92ZSwKZHJpdmVycy91c2Iv Z2FkZ2V0L3VkYy9scGMzMnh4X3VkYy5jLQkucmVtb3ZlCQk9IGxwYzMyeHhfdWRjX3JlbW92ZSwK ZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9tdl91ZGNfY29yZS5jLQkucmVtb3ZlX25ldwk9IG12X3Vk Y19yZW1vdmUsCmRyaXZlcnMvdXNiL2dhZGdldC91ZGMvb21hcF91ZGMuYy0JLnJlbW92ZV9uZXcJ PSBvbWFwX3VkY19yZW1vdmUsCmRyaXZlcnMvdXNiL2dhZGdldC91ZGMvcGNoX3VkYy5jLQkucmVt b3ZlID0JcGNoX3VkY19yZW1vdmUsCmRyaXZlcnMvdXNiL2dhZGdldC91ZGMvcHhhMjV4X3VkYy5j LQkucmVtb3ZlCQk9IHB4YTI1eF91ZGNfcmVtb3ZlLApkcml2ZXJzL3VzYi9nYWRnZXQvdWRjL3B4 YTI3eF91ZGMuYy0JLnJlbW92ZV9uZXcJPSBweGFfdWRjX3JlbW92ZSwKZHJpdmVycy91c2IvZ2Fk Z2V0L3VkYy9yZW5lc2FzX3VzYmYuYy0JLnJlbW92ZV9uZXcgICAgID0gdXNiZl9yZW1vdmUsCmRy aXZlcnMvdXNiL2dhZGdldC91ZGMvdGVncmEteHVkYy5jLQkucmVtb3ZlX25ldyA9IHRlZ3JhX3h1 ZGNfcmVtb3ZlLApkcml2ZXJzL3VzYi9nYWRnZXQvdWRjL3VkYy14aWxpbnguYy0JLnJlbW92ZV9u ZXcgPSB4dWRjX3JlbW92ZSwKZHJpdmVycy91c2IvdXNiaXAvdnVkY19tYWluLmMtCS5yZW1vdmUJ CT0gdnVkY19yZW1vdmUsCmRyaXZlcnMvdXNiL2dhZGdldC91ZGMvZnVzYjMwMF91ZGMuYy0JLnJl bW92ZV9uZXcgPQlmdXNiMzAwX3JlbW92ZSwKZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9scGMzMnh4 X3VkYy5jLQkucmVtb3ZlCQk9IGxwYzMyeHhfdWRjX3JlbW92ZSwKZHJpdmVycy91c2IvZ2FkZ2V0 L3VkYy9tNjY1OTItdWRjLmMtCS5yZW1vdmVfbmV3ID0JbTY2NTkyX3JlbW92ZSwKZHJpdmVycy91 c2IvZ2FkZ2V0L3VkYy9yOGE2NjU5Ny11ZGMuYy0JLnJlbW92ZV9uZXcgPQlyOGE2NjU5N19yZW1v dmUsCmRyaXZlcnMvdXNiL2hvc3QvcjhhNjY1OTctaGNkLmMtCS5yZW1vdmVfbmV3ID0JcjhhNjY1 OTdfcmVtb3ZlLApkcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMtCS5yZW1vdmUgPSBfX2V4aXRf cChhbWlmYl9yZW1vdmUpLApkcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0bWVsX2xjZGZiLmMtCS5yZW1v dmUJCT0gX19leGl0X3AoYXRtZWxfbGNkZmJfcmVtb3ZlKSwKZHJpdmVycy92aWRlby9mYmRldi9v bWFwMi9vbWFwZmIvdnJmYi5jLQkucmVtb3ZlCQk9IF9fZXhpdF9wKHZyZmJfcmVtb3ZlKSwKZHJp dmVycy92aXJ0L2NvY28vc2V2LWd1ZXN0L3Nldi1ndWVzdC5jLQkucmVtb3ZlCQk9IF9fZXhpdF9w KHNldl9ndWVzdF9yZW1vdmUpLApkcml2ZXJzL3dhdGNoZG9nL2F0OTFybTkyMDBfd2R0LmMtCS5y ZW1vdmVfbmV3CT0gYXQ5MXdkdF9yZW1vdmUsCmRyaXZlcnMvd2F0Y2hkb2cvYXQ5MXNhbTlfd2R0 LmMtCS5yZW1vdmUJCT0gX19leGl0X3AoYXQ5MXdkdF9yZW1vdmUpLApkcml2ZXJzL3dhdGNoZG9n L3R4eDl3ZHQuYy0JLnJlbW92ZSA9IF9fZXhpdF9wKHR4eDl3ZHRfcmVtb3ZlKSwKCk91dCBvZiB0 aGVzZSwgb25seSAyOSBoYXZlIHRoZSAucmVtb3ZlIGNhbGxiYWNrIGluIHRoZSAuZXhpdC50ZXh0 IHNlY3Rpb24sCmFuZCB0aGV5IGFsbCB1c2UgX19leGl0X3A6Cgpkcml2ZXJzL2F0YS9wYXRhX2Zh bGNvbi5jOnN0YXRpYyBpbnQgX19leGl0IHBhdGFfZmFsY29uX3JlbW92ZV9vbmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKZHJpdmVycy9hdGEvcGF0YV9nYXlsZS5jOnN0YXRpYyBpbnQg X19leGl0IHBhdGFfZ2F5bGVfcmVtb3ZlX29uZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQpkcml2ZXJzL2NoYXIvaHdfcmFuZG9tL214Yy1ybmdhLmM6c3RhdGljIGludCBfX2V4aXQgbXhj X3JuZ2FfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMvaW5wdXQv bW91c2UvYW1pbW91c2UuYzpzdGF0aWMgaW50IF9fZXhpdCBhbWltb3VzZV9yZW1vdmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKZHJpdmVycy9tZW1vcnkvZW1pZi5jOnN0YXRpYyBpbnQg X19leGl0IGVtaWZfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMv bXRkL25hbmQvcmF3L3R4eDluZGZtYy5jOnN0YXRpYyBpbnQgX19leGl0IHR4eDluZGZtY19yZW1v dmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQpkcml2ZXJzL3BhcnBvcnQvcGFycG9ydF9h bWlnYS5jOnN0YXRpYyBpbnQgX19leGl0IGFtaWdhX3BhcmFsbGVsX3JlbW92ZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQpkcml2ZXJzL3Bvd2VyL3Jlc2V0L2F0OTEtcG93ZXJvZmYuYzpz dGF0aWMgaW50IF9fZXhpdCBhdDkxX3Bvd2Vyb2ZmX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQpkcml2ZXJzL3Bvd2VyL3Jlc2V0L2F0OTEtcmVzZXQuYzpzdGF0aWMgaW50IF9f ZXhpdCBhdDkxX3Jlc2V0X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQpkcml2 ZXJzL3Bvd2VyL3Jlc2V0L2F0OTEtc2FtYTVkMl9zaGR3Yy5jOnN0YXRpYyBpbnQgX19leGl0IGF0 OTFfc2hkd2NfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMvcnRj L3J0Yy1hdDkxcm05MjAwLmM6c3RhdGljIGludCBfX2V4aXQgYXQ5MV9ydGNfcmVtb3ZlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMvcnRjL3J0Yy1pbXhkaS5jOnN0YXRpYyBp bnQgX19leGl0IGRyeWljZV9ydGNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp CmRyaXZlcnMvcnRjL3J0Yy1tdi5jOnN0YXRpYyBpbnQgX19leGl0IG12X3J0Y19yZW1vdmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKZHJpdmVycy9ydGMvcnRjLXBjYXAuYzpzdGF0aWMg aW50IF9fZXhpdCBwY2FwX3J0Y19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK ZHJpdmVycy9ydGMvcnRjLXB4YS5jOnN0YXRpYyBpbnQgX19leGl0IHB4YV9ydGNfcmVtb3ZlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMvcnRjL3J0Yy1zaC5jOnN0YXRpYyBp bnQgX19leGl0IHNoX3J0Y19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKZHJp dmVycy9zY3NpL2EzMDAwLmM6c3RhdGljIGludCBfX2V4aXQgYW1pZ2FfYTMwMDBfc2NzaV9yZW1v dmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKZHJpdmVycy9zY3NpL2E0MDAwdC5jOnN0 YXRpYyBpbnQgX19leGl0IGFtaWdhX2E0MDAwdF9zY3NpX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQpkcml2ZXJzL3Njc2kvYXRhcmlfc2NzaS5jOnN0YXRpYyBpbnQgX19leGl0 IGF0YXJpX3Njc2lfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMv c2NzaS9tYWNfc2NzaS5jOnN0YXRpYyBpbnQgX19leGl0IG1hY19zY3NpX3JlbW92ZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQpkcml2ZXJzL3Njc2kvc3VuM19zY3NpLmM6c3RhdGljIGlu dCBfX2V4aXQgc3VuM19zY3NpX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQpk cml2ZXJzL3R0eS9hbWlzZXJpYWwuYzpzdGF0aWMgaW50IF9fZXhpdCBhbWlnYV9zZXJpYWxfcmVt b3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMvdmlkZW8vZmJkZXYvYW1p ZmIuYzpzdGF0aWMgaW50IF9fZXhpdCBhbWlmYl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKZHJpdmVycy92aWRlby9mYmRldi9hdG1lbF9sY2RmYi5jOnN0YXRpYyBpbnQgX19l eGl0IGF0bWVsX2xjZGZiX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQpkcml2 ZXJzL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi92cmZiLmM6c3RhdGljIHZvaWQgX19leGl0IHZy ZmJfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMvdmlydC9jb2Nv L3Nldi1ndWVzdC9zZXYtZ3Vlc3QuYzpzdGF0aWMgaW50IF9fZXhpdCBzZXZfZ3Vlc3RfcmVtb3Zl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRyaXZlcnMvd2F0Y2hkb2cvYXQ5MXNhbTlf d2R0LmM6c3RhdGljIGludCBfX2V4aXQgYXQ5MXdkdF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKZHJpdmVycy93YXRjaGRvZy9hdDkxc2FtOV93ZHQuYzpzdGF0aWMgaW50IF9f ZXhpdCBhdDkxd2R0X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQpkcml2ZXJz L3dhdGNoZG9nL3R4eDl3ZHQuYzpzdGF0aWMgaW50IF9fZXhpdCB0eHg5d2R0X3JlbW92ZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCgpUaGVzZSBhcmUgbW9zdGx5IGFuY2llbnQgZHJpdmVy cywgYW5kIGhhbGYgb2YgdGhlbSBkb24ndCBldmVuIGhhdmUKRFQgc3VwcG9ydCwgc28gSSB0aGlu ayBhbm5vdGF0aW5nIHRoZW0gd2l0aCBfX3JlZmRhdGEgaXMgcHJvYmFibHkKZmluZSwgYnV0IHJl bW92aW5nIHRoZSBfX2V4aXRfcCgpIGFuZCBfX2V4aXQgYW5ub3RhdGlvbnMgd291bGQKYWxzbyB3 b3JrLCBkZXBlbmRpbmcgb24gdGhlIGluZGl2aWR1YWwgbWFpbnRhaW5lcidzIHByZWZlcmVuY2Vz LgoKVGhlcmUgYXJlIHRocmVlIG1vcmUgZHJpdmVycyB0aGF0IHNldCAuc3VwcHJlc3NfYmluZF9h ZGRycz10cnVlCmFuZCBoYXZlIGEgX19leGl0X3AgLnJlbW92ZSBjYWxsYmFjayAoY29yZXNpZ2h0 LWV0bTR4LWNvcmUuYywKcGNpZS1raXJpbi5jLCBvbWFwZmIpLCB0aGV5IHdvdWxkIGFsc28gbmVl ZCB0byBtYWtlIHRoZSBzYW1lCmRlY2lzaW9uIHRvIHNodXQgdXAgdGhlIHdhcm5pbmcuCgpBbGwg b3RoZXIgZHJpdmVycyB0aGF0IGhhdmUgYW4gX19leGl0IGFubm90YXRlZCAucmVtb3ZlIGNhbGxi YWNrCmFyZSBpbiBwcm9iYWJseSBicm9rZW4gYW5kIG5lZWQgYSBwcm9wZXIgZml4LgoKICAgICAg QXJuZAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K