Jean Tourrilhes wrote: > On Wed, Jun 16, 2004 at 07:06:13PM -0400, Jeff Garzik wrote: > >>It's not Jeff's weird personal preference that iw_handler be killed... >>type-opaque interfaces cause real problems. A good C programmer should >>very, very rarely use type-casting. > > > Yes, I know that I am really a perverse mind and I did > designed the API this way only to make your life miserable and to > sabotage the Linux kernel. > > As a matter of fact, I tried the strongly type approach you > advocate and find its kernel overhead not acceptable. Note that people > not using wireless have to suffer from this bloat, and wireless > extensions are used in embeeded platforms such as OpenAP, iPaq and > Zaurus where footprint matters. As you can see from the patch and header I have attached, there is _zero_ change to storage. No additional bloat. > Now, it seems that you clearly have not understood my > proposal, so I made a little patch, hopping that it will clear the > obvious miscommunication. Patch is below. > I hope you will notice that the changes are fairly trivial and > clean. And it's backward compatible. > I also want you to notice that the code is quasi optimal, > compared to rewritting the API, there is only one additional function > call (plus the backward compatibility). I know you won't believe me, > so verify that yourself. I think this is a small price to pay for > keeping backward compatibility with all those drivers outside the > kernel (see my web page). Sorry, keeping compatibility with drivers outside the kernel is _not_ a priority here. Backward compatibility is how this cruft accumulated in the first place. Go ahead and assume that drivers outside the kernel will break. This is no different from vendor drivers -- if the driver is not in the kernel, it doesn't exist. Jeff