Re: [RFC v0 7/8] Input: ims-pcu: use firmware_stat instead of completion
From: Daniel Wagner <hidden>
Date: 2016-08-02 05:53:15
Also in:
linux-input, lkml
Hi Luis,
quoted
I was ignorant on all the nasty details around the firmware loading. If I parse Luis' patches correctly they introduce an API which calls kernel_read_file_from_path() asynchronously: sysdata_file_request_async(..., &cookie) *coookie = async_schedule_domain(request_sysdata_file_work_func(), ..) request_sysdata_file_work_fun() _sysdata_file_request() fw_get_filesystem_firmware() kernel_read_file_from_path() sysdata_synchronize_request(&cookie); Doesn't look like what your asking for.No, but its also a generic kernel read issue as I noted in my last reply.
Okay, got it.
quoted
quoted
If we want to overhaul firmware loading support we need to figure out how to support case when a driver want to [asynchronously] request firmware/config/blob and the rest of the system is not ready. Even if we want kernel to do read/load the data we need userspace to tell kernel when firmware partition is available, until then the kernel should not fail the request.I gather from Luis' blog post and comments that he is on the quest on removing userspace support completely.No, I explained in my last proposed documentation patch series that we cannot get rid of the usermode helper.
I stand corrected.
Its not well understood why so I explained and documented why.
Obviously, I got lost somewhere there :)
Best we can do is compartamentalize its uses.
Sounds like a plan.
The sysdata API's main goal rather is to provide a flexible API first, compartamentalizing the usermode helper was secondary. But now it seems I may just also add devm support too to help simplify code further.
I missed the point that you plan to add usermode helper support to the sysdata API.
What Dmitry notes is an existential issue with kernel_read_file_from_path() and we need a common solution for it.
Understood. I guess best thing to keep that discussion in the other subthread.
quoted
Maybe this attempt here could be a step before. Step 1 would be changing request_firmware_nowait() to request_firmware_async so drivers don't have to come up with their own sync primitives, e.g. cookie = request_firmware_async() fw_load_wait(cookie)That's one of the features already part of async mechanism of the sysdata API :)
Yes, I realized that too :) cheers, daniel Thanks for the feedback.