From fe5aa62b8b90d672ac573441179e4edf2b800f5e Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sat, 3 Jan 2009 19:10:35 -0200 Subject: fix compilation for kernels older than 2.6.26 From: Mauro Carvalho Chehab Priority: normal Signed-off-by: Mauro Carvalho Chehab --- v4l/versions.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'v4l') diff --git a/v4l/versions.txt b/v4l/versions.txt index 6d547a509..722a9283a 100644 --- a/v4l/versions.txt +++ b/v4l/versions.txt @@ -9,6 +9,8 @@ USB_STV06XX VIDEO_PXA27x # Requires struct i2c_device_id VIDEO_TVP514X +# requires id_table and new i2c stuff +RADIO_TEA5764 [2.6.25] # Requires gpiolib -- cgit v1.2.3 From d5c04e3ad97347a3b62795daac379028f2ade352 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 6 Jan 2009 01:39:15 -0200 Subject: fix compile with Fedora 10 kernel From: Nicola Soranzo Fix compile error about ioremap_nocache with kernel 2.6.27.9 shipped by Fedora 10. Signed-off-by: Nicola Soranzo Signed-off-by: Mauro Carvalho Chehab --- v4l/compat.h | 10 ++++++---- v4l/scripts/make_config_compat.pl | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'v4l') diff --git a/v4l/compat.h b/v4l/compat.h index 3b04c91f6..7fc249001 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -270,10 +270,6 @@ static inline int dummy_algo_control(struct i2c_adapter *adapter, #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28) #define snd_BUG_ON(cond) WARN((cond), "BUG? (%s)\n", __stringify(cond)) - -#define pci_ioremap_bar(pci, a) \ - ioremap_nocache(pci_resource_start(pci, a), \ - pci_resource_len(pci, a)) #endif #ifndef PCI_DEVICE_ID_MARVELL_88ALP01_CCIC @@ -410,5 +406,11 @@ static inline int usb_endpoint_type(const struct usb_endpoint_descriptor *epd) #define netdev_priv(dev) ((dev)->priv) #endif +#ifdef NEED_PCI_IOREMAP_BAR +#define pci_ioremap_bar(struct pci_dev *pdev, int bar) \ + ioremap_nocache(pci_resource_start(pdev, bar), \ + pci_resource_len(pdev, bar)) +#endif + #endif diff --git a/v4l/scripts/make_config_compat.pl b/v4l/scripts/make_config_compat.pl index dc6653b0d..d24b5f718 100755 --- a/v4l/scripts/make_config_compat.pl +++ b/v4l/scripts/make_config_compat.pl @@ -235,6 +235,25 @@ sub check_usb_endpoint_type() close INNET; } +sub check_pci_ioremap_bar() +{ + my $file = "$kdir/include/linux/pci.h"; + my $need_compat = 1; + + open INNET, "<$file" or die "File not found: $file"; + while () { + if (m/pci_ioremap_bar/) { + $need_compat = 0; + last; + } + } + + if ($need_compat) { + $out.= "\n#define NEED_PCI_IOREMAP_BAR 1\n"; + } + close INNET; +} + sub check_other_dependencies() { check_spin_lock(); @@ -249,6 +268,7 @@ sub check_other_dependencies() check_algo_control(); check_net_dev(); check_usb_endpoint_type(); + check_pci_ioremap_bar(); } # Do the basic rules -- cgit v1.2.3 From d0da4caaa598094de631107a681fb3193bb108dc Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 6 Jan 2009 01:41:20 -0200 Subject: compat.h: Fix a small error at the compat code From: Mauro Carvalho Chehab Priority: normal Signed-off-by: Mauro Carvalho Chehab CC: Nicola Soranzo --- v4l/compat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'v4l') diff --git a/v4l/compat.h b/v4l/compat.h index 7fc249001..186493d7f 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -407,7 +407,7 @@ static inline int usb_endpoint_type(const struct usb_endpoint_descriptor *epd) #endif #ifdef NEED_PCI_IOREMAP_BAR -#define pci_ioremap_bar(struct pci_dev *pdev, int bar) \ +#define pci_ioremap_bar(pdev, bar) \ ioremap_nocache(pci_resource_start(pdev, bar), \ pci_resource_len(pdev, bar)) #endif -- cgit v1.2.3 From c1b504b676a16c6e191f3db16d5ca9669cf1a4d0 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 9 Jan 2009 00:09:47 -0200 Subject: backport commit 5f820f648c92a5ecc771a96b3c29aa6e90013bba From: Mauro Carvalho Chehab Author: Tejun Heo poll: allow f_op->poll to sleep f_op->poll is the only vfs operation which is not allowed to sleep. It's because poll and select implementation used task state to synchronize against wake ups, which doesn't have to be the case anymore as wait/wake interface can now use custom wake up functions. The non-sleep restriction can be a bit tricky because ->poll is not called from an atomic context and the result of accidentally sleeping in ->poll only shows up as temporary busy looping when the timing is right or rather wrong. This patch converts poll/select to use custom wake up function and use separate triggered variable to synchronize against wake up events. The only added overhead is an extra function call during wake up and negligible. This patch removes the one non-sleep exception from vfs locking rules and is beneficial to userland filesystem implementations like FUSE, 9p or peculiar fs like spufs as it's very difficult for those to implement non-sleeping poll method. While at it, make the following cosmetic changes to make poll.h and select.c checkpatch friendly. * s/type * symbol/type *symbol/ : three places in poll.h * remove blank line before EXPORT_SYMBOL() : two places in select.c Oleg: spotted missing barrier in poll_schedule_timeout() Davide: spotted missing write barrier in pollwake() kernel-sync: Signed-off-by: Mauro Carvalho Chehab --- v4l/compat.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'v4l') diff --git a/v4l/compat.h b/v4l/compat.h index 186493d7f..b00e8eaf3 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -412,5 +412,13 @@ static inline int usb_endpoint_type(const struct usb_endpoint_descriptor *epd) pci_resource_len(pdev, bar)) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) +#define poll_schedule(pwq, task) \ + do { \ + set_current_state(task); \ + schedule(); \ + set_current_state(TASK_RUNNING); \ + } while (0) +#endif #endif -- cgit v1.2.3 From 044b398e152bf271db9a6bb7e7795b3184c863f5 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sat, 10 Jan 2009 12:34:53 +0100 Subject: pxa_camera needs 2.6.27 at minimum. From: Hans Verkuil Priority: normal Signed-off-by: Hans Verkuil --- v4l/versions.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'v4l') diff --git a/v4l/versions.txt b/v4l/versions.txt index 722a9283a..11b6004a6 100644 --- a/v4l/versions.txt +++ b/v4l/versions.txt @@ -4,9 +4,11 @@ [2.6.28] USB_STV06XX -[2.6.26] -# Needs camera.h +[2.6.27] +# Needs struct pxa_dma_desc VIDEO_PXA27x + +[2.6.26] # Requires struct i2c_device_id VIDEO_TVP514X # requires id_table and new i2c stuff -- cgit v1.2.3 From f0d64aedf578588f9671748feabd4ea84f23f29b Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Mon, 12 Jan 2009 09:09:08 -0800 Subject: scripts: Fix pull request script From: Trent Piepho Changeset 9220:ae5f57c85068 from Tobias Lorenz , broke the pull request script. Given the description of the changeset in its entirety is "merges from main", and that the other (totally unrelated) change introduced has already been reverted, I can only conclude that the changeset was a mistake from someone new to Hg. Priority: normal Signed-off-by: Trent Piepho CC: Tobias Lorenz --- v4l/scripts/hg-pull-req.pl | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'v4l') diff --git a/v4l/scripts/hg-pull-req.pl b/v4l/scripts/hg-pull-req.pl index 09f0b513f..66de967eb 100755 --- a/v4l/scripts/hg-pull-req.pl +++ b/v4l/scripts/hg-pull-req.pl @@ -81,11 +81,9 @@ if (`hg outgoing $from_repo` !~ /^no changes found$/m || open IN, "hg outgoing -M $to_repo |"; while() { - if(/^changeset:\s+\d+:([[:xdigit:]]+)$/) { + if(/^changeset:\s+\d+:([[:xdigit:]]{12})$/) { push @changesets, $1; - } elsif(/^description:$/) { - $_ = ; - /^(\S.*)$/; + } elsif(/^summary:\s+(\S.*)$/) { if ($1 =~ /^merge:/) { # Skip merge changesets pop @changesets; -- cgit v1.2.3