To track a branch other then master you can do the following

clone the repository with

# git clone git://repo.or.cz/microdia.git

then track the branch you want

# git checkout --track -b prepare-for-kernel origin/prepare-for-kernel

To get this branch to compile outside of the kerenl souce you will
need one more command

#  git revert 3107ce53b16f2

That should allow compiling of the driver out of tree

Or.... I've also attached a patch that should fix this issue in the
master branch as well if you test it and it works correctly i'll push
it out to master

Oh and the way you can tell that you are using 64bit kernel is this
code only should get compiled in on a 64bit system.



On Sat, May 2, 2009 at 5:10 AM, Martin Herrman <[email protected]> wrote:
>
>
> On Fri, May 1, 2009 at 9:18 PM, Brian Johnson <[email protected]> wrote:
>>
>> The issue seems to be that the 32bit ioctl compatibility handling was
>> moved to the main v4l2 layer and drivers themselves should not include
>> code for this feature. I've pushed a fix out to the prepare-for-kernel
>> branch that removes this and should allow compilation on 2.6.29 64bit
>> systems.
>>
>> Note: because i noticed a slight goof were i had some of the patches
>> in that branch applied twice with the second set being empty patches.
>> I've deleted and re-pushed a corrected version of the
>> prepare-for-kernel branch. If you were tracking this one you should
>> probably delete your local copy and re-track the remote to make sure
>> you are in-sync.
>
> Hi Brian,
>
> first of all: thanks! (GWater, wondering how you knew that I am running
> 64-bit?)
>
> But.. how do I get this prepare-for-kernel branch?
>
> I tried "git clone git://repo.or.cz/w/microdia.git" because it is mentioned
> somewhere, but that doesn't work.
>
> What I now did was:
> 1. remove local microdia directory
> 2. fetch using "git clone http://repo.or.cz/r/microdia.git";
> 3. download .tar.gz from
> http://repo.or.cz/w/microdia.git?a=commit;h=9b31365b7da3acdee1ce690dced1322dc20804c3
> 4. copy the files from the .tar.gz into the microdia directory
> 5. 'make' :
>
> mar...@martindesktop ~/Desktop/microdia $ make
> make -C /lib/modules/2.6.29.2/build SUBDIRS=/home/martin/Desktop/
> microdia modules
> make[1]: Entering directory `/usr/src/linux-2.6.29.2'
>   Building modules, stage 2.
>   MODPOST 0 modules
> make[1]: Leaving directory `/usr/src/linux-2.6.29.2'
> make: ctags: Command not found
> make: *** [ctags] Error 127
>
> Martin
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Lets make microdia webcams plug'n play, (currently plug'n pray)
To post to this group, send email to [email protected]
Visit us online https://groups.google.com/group/microdia
-~----------~----~----~----~------~----~------~--~---

From 6a7a48f7fda98fe04515eadcf4a5c8c04f6dfddc Mon Sep 17 00:00:00 2001
From: Brian Johnson <[email protected]>
Date: Sat, 2 May 2009 07:14:32 -0400
Subject: [PATCH] Fix bug when compiling on 2.6.29 or greater 64bit kernel

Signed-off-by: Brian Johnson <[email protected]>
---
 sn9c20x-v4l2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/sn9c20x-v4l2.c b/sn9c20x-v4l2.c
index 3feaadd..2c99fbc 100644
--- a/sn9c20x-v4l2.c
+++ b/sn9c20x-v4l2.c
@@ -1493,7 +1493,7 @@ static struct v4l2_file_operations v4l_sn9c20x_fops = {
 	.poll = v4l_sn9c20x_poll,
 	.mmap = v4l_sn9c20x_mmap,
 	.ioctl = v4l_sn9c20x_ioctl,
-#ifdef CONFIG_COMPAT
+#if defined(CONFIG_COMPAT) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
 	.compat_ioctl = v4l_compat_ioctl32,
 #endif
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
-- 
1.5.6.3

Reply via email to