All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1501739717.15969.26.camel@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index a541ad0..240cdd2 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,33 +1,43 @@
-T24gVGh1LCAyMDE3LTA4LTAzIGF0IDA4OjIzICswMzAwLCBLYWxsZSBWYWxvIHdyb3RlOg0KPiAi
-THVpcyBSLiBSb2RyaWd1ZXoiIDxtY2dyb2ZAa2VybmVsLm9yZz4gd3JpdGVzOg0KPiANCj4gPiA+
-ICtpbnQgcmVxdWVzdF9maXJtd2FyZV9ub3dhaXQoc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBib29s
-IHVldmVudCwNCj4gPiA+ICsJCQkgICAgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGRldmljZSAq
-ZGV2aWNlLCBnZnBfdCBnZnAsDQo+ID4gPiArCQkJICAgIHZvaWQgKmNvbnRleHQsDQo+ID4gPiAr
-CQkJICAgIHZvaWQgKCpjb250KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250
-ZXh0KSkNCj4gPiA+ICt7DQo+ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRf
-RkFMTEJBQ0sgfA0KPiA+ID4gKwkJKHVldmVudCA/IEZXX09QVF9VRVZFTlQgOiBGV19PUFRfVVNF
-UkhFTFBFUik7DQo+ID4gPiArDQo+ID4gPiArCXJldHVybiBfX3JlcXVlc3RfZmlybXdhcmVfbm93
-YWl0KG1vZHVsZSwgb3B0X2ZsYWdzLCBuYW1lLCBkZXZpY2UsIGdmcCwNCj4gPiA+ICsJCQkJCSBj
-b250ZXh0LCBjb250KTsNCj4gPiA+ICt9DQo+ID4gPiAgRVhQT1JUX1NZTUJPTChyZXF1ZXN0X2Zp
-cm13YXJlX25vd2FpdCk7DQo+ID4gPiAgDQo+ID4gPiAraW50IF9fcmVxdWVzdF9maXJtd2FyZV9h
-c3luYyhzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGNvbnN0IGNoYXIgKm5hbWUsDQo+ID4gPiArCQkJ
-ICAgICBzdHJ1Y3QgZmlybXdhcmVfb3B0cyAqZndfb3B0cywgc3RydWN0IGRldmljZSAqZGV2LA0K
-PiA+ID4gKwkJCSAgICAgdm9pZCAqY29udGV4dCwNCj4gPiA+ICsJCQkgICAgIHZvaWQgKCpjb250
-KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KSkNCj4gPiA+ICt7DQo+
-ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRfVUVWRU5UOw0KPiA+IA0KPiA+
-IFRoaXMgZXhwb3NlcyBhIGxvbmcgaXNzdWUuIFRoaW5rIC0tIHdoeSBkbyB3ZSB3YW50IHRoaXMg
-ZW5hYmxlZCBieSBkZWZhdWx0PyBJdHMNCj4gPiBhY3R1YWxseSBiZWNhdXNlIGV2ZW4gdGhvdWdo
-IHRoZSBmYWxsYmFjayBzdHVmZiBpcyBvcHRpb25hbCBhbmQgY2FuIGJlLCB0aGUgdWV2ZW50DQo+
-ID4gaW50ZXJuYWwgZmxhZyAqYWxzbyogcHJvdmlkZXMgY2FjaGluZyBzdXBwb3J0IGFzIGEgc2lk
-ZSBjb25zZXF1ZW5jZSBvbmx5LiBXZQ0KPiA+IGRvbid0IHdhbnQgdG8gYWRkIGEgbmV3IEFQSSB3
-aXRob3V0IGZpcnN0IGNsZWFuaW5nIHVwIHRoYXQgbWVzcy4NCj4gPiANCj4gPiBUaGlzIGlzIGEg
-c2xpcGVyeSBzbG9wZSBhbmQgYmVzdCB0byBjbGVhbiB0aGF0IHVwIGJlZm9yZSBhZGRpbmcgYW55
-IG5ldyBBUEkuDQo+ID4gDQo+ID4gVGhhdCBhbmQgYWxzbyBHcmVnIHJlY2VudGx5IHN0YXRlZCBo
-ZSB3b3VsZCBsaWtlIHRvIHNlZSBhdCBsZWFzdCAzIHVzZXJzIG9mDQo+ID4gYSBmZWF0dXJlIGJl
-Zm9yZSBhZGRpbmcgaXQuIEFsdGhvdWdoIEkgdGhpbmsgdGhhdCdzIHByZXR0eSBhcmJpdHJhcnks
-IGFuZA0KPiA+IGNvbnNpZGVyaW5nIHRoYXQgcmVxdWVzdF9maXJtd2FyZV9pbnRvX2J1ZigpIG9u
-bHkgaGFzICpvbmUqIHVzZXIgLS0gaXRzIHdoYXQNCj4gPiBoZSB3aXNoZXMuDQo+IA0KPiBhdGgx
-MGsgYXQgbGVhc3QgbmVlZHMgYSB3YXkgdG8gc2lsZW5jZSB0aGUgd2FybmluZyBmb3IgbWlzc2lu
-ZyBmaXJtd2FyZQ0KPiBhbmQgSSB0aGluayBpd2x3aWZpIGFsc28uDQoNClllcywgaXdsd2lmaSBu
-ZWVkcyB0byBzaWxlbmNlIHRoZSB3YXJuaW5nLiAgSXQgdGhlIGZlYXR1cmUgKG9ubHkgb25lLA0K
-cmVhbGx5KSB0aGF0IEkndmUgYmVlbiB3YWl0aW5nIGZvci4NCg0KLS0NCkx1Y2Eu
+On Thu, 2017-08-03 at 08:23 +0300, Kalle Valo wrote:
+> "Luis R. Rodriguez" <mcgrof@kernel.org> 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.
+
+Yes, iwlwifi needs to silence the warning.  It the feature (only one,
+really) that I've been waiting for.
+
+--
+Luca.
diff --git a/a/content_digest b/N1/content_digest
index 6ee82bd..5270cd5 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -41,38 +41,48 @@
  " franky.lin@broadcom.com <franky.lin@broadcom.com>\0"
  "\00:1\0"
  "b\0"
- "T24gVGh1LCAyMDE3LTA4LTAzIGF0IDA4OjIzICswMzAwLCBLYWxsZSBWYWxvIHdyb3RlOg0KPiAi\n"
- "THVpcyBSLiBSb2RyaWd1ZXoiIDxtY2dyb2ZAa2VybmVsLm9yZz4gd3JpdGVzOg0KPiANCj4gPiA+\n"
- "ICtpbnQgcmVxdWVzdF9maXJtd2FyZV9ub3dhaXQoc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBib29s\n"
- "IHVldmVudCwNCj4gPiA+ICsJCQkgICAgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGRldmljZSAq\n"
- "ZGV2aWNlLCBnZnBfdCBnZnAsDQo+ID4gPiArCQkJICAgIHZvaWQgKmNvbnRleHQsDQo+ID4gPiAr\n"
- "CQkJICAgIHZvaWQgKCpjb250KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250\n"
- "ZXh0KSkNCj4gPiA+ICt7DQo+ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRf\n"
- "RkFMTEJBQ0sgfA0KPiA+ID4gKwkJKHVldmVudCA/IEZXX09QVF9VRVZFTlQgOiBGV19PUFRfVVNF\n"
- "UkhFTFBFUik7DQo+ID4gPiArDQo+ID4gPiArCXJldHVybiBfX3JlcXVlc3RfZmlybXdhcmVfbm93\n"
- "YWl0KG1vZHVsZSwgb3B0X2ZsYWdzLCBuYW1lLCBkZXZpY2UsIGdmcCwNCj4gPiA+ICsJCQkJCSBj\n"
- "b250ZXh0LCBjb250KTsNCj4gPiA+ICt9DQo+ID4gPiAgRVhQT1JUX1NZTUJPTChyZXF1ZXN0X2Zp\n"
- "cm13YXJlX25vd2FpdCk7DQo+ID4gPiAgDQo+ID4gPiAraW50IF9fcmVxdWVzdF9maXJtd2FyZV9h\n"
- "c3luYyhzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGNvbnN0IGNoYXIgKm5hbWUsDQo+ID4gPiArCQkJ\n"
- "ICAgICBzdHJ1Y3QgZmlybXdhcmVfb3B0cyAqZndfb3B0cywgc3RydWN0IGRldmljZSAqZGV2LA0K\n"
- "PiA+ID4gKwkJCSAgICAgdm9pZCAqY29udGV4dCwNCj4gPiA+ICsJCQkgICAgIHZvaWQgKCpjb250\n"
- "KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KSkNCj4gPiA+ICt7DQo+\n"
- "ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRfVUVWRU5UOw0KPiA+IA0KPiA+\n"
- "IFRoaXMgZXhwb3NlcyBhIGxvbmcgaXNzdWUuIFRoaW5rIC0tIHdoeSBkbyB3ZSB3YW50IHRoaXMg\n"
- "ZW5hYmxlZCBieSBkZWZhdWx0PyBJdHMNCj4gPiBhY3R1YWxseSBiZWNhdXNlIGV2ZW4gdGhvdWdo\n"
- "IHRoZSBmYWxsYmFjayBzdHVmZiBpcyBvcHRpb25hbCBhbmQgY2FuIGJlLCB0aGUgdWV2ZW50DQo+\n"
- "ID4gaW50ZXJuYWwgZmxhZyAqYWxzbyogcHJvdmlkZXMgY2FjaGluZyBzdXBwb3J0IGFzIGEgc2lk\n"
- "ZSBjb25zZXF1ZW5jZSBvbmx5LiBXZQ0KPiA+IGRvbid0IHdhbnQgdG8gYWRkIGEgbmV3IEFQSSB3\n"
- "aXRob3V0IGZpcnN0IGNsZWFuaW5nIHVwIHRoYXQgbWVzcy4NCj4gPiANCj4gPiBUaGlzIGlzIGEg\n"
- "c2xpcGVyeSBzbG9wZSBhbmQgYmVzdCB0byBjbGVhbiB0aGF0IHVwIGJlZm9yZSBhZGRpbmcgYW55\n"
- "IG5ldyBBUEkuDQo+ID4gDQo+ID4gVGhhdCBhbmQgYWxzbyBHcmVnIHJlY2VudGx5IHN0YXRlZCBo\n"
- "ZSB3b3VsZCBsaWtlIHRvIHNlZSBhdCBsZWFzdCAzIHVzZXJzIG9mDQo+ID4gYSBmZWF0dXJlIGJl\n"
- "Zm9yZSBhZGRpbmcgaXQuIEFsdGhvdWdoIEkgdGhpbmsgdGhhdCdzIHByZXR0eSBhcmJpdHJhcnks\n"
- "IGFuZA0KPiA+IGNvbnNpZGVyaW5nIHRoYXQgcmVxdWVzdF9maXJtd2FyZV9pbnRvX2J1ZigpIG9u\n"
- "bHkgaGFzICpvbmUqIHVzZXIgLS0gaXRzIHdoYXQNCj4gPiBoZSB3aXNoZXMuDQo+IA0KPiBhdGgx\n"
- "MGsgYXQgbGVhc3QgbmVlZHMgYSB3YXkgdG8gc2lsZW5jZSB0aGUgd2FybmluZyBmb3IgbWlzc2lu\n"
- "ZyBmaXJtd2FyZQ0KPiBhbmQgSSB0aGluayBpd2x3aWZpIGFsc28uDQoNClllcywgaXdsd2lmaSBu\n"
- "ZWVkcyB0byBzaWxlbmNlIHRoZSB3YXJuaW5nLiAgSXQgdGhlIGZlYXR1cmUgKG9ubHkgb25lLA0K\n"
- cmVhbGx5KSB0aGF0IEkndmUgYmVlbiB3YWl0aW5nIGZvci4NCg0KLS0NCkx1Y2Eu
+ "On Thu, 2017-08-03 at 08:23 +0300, Kalle Valo wrote:\n"
+ "> \"Luis R. Rodriguez\" <mcgrof@kernel.org> writes:\n"
+ "> \n"
+ "> > > +int request_firmware_nowait(struct module *module, bool uevent,\n"
+ "> > > +\t\t\t    const char *name, struct device *device, gfp_t gfp,\n"
+ "> > > +\t\t\t    void *context,\n"
+ "> > > +\t\t\t    void (*cont)(const struct firmware *fw, void *context))\n"
+ "> > > +{\n"
+ "> > > +\tunsigned int opt_flags = FW_OPT_FALLBACK |\n"
+ "> > > +\t\t(uevent ? FW_OPT_UEVENT : FW_OPT_USERHELPER);\n"
+ "> > > +\n"
+ "> > > +\treturn __request_firmware_nowait(module, opt_flags, name, device, gfp,\n"
+ "> > > +\t\t\t\t\t context, cont);\n"
+ "> > > +}\n"
+ "> > >  EXPORT_SYMBOL(request_firmware_nowait);\n"
+ "> > >  \n"
+ "> > > +int __request_firmware_async(struct module *module, const char *name,\n"
+ "> > > +\t\t\t     struct firmware_opts *fw_opts, struct device *dev,\n"
+ "> > > +\t\t\t     void *context,\n"
+ "> > > +\t\t\t     void (*cont)(const struct firmware *fw, void *context))\n"
+ "> > > +{\n"
+ "> > > +\tunsigned int opt_flags = FW_OPT_UEVENT;\n"
+ "> > \n"
+ "> > This exposes a long issue. Think -- why do we want this enabled by default? Its\n"
+ "> > actually because even though the fallback stuff is optional and can be, the uevent\n"
+ "> > internal flag *also* provides caching support as a side consequence only. We\n"
+ "> > don't want to add a new API without first cleaning up that mess.\n"
+ "> > \n"
+ "> > This is a slipery slope and best to clean that up before adding any new API.\n"
+ "> > \n"
+ "> > That and also Greg recently stated he would like to see at least 3 users of\n"
+ "> > a feature before adding it. Although I think that's pretty arbitrary, and\n"
+ "> > considering that request_firmware_into_buf() only has *one* user -- its what\n"
+ "> > he wishes.\n"
+ "> \n"
+ "> ath10k at least needs a way to silence the warning for missing firmware\n"
+ "> and I think iwlwifi also.\n"
+ "\n"
+ "Yes, iwlwifi needs to silence the warning.  It the feature (only one,\n"
+ "really) that I've been waiting for.\n"
+ "\n"
+ "--\n"
+ Luca.
 
-a0e4af4b950f5abd25222a2cf76c88710fb2665c3deb904e057880e88c9fb60f
+c94f43cc1821188bdd0e4330eaa18427857573d37b69661cac2a556244d5142a

diff --git a/a/1.txt b/N2/1.txt
index a541ad0..240cdd2 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,33 +1,43 @@
-T24gVGh1LCAyMDE3LTA4LTAzIGF0IDA4OjIzICswMzAwLCBLYWxsZSBWYWxvIHdyb3RlOg0KPiAi
-THVpcyBSLiBSb2RyaWd1ZXoiIDxtY2dyb2ZAa2VybmVsLm9yZz4gd3JpdGVzOg0KPiANCj4gPiA+
-ICtpbnQgcmVxdWVzdF9maXJtd2FyZV9ub3dhaXQoc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBib29s
-IHVldmVudCwNCj4gPiA+ICsJCQkgICAgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGRldmljZSAq
-ZGV2aWNlLCBnZnBfdCBnZnAsDQo+ID4gPiArCQkJICAgIHZvaWQgKmNvbnRleHQsDQo+ID4gPiAr
-CQkJICAgIHZvaWQgKCpjb250KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250
-ZXh0KSkNCj4gPiA+ICt7DQo+ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRf
-RkFMTEJBQ0sgfA0KPiA+ID4gKwkJKHVldmVudCA/IEZXX09QVF9VRVZFTlQgOiBGV19PUFRfVVNF
-UkhFTFBFUik7DQo+ID4gPiArDQo+ID4gPiArCXJldHVybiBfX3JlcXVlc3RfZmlybXdhcmVfbm93
-YWl0KG1vZHVsZSwgb3B0X2ZsYWdzLCBuYW1lLCBkZXZpY2UsIGdmcCwNCj4gPiA+ICsJCQkJCSBj
-b250ZXh0LCBjb250KTsNCj4gPiA+ICt9DQo+ID4gPiAgRVhQT1JUX1NZTUJPTChyZXF1ZXN0X2Zp
-cm13YXJlX25vd2FpdCk7DQo+ID4gPiAgDQo+ID4gPiAraW50IF9fcmVxdWVzdF9maXJtd2FyZV9h
-c3luYyhzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGNvbnN0IGNoYXIgKm5hbWUsDQo+ID4gPiArCQkJ
-ICAgICBzdHJ1Y3QgZmlybXdhcmVfb3B0cyAqZndfb3B0cywgc3RydWN0IGRldmljZSAqZGV2LA0K
-PiA+ID4gKwkJCSAgICAgdm9pZCAqY29udGV4dCwNCj4gPiA+ICsJCQkgICAgIHZvaWQgKCpjb250
-KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KSkNCj4gPiA+ICt7DQo+
-ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRfVUVWRU5UOw0KPiA+IA0KPiA+
-IFRoaXMgZXhwb3NlcyBhIGxvbmcgaXNzdWUuIFRoaW5rIC0tIHdoeSBkbyB3ZSB3YW50IHRoaXMg
-ZW5hYmxlZCBieSBkZWZhdWx0PyBJdHMNCj4gPiBhY3R1YWxseSBiZWNhdXNlIGV2ZW4gdGhvdWdo
-IHRoZSBmYWxsYmFjayBzdHVmZiBpcyBvcHRpb25hbCBhbmQgY2FuIGJlLCB0aGUgdWV2ZW50DQo+
-ID4gaW50ZXJuYWwgZmxhZyAqYWxzbyogcHJvdmlkZXMgY2FjaGluZyBzdXBwb3J0IGFzIGEgc2lk
-ZSBjb25zZXF1ZW5jZSBvbmx5LiBXZQ0KPiA+IGRvbid0IHdhbnQgdG8gYWRkIGEgbmV3IEFQSSB3
-aXRob3V0IGZpcnN0IGNsZWFuaW5nIHVwIHRoYXQgbWVzcy4NCj4gPiANCj4gPiBUaGlzIGlzIGEg
-c2xpcGVyeSBzbG9wZSBhbmQgYmVzdCB0byBjbGVhbiB0aGF0IHVwIGJlZm9yZSBhZGRpbmcgYW55
-IG5ldyBBUEkuDQo+ID4gDQo+ID4gVGhhdCBhbmQgYWxzbyBHcmVnIHJlY2VudGx5IHN0YXRlZCBo
-ZSB3b3VsZCBsaWtlIHRvIHNlZSBhdCBsZWFzdCAzIHVzZXJzIG9mDQo+ID4gYSBmZWF0dXJlIGJl
-Zm9yZSBhZGRpbmcgaXQuIEFsdGhvdWdoIEkgdGhpbmsgdGhhdCdzIHByZXR0eSBhcmJpdHJhcnks
-IGFuZA0KPiA+IGNvbnNpZGVyaW5nIHRoYXQgcmVxdWVzdF9maXJtd2FyZV9pbnRvX2J1ZigpIG9u
-bHkgaGFzICpvbmUqIHVzZXIgLS0gaXRzIHdoYXQNCj4gPiBoZSB3aXNoZXMuDQo+IA0KPiBhdGgx
-MGsgYXQgbGVhc3QgbmVlZHMgYSB3YXkgdG8gc2lsZW5jZSB0aGUgd2FybmluZyBmb3IgbWlzc2lu
-ZyBmaXJtd2FyZQ0KPiBhbmQgSSB0aGluayBpd2x3aWZpIGFsc28uDQoNClllcywgaXdsd2lmaSBu
-ZWVkcyB0byBzaWxlbmNlIHRoZSB3YXJuaW5nLiAgSXQgdGhlIGZlYXR1cmUgKG9ubHkgb25lLA0K
-cmVhbGx5KSB0aGF0IEkndmUgYmVlbiB3YWl0aW5nIGZvci4NCg0KLS0NCkx1Y2Eu
+On Thu, 2017-08-03 at 08:23 +0300, Kalle Valo wrote:
+> "Luis R. Rodriguez" <mcgrof@kernel.org> 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.
+
+Yes, iwlwifi needs to silence the warning.  It the feature (only one,
+really) that I've been waiting for.
+
+--
+Luca.
diff --git a/a/content_digest b/N2/content_digest
index 6ee82bd..6e01b7b 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -20,59 +20,51 @@
   pmladek@suse.com <pmladek@suse.com>
   atull@kernel.org <atull@kernel.org>
   yi1.li@linux.intel.com <yi1.li@linux.intel.com>
-  wright.feng@cypress.com <wright.feng@cypress.com>
-  torvalds@linux-foundation.org <torvalds@linux-foundation.org>
-  netdev@vger.kernel.org <netdev@vger.kernel.org>
-  luto@kernel.org <luto@kernel.org>
-  dwmw2@infradead.org <dwmw2@infradead.org>
-  takahiro.akashi@linaro.org <takahiro.akashi@linaro.org>
-  rjw@rjwysocki.net <rjw@rjwysocki.net>
-  hdegoede@redhat.com <hdegoede@redhat.com>
-  rafal@milecki.pl <rafal@milecki.pl>
-  Berg
-  Johannes <johannes.berg@intel.com>
-  zajec5@gmail.com <zajec5@gmail.com>
-  tytso@mit.edu <tytso@mit.edu>
-  dhowells@redhat.com <dhowells@redhat.com>
-  Grumbach
-  Emmanuel <emmanuel.grumbach@intel.com>
-  chi-hsien.lin@cypress.com <chi-hsien.lin@cypress.com>
-  linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
- " franky.lin@broadcom.com <franky.lin@broadcom.com>\0"
+ " wright.feng@cypress.com <wright.f\0"
  "\00:1\0"
  "b\0"
- "T24gVGh1LCAyMDE3LTA4LTAzIGF0IDA4OjIzICswMzAwLCBLYWxsZSBWYWxvIHdyb3RlOg0KPiAi\n"
- "THVpcyBSLiBSb2RyaWd1ZXoiIDxtY2dyb2ZAa2VybmVsLm9yZz4gd3JpdGVzOg0KPiANCj4gPiA+\n"
- "ICtpbnQgcmVxdWVzdF9maXJtd2FyZV9ub3dhaXQoc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBib29s\n"
- "IHVldmVudCwNCj4gPiA+ICsJCQkgICAgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGRldmljZSAq\n"
- "ZGV2aWNlLCBnZnBfdCBnZnAsDQo+ID4gPiArCQkJICAgIHZvaWQgKmNvbnRleHQsDQo+ID4gPiAr\n"
- "CQkJICAgIHZvaWQgKCpjb250KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250\n"
- "ZXh0KSkNCj4gPiA+ICt7DQo+ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRf\n"
- "RkFMTEJBQ0sgfA0KPiA+ID4gKwkJKHVldmVudCA/IEZXX09QVF9VRVZFTlQgOiBGV19PUFRfVVNF\n"
- "UkhFTFBFUik7DQo+ID4gPiArDQo+ID4gPiArCXJldHVybiBfX3JlcXVlc3RfZmlybXdhcmVfbm93\n"
- "YWl0KG1vZHVsZSwgb3B0X2ZsYWdzLCBuYW1lLCBkZXZpY2UsIGdmcCwNCj4gPiA+ICsJCQkJCSBj\n"
- "b250ZXh0LCBjb250KTsNCj4gPiA+ICt9DQo+ID4gPiAgRVhQT1JUX1NZTUJPTChyZXF1ZXN0X2Zp\n"
- "cm13YXJlX25vd2FpdCk7DQo+ID4gPiAgDQo+ID4gPiAraW50IF9fcmVxdWVzdF9maXJtd2FyZV9h\n"
- "c3luYyhzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGNvbnN0IGNoYXIgKm5hbWUsDQo+ID4gPiArCQkJ\n"
- "ICAgICBzdHJ1Y3QgZmlybXdhcmVfb3B0cyAqZndfb3B0cywgc3RydWN0IGRldmljZSAqZGV2LA0K\n"
- "PiA+ID4gKwkJCSAgICAgdm9pZCAqY29udGV4dCwNCj4gPiA+ICsJCQkgICAgIHZvaWQgKCpjb250\n"
- "KShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KSkNCj4gPiA+ICt7DQo+\n"
- "ID4gPiArCXVuc2lnbmVkIGludCBvcHRfZmxhZ3MgPSBGV19PUFRfVUVWRU5UOw0KPiA+IA0KPiA+\n"
- "IFRoaXMgZXhwb3NlcyBhIGxvbmcgaXNzdWUuIFRoaW5rIC0tIHdoeSBkbyB3ZSB3YW50IHRoaXMg\n"
- "ZW5hYmxlZCBieSBkZWZhdWx0PyBJdHMNCj4gPiBhY3R1YWxseSBiZWNhdXNlIGV2ZW4gdGhvdWdo\n"
- "IHRoZSBmYWxsYmFjayBzdHVmZiBpcyBvcHRpb25hbCBhbmQgY2FuIGJlLCB0aGUgdWV2ZW50DQo+\n"
- "ID4gaW50ZXJuYWwgZmxhZyAqYWxzbyogcHJvdmlkZXMgY2FjaGluZyBzdXBwb3J0IGFzIGEgc2lk\n"
- "ZSBjb25zZXF1ZW5jZSBvbmx5LiBXZQ0KPiA+IGRvbid0IHdhbnQgdG8gYWRkIGEgbmV3IEFQSSB3\n"
- "aXRob3V0IGZpcnN0IGNsZWFuaW5nIHVwIHRoYXQgbWVzcy4NCj4gPiANCj4gPiBUaGlzIGlzIGEg\n"
- "c2xpcGVyeSBzbG9wZSBhbmQgYmVzdCB0byBjbGVhbiB0aGF0IHVwIGJlZm9yZSBhZGRpbmcgYW55\n"
- "IG5ldyBBUEkuDQo+ID4gDQo+ID4gVGhhdCBhbmQgYWxzbyBHcmVnIHJlY2VudGx5IHN0YXRlZCBo\n"
- "ZSB3b3VsZCBsaWtlIHRvIHNlZSBhdCBsZWFzdCAzIHVzZXJzIG9mDQo+ID4gYSBmZWF0dXJlIGJl\n"
- "Zm9yZSBhZGRpbmcgaXQuIEFsdGhvdWdoIEkgdGhpbmsgdGhhdCdzIHByZXR0eSBhcmJpdHJhcnks\n"
- "IGFuZA0KPiA+IGNvbnNpZGVyaW5nIHRoYXQgcmVxdWVzdF9maXJtd2FyZV9pbnRvX2J1ZigpIG9u\n"
- "bHkgaGFzICpvbmUqIHVzZXIgLS0gaXRzIHdoYXQNCj4gPiBoZSB3aXNoZXMuDQo+IA0KPiBhdGgx\n"
- "MGsgYXQgbGVhc3QgbmVlZHMgYSB3YXkgdG8gc2lsZW5jZSB0aGUgd2FybmluZyBmb3IgbWlzc2lu\n"
- "ZyBmaXJtd2FyZQ0KPiBhbmQgSSB0aGluayBpd2x3aWZpIGFsc28uDQoNClllcywgaXdsd2lmaSBu\n"
- "ZWVkcyB0byBzaWxlbmNlIHRoZSB3YXJuaW5nLiAgSXQgdGhlIGZlYXR1cmUgKG9ubHkgb25lLA0K\n"
- cmVhbGx5KSB0aGF0IEkndmUgYmVlbiB3YWl0aW5nIGZvci4NCg0KLS0NCkx1Y2Eu
+ "On Thu, 2017-08-03 at 08:23 +0300, Kalle Valo wrote:\n"
+ "> \"Luis R. Rodriguez\" <mcgrof@kernel.org> writes:\n"
+ "> \n"
+ "> > > +int request_firmware_nowait(struct module *module, bool uevent,\n"
+ "> > > +\t\t\t    const char *name, struct device *device, gfp_t gfp,\n"
+ "> > > +\t\t\t    void *context,\n"
+ "> > > +\t\t\t    void (*cont)(const struct firmware *fw, void *context))\n"
+ "> > > +{\n"
+ "> > > +\tunsigned int opt_flags = FW_OPT_FALLBACK |\n"
+ "> > > +\t\t(uevent ? FW_OPT_UEVENT : FW_OPT_USERHELPER);\n"
+ "> > > +\n"
+ "> > > +\treturn __request_firmware_nowait(module, opt_flags, name, device, gfp,\n"
+ "> > > +\t\t\t\t\t context, cont);\n"
+ "> > > +}\n"
+ "> > >  EXPORT_SYMBOL(request_firmware_nowait);\n"
+ "> > >  \n"
+ "> > > +int __request_firmware_async(struct module *module, const char *name,\n"
+ "> > > +\t\t\t     struct firmware_opts *fw_opts, struct device *dev,\n"
+ "> > > +\t\t\t     void *context,\n"
+ "> > > +\t\t\t     void (*cont)(const struct firmware *fw, void *context))\n"
+ "> > > +{\n"
+ "> > > +\tunsigned int opt_flags = FW_OPT_UEVENT;\n"
+ "> > \n"
+ "> > This exposes a long issue. Think -- why do we want this enabled by default? Its\n"
+ "> > actually because even though the fallback stuff is optional and can be, the uevent\n"
+ "> > internal flag *also* provides caching support as a side consequence only. We\n"
+ "> > don't want to add a new API without first cleaning up that mess.\n"
+ "> > \n"
+ "> > This is a slipery slope and best to clean that up before adding any new API.\n"
+ "> > \n"
+ "> > That and also Greg recently stated he would like to see at least 3 users of\n"
+ "> > a feature before adding it. Although I think that's pretty arbitrary, and\n"
+ "> > considering that request_firmware_into_buf() only has *one* user -- its what\n"
+ "> > he wishes.\n"
+ "> \n"
+ "> ath10k at least needs a way to silence the warning for missing firmware\n"
+ "> and I think iwlwifi also.\n"
+ "\n"
+ "Yes, iwlwifi needs to silence the warning.  It the feature (only one,\n"
+ "really) that I've been waiting for.\n"
+ "\n"
+ "--\n"
+ Luca.
 
-a0e4af4b950f5abd25222a2cf76c88710fb2665c3deb904e057880e88c9fb60f
+85f6d5cc31d32c3b2ed1b90e0b1e92ebc5d9bf7e10153b31f79ebce80a8ce638

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.