[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20541.1364926056@warthog.procyon.org.uk>
Date: Tue, 02 Apr 2013 19:07:36 +0100
From: David Howells <dhowells@...hat.com>
To: Sarah Sharp <sarah.a.sharp@...ux.intel.com>
Cc: dhowells@...hat.com,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] xhci: Rename SEGMENT_SIZE and SEGMENT_SHIFT as the former is used in a.out.h
Sarah Sharp <sarah.a.sharp@...ux.intel.com> wrote:
> I guess my question is a deeper one: do we need to rename all the xHCI
> macros to have the XHCI_ prefix, in order to avoid future collision?
> For example, one of the macros is MAX_HC_PORTS, which could possibly be
> used by other host drivers in the future.
Hmmm...
I suspect the question is whether your symbols are likely to collide with
core symbols rather than symbols of unrelated drivers - after all, you're
unlikely to be #including the headers of those drivers.
I personally prefer to prefix the names of symbols in drivers with something
consistent for that driver to reduce namespace collisions - but I know not
everyone cares about that. Linux doesn't have much of a policy in this area
though. I also like it because it makes tags easier to use (fewer definitions
of the same symbol).
Whether you should go back and rename existing xHCI functions, I don't know.
I'd be tempted to leave it for now unless there's some collision. However,
things like MAX_HC_PORTS does seem a little generic. Further #define
collisions go unnoticed under some circumstances. Two obvious cases are (a)
redefinition of a symbol because it happens to be the same value and (b) where
the second one is accidentally suppressed because it is wrapped in a
conditional.
Perhaps we should move to C++ and use namespaces;-)
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists