Re: when CONFIG_PCI is not defined

From: Jeff Garzik (jgarzik@mandrakesoft.com)
Date: Mon Jan 24 2000 - 07:54:29 EST


Martin,

Please do not copy private mail from me to a public list. Very bad
netiquette.

Martin Mares wrote:
> Jeff Garzik wrote:
> > Would you mind reviewing pci.h to make sure that all necessary functions
> > are exported when CONFIG_PCI is not defined?

> > I think that some of the recent PCI additions were not available for the
> > !CONFIG_PCI case. This is wrong IMHO because pci.h is specifically
> > designed to provide support to drivers even when CONFIG_PCI is
> > undefined. It leads to much cleaner driver code.

> I'm not sure at all that this is the right way to go.
[...]
> in which case nothing gets optimized away when compiling without CONFIG_PCI
> and you end up with the driver full of dead code. Therefore to be on the
> clean side of the glass, you need #ifdef CONFIG_PCI anyway, so there isn't
> much sense in providing pci_register_driver() stub for PCI-less cases.

Well, if that is your and Linus' feeling, then you should rip out all
the inlined compatibility code. As it stands now, there is a random
collection of functions which work correctly for the !CONFIG_PCI case,
and a random collection of functions which break if CONFIG_PCI is not
defined. Bug city.

I fully realize that inlined functions with the new API would create a
SMALL bit of dead code. If you look at driver usage of the old APIs,
this condition has existed for a long time. Dead code with !CONFIG_PCI
was always a possibility.

Linus seems to favor _removing_ #ifdef trees from the main source code.
Your proposal adds #ifdefs to code, making driver code less clean (if
0.00001% more efficient for the !CONFIG_PCI case).

Regards,

        Jeff

+

-- 
Jeff Garzik         | Andre the Giant has a posse.
Building 1024       |
MandrakeSoft, Inc.  |

- 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/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:12 EST