From: Vikram Mulukutla <markivx@codeaurora.org>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>,
Greg KH <gregkh@linuxfoundation.org>,
Stephen Boyd <stephen.boyd@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Julia Lawall <julia.lawall@lip6.fr>,
Daniel Wagner <wagi@monom.org>,
David Woodhouse <dwmw2@infradead.org>,
rafal@milecki.pl, Arend Van Spriel <arend.vanspriel@broadcom.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Li, Yi" <yi1.li@linux.intel.com>,
atull@opensource.altera.com,
Moritz Fischer <moritz.fischer@ettus.com>,
Petr Mladek <pmladek@suse.com>,
Johannes Berg <johannes.berg@intel.com>,
Emmanuel Grumbach <emmanuel.grumbach@intel.com>,
"Coelho, Luciano" <luciano.coelho@intel.com>,
Kalle Valo <kvalo@codeaurora.org>,
Andrew Lutomirski <luto@kernel.org>,
Jiri Kosina <jkosina@suse.cz>, Kees Cook <keescook@chromium.org>,
"AKASHI, Takahiro" <takahiro.akashi@linaro.org>,
David Howells <dhowells@redhat.com>,
Peter Jones <pjones@redhat.com>,
Hans de Goede <hdegoede@redhat.com>,
Alan Cox <alan@linux.intel.com>, "Theodore Ts'o" <tytso@mit.edu>,
NeilBrown <neilb@suse.com>, Christoph Hellwig <hch@lst.de>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v9 1/5] firmware: add extensible driver data params
Date: Mon, 26 Jun 2017 19:28:12 -0700 [thread overview]
Message-ID: <58a06c12-dbba-8a05-1786-464deec0f090@codeaurora.org> (raw)
In-Reply-To: <20170626173328.GC21846@wotan.suse.de>
On 6/26/2017 10:33 AM, Luis R. Rodriguez wrote:
> On Sat, Jun 24, 2017 at 02:39:51PM +0200, Greg KH wrote:
>> On Sat, Jun 24, 2017 at 02:48:28AM +0200, Luis R. Rodriguez wrote:
>>> On Fri, Jun 23, 2017 at 04:09:29PM -0700, Linus Torvalds wrote:
>>>> On Fri, Jun 23, 2017 at 3:43 PM, Luis R. Rodriguez
>>>> <mcgrof@kernel.org> wrote:
>>>>>
>>>>> Ah, yes! Here is what I believe seems to be the *crux* issue of
>>>>> these patch
>>>>> series and I'm happy we have finally landed on it. Yes, indeed the
>>>>> new API
>>>>> proposed here provides more flexibility, and it does so by
>>>>> embracing a
>>>>> "data driven" API Vs the traditional procedural APIs we have seen
>>>>> for
>>>>> *the firmware API*.
>>>>
>>>> This has been going on forever. Everybody hates your data-driven
>>>> one.
>>>
>>> Before you, the only person who had expressed disdain here was Greg.
>>
>> Very few people actually review code, you know that.
>
> Using that logic, then of course "everybody" was *very* fitting ;)
>
> Then again others who actually are working on extending the firmware
> API (Yi
> Li), or maintaining vendor trees (Vikram), did express their opinions
> on the
> current codebase and their appreciate for the changes I made, however
> this went
> selectively unnoticed.
>
>>>> Things like that may be ok as an internal implementation, but even
>>>> there it's questionable if it then means a big disconnect between
>>>> what
>>>> people actually use (the normal functional model) and the
>>>> implementation.
>>>
>>> A vendor tree implemented their *own* solution and were willing to
>>> maintain
>>> it despite this likely making it hard to port stable fixes. That I
>>> think says
>>> a lot for a need...
>>
>> What vendor tree? Where was it shipped?
>
> The msm-3.18 kernel [0], so assuming this goes to mobile devices, this
> could
> mean millions of devices.
>
> https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/drivers/base/firmware_class.c?h=msm-3.18&id=7aa7efd3c150840369739893a84bd1d9f9774319
>
>> Why was it external and how is it different from your patches?
>
> As is typical with external trees -- it would seem Vikram actually
> wrote the
> original request_firmware_into_buf() API for the msm tree. It
> contained the
> fw_desc changes. Stephen Boyd seems to have worked on the actual
> upstreaming
> effort and he dropped that fw_desc effort from the upstreaming effort.
>
> Vikarm noted he had had a similar internal discussion with Stephen
> Stephen Boyd
> as I am with you on this thread back when request_firmware_into_buf()
> was being
> upstreamed [0]. He noted that back then reason for this proposed change
> was
> that "the number of things being passed around between layers of
> functions
> inside firmware_class seemed a bit untenable". I will note around that
> time I
> had proposed a similar change using the fw_desc name, it was only later
> that
> this renamed to a params postfix as Linus did not like the descriptor
> name.
>
> [0]
> https://lkml.kernel.org/r/20ac6fa65c8ff4ef83386aa1e8d5ca91@codeaurora.org
>
> The only difference is that his patch does only modifying the private
> members
> of the internal API and routines from my patch 1/5, and he kept the
> "descriptor" name Linus disliked a while ago. This is precisely why
> AKASHI
> noted I could split up my patch 1 in more ways in this series to help
> *patch
> review*.
>
>> Was it used because your version has taken so long to be
>> submitted/reviwed?
>
> Vikram would have a better idea as he is the one who authored it, but
> it would
> seem this effort was in parallel to my own at that time.
>
I must shamefully admit that the story is a bit older - the patch I
originally worked on was on a v3.4 based tree. We had been forward
porting it until Stephen Boyd was kind enough (or tired of it) to take
time out of his clock maintainer-ship and upstream the
request_firmware_into_buf API. At that point of time it seemed that the
'desc' approach was unnecessary, and I agreed. So Luis's series came
in much later and wasn't a factor in forward-porting the patches.
While it does seem that the _internal_ implementation of
firmware_class can be a bit friendlier to adding the features that
are on their way, I can't say the same about the API being exposed to
drivers in mainline; maintainers and folks with more experience in
kernel API evolution are better equipped to answer that question.
Thanks,
Vikram
next prev parent reply other threads:[~2017-06-27 2:28 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-30 3:25 [PATCH v6 0/5] firmware: add driver data API Luis R. Rodriguez
2017-03-30 3:25 ` [PATCH v6 1/5] firmware: add extensible driver data params Luis R. Rodriguez
2017-04-06 7:26 ` Luca Coelho
2017-04-27 2:05 ` Luis R. Rodriguez
2017-03-30 3:25 ` [PATCH v6 2/5] firmware: add extensible driver data API Luis R. Rodriguez
2017-04-10 12:42 ` Coelho, Luciano
2017-04-11 8:01 ` takahiro.akashi
2017-04-27 3:23 ` Luis R. Rodriguez
2017-04-27 3:16 ` Luis R. Rodriguez
2017-04-27 5:44 ` Luca Coelho
2017-04-27 8:04 ` Luis R. Rodriguez
2017-04-27 6:09 ` Luca Coelho
2017-04-27 10:31 ` Luis R. Rodriguez
2017-04-13 9:36 ` AKASHI Takahiro
2017-04-28 0:51 ` Luis R. Rodriguez
2017-04-28 3:19 ` AKASHI Takahiro
2017-04-29 4:36 ` Luis R. Rodriguez
2017-03-30 3:25 ` [PATCH v6 3/5] test: add new driver_data load tester Luis R. Rodriguez
2017-04-11 8:32 ` AKASHI Takahiro
2017-04-28 1:45 ` Luis R. Rodriguez
2017-05-11 10:46 ` AKASHI Takahiro
2017-05-11 17:11 ` Luis R. Rodriguez
2017-05-17 22:45 ` Li, Yi
2017-05-19 18:31 ` Luis R. Rodriguez
2017-05-11 18:12 ` Luis R. Rodriguez
2017-05-11 18:26 ` Luis R. Rodriguez
2017-05-11 18:32 ` Luis R. Rodriguez
2017-05-12 0:28 ` AKASHI Takahiro
2017-05-12 15:59 ` Luis R. Rodriguez
2017-05-17 9:08 ` AKASHI Takahiro
2017-05-17 15:38 ` Luis R. Rodriguez
2017-05-12 0:20 ` AKASHI Takahiro
2017-05-12 15:52 ` Luis R. Rodriguez
2017-05-13 18:46 ` Luis R. Rodriguez
2017-03-30 3:25 ` [PATCH v6 4/5] iwlwifi: convert to use driver data API Luis R. Rodriguez
2017-04-10 13:19 ` Luca Coelho
2017-04-28 0:56 ` Luis R. Rodriguez
2017-04-28 12:17 ` Luca Coelho
2017-03-30 3:25 ` [PATCH v6 5/5] brcmfmac: don't warn user if requested nvram fails Luis R. Rodriguez
2017-04-27 0:49 ` Luis R. Rodriguez
2017-05-02 8:49 ` [PATCH v7 0/5] firmware: add driver data API Luis R. Rodriguez
2017-05-02 8:49 ` [PATCH v7 1/5] firmware: add extensible driver data params Luis R. Rodriguez
2017-05-11 18:17 ` Li, Yi
2017-05-11 18:28 ` Luis R. Rodriguez
2017-05-02 8:49 ` [PATCH v7 2/5] firmware: add extensible driver data API Luis R. Rodriguez
2017-05-02 8:49 ` [PATCH v7 3/5] test: add new driver_data load tester Luis R. Rodriguez
2017-05-11 10:10 ` AKASHI Takahiro
2017-05-11 17:00 ` Luis R. Rodriguez
2017-05-15 18:23 ` [PATCH v8] " Luis R. Rodriguez
2017-05-02 8:49 ` [PATCH v7 4/5] firmware: document the extensible driver data API Luis R. Rodriguez
2017-05-02 8:49 ` [PATCH v7 5/5] iwlwifi: convert to use " Luis R. Rodriguez
2017-05-19 19:10 ` [PATCH v8 0/5] firmware: add " Luis R. Rodriguez
2017-05-19 19:10 ` [PATCH v8 1/5] firmware: add extensible driver data params Luis R. Rodriguez
2017-05-19 19:10 ` [PATCH v8 2/5] firmware: add extensible driver data API Luis R. Rodriguez
2017-05-19 19:10 ` [PATCH v8 3/5] test: add new driver_data load tester Luis R. Rodriguez
2017-05-19 19:10 ` [PATCH v8 4/5] firmware: document the extensible driver data API Luis R. Rodriguez
2017-05-19 19:10 ` [PATCH v8 5/5] iwlwifi: convert to use " Luis R. Rodriguez
2017-06-05 21:33 ` [PATCH v8 0/5] firmware: add " Luis R. Rodriguez
2017-06-05 21:39 ` [PATCH v9 " Luis R. Rodriguez
2017-06-05 21:39 ` [PATCH v9 1/5] firmware: add extensible driver data params Luis R. Rodriguez
2017-06-13 9:05 ` Greg KH
2017-06-13 10:31 ` Rafał Miłecki
2017-06-13 13:17 ` Greg KH
2017-06-13 14:12 ` Rafał Miłecki
2017-06-13 15:32 ` Luis R. Rodriguez
2017-06-13 15:50 ` Greg KH
2017-06-13 19:40 ` Luis R. Rodriguez
2017-06-14 15:57 ` Li, Yi
2017-06-17 19:38 ` Greg KH
2017-06-19 7:33 ` Johannes Berg
2017-06-19 19:41 ` Luis R. Rodriguez
2017-06-20 1:26 ` AKASHI Takahiro
2017-06-19 19:35 ` Luis R. Rodriguez
2017-06-23 15:51 ` Greg KH
2017-06-23 22:43 ` Luis R. Rodriguez
2017-06-23 23:09 ` Linus Torvalds
2017-06-24 0:48 ` Luis R. Rodriguez
2017-06-24 12:39 ` Greg KH
2017-06-26 17:33 ` Luis R. Rodriguez
2017-06-26 18:19 ` Rafał Miłecki
2017-06-26 21:29 ` Luis R. Rodriguez
2017-06-27 2:28 ` Vikram Mulukutla [this message]
2017-06-27 17:25 ` Luis R. Rodriguez
2017-06-24 12:40 ` Greg KH
2017-06-26 15:50 ` Luis R. Rodriguez
2017-06-23 15:59 ` Greg KH
2017-06-23 22:47 ` Luis R. Rodriguez
2017-06-19 22:51 ` Li, Yi
2017-06-20 1:48 ` AKASHI Takahiro
2017-06-20 15:20 ` Li, Yi
2017-06-20 16:27 ` Vikram Mulukutla
2017-06-20 17:22 ` Luis R. Rodriguez
2017-06-21 0:49 ` AKASHI Takahiro
2017-06-23 16:33 ` Luis R. Rodriguez
2017-06-05 21:39 ` [PATCH v9 2/5] firmware: add extensible driver data API Luis R. Rodriguez
2017-06-05 21:39 ` [PATCH v9 3/5] test: add new driver_data load tester Luis R. Rodriguez
2017-06-05 21:39 ` [PATCH v9 4/5] firmware: document the extensible driver data API Luis R. Rodriguez
2017-06-05 21:39 ` [PATCH v9 5/5] iwlwifi: convert to use " Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=58a06c12-dbba-8a05-1786-464deec0f090@codeaurora.org \
--to=markivx@codeaurora.org \
--cc=alan@linux.intel.com \
--cc=arend.vanspriel@broadcom.com \
--cc=atull@opensource.altera.com \
--cc=dhowells@redhat.com \
--cc=dwmw2@infradead.org \
--cc=emmanuel.grumbach@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=hch@lst.de \
--cc=hdegoede@redhat.com \
--cc=jkosina@suse.cz \
--cc=johannes.berg@intel.com \
--cc=julia.lawall@lip6.fr \
--cc=keescook@chromium.org \
--cc=kvalo@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luciano.coelho@intel.com \
--cc=luto@kernel.org \
--cc=mcgrof@kernel.org \
--cc=moritz.fischer@ettus.com \
--cc=neilb@suse.com \
--cc=pjones@redhat.com \
--cc=pmladek@suse.com \
--cc=rafal@milecki.pl \
--cc=rjw@rjwysocki.net \
--cc=stephen.boyd@linaro.org \
--cc=takahiro.akashi@linaro.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=wagi@monom.org \
--cc=yi1.li@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome