Messages in this thread | | | Date | Fri, 8 Nov 2002 22:03:42 -0800 | From | Greg KH <> | Subject | Re: [parisc-linux] Untested port of parisc_device to generic device interface |
| |
On Sat, Nov 09, 2002 at 05:21:50AM +0000, Matthew Wilcox wrote: > > Everyone's saying "ra! ra! generic device model!" without asking > what the cost is. Don't you think it's reasonable that _as the most > common device type_, struct device should be able to support PCI in a > clean manner?
No I do not.
> Don't you think that the fact that it fails to do so is a problem?
Yes I do.
> Don't you look at the locks sprinkled all over the struct device > system and wonder what they're all _for_?
Nope :) (yes, I do wonder, and yes, they will be cleaned up...)
> Don't get me wrong. I want a generic device model. But I think it's > clear the current one has failed to show anything more than eye candy. > Perhaps it's time to start over, with something small and sane -- maybe > kobject (it's not quite what we need, but it's close). Put one of those > in struct pci_dev. Remove duplicate fields. Now maybe grow kobject a > little, or perhaps start a new struct with a kobject as its first member.
No, lets start pulling stuff out of pci_dev and relying on struct device. The reason this hasn't happened yet is no one has been willing to break all of the PCI drivers, yet.
I know Pat is going to be doing this soon, and if he doesn't get to it, I will. But as Adam said, don't throw away the idea because it looks crufty now. This has been a _constantly_ evolving model as we work to get it right. It will take time, and we are still getting there.
> And, for gods sake, don't fuck it up by integrating it with USB too early > in the game.
In my defense, USB was the _only_ bus willing to step up and try to do the integration to work the initial kinks out. The SCSI people are being drug kicking and screaming into it, _finally_ now (hell, SCSI is still not using the updated PCI interface, those people _never_ update their drivers if they can avoid it.)
> Let's get it right for PCI, maybe some other internal busses > (i'm gagging to write an EISA subsystem ;-). SCSI is more interesting > than USB. Above all, don't fall into the trap of "It's a bus and it > has devices on it, therefore it must be a part of devicefs".
Sure SCSI's more interesting, to you :)
By having USB be one of the first adopters (after PCI), we have found a _lot_ of issues and bugs that happened due to devices showing up and disappearing at odd times. Which was _much_ easier to debug than PCI would have been. SCSI can't even do hotplug devices _yet_. How would we have debugged this stuff then?
And yes, USB belongs in the model, if for no other reason, that "it's a bus and it has devices on it" :)
> *sigh*. halloween was a week ago.
Patches for this stuff are going to be happening for quite some time now, don't despair.
And they are greatly appreciated, and welcomed from everyone :)
thanks,
greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |