[linux-usb-devel] [PATCH 6/6] [C67x00] Merge c67x00-hub.c into c67x00-hcd.c

Alan Stern stern at rowland.harvard.edu
Thu Jun 14 02:38:15 EST 2007


On Wed, 13 Jun 2007, Grant Likely wrote:

> I think we're crossing wires here.  In this particular case, I think
> the hub support code is sufficiently small that it doesn't need to be
> split off into a separate file.  (It's only 180 lines)  I'm not
> suggesting that the hub support stuff be moved to a .h file.
> 
> If the code was larger, I argue that c67x00-hub.c should be compiled
> separately from c67x00-hcd.c and that 'c67x00-hub.c' be added to
> 'c67x00-$(CONFIG_USB_C67X00_HCD)' in the Makefile.

> Heh, 'polluted' is too loaded a term, and it suggests something I
> didn't mean.  When the driver is built into the kernel, there are a
> number of c67x00_* symbols which are exported.  These symbols are not
> used anywhere other than in the c67x00 driver code.  However, this is
> necessary because the overall driver splits the various subsystems
> into separate .c files which are linked together.  This approach is
> well supported by convention in the kernel, and all the non-static
> symbols use the c67x00_ prefix to avoid collisions.
> 
> For example, see ib_core-y in drivers/infiniband/core/Makefile and
> pcieportdrv-y in drivers/pci/pcie/Makefile.
> 
> Since the driver already makes use of this approach, I don't think it
> makes sense to use a difference approach for the root hub support
> code.  (Again, I'm specifically talking about the c67x00 driver here;
> I've not looked at the *hci drivers in detail).

But you did say earlier that the way other drivers were written was a
bad idea...

In any case I agree that the root-hub code in c67x00 should be written
to match the style used by the rest of the driver.

> Of course, when it is built as a module, none of those symbols show up
> because they are not exported.

True.  And true as well of the other drivers which #include *.c files.

Alan Stern




More information about the Linuxppc-embedded mailing list