On Thu, Nov 13, 2008 at 11:30 AM, Marc Jones marcj303@yahoo.com wrote:
Myles,
I think that this is going to right direction. There are a couple things that I don't understand.
Why is there a w83627hf_pnp_ops and w83627hf_ops? Can they be combined?
The problem is that one is the parent, and one is for the children. The parent's ops just iterates through the children and calls the correct functions. If you don't have that, then the childrens' functions never get called.
And this is why there are two dts files, pnp.dts and dts?
I wanted to simplify the code that took the information from the dts and passed it to the PNP code. If you just have a big list of attributes, you have to figure out which attribute goes with which function number and pass them to the PNP code. Having devices already created with the correct function numbers seems less error-prone to me.
I don't think each device should have io, io1, io2, etc. They only need whatever is required to fill the entry in pnp_dev_info[].
I agree. I just didn't want to create w83627hf_kbd.dts and friends, because then I'd be at the same place with lots of code to pass the arguments.
And so there isn't a stock pnp dts entry. Each should be specific for the device (kbc, uart, etc) but generic names.
I don't understand what you mean.
Thanks for the clarification.
Thanks for questioning. It helps.
Myles
Marc
http://marcjstuff.blogspot.com/
*From:* Myles Watson mylesgw@gmail.com *To:* ron minnich rminnich@gmail.com *Cc:* Coreboot coreboot@coreboot.org *Sent:* Thursday, November 13, 2008 10:29:08 AM *Subject:* Re: [coreboot] Resource allocation
On Thu, Nov 13, 2008 at 8:58 AM, ron minnich rminnich@gmail.com wrote:
On Thu, Nov 13, 2008 at 6:03 AM, Myles Watson mylesgw@gmail.com wrote:
That makes it clear which devices get created (all the ones mentioned in
the
dts.) Then the SIO code can take care of special cases like devices
that
need to be set even when they're disabled.
yes, but this is *exactly* the model that people are objecting to in the other thread. We kind of need to make up our mind here.
How about we get something working, then improve on it. Here's my latest try.
While I'm wishing I'd like to use pnp@W83627HF_KBC instead of pnp@5 and
have
that just work. I think it might not be too hard, but it's a syntax
error
now. It would definitely reduce the chance for mistakes.
I would rather not do this.
OK. It's bitten me once, but I'll be more careful.
That's right. The problem is that there needs to be some generic way
to
pass this information to the resource code.
This is actually not even v2, it's v1. It did not work because you have resources in that struct that don't exist on many devices, and there are always new devices with new resource types that break the model.
Right now it allocates a new device for each of the SuperIO PNP functions, so there are dynamic
devices
for all of them. I think that there should only be dynamic devices for things that get plugged in.
I am still not convinced this really matters.
I'm attaching two logs. One is without the attached patch, the other with. It fixes resource allocation and makes the logs much cleaner, but it doesn't make the box work correctly. It's just hard to debug too many things at once. I'd like to get the SuperIO working, then resource allocation, then VGA if its still broken, then HT ...
The patch won't apply for you because it depends on other code in the tree. There's just too much to send now, and I haven't gotten organized enough to use Jordan's script yet.
Signed-off-by: Myles Watson mylesgw@gmail.com
Thanks, Myles