From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: PV drivers for HVM guests Date: Wed, 04 Oct 2006 13:02:59 +0200 Message-ID: <452394E3.6030000@suse.de> References: <45229025.E57C.0030.0@novell.com> <20061004081551.GC6274@rhun.haifa.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20061004081551.GC6274@rhun.haifa.ibm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Muli Ben-Yehuda Cc: xen-devel@lists.xensource.com, Ky Srinivasan List-Id: xen-devel@lists.xenproject.org Muli Ben-Yehuda wrote: >> A shim layer (i.e., a set of compat macros) that avoids ifdef'ing >> the core driver code is definitely the way to go. > > FWIW, neither option has a chance of being accepted upstream. Exactly thats why a shim layer is the way to go (if possible, doesn't work for all changes but for most). Did that that quite some time while maintaining the v4l subsystem. Making driver source code use the 2.6.latest conventions and have some compat.h header file full of stuff like this ... #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,xx) # define foo gryyz #endif or (better if possible as it catches distro backports, which does happen now and then for compiling recent drivers on old distro kernels). #ifndef bar # define bar xyzzy #endif nicely separates out the compat bits. It makes the code more readable and also is less work when submitting code upstream. cheers, Gerd -- Gerd Hoffmann http://www.suse.de/~kraxel/julika-dora.jpeg