From owner-freebsd-new-bus Wed Mar 15 14:55:29 2000 Delivered-To: freebsd-new-bus@freebsd.org Received: from bluebottle.calcaphon.com (calcaphon.demon.co.uk [193.237.19.5]) by hub.freebsd.org (Postfix) with ESMTP id 13A4037C0B0 for ; Wed, 15 Mar 2000 14:55:20 -0800 (PST) (envelope-from n_hibma@calcaphon.com) Received: from henny.calcaphon.com (henny.calcaphon.com [10.0.0.36]) by bluebottle.calcaphon.com (8.9.3/8.9.1) with ESMTP id WAA63930 for ; Wed, 15 Mar 2000 22:57:33 GMT (envelope-from n_hibma@calcaphon.com) Date: Wed, 15 Mar 2000 22:53:08 +0000 (GMT) From: Nick Hibma X-Sender: n_hibma@localhost Reply-To: Nick Hibma To: FreeBSD Newbus Mailing List Subject: Patch for review Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-659987233-953160788=:571" Sender: owner-freebsd-new-bus@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-659987233-953160788=:571 Content-Type: TEXT/PLAIN; charset=US-ASCII The attached patch removes the use of nextunit and replaces it with a linear search for the first element available. This avoids the unit number from ever increasing and memory being wasted if you unplug & plug two devices alternatingly. It also flags that we have called DEVICE_NOMATCH and should not call it again during a reprobe. Let me know if this is anything you would not like to see implemented. Nick -- n_hibma@webweaving.org n_hibma@freebsd.org USB project http://www.etla.net/~n_hibma/ --0-659987233-953160788=:571 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="subr_bus.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="subr_bus.diff" SW5kZXg6IGtlcm4vc3Vicl9idXMuYw0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9rZXJuL3N1YnJfYnVz LmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjU0DQpkaWZmIC11IC1yMS41 NCBzdWJyX2J1cy5jDQotLS0ga2Vybi9zdWJyX2J1cy5jCTIwMDAvMDIvMjkg MDk6MzY6MjUJMS41NA0KKysrIGtlcm4vc3Vicl9idXMuYwkyMDAwLzAzLzE1 IDIyOjQ5OjQ3DQpAQCAtMjY3LDcgKzI2Nyw2IEBADQogCXN0cmNweShkYy0+ bmFtZSwgY2xhc3NuYW1lKTsNCiAJZGMtPmRldmljZXMgPSBOVUxMOw0KIAlk Yy0+bWF4dW5pdCA9IDA7DQotCWRjLT5uZXh0dW5pdCA9IDA7DQogCVRBSUxR X0lOSVQoJmRjLT5kcml2ZXJzKTsNCiAJVEFJTFFfSU5TRVJUX1RBSUwoJmRl dmNsYXNzZXMsIGRjLCBsaW5rKTsNCiAgICAgfQ0KQEAgLTQ4NywyMSArNDg2 LDI4IEBADQogICAgICAqIGRldmljZS4NCiAgICAgICovDQogICAgIGlmICh1 bml0ICE9IC0xKSB7DQotCWRldmljZV90IGRldjsNCi0JZGV2ID0gZGV2Y2xh c3NfZ2V0X2RldmljZShkYywgdW5pdCk7DQotCWlmIChkZXYpIHsNCisJaWYg KHVuaXQgPj0gMCAmJiB1bml0IDwgZGMtPm1heHVuaXQgJiYgZGMtPmRldmlj ZXNbdW5pdF0gIT0gTlVMTCkgew0KIAkgICAgaWYgKGJvb3R2ZXJib3NlKQ0K LQkgICAgICAgIHByaW50ZigiZGV2Y2xhc3NfYWxsb2NfdW5pdDogJXMlZCBh bHJlYWR5IGV4aXN0cywgdXNpbmcgbmV4dCBhdmFpbGFibGUgdW5pdCBudW1i ZXJcbiIsIGRjLT5uYW1lLCB1bml0KTsNCisJCXByaW50ZigiJXMtOiAlcyVk IGV4aXN0cywgdXNpbmcgbmV4dCBhdmFpbGFibGUgdW5pdCBudW1iZXJcbiIs DQorCQkgICAgICAgZGMtPm5hbWUsIGRjLT5uYW1lLCB1bml0KTsNCiAJICAg IHVuaXQgPSAtMTsNCiAJfQ0KICAgICB9DQogDQorICAgIC8qDQorICAgICAq IFdlIGVuZGVkIHVwIHdpdGggYW4gdW53aXJlZCBkZXZpY2UsIHNvIGxldCdz IGZpbmQgdGhlIG5leHQgYXZhaWxhYmxlDQorICAgICAqIHNsb3QgZm9yIGl0 Lg0KKyAgICAgKi8NCiAgICAgaWYgKHVuaXQgPT0gLTEpIHsNCi0JdW5pdCA9 IGRjLT5uZXh0dW5pdDsNCi0JZGMtPm5leHR1bml0Kys7DQotICAgIH0gZWxz ZSBpZiAoZGMtPm5leHR1bml0IDw9IHVuaXQpDQotCWRjLT5uZXh0dW5pdCA9 IHVuaXQgKyAxOw0KKyAgICAJdW5pdCA9IDA7DQorCXdoaWxlICh1bml0IDwg ZGMtPm1heHVuaXQgJiYgZGMtPmRldmljZXNbdW5pdF0gIT0gTlVMTCkNCisJ CXVuaXQrKzsNCisgICAgfQ0KIA0KKyAgICAvKg0KKyAgICAgKiBXZSd2ZSBz ZWxlY3RlZCBhIHVuaXQgYmV5b25kIHRoZSBsZW5ndGggb2YgdGhlIHRhYmxl LCBzbyBsZXQncyBleHRlbmQNCisgICAgICogdGhlIHRhYmxlIHRvIG1ha2Ug cm9vbSBmb3IgYWxsIHVuaXRzIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhpcyBv bmUuDQorICAgICAqLw0KICAgICBpZiAodW5pdCA+PSBkYy0+bWF4dW5pdCkg ew0KIAlkZXZpY2VfdCAqbmV3bGlzdDsNCiAJaW50IG5ld3NpemU7DQpAQCAt NTcxLDggKzU3Nyw2IEBADQogICAgIGRldi0+ZGV2Y2xhc3MgPSBOVUxMOw0K ICAgICBmcmVlKGRldi0+bmFtZXVuaXQsIE1fQlVTKTsNCiAgICAgZGV2LT5u YW1ldW5pdCA9IE5VTEw7DQotICAgIHdoaWxlIChkYy0+bmV4dHVuaXQgPiAw ICYmIGRjLT5kZXZpY2VzW2RjLT5uZXh0dW5pdCAtIDFdID09IE5VTEwpDQot CWRjLT5uZXh0dW5pdC0tOw0KIA0KICNpZmRlZiBERVZJQ0VfU1lTQ1RMUw0K ICAgICBkZXZpY2VfdW5yZWdpc3Rlcl9vaWRzKGRldik7DQpAQCAtMTE0Nyw3 ICsxMTUxLDEwIEBADQogCQlkZXYtPnN0YXRlID0gRFNfTk9UUFJFU0VOVDsN CiAJICAgIH0NCiAJfSBlbHNlIHsNCisJICAgIGlmICghKGRldi0+ZmxhZ3Mg JiBERl9ET05FTk9NQVRDSCkpIHsNCiAJCUJVU19QUk9CRV9OT01BVENIKGJ1 cywgZGV2KTsNCisJCWRldi0+ZmxhZ3MgfD0gREZfRE9ORU5PTUFUQ0g7DQor CSAgICB9DQogCX0NCiAgICAgfSBlbHNlIHsNCiAJaWYgKGJvb3R2ZXJib3Nl KSB7DQpAQCAtMjQzMCw4ICsyNDM3LDggQEANCiAJaWYgKCAhZGMgKQ0KIAkJ cmV0dXJuOw0KIA0KLQlpbmRlbnRwcmludGYoKCJkZXZjbGFzcyAlczogbWF4 IHVuaXRzID0gJWQsIG5leHQgdW5pdCA9ICVkXG4iLA0KLQkJZGMtPm5hbWUs IGRjLT5tYXh1bml0LCBkYy0+bmV4dHVuaXQpKTsNCisJaW5kZW50cHJpbnRm KCgiZGV2Y2xhc3MgJXM6IG1heCB1bml0cyA9ICVkXG4iLA0KKwkJZGMtPm5h bWUsIGRjLT5tYXh1bml0KSk7DQogfQ0KIA0KIHN0YXRpYyB2b2lkDQpJbmRl eDogc3lzL2J1c19wcml2YXRlLmgNCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvc3lzL2J1c19wcml2YXRl Lmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjExDQpkaWZmIC11IC1yMS4x MSBidXNfcHJpdmF0ZS5oDQotLS0gc3lzL2J1c19wcml2YXRlLmgJMTk5OS8w OS8wNyAwODo0Mjo0OQkxLjExDQorKysgc3lzL2J1c19wcml2YXRlLmgJMjAw MC8wMi8xMSAxMzowNzo0MQ0KQEAgLTUzLDcgKzUzLDYgQEANCiAgICAgY2hh cgkJKm5hbWU7DQogICAgIGRldmljZV90CQkqZGV2aWNlczsgLyogYXJyYXkg b2YgZGV2aWNlcyBpbmRleGVkIGJ5IHVuaXQgKi8NCiAgICAgaW50CQkJbWF4 dW5pdDsgLyogc2l6ZSBvZiBkZXZpY2VzIGFycmF5ICovDQotICAgIGludAkJ CW5leHR1bml0OyAvKiBuZXh0IHVudXNlZCB1bml0IG51bWJlciAqLw0KIH07 DQogDQogLyoNCkBAIC0xMzQsNiArMTMzLDcgQEANCiAjZGVmaW5lIERGX1dJ TERDQVJECTQJLyogdW5pdCB3YXMgb3JpZ2luYWxseSB3aWxkY2FyZCAqLw0K ICNkZWZpbmUgREZfREVTQ01BTExPQ0VECTgJLyogZGVzY3JpcHRpb24gd2Fz IG1hbGxvY2VkICovDQogI2RlZmluZSBERl9RVUlFVAkxNgkvKiBkb24ndCBw cmludCB2ZXJib3NlIGF0dGFjaCBtZXNzYWdlICovDQorI2RlZmluZSBERl9E T05FTk9NQVRDSAkzMgkvKiBkb24ndCBleGVjdXRlIERFVklDRV9OT01BVENI IGFnYWluICovDQogICAgIHVfY2hhcgkJb3JkZXI7CS8qIG9yZGVyIGZyb20g ZGV2aWNlX2FkZF9jaGlsZF9vcmRlcmVkKCkgKi8NCiAgICAgdV9jaGFyCQlw YWQ7DQogI2lmZGVmIERFVklDRV9TWVNDVExTDQo= --0-659987233-953160788=:571-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-new-bus" in the body of the message