Messages in this thread | | | Date | Mon, 14 Jun 1999 23:10:37 +0200 (MET DST) | From | Emanuel Pirker <> | Subject | Re: Linux IEEE-1394 (FireWire) clarification |
| |
On Mon, 14 Jun 1999, Andreas Bombe wrote:
[snip]
> > > * we then see what we have and how to migrate existing code > > Your code has all the FireWire stuff inside and interlaced with the AIC > hardware driver. [snip]
This is one basic design decision. A low-level driver implements the Serial Bus protocol stack as in figure 3-4 of IEEE 1394-1995. I give you some points why I did this: * Consider new, more intelligent hardware. Hardware that does not just dump pre-built buffers onto the bus. Writing a driver for this new hardware would be _impossible_ in your subsystem. * I presume not all cards use the same DMA packet data format. This could seriously bring your subsystem in trouble.
> [snip] You have mostly copied code from the SCSI subsystem > without understanding why something is there and have therefore moved > all the cruft from the SCSI subsystem (which is badly designed as most > developers on the kernel list agree). Reusing something of that would > have taken more effort than to just rewrite it and add the missing > pieces.
Now on to the second issue: Definitely not. I also don't like many things of the SCSI subsystem, but anyway * I just used what I need and ONLY what I need. * The SCSI subsystem easily allows you to have a mixture of different SCSI host adapters in your system. You can have two NCR and one Adaptec (e.g.) at the same time. The same applies to 1394. That's why I like it. * The SCSI subsystem is stable and proven to do what it is supposed to do. If it was THAT bad, why is it still in the kernel? * It looks ugly, yes. But as soon as you understand how the SCSI subsystem works, you'll start to like it. (OK, I still don't like the initial templates, but thats a very small part).
[snip]
> > > * the TILynx chip may be important to many people including Andreas, > > but in fact this chip is deprecated and not produced any more. > > TI now produces and sells OHCI boards. > > So what? You can easily add new hardware drivers to my subsystem. i > would actually be glad if you could migrate your Adaptec code to my > subsystem. As I said in a mail I sent you some time I ago it would > actually greatly simplify your driver because you can leave out all > FireWire stuff and transaction code (basically the driver gets > pre-built packets for sending and simply dumps the receive buffer to > the core code plus all the little stuff like bus resets). And no more > of that SCSI subsystem like templates through headers, which really > suck.
Andreas, I am very glad you are in Linux-1394 business. But don't try to reinvent the wheel. If your subsystem is really THAT better, I'll move my Adaptec code to your structure ASAP. Quality wins, that's Linux development works. But please understand that I _thought_ about what I did and by doing everything again you'll make mistakes again I did or even other mistakes.
Well, I also don't know about your situation and how your effort is organized. If you do this as a fulltime job and you are paid for it, you'll succeed. Maybe you'll do something that's too much specialized on TILynx, but you'll succeed. If you do this in a project which is limited on time (similar to what I did) it's critical - You may end up with something similar to that already done (maybe better in your opinion), but still not finished. Then your boss wants you to do other things. If you just do it in your spare time, you can freely decide on what you do, but progress won't be as fast. Probably at the beginning much more, but then development speed always decreases...
I state it again and clearly: If you succeed with your own ideas, I won't wait any second and migrate the Adaptec code and possibly use my experience to work on an OHCI driver. I would really like this, because then I wouldn't be bothered with the subsystem any more. But chances are good that you make good progress in the beginning, but at last the result will not be very different from what I've done. I'd call this a waste of time and work. I like Linux very much and I like the Linux-1394 project. I want to keep the project alive in any way.
Please think about what I wrote in the beginning about the interleaving of AIC and 1394 stuff. Be sure that you can cope with the items I mentioned.
Best regards,
Emanuel
--------------------------------------------------------------------------- Emanuel Pirker epirker@edu.uni-klu.ac.at
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |