Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4697774pxb; Tue, 28 Sep 2021 01:53:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxt3pR5lNBkufOfWItzE3Jbv1M8kS2pPld+A7T4mazBGByaofHztaxb/UmsuwJqkqlTxzxW X-Received: by 2002:a17:902:da89:b0:13b:7d3d:59e9 with SMTP id j9-20020a170902da8900b0013b7d3d59e9mr3736469plx.41.1632819191583; Tue, 28 Sep 2021 01:53:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632819191; cv=none; d=google.com; s=arc-20160816; b=JY9cYdomL8k1OPbuvJHjKT5Tnv8JeOnBYrW6chxbe9/KY2Rj39Zt+764UJ6vqNSrwC dD9sZdfJN0fSIII+AFQr07GEcAQPxL/IBLZ3cStlA0nOe+5bqhWC/se0BdWUEErO8mcr utlAAQY1WZbceqgPUteVDvxLssA6f5/zunyhnGUY62/z1VWsFAiWyCjvu4+80yUAV0Lw 3qkJ2zU0Zgu2vwQ2OhlagCtt0JPVQ623RLDLLVxN591RSXwKAMG+kkamoR1z+87u05VV +fVKKgqYERc5ZLvhMIJMJtU2emyRDdksq60rwOhU4M/lVwG8Ilo2B2PmFlIBnq9Hou2Z NF7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=rZeaOMR5GlwGntGxnmH/fsv/bQDv6M6ZOc8PqyyH4sM=; b=ayy/u9wZgvnHcUNaIx6wEMH/56a5qWYouVR7Ug7qGYTINduQb9jsHhWXuKUkV8oth7 sjWvK5AJz/VFFcreGqhsG94PfZcC6A9BcV/TVnsJrrb2e+dMnTac4WrWgP21pBm/ZOih 3HNCmQAEyuI0LrcxdWLzKH9vowlUhln5g/4bSqBb7uQxh1MMmFUfbOIeq5yOeXGVVx0Z rQGMRGb3Z0IvrVM47kKfUbQXCMGKRk0PR6o3xAKPCi4t0ewaLcRTAyKE+WgIyw8CeJM9 32snbk+zeQ0waCD8lRQLmcW7Zskzy/U/WVlhzbiIA1mwON8D24qcsIVUvIl1RGIeM3/B Nyog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sp+D1FNL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 15si2542312pjt.0.2021.09.28.01.52.58; Tue, 28 Sep 2021 01:53:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sp+D1FNL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S239626AbhI1Ixo (ORCPT + 99 others); Tue, 28 Sep 2021 04:53:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:38110 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235918AbhI1Ixn (ORCPT ); Tue, 28 Sep 2021 04:53:43 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 938BD60EFF; Tue, 28 Sep 2021 08:52:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632819124; bh=UDvkMYqTjLXd6+U2xicY7wOfUB5ZOkt+dHh/8rdOTlc=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=sp+D1FNLOcdt1meA7Rr+BxEbEFqmQxCcVADSWmOWCgQvkxGxnzrtZN/JFCRDhDKV5 gsJkfAUWvH5cAd1SEOZF3BFv/IXCKjQSwyfT+ZMueu2yirlJMvAEpoNAepeOPNuwgR K+cDoejFnllxffAbJm1CcPf8ll9H2V+2xDDYtJnT2KhGUwZm/RQmdg4toxiT085iLp mp7Mfnyfy3luZ1zDaBhYXIzMJ+fu0+jHjdWb95vM9OKMY3VvvQNQYO8oc5DshnxdyP +KaEk92kD7+D+GNtOngxwW9q0M9Apgyya6EjOShLjafwf5fI709koK2dd/BhqVzbUW G3xiUh1wKRNJw== Received: by mail-wm1-f50.google.com with SMTP id r11-20020a1c440b000000b0030cf0f01fbaso1478547wma.1; Tue, 28 Sep 2021 01:52:04 -0700 (PDT) X-Gm-Message-State: AOAM533GZjjjmPsbE4KHSgFDWkHzxFtxlpHn7B9Vi9z/u1fowj33mPWB z7O9qARn/G1N3+BZydimazUGf6l/mMtERI7Slyg= X-Received: by 2002:a1c:2357:: with SMTP id j84mr3498711wmj.1.1632819112401; Tue, 28 Sep 2021 01:51:52 -0700 (PDT) MIME-Version: 1.0 References: <20210928075216.4193128-1-arnd@kernel.org> <20210928083751.GG9223@ediswmail.ad.cirrus.com> In-Reply-To: <20210928083751.GG9223@ediswmail.ad.cirrus.com> From: Arnd Bergmann Date: Tue, 28 Sep 2021 10:51:36 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 1/2] firmware: include drivers/firmware/Kconfig unconditionally To: Charles Keepax Cc: Bjorn Andersson , Arnd Bergmann , Mark Brown , Liam Girdwood , Simon Trimmer , Michael Ellerman , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer , "James E.J. Bottomley" , Helge Deller , Paul Walmsley , Palmer Dabbelt , Albert Ou , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "the arch/x86 maintainers" , "H. Peter Anvin" , Geert Uytterhoeven , Linus Walleij , Andrew Morton , Greg Kroah-Hartman , Linux ARM , Linux Kernel Mailing List , linux-ia64@vger.kernel.org, "open list:BROADCOM NVRAM DRIVER" , Parisc List , linux-riscv Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 28, 2021 at 10:37 AM Charles Keepax wrote: > > Thanks for looking at this for us. I don't think we are greatly > attached to drivers/firmware as a location. Essentially, what we > have is some firmware parsing code that needs to be shared across > several devices, previously this was just in the sound subsystem as > all our parts were audio. We are going to shortly be upstreaming > some non-audio parts that use the same firmware infrastructure > and it didn't seem very sensible to have them including bits of > the audio subsystem. > > I guess the question might be where else would said code go? > drivers/firmware seemed most obvious, all the other locations > I can think of don't really make sense. Can't really put it a bus > like spi/i2c etc. because we have parts on many buses. Can't > really put it in a functional subsystem (audio/input etc.) since > the whole idea was to try and get some independence from that so > we don't have parts including subsystems they don't use. Could > maybe put it in MFD, but no hard guarantee every part using it > will be an MFD device and I am fairly confident Lee will feel it > isn't MFD code as it doesn't relate to managing multiple devices. > Only other option I can think of would be to make some sort of > drivers/dsp or maybe drivers/cs_dsp, but not clear to me that is > obviously better than using drivers/firmware. Other DSPs use the drivers/remoteproc/ subsystem, but that is more for general-purpose DSPs that can load application specific firmware rather than loading a single firmware blob as you'd normally do with the request_firmware() style interface. Not sure if that fits what you do. Can you point to a high-level description of what this DSP does besides audio, and how flexible it is? That might help find the right place for this. Arnd