From owner-freebsd-new-bus Mon Oct 2 22:59:26 2000 Delivered-To: freebsd-new-bus@freebsd.org Received: from sasami.jurai.net (sasami.jurai.net [63.67.141.99]) by hub.freebsd.org (Postfix) with ESMTP id 9A57537B502 for ; Mon, 2 Oct 2000 22:59:22 -0700 (PDT) Received: from localhost (winter@localhost) by sasami.jurai.net (8.9.3/8.8.7) with ESMTP id BAA70383 for ; Tue, 3 Oct 2000 01:59:21 -0400 (EDT) Date: Tue, 3 Oct 2000 01:59:21 -0400 (EDT) From: "Matthew N. Dodd" To: new-bus@FreeBSD.ORG Subject: bus_generic_{get,set}_resource() functions. Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-729685027-970552761=:1566" 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-729685027-970552761=:1566 Content-Type: TEXT/PLAIN; charset=US-ASCII Find attached for comment and review code implementing bus_generic_{get,set}_resource() functions for use by bus drivers that make use of the 'struct resource_list' method of tracking resources. A new BUS METHOD 'BUS_GET_RESOURCE_LIST' is added which allows a bus to retreive the resource list of a child without having to know anything about how/where it is stored. This allows us to reduce code duplication a fair bit. Likely we can create bus_generic_{alloc,release}_resource() functions for the same benefit. Comments? -- | Matthew N. Dodd | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD | | winter@jurai.net | 2 x '84 Volvo 245DL | ix86,sparc,pmax | | http://www.jurai.net/~winter | This Space For Rent | ISO8802.5 4ever | --0-729685027-970552761=:1566 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rsrc_generic.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="rsrc_generic.diff" SW5kZXg6IGtlcm4vc3Vicl9idXMuYw0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3N5cy9rZXJuL3N1YnJfYnVzLmMsdg0K cmV0cmlldmluZyByZXZpc2lvbiAxLjgwDQpkaWZmIC11IC1yMS44MCBzdWJy X2J1cy5jDQotLS0ga2Vybi9zdWJyX2J1cy5jCTIwMDAvMDkvMTcgMjM6NTc6 NTIJMS44MA0KKysrIGtlcm4vc3Vicl9idXMuYwkyMDAwLzA5LzE5IDA1OjAz OjI5DQpAQCAtMTk2NCw2ICsxOTcwLDEzIEBADQogICAgIHJldHVybiBFTk9F TlQ7DQogfQ0KIA0KK2ludA0KK2J1c19nZW5lcmljX2dldF9yZXNvdXJjZV9s aXN0IChkZXZpY2VfdCBkZXYsIGRldmljZV90IGNoaWxkLA0KKwkJCSAgICAg ICBzdHJ1Y3QgcmVzb3VyY2VfbGlzdCAqcmwpDQorew0KKwlyZXR1cm4gRU5P RU5UOw0KK30NCisNCiB2b2lkDQogYnVzX2dlbmVyaWNfZHJpdmVyX2FkZGVk KGRldmljZV90IGRldiwgZHJpdmVyX3QgKmRyaXZlcikNCiB7DQpAQCAtMjA0 Niw2ICsyMDU5LDU5IEBADQogCQkJCQkJcikpOw0KIAllbHNlDQogCQlyZXR1 cm4gKEVJTlZBTCk7DQorfQ0KKw0KK2ludA0KK2J1c19nZW5lcmljX2dldF9y ZXNvdXJjZSAoZGV2aWNlX3QgZGV2LCBkZXZpY2VfdCBjaGlsZCwgaW50IHR5 cGUsIGludCByaWQsDQorCQkJICB1X2xvbmcgKnN0YXJ0cCwgdV9sb25nICpj b3VudHApDQorew0KKwlzdHJ1Y3QgcmVzb3VyY2VfbGlzdCAqCQlybCA9IE5V TEw7DQorCXN0cnVjdCByZXNvdXJjZV9saXN0X2VudHJ5ICoJcmxlID0gTlVM TDsNCisJaW50CQkJCXJldHZhbCA9IDA7DQorDQorCXJldHZhbCA9IEJVU19H RVRfUkVTT1VSQ0VfTElTVChkZXYsIGNoaWxkLCBybCk7DQorCWlmIChyZXR2 YWwpDQorCQlyZXR1cm4gKHJldHZhbCk7DQorDQorCXJsZSA9IHJlc291cmNl X2xpc3RfZmluZChybCwgdHlwZSwgcmlkKTsNCisJaWYgKCFybGUpIA0KKwkJ cmV0dXJuIEVOT0VOVDsNCisNCisJKnN0YXJ0cCA9IHJsZS0+c3RhcnQ7DQor CSpjb3VudHAgPSBybGUtPmNvdW50Ow0KKw0KKwlyZXR1cm4gKDApOw0KK30N CisNCitpbnQNCitidXNfZ2VuZXJpY19zZXRfcmVzb3VyY2UgKGRldmljZV90 IGRldiwgZGV2aWNlX3QgY2hpbGQsIGludCB0eXBlLCBpbnQgcmlkLA0KKwkJ CSAgdV9sb25nIHN0YXJ0LCB1X2xvbmcgY291bnQpDQorew0KKwlzdHJ1Y3Qg cmVzb3VyY2VfbGlzdCAqCQlybCA9IE5VTEw7DQorCWludAkJCQlyZXR2YWwg PSAwOw0KKw0KKwlyZXR2YWwgPSBCVVNfR0VUX1JFU09VUkNFX0xJU1QoZGV2 LCBjaGlsZCwgcmwpOw0KKwlpZiAocmV0dmFsKQ0KKwkJcmV0dXJuIChyZXR2 YWwpOw0KKw0KKwlyZXNvdXJjZV9saXN0X2FkZChybCwgdHlwZSwgcmlkLCBz dGFydCwgKHN0YXJ0ICsgY291bnQgLSAxKSwgY291bnQpOw0KKw0KKwlyZXR1 cm4gKDApOw0KK30NCisNCit2b2lkDQorYnVzX2dlbmVyaWNfZGVsZXRlX3Jl c291cmNlIChkZXZpY2VfdCBkZXYsIGRldmljZV90IGNoaWxkLCBpbnQgdHlw ZSwgaW50IHJpZCkNCit7DQorCXN0cnVjdCByZXNvdXJjZV9saXN0ICoJCXJs ID0gTlVMTDsNCisJaW50CQkJCXJldHZhbCA9IDA7DQorDQorCXJldHZhbCA9 IEJVU19HRVRfUkVTT1VSQ0VfTElTVChkZXYsIGNoaWxkLCBybCk7DQorCWlm IChyZXR2YWwpDQorCQlyZXR1cm47DQorDQorCXJlc291cmNlX2xpc3RfZGVs ZXRlKHJsLCB0eXBlLCByaWQpOw0KKw0KKwlyZXR1cm47DQogfQ0KIA0KIC8q DQpJbmRleDoga2Vybi9idXNfaWYubQ0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3N5cy9rZXJuL2J1c19pZi5tLHYNCnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xNw0KZGlmZiAtdSAtcjEuMTcgYnVzX2lm Lm0NCi0tLSBrZXJuL2J1c19pZi5tCTIwMDAvMDQvMDggMTQ6MTc6MDkJMS4x Nw0KKysrIGtlcm4vYnVzX2lmLm0JMjAwMC8wOC8yNCAwOToyNDoxNQ0KQEAg LTIzNiwzICsyMzYsMTIgQEANCiAJaW50CQl0eXBlOw0KIAlpbnQJCXJpZDsN CiB9Ow0KKw0KKyMNCisjIFJldHVybiBhIHN0cnVjdCByZXNvdXJjZV9saXN0 Lg0KKyMNCitNRVRIT0QgaW50IGdldF9yZXNvdXJjZV9saXN0IHsNCisJZGV2 aWNlX3QJZGV2Ow0KKwlkZXZpY2VfdAljaGlsZDsNCisJc3RydWN0IHJlc291 cmNlX2xpc3QgKnJsOw0KK30gREVGQVVMVCBidXNfZ2VuZXJpY19nZXRfcmVz b3VyY2VfbGlzdDsNCkluZGV4OiBzeXMvYnVzLmgNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL3NyYy9zeXMvc3lzL2J1cy5oLHYN CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNw0KZGlmZiAtdSAtcjEuMzcgYnVz LmgNCi0tLSBzeXMvYnVzLmgJMjAwMC8wOS8wNyAwMTozMjo1OQkxLjM3DQor Kysgc3lzL2J1cy5oCTIwMDAvMDkvMDcgMjI6MzA6MDUNCkBAIC0xNzcsOCAr MTc3LDExIEBADQogaW50CWJ1c19nZW5lcmljX2F0dGFjaChkZXZpY2VfdCBk ZXYpOw0KIGludAlidXNfZ2VuZXJpY19kZWFjdGl2YXRlX3Jlc291cmNlKGRl dmljZV90IGRldiwgZGV2aWNlX3QgY2hpbGQsIGludCB0eXBlLA0KIAkJCQkJ aW50IHJpZCwgc3RydWN0IHJlc291cmNlICpyKTsNCit2b2lkCWJ1c19nZW5l cmljX2RlbGV0ZV9yZXNvdXJjZSAoZGV2aWNlX3QsIGRldmljZV90LCBpbnQs IGludCk7DQogaW50CWJ1c19nZW5lcmljX2RldGFjaChkZXZpY2VfdCBkZXYp Ow0KIHZvaWQJYnVzX2dlbmVyaWNfZHJpdmVyX2FkZGVkKGRldmljZV90IGRl diwgZHJpdmVyX3QgKmRyaXZlcik7DQoraW50CWJ1c19nZW5lcmljX2dldF9y ZXNvdXJjZV9saXN0IChkZXZpY2VfdCwgZGV2aWNlX3QsIHN0cnVjdCByZXNv dXJjZV9saXN0ICopOw0KK2ludAlidXNfZ2VuZXJpY19nZXRfcmVzb3VyY2Ug KGRldmljZV90LCBkZXZpY2VfdCwgaW50LCBpbnQsIHVfbG9uZyAqLCB1X2xv bmcgKik7DQogaW50CWJ1c19wcmludF9jaGlsZF9oZWFkZXIoZGV2aWNlX3Qg ZGV2LCBkZXZpY2VfdCBjaGlsZCk7DQogaW50CWJ1c19wcmludF9jaGlsZF9m b290ZXIoZGV2aWNlX3QgZGV2LCBkZXZpY2VfdCBjaGlsZCk7DQogaW50CWJ1 c19nZW5lcmljX3ByaW50X2NoaWxkKGRldmljZV90IGRldiwgZGV2aWNlX3Qg Y2hpbGQpOw0KQEAgLTE5MSw2ICsxOTQsNyBAQA0KIGludAlidXNfZ2VuZXJp Y19zZXR1cF9pbnRyKGRldmljZV90IGRldiwgZGV2aWNlX3QgY2hpbGQsDQog CQkJICAgICAgIHN0cnVjdCByZXNvdXJjZSAqaXJxLCBpbnQgZmxhZ3MsDQog CQkJICAgICAgIGRyaXZlcl9pbnRyX3QgKmludHIsIHZvaWQgKmFyZywgdm9p ZCAqKmNvb2tpZXApOw0KK2ludAlidXNfZ2VuZXJpY19zZXRfcmVzb3VyY2Ug KGRldmljZV90LCBkZXZpY2VfdCwgaW50LCBpbnQsIHVfbG9uZywgdV9sb25n KTsNCiBpbnQJYnVzX2dlbmVyaWNfc2h1dGRvd24oZGV2aWNlX3QgZGV2KTsN CiBpbnQJYnVzX2dlbmVyaWNfc3VzcGVuZChkZXZpY2VfdCBkZXYpOw0KIGlu dAlidXNfZ2VuZXJpY190ZWFyZG93bl9pbnRyKGRldmljZV90IGRldiwgZGV2 aWNlX3QgY2hpbGQsDQo= --0-729685027-970552761=:1566-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-new-bus" in the body of the message