On 16.09.2008 18:29, ron minnich wrote:
Here we go again.
I've made Carl-Daniel's dts the default serengeti dts for now and changed dt compiler to eliminate the bug pointed out yesterday.
Cool, thanks.
The dt compiler now creates the correct structures as near as I can tell.
I verified that the NULL pointer bugs are gone. Good work!
Maybe we're done with bugs for now :-)
I feel bad for pointing out more problems. IIRC dev->bus.dev used to point to the parent device. With the current patch, lots of devices are their own parents. That means you can't determine the device path anymore by walking upwards in in the tree and that could lead to problems matching a real device against the tree (false positives).
If this passes the mailing list test, I will test it on real hardware, and commit if it all works. It is interesting to note that so far the mailing list has been more rigorous than the hardware!
To be honest, I think the design of the patch has potential for improvement (my personal opinion only). Three points stick out: - The dummy struct device with full config (including primary link config) for each non-primary link seems like a fifth wheel. - The dual-purpose struct device for a device and its primary link will make more complex HT scenarios a real nightmare, potentially triggering a complete rewrite. - No explicit designation of link numbers for HT in the dts and usage of clever magic instead.
And no, I'm not going to force you to rewrite the patch again. At the beginning of october I'll send a patch to illustrate what I mean.
If you fix the bug with device parents and it works on real hardware, I think your patch is a good solution (maybe not to my design liking, but it should work).
By the way, a before/after bootlog for dbe62 would be appreciated. I'll read through the logs at the beginning of october to check for potential problems.
Regards, Carl-Daniel