Search Linux Wireless

Re: [PATCH V5 1/2] firmware: add more flexible request_firmware_async function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Luis R. Rodriguez" <mcgrof@xxxxxxxxxx> writes:

>> +int request_firmware_nowait(struct module *module, bool uevent,
>> +			    const char *name, struct device *device, gfp_t gfp,
>> +			    void *context,
>> +			    void (*cont)(const struct firmware *fw, void *context))
>> +{
>> +	unsigned int opt_flags = FW_OPT_FALLBACK |
>> +		(uevent ? FW_OPT_UEVENT : FW_OPT_USERHELPER);
>> +
>> +	return __request_firmware_nowait(module, opt_flags, name, device, gfp,
>> +					 context, cont);
>> +}
>>  EXPORT_SYMBOL(request_firmware_nowait);
>>  
>> +int __request_firmware_async(struct module *module, const char *name,
>> +			     struct firmware_opts *fw_opts, struct device *dev,
>> +			     void *context,
>> +			     void (*cont)(const struct firmware *fw, void *context))
>> +{
>> +	unsigned int opt_flags = FW_OPT_UEVENT;
>
> This exposes a long issue. Think -- why do we want this enabled by default? Its
> actually because even though the fallback stuff is optional and can be, the uevent
> internal flag *also* provides caching support as a side consequence only. We
> don't want to add a new API without first cleaning up that mess.
>
> This is a slipery slope and best to clean that up before adding any new API.
>
> That and also Greg recently stated he would like to see at least 3 users of
> a feature before adding it. Although I think that's pretty arbitrary, and
> considering that request_firmware_into_buf() only has *one* user -- its what
> he wishes.

ath10k at least needs a way to silence the warning for missing firmware
and I think iwlwifi also.

-- 
Kalle Valo



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux