Subject: Re: com rumblings...
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: tech-kern
Date: 06/16/2006 12:45:27
Izumi Tsutsui wrote:
> garrett_damore@tadpole.com wrote:
>
>   
>>> Hmm, my intention to create fake softcs is to make
>>> CSR_{READ,WRITE} macros take softc as most drivers do.
>>> If it's okay to make them take struct com_regs, faked one
>>> isn't needed. (I don't have strong insistence which is better)
>>>   
>>>       
>> FWIW, if I were dealing with a sane driver where nearly all routines had
>> the softc passed in, I would have made CSR_READ/WRITE take that softc. 
>> But since there were a number of functions that operate without a softc
>> (basically the console stuff), I decided it was better to create a
>> structure that had only the data in it needed for the console.
>>     
>
> Okay, the problem is that most macros/functions to read/write
> registers in each driver use bus_space stuff stored in softc,
> but consinit related functions have to use it before the device
> is attached. There are a bunch of ugliness around consinit stuff
> (especially on framebuffers), so I thought faking softc is
> just one of them :-)
>
> BTW, even without fake softcs I still think we can avoid
> all MD changes.
>   

I had thought about making the changes to do that.  But there were other
concerns, and by doing it this way, I was able to *find* all the
attachment points because they won't compile.  So this was an
intentional decision. :-)  In any case, everything except ARM and m68k
are converted.  It takes about 5 minutes to convert a typical MD
attachment.  If you are slow. :-)

    -- Garrett
> ---
> Izumi Tsutsui
>   


-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191