Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Sep 2005 16:55:54 +0100
From:      Doug Rabson <dfr@nlsystems.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Poul-Henning Kamp <phk@phk.freebsd.dk>, freebsd-arch@freebsd.org
Subject:   Re: Improving bus/resource API
Message-ID:  <76404F68-547C-42E2-A3A9-BD0AF2ECFADF@nlsystems.com>
In-Reply-To: <200509201045.58685.jhb@FreeBSD.org>
References:  <5975.1127215219@critter.freebsd.dk> <200509201045.58685.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 20 Sep 2005, at 15:45, John Baldwin wrote:

> On Tuesday 20 September 2005 07:20 am, Poul-Henning Kamp wrote:
>
>> The patch below improves the bus/resource API such that between 10
>> and 20 lines of code can be eliminated from the attach/detach
>> functions of the average device driver.
>>
>> Therefore the best place to start is to read what the patch does
>> to if_sis.c, which is a very typical case.
>>
>> The patch is backwards compatible in binary and source form so
>> it is a potential candidate for RELENG_6 at some point.
>>
>> Compile tested on i386/amd64 and sparc64.  My alpha will be chewing
>> on it for the forseeable future.
>>
>>
>> For sanity in the ensuing bikeshed, let's take three topics in
>> this order:
>>
>> 1. "what this does to the device driver sources."
>>
>> 2. "what this does to the rman/bus internals"
>>
>> 3. "suggestions for different function names"
>>
>
> I'll only comment on 3)
>
> Maybe bus_read_{1,2,4}() rather than bsr_?  (Same with s/bsw_/ 
> bus_write_/).  I
> do like having the accessors take just a resource rather than a  
> tag, handle
> pair.  Many drivers already hide this in wrapper macros already  
> though.
>
> For the dwiw (dwim? :-P) maybe since it takes an array, just make the
> 'resource' part plural, thus 'bus_alloc_resources()' and
> 'bus_release_resources()'?

I like these names.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?76404F68-547C-42E2-A3A9-BD0AF2ECFADF>