Received: by 10.223.164.202 with SMTP id h10csp881128wrb; Fri, 10 Nov 2017 17:32:58 -0800 (PST) X-Google-Smtp-Source: AGs4zMas5YYJ32fSMZzid9NEGWwrnp+JE8NT/2e9a1jN1B7c2iCEN4knpb1ao11Lt4hAmiyRoxvC X-Received: by 10.84.217.18 with SMTP id o18mr2148205pli.351.1510363978426; Fri, 10 Nov 2017 17:32:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510363978; cv=none; d=google.com; s=arc-20160816; b=we6QegyNp6VP6g6EfWUg8xp9pqJMMnsPtuYMvgq5WmtgQ8s+NuyE5Fs3WMWRI8mZzP B1X7zy56BRBdRgBoHOoPc/coaOukTP/l1o9NmhrN4PRXTuShx8tOcgxfD0v28E65jYhq TiE6TU65qC+Pe7A+xC93bO25r+AlZp5ydBikdPfFELlm2VhkDR0uVBNqkb+oWcVjxsoU kkm6F7BqUICO0CuHeeFsEKZvtIbmuTtL+5FGYdr2XOK5QittwFYyMb5obZVpXQZLrj38 dgtmmP46lZPZkYtEO4RIOaTQIYqEcfmECCknLf2ANfRdsBGOkTs05XUYyFK7I28dA+v0 fGcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=GUVfJ0CIyca9TJGec66n9grG6DRV8bVcKrZYfM5aBOE=; b=NJWEbLz2ThvLZN1aSKt3mbp9tb6/vIpa+w6YNG+fPo5UrxwaQEnfLmEpp9+V9XOpGa lYyH14Nh6ZHXJNPpkOvBf6+uVQAN5MsZ7VDv5OHyJPC2Rmt0FnS0b/BnOPFmSRKLWFPF dj0df9oxWy7Fo69ElNra0ZDdPHCkQgVm5ngXOZYZOEQZiZeMxLn9kv5KCuKzXeElRa/S rX0kUnPf8kwwfESpnI5lI1f4IjAGAk8ojkLJ7qaynSzD+ls2M1h4HOY6U//FkWvpDLr5 PPRHhRlpocIdHo5toRY94IypFJR1+Kxg78wDR/eQmYIYnLZgEhJrNRqk4mva0J4AVa+b Sepg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a16si1650171pgn.797.2017.11.10.17.32.45; Fri, 10 Nov 2017 17:32:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754653AbdKKBcJ (ORCPT + 83 others); Fri, 10 Nov 2017 20:32:09 -0500 Received: from mx2.suse.de ([195.135.220.15]:48765 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751058AbdKKBcH (ORCPT ); Fri, 10 Nov 2017 20:32:07 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 04E19ADF5; Sat, 11 Nov 2017 01:32:05 +0000 (UTC) Date: Sat, 11 Nov 2017 02:32:03 +0100 From: "Luis R. Rodriguez" To: Greg KH Cc: "Luis R. Rodriguez" , wagi@monom.org, yi1.li@linux.intel.com, takahiro.akashi@linaro.org, bjorn.andersson@linaro.org, luto@kernel.org, ebiederm@xmission.com, dmitry.torokhov@gmail.com, arend.vanspriel@broadcom.com, dwmw2@infradead.org, rjw@rjwysocki.net, atull@kernel.org, moritz.fischer@ettus.com, pmladek@suse.com, johannes.berg@intel.com, emmanuel.grumbach@intel.com, luciano.coelho@intel.com, kvalo@codeaurora.org, torvalds@linux-foundation.org, keescook@chromium.org, dhowells@redhat.com, pjones@redhat.com, hdegoede@redhat.com, alan@linux.intel.com, tytso@mit.edu, dave@stgolabs.net, mawilcox@microsoft.com, tglx@linutronix.de, peterz@infradead.org, mfuzzey@parkeon.com, jakub.kicinski@netronome.com, nbroeking@me.com, Pali =?iso-8859-1?Q?Roh=E1r?= , jewalt@lgsinnovations.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] firmware: cleanup - group and document up private firmware parameters Message-ID: <20171111013203.GZ22894@wotan.suse.de> References: <20170914225422.31034-1-mcgrof@kernel.org> <20170918151501.GA18534@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170918151501.GA18534@kroah.com> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 18, 2017 at 05:15:01PM +0200, Greg KH wrote: > On Thu, Sep 14, 2017 at 03:54:22PM -0700, Luis R. Rodriguez wrote: > > +enum fw_priv_reqs { > > + FW_PRIV_REQ_FALLBACK = 1 << 0, > > + FW_PRIV_REQ_FALLBACK_UEVENT = 1 << 1, > > + FW_PRIV_REQ_NO_CACHE = 1 << 2, > > + FW_PRIV_REQ_OPTIONAL = 1 << 3, > > +}; > > checkpatch.pl didn't complain about a lack of using BIT()? Fixed. > > +struct fw_priv_params { > > + enum fw_api_mode mode; > > + u64 priv_reqs; > > Agreed that this should not be "priv_reqs" but some other better name. Went with pri_-flags. > > + void *alloc_buf; > > + size_t alloc_buf_size; > > +}; > > + > > +#define fw_req_param_sync(priv_params) \ > > + (priv_params->mode == FW_API_SYNC) > > +#define fw_req_param_async(priv_params) \ > > + (priv_params->mode == FW_API_ASYNC) > > + > > +#define fw_param_use_fallback(params) \ > > + (!!((params)->priv_reqs & FW_PRIV_REQ_FALLBACK)) > > +#define fw_param_uevent(params) \ > > + (!!((params)->priv_reqs & FW_PRIV_REQ_FALLBACK_UEVENT)) > > +#define fw_param_nocache(params) \ > > + (!!((params)->priv_reqs & FW_PRIV_REQ_NO_CACHE)) > > +#define fw_param_optional(params) \ > > + (!!((params)->priv_reqs & FW_PRIV_REQ_OPTIONAL)) > > static inline functions to get proper typechecking? Sure! > > static bool fw_get_builtin_firmware(struct firmware *fw, const char *name, > > - void *buf, size_t size) > > + struct fw_priv_params *fw_priv_params) > > Shouldn't the priv pointer hang off of 'struct firmware' in an opaque > type that can not be seen/accessed outside of this file? > > That way you don't have to change the functions by adding new > parameters, what you did seems a lot more complex. Excellent point! Note that we already have and use a priv opaque pointer, its however only a buf pointer really though, I could extend this while looking at doing just that I noticed that we also already have a "struct firmware_priv" but this is really only used for the sysfs interface loading functionality. Adding yet another private pointer is only going to make things more confusing, so I'll go rename that accordingly and try to consolidate what I can so that this patch itself is much smaller and easier to read. Thanks for the feedback! Luis From 1583731054424863074@xxx Sat Nov 11 01:27:10 +0000 2017 X-GM-THRID: 1578557473088358418 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread