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 X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11DB6C48BCF for ; Tue, 8 Jun 2021 19:17:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E85E8613AE for ; Tue, 8 Jun 2021 19:17:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236837AbhFHTTH (ORCPT ); Tue, 8 Jun 2021 15:19:07 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:49003 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235660AbhFHTHh (ORCPT ); Tue, 8 Jun 2021 15:07:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623179143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7bda8qKrYBdrl6J95LCGp+lpIpDC0YoD+14XcFJ5Ns8=; b=H/L9lyBYfQ1QgRKi6/PsmkoZE9Ff14QUuuc7WK7Ve3/3cLrNincswGreZ36IdX4GcggKB2 aS8ZEUz5QsGeavyoJbfJXufCtNhVC+OcT8dX+7SPZ5H7UYWNBIaWRkwUiIIbg0s+5ZLKeq TDDmfZFEt4WXw9WcR9DlCLyw/Q+jZJ4= Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-104-beloZaphP1GhFd_TUY4GLw-1; Tue, 08 Jun 2021 15:05:42 -0400 X-MC-Unique: beloZaphP1GhFd_TUY4GLw-1 Received: by mail-ot1-f70.google.com with SMTP id c10-20020a9d75ca0000b02903f63362f6f3so1610162otl.1 for ; Tue, 08 Jun 2021 12:05:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=7bda8qKrYBdrl6J95LCGp+lpIpDC0YoD+14XcFJ5Ns8=; b=inzmdG345yXkM9VMiwhk0v3fy9aSH9fb4TnR9I1XO8okvaksYycjWWYhg+S0Rg5fqB GYBSDFJkp2ZDytnrkKA/vWjVJP/2VYs7NQ10CXHCZvwKKSp5FamzXdIZXqDgb7Cbllaf a5m7qSBucnEd2W6VSnFZIdMfOigVl5cvV6j+Y8vFkavDZ8OQ+AnTKc55zp3isFJWdmx4 4+Horx8xiuOy1AqHd7XJABfjW19N8b8oHMcCT2Un1fPPzwv/xHbd/fR2kVi9WRIARCrS PZFyXQJbm34Ghj/60adjxNV9mfaY5cooWmNnSZNWNVx1Pfx8bSNntKmAS5Us8QWuEjgJ 0EbA== X-Gm-Message-State: AOAM533gFcSCxiRKhfLcW1yhTh6D1751xakKTtHX1uag0+/oRSY4g2lk +NY2nCYWJbxojtgPOpScyyGVXBo3PpleWlbWK9vA6K5itXoCbxddS6uu8HpHStYOlUHY5+3peZ/ UIeFXepuzGqZ7UQjgpie4RTA3 X-Received: by 2002:a9d:19ed:: with SMTP id k100mr18893735otk.329.1623179141655; Tue, 08 Jun 2021 12:05:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz9uRSf/J+rCQi9NLexIXXQEVhh2pTd041kBvsvzmkI7RYzdysf4m+Mc/Rwzl3IYu+OtdO7xg== X-Received: by 2002:a9d:19ed:: with SMTP id k100mr18893722otk.329.1623179141455; Tue, 08 Jun 2021 12:05:41 -0700 (PDT) Received: from localhost.localdomain (075-142-250-213.res.spectrum.com. [75.142.250.213]) by smtp.gmail.com with ESMTPSA id e11sm3190450otk.78.2021.06.08.12.05.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Jun 2021 12:05:41 -0700 (PDT) Subject: Re: [PATCH 1/7] fpga: wrap the write_init() op To: =?UTF-8?Q?Martin_Hundeb=c3=b8ll?= , Moritz Fischer Cc: hao.wu@intel.com, michal.simek@xilinx.com, linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20210607172402.2938697-1-trix@redhat.com> <20210607172402.2938697-2-trix@redhat.com> <2faf6ccb-005b-063a-a2a3-e177082c4b3c@silicom.dk> From: Tom Rix Message-ID: <6cda92dc-74f1-a6ad-e9f9-030a4095118e@redhat.com> Date: Tue, 8 Jun 2021 12:05:39 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <2faf6ccb-005b-063a-a2a3-e177082c4b3c@silicom.dk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/7/21 11:23 PM, Martin Hundebøll wrote: > > > On 08/06/2021 00.36, Moritz Fischer wrote: >> On Mon, Jun 07, 2021 at 10:23:56AM -0700, trix@redhat.com wrote: >>> From: Tom Rix >>> >>> The board should not be required to provide a >> Nit: Can you turn these into for whole series: >> A FPGA Manager should not be ... > > Nit nit: should be: > An FPGA Manager should not be ... > > // Martin ok. I went down a rabbit hole on this one, looks fine. Tom > >> >>> write_init() op if there is nothing for it do. >>> So add a wrapper and move the op checking. >>> Default to success. >>> >>> Signed-off-by: Tom Rix >>> --- >>>   drivers/fpga/fpga-mgr.c | 14 +++++++++++--- >>>   1 file changed, 11 insertions(+), 3 deletions(-) >>> >>> diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c >>> index b85bc47c91a9..24547e36a56d 100644 >>> --- a/drivers/fpga/fpga-mgr.c >>> +++ b/drivers/fpga/fpga-mgr.c >>> @@ -69,6 +69,14 @@ void fpga_image_info_free(struct fpga_image_info >>> *info) >>>   } >>>   EXPORT_SYMBOL_GPL(fpga_image_info_free); >>>   +static int fpga_mgr_write_init(struct fpga_manager *mgr, >>> +                   struct fpga_image_info *info, >>> +                   const char *buf, size_t count) >>> +{ >>> +    if (mgr->mops && mgr->mops->write_init) >>> +        return  mgr->mops->write_init(mgr, info, buf, count); >>> +    return 0; >>> +} >>>   /* >>>    * Call the low level driver's write_init function.  This will do the >>>    * device-specific things to get the FPGA into the state where it >>> is ready to >>> @@ -83,9 +91,9 @@ static int fpga_mgr_write_init_buf(struct >>> fpga_manager *mgr, >>>         mgr->state = FPGA_MGR_STATE_WRITE_INIT; >>>       if (!mgr->mops->initial_header_size) >>> -        ret = mgr->mops->write_init(mgr, info, NULL, 0); >>> +        ret = fpga_mgr_write_init(mgr, info, NULL, 0); >>>       else >>> -        ret = mgr->mops->write_init( >>> +        ret = fpga_mgr_write_init( >>>               mgr, info, buf, min(mgr->mops->initial_header_size, >>> count)); >>>         if (ret) { >>> @@ -569,7 +577,7 @@ struct fpga_manager *fpga_mgr_create(struct >>> device *dev, const char *name, >>>       int id, ret; >>>         if (!mops || !mops->write_complete || !mops->state || >>> -        !mops->write_init || (!mops->write && !mops->write_sg) || >>> +        (!mops->write && !mops->write_sg) || >>>           (mops->write && mops->write_sg)) { >>>           dev_err(dev, "Attempt to register without >>> fpga_manager_ops\n"); >>>           return NULL; >>> -- >>> 2.26.3 >>> >> >> Can you change the subjects to "fpga: fpga-mgr: ..." >> >> Otherwise series looks good. >> >> - Moritz >> > 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 X-Spam-Level: X-Spam-Status: No, score=-15.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31DA3C47082 for ; Tue, 8 Jun 2021 19:07:17 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 0064A60FF4 for ; Tue, 8 Jun 2021 19:07:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0064A60FF4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=S+fhuoiueTGheMJsCyu/TSoicMcJJPyCYi9JxLvUhaU=; b=dcvHL1qeX9sqMCjVJ/uxvA0Mna 7/HyMnYUmQE9MEtqfyOMM2PltaNi3/HqDLcllp9WliXTI9YQkboVKrviE1h+xY/zYlWuHhezndZo0 VtFlRmoEacRFSsUWpXyxobP/aCfHuE1rWKt21GjIp4N5JCP1B0YI76V6DR5B3tDnW71/hxJwnUbJd 7j/qIpCOeB1JHAudtzSs9D/yCb0RQMcrKqnCAvQGrCrtYIW3EXoBlN8/5NVoPiQNE6Sg4Ww/LCeWF w6IBRpFJ1IEpJkuhkF2Zn4eyrkoPNFz+DRROSbF30UsYHs3KBgZz18eDM18C6bLsdsk6/KbAGqTcG AvrJgMxg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqh2q-00AB22-WB; Tue, 08 Jun 2021 19:05:49 +0000 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqh2o-00AB1A-0C for linux-arm-kernel@lists.infradead.org; Tue, 08 Jun 2021 19:05:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623179143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7bda8qKrYBdrl6J95LCGp+lpIpDC0YoD+14XcFJ5Ns8=; b=H/L9lyBYfQ1QgRKi6/PsmkoZE9Ff14QUuuc7WK7Ve3/3cLrNincswGreZ36IdX4GcggKB2 aS8ZEUz5QsGeavyoJbfJXufCtNhVC+OcT8dX+7SPZ5H7UYWNBIaWRkwUiIIbg0s+5ZLKeq TDDmfZFEt4WXw9WcR9DlCLyw/Q+jZJ4= Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-399-0pCNKJVUP7WPfBedMMQa-Q-1; Tue, 08 Jun 2021 15:05:42 -0400 X-MC-Unique: 0pCNKJVUP7WPfBedMMQa-Q-1 Received: by mail-ot1-f69.google.com with SMTP id t13-20020a0568301e2db02903db6adef049so9956338otr.20 for ; Tue, 08 Jun 2021 12:05:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=7bda8qKrYBdrl6J95LCGp+lpIpDC0YoD+14XcFJ5Ns8=; b=dYSbmwFMi056Qrf6e+EiEqtq9LfvkLxUt92sJW0pf2qmyOwap8YEiQ8xrPiwKIDETO xjhKdyKuGbVy6JNKStx7RpWupqxWMM5txe9DC9sMrR3AqdKAkTn+asTiyVDz+Fstj1AY QcJ151EK2cPHicNCcuAtuZXoV8gd142kUfcY3GQHgrfhFS8T7uHzezNRrI4/8mBZxuuP Tm0HawAkK8T3gMtp1nrS1psi2D3kCkRUWbYzlm6OPjJYmcorMSvh6FeSl/2DFN2g83/4 Yzff/GDWW8HjZjVlvqFOYWrikIHA5TJTrPRLmeuGhvZ+zipSHKW//ihnNtfw9q8RGkTB +b+g== X-Gm-Message-State: AOAM533IAvGN0AEl4AqWNaLS88AIxLDTTo54moOyLmlzwrOmJyi3evPW gpUQPmVA5/gIdn/kGii6rcFB6QVSEjxvTozxJL3aeXB9JZTYLGiwYavKw1VI64M5tSgSStuzh+s lcMQxT5XWwd/ng4Ldq0iqm6lib3JVhIeH6nWgTmAMyNwL4LYEwJmO4MyDa3zS1dJT1hkX/tRhoJ snptyMZg== X-Received: by 2002:a9d:19ed:: with SMTP id k100mr18893745otk.329.1623179141754; Tue, 08 Jun 2021 12:05:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz9uRSf/J+rCQi9NLexIXXQEVhh2pTd041kBvsvzmkI7RYzdysf4m+Mc/Rwzl3IYu+OtdO7xg== X-Received: by 2002:a9d:19ed:: with SMTP id k100mr18893722otk.329.1623179141455; Tue, 08 Jun 2021 12:05:41 -0700 (PDT) Received: from localhost.localdomain (075-142-250-213.res.spectrum.com. [75.142.250.213]) by smtp.gmail.com with ESMTPSA id e11sm3190450otk.78.2021.06.08.12.05.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Jun 2021 12:05:41 -0700 (PDT) Subject: Re: [PATCH 1/7] fpga: wrap the write_init() op To: =?UTF-8?Q?Martin_Hundeb=c3=b8ll?= , Moritz Fischer Cc: hao.wu@intel.com, michal.simek@xilinx.com, linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20210607172402.2938697-1-trix@redhat.com> <20210607172402.2938697-2-trix@redhat.com> <2faf6ccb-005b-063a-a2a3-e177082c4b3c@silicom.dk> From: Tom Rix Message-ID: <6cda92dc-74f1-a6ad-e9f9-030a4095118e@redhat.com> Date: Tue, 8 Jun 2021 12:05:39 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <2faf6ccb-005b-063a-a2a3-e177082c4b3c@silicom.dk> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=trix@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210608_120546_146865_E2B2FC7B X-CRM114-Status: GOOD ( 20.91 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIDYvNy8yMSAxMToyMyBQTSwgTWFydGluIEh1bmRlYsO4bGwgd3JvdGU6Cj4KPgo+IE9uIDA4 LzA2LzIwMjEgMDAuMzYsIE1vcml0eiBGaXNjaGVyIHdyb3RlOgo+PiBPbiBNb24sIEp1biAwNywg MjAyMSBhdCAxMDoyMzo1NkFNIC0wNzAwLCB0cml4QHJlZGhhdC5jb20gd3JvdGU6Cj4+PiBGcm9t OiBUb20gUml4IDx0cml4QHJlZGhhdC5jb20+Cj4+Pgo+Pj4gVGhlIGJvYXJkIHNob3VsZCBub3Qg YmUgcmVxdWlyZWQgdG8gcHJvdmlkZSBhCj4+IE5pdDogQ2FuIHlvdSB0dXJuIHRoZXNlIGludG8g Zm9yIHdob2xlIHNlcmllczoKPj4gQSBGUEdBIE1hbmFnZXIgc2hvdWxkIG5vdCBiZSAuLi4KPgo+ IE5pdCBuaXQ6IHNob3VsZCBiZToKPiBBbiBGUEdBIE1hbmFnZXIgc2hvdWxkIG5vdCBiZSAuLi4K Pgo+IC8vIE1hcnRpbgoKb2suCgpJIHdlbnQgZG93biBhIHJhYmJpdCBob2xlIG9uIHRoaXMgb25l LCBsb29rcyBmaW5lLgoKVG9tCgo+Cj4+Cj4+PiB3cml0ZV9pbml0KCkgb3AgaWYgdGhlcmUgaXMg bm90aGluZyBmb3IgaXQgZG8uCj4+PiBTbyBhZGQgYSB3cmFwcGVyIGFuZCBtb3ZlIHRoZSBvcCBj aGVja2luZy4KPj4+IERlZmF1bHQgdG8gc3VjY2Vzcy4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBU b20gUml4IDx0cml4QHJlZGhhdC5jb20+Cj4+PiAtLS0KPj4+IMKgIGRyaXZlcnMvZnBnYS9mcGdh LW1nci5jIHwgMTQgKysrKysrKysrKystLS0KPj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Zw Z2EvZnBnYS1tZ3IuYyBiL2RyaXZlcnMvZnBnYS9mcGdhLW1nci5jCj4+PiBpbmRleCBiODViYzQ3 YzkxYTkuLjI0NTQ3ZTM2YTU2ZCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZnBnYS9mcGdhLW1n ci5jCj4+PiArKysgYi9kcml2ZXJzL2ZwZ2EvZnBnYS1tZ3IuYwo+Pj4gQEAgLTY5LDYgKzY5LDE0 IEBAIHZvaWQgZnBnYV9pbWFnZV9pbmZvX2ZyZWUoc3RydWN0IGZwZ2FfaW1hZ2VfaW5mbyAKPj4+ ICppbmZvKQo+Pj4gwqAgfQo+Pj4gwqAgRVhQT1JUX1NZTUJPTF9HUEwoZnBnYV9pbWFnZV9pbmZv X2ZyZWUpOwo+Pj4gwqAgK3N0YXRpYyBpbnQgZnBnYV9tZ3Jfd3JpdGVfaW5pdChzdHJ1Y3QgZnBn YV9tYW5hZ2VyICptZ3IsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN0cnVjdCBmcGdhX2ltYWdlX2luZm8gKmluZm8sCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQo+Pj4gK3sKPj4+ ICvCoMKgwqAgaWYgKG1nci0+bW9wcyAmJiBtZ3ItPm1vcHMtPndyaXRlX2luaXQpCj4+PiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuwqAgbWdyLT5tb3BzLT53cml0ZV9pbml0KG1nciwgaW5mbywgYnVm LCBjb3VudCk7Cj4+PiArwqDCoMKgIHJldHVybiAwOwo+Pj4gK30KPj4+IMKgIC8qCj4+PiDCoMKg ICogQ2FsbCB0aGUgbG93IGxldmVsIGRyaXZlcidzIHdyaXRlX2luaXQgZnVuY3Rpb24uwqAgVGhp cyB3aWxsIGRvIHRoZQo+Pj4gwqDCoCAqIGRldmljZS1zcGVjaWZpYyB0aGluZ3MgdG8gZ2V0IHRo ZSBGUEdBIGludG8gdGhlIHN0YXRlIHdoZXJlIGl0IAo+Pj4gaXMgcmVhZHkgdG8KPj4+IEBAIC04 Myw5ICs5MSw5IEBAIHN0YXRpYyBpbnQgZnBnYV9tZ3Jfd3JpdGVfaW5pdF9idWYoc3RydWN0IAo+ Pj4gZnBnYV9tYW5hZ2VyICptZ3IsCj4+PiDCoCDCoMKgwqDCoMKgIG1nci0+c3RhdGUgPSBGUEdB X01HUl9TVEFURV9XUklURV9JTklUOwo+Pj4gwqDCoMKgwqDCoCBpZiAoIW1nci0+bW9wcy0+aW5p dGlhbF9oZWFkZXJfc2l6ZSkKPj4+IC3CoMKgwqDCoMKgwqDCoCByZXQgPSBtZ3ItPm1vcHMtPndy aXRlX2luaXQobWdyLCBpbmZvLCBOVUxMLCAwKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSBm cGdhX21ncl93cml0ZV9pbml0KG1nciwgaW5mbywgTlVMTCwgMCk7Cj4+PiDCoMKgwqDCoMKgIGVs c2UKPj4+IC3CoMKgwqDCoMKgwqDCoCByZXQgPSBtZ3ItPm1vcHMtPndyaXRlX2luaXQoCj4+PiAr wqDCoMKgwqDCoMKgwqAgcmV0ID0gZnBnYV9tZ3Jfd3JpdGVfaW5pdCgKPj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIG1nciwgaW5mbywgYnVmLCBtaW4obWdyLT5tb3BzLT5pbml0aWFsX2hl YWRlcl9zaXplLCAKPj4+IGNvdW50KSk7Cj4+PiDCoCDCoMKgwqDCoMKgIGlmIChyZXQpIHsKPj4+ IEBAIC01NjksNyArNTc3LDcgQEAgc3RydWN0IGZwZ2FfbWFuYWdlciAqZnBnYV9tZ3JfY3JlYXRl KHN0cnVjdCAKPj4+IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpuYW1lLAo+Pj4gwqDCoMKgwqDC oCBpbnQgaWQsIHJldDsKPj4+IMKgIMKgwqDCoMKgwqAgaWYgKCFtb3BzIHx8ICFtb3BzLT53cml0 ZV9jb21wbGV0ZSB8fCAhbW9wcy0+c3RhdGUgfHwKPj4+IC3CoMKgwqDCoMKgwqDCoCAhbW9wcy0+ d3JpdGVfaW5pdCB8fCAoIW1vcHMtPndyaXRlICYmICFtb3BzLT53cml0ZV9zZykgfHwKPj4+ICvC oMKgwqDCoMKgwqDCoCAoIW1vcHMtPndyaXRlICYmICFtb3BzLT53cml0ZV9zZykgfHwKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoCAobW9wcy0+d3JpdGUgJiYgbW9wcy0+d3JpdGVfc2cpKSB7Cj4+PiDC oMKgwqDCoMKgwqDCoMKgwqAgZGV2X2VycihkZXYsICJBdHRlbXB0IHRvIHJlZ2lzdGVyIHdpdGhv dXQgCj4+PiBmcGdhX21hbmFnZXJfb3BzXG4iKTsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gTlVMTDsKPj4+IC0tIAo+Pj4gMi4yNi4zCj4+Pgo+Pgo+PiBDYW4geW91IGNoYW5nZSB0aGUg c3ViamVjdHMgdG8gImZwZ2E6IGZwZ2EtbWdyOiAuLi4iCj4+Cj4+IE90aGVyd2lzZSBzZXJpZXMg bG9va3MgZ29vZC4KPj4KPj4gLSBNb3JpdHoKPj4KPgoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK