All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [MIPS]clocks_calc_mult_shift() may gen a too big mult value
From: John Stultz @ 2011-10-31 13:03 UTC (permalink / raw)
  To: Chen Jie
  Cc: Yong Zhang, linux-mips, LKML, tglx, yanhua, 项宇,
	zhangfx, 孙海勇
In-Reply-To: <CAGXxSxUHGN99hXK8K5k9ayVfMenAWAbWVpqkotix_JyUbPCU+w@mail.gmail.com>

On Mon, 2011-10-31 at 18:48 +0800, Chen Jie wrote:
> Hi,
> 
> 2011/10/31 Yong Zhang <yong.zhang0@gmail.com>:
> > On Mon, Oct 31, 2011 at 5:00 PM, Chen Jie <chenj@lemote.com> wrote:
> >> Hi all,
> >>
> >> On MIPS, with maxsec=4, clocks_calc_mult_shift() may generate a very
> >> big mult, which may easily cause timekeeper.mult overflow within
> >> timekeeping jobs.
> >
> > Hmmm, why not use clocksource_register_hz()/clocksource_register_khz()
> > instead? it's more convenient.
> 
> Thanks for the suggestion. And sorry for I didn't notice the upstream
> code has already hooked to clocksource_register_hz() in csrc-r4k.c
> (We're using r4000 clock source)
> 
> I'm afraid this still doesn't fix my case. Through
> clocksource_register_hz()->__clocksource_register_scale()->__clocksource_updatefreq_scale,
> I got a calculated maxsec = (0xffffffff - (0xffffffff>>5))/250000500 =
> 16        # assume mips_hpt_frequency=250000500
> 
> With this maxsec, I got a mult of 0xffffde72, still too big.

Hrmm. Yong Zang is right to suggest clocksource_register_hz(), as the
intention of that code is to try to avoid these sorts of issues.

What is the corresponding shift value you're getting for the value
above?

Could you annotate clocks_calc_mult_shift() a little bit to see where
things might be going wrong?

thanks
-john

^ permalink raw reply

* [PATCH 2/2 v4] net/smsc911x: Add regulator support
From: Robert Marklund @ 2011-10-31 12:38 UTC (permalink / raw)
  To: netdev, Steve Glendinning
  Cc: Mathieu Poirier, Robert Marklund, Paul Mundt, linux-sh,
	Sascha Hauer, Tony Lindgren, linux-omap, Mike Frysinger,
	uclinux-dist-devel, Linus Walleij

Add some basic regulator support for the power pins, as needed
by the ST-Ericsson Snowball platform that powers up the SMSC911
chip using an external regulator.

Platforms that use regulators and the smsc911x and have no defined
regulator for the smsc911x and claim complete regulator
constraints with no dummy regulators will need to provide it, for
example using a fixed voltage regulator. It appears that this may
affect (apart from Ux500 Snowball) possibly these archs/machines
that from some grep:s appear to define both CONFIG_SMSC911X and
CONFIG_REGULATOR:

- ARM Freescale mx3 and OMAP 2 plus, Raumfeld machines
- Blackfin
- Super-H

Cc: Paul Mundt <lethal@linux-sh.org>
Cc: linux-sh@vger.kernel.org
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: uclinux-dist-devel@blackfin.uclinux.org
Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog v3->v4:
- Remove dual prints and old comment on Mike's request.
- Split the request_free fucntion on Mike and Sascha request.
ChangeLog v2->v3:
- Use bulk regulators on Mark's request.
- Add Cc-fileds to some possibly affected platforms.
ChangeLog v1->v2:
- Don't check for NULL regulators and error out properly if the
  regulators can't be found. All platforms using the smsc911x
  and the regulator framework simultaneously need to provide some
  kind of regulator for it.
---
 drivers/net/ethernet/smsc/smsc911x.c |  103 ++++++++++++++++++++++++++++++----
 1 files changed, 92 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
index 8843071..9a2e792 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -44,6 +44,7 @@
 #include <linux/module.h>
 #include <linux/netdevice.h>
 #include <linux/platform_device.h>
+#include <linux/regulator/consumer.h>
 #include <linux/sched.h>
 #include <linux/timer.h>
 #include <linux/bug.h>
@@ -88,6 +89,8 @@ struct smsc911x_ops {
 				unsigned int *buf, unsigned int wordcount);
 };
 
+#define SMSC911X_NUM_SUPPLIES 2
+
 struct smsc911x_data {
 	void __iomem *ioaddr;
 
@@ -138,6 +141,9 @@ struct smsc911x_data {
 
 	/* register access functions */
 	const struct smsc911x_ops *ops;
+
+	/* regulators */
+	struct regulator_bulk_data supplies[SMSC911X_NUM_SUPPLIES];
 };
 
 /* Easy access to information */
@@ -362,6 +368,68 @@ out:
 	spin_unlock_irqrestore(&pdata->dev_lock, flags);
 }
 
+/*
+ * Enable or disable resources, currently just regulators.
+ */
+static int smsc911x_enable_disable_resources(struct platform_device *pdev,
+					     bool enable)
+{
+	struct net_device *ndev = platform_get_drvdata(pdev);
+	struct smsc911x_data *pdata = netdev_priv(ndev);
+	int ret = 0;
+
+	/* enable/disable regulators */
+	if (enable) {
+		ret = regulator_bulk_enable(ARRAY_SIZE(pdata->supplies),
+				pdata->supplies);
+		if (ret)
+			netdev_err(ndev, "failed to enable regulators %d\n",
+					ret);
+	} else
+		ret = regulator_bulk_disable(ARRAY_SIZE(pdata->supplies),
+				pdata->supplies);
+	return ret;
+}
+
+/*
+ * Request resources, currently just regulators.
+ *
+ * The SMSC911x has two power pins: vddvario and vdd33a, in designs where
+ * these are not always-on we need to request regulators to be turned on
+ * before we can try to access the device registers.
+ */
+static int smsc911x_request_resources(struct platform_device *pdev)
+{
+	struct net_device *ndev = platform_get_drvdata(pdev);
+	struct smsc911x_data *pdata = netdev_priv(ndev);
+	int ret = 0;
+
+	/* Request regulators */
+	pdata->supplies[0].supply = "vdd33a";
+	pdata->supplies[1].supply = "vddvario";
+	ret = regulator_bulk_get(&pdev->dev,
+			ARRAY_SIZE(pdata->supplies),
+			pdata->supplies);
+	if (ret)
+		netdev_err(ndev, "couldn't get regulators %d\n",
+				ret);
+	return ret;
+}
+
+/*
+ * Free resources, currently just regulators.
+ *
+ */
+static void smsc911x_free_resources(struct platform_device *pdev)
+{
+	struct net_device *ndev = platform_get_drvdata(pdev);
+	struct smsc911x_data *pdata = netdev_priv(ndev);
+
+	/* Free regulators */
+	regulator_bulk_free(ARRAY_SIZE(pdata->supplies),
+			pdata->supplies);
+}
+
 /* waits for MAC not busy, with timeout.  Only called by smsc911x_mac_read
  * and smsc911x_mac_write, so assumes mac_lock is held */
 static int smsc911x_mac_complete(struct smsc911x_data *pdata)
@@ -2092,6 +2160,9 @@ static int __devexit smsc911x_drv_remove(struct platform_device *pdev)
 
 	iounmap(pdata->ioaddr);
 
+	(void)smsc911x_enable_disable_resources(pdev, false);
+	smsc911x_free_resources(pdev);
+
 	free_netdev(dev);
 
 	return 0;
@@ -2218,10 +2289,20 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	pdata->dev = dev;
 	pdata->msg_enable = ((1 << debug) - 1);
 
+	platform_set_drvdata(pdev, dev);
+
+	retval = smsc911x_request_resources(pdev);
+	if (retval)
+		goto out_return_resources;
+
+	retval = smsc911x_enable_disable_resources(pdev, true);
+	if (retval)
+		goto out_disable_resources;
+
 	if (pdata->ioaddr == NULL) {
 		SMSC_WARN(pdata, probe, "Error smsc911x base address invalid");
 		retval = -ENOMEM;
-		goto out_free_netdev_2;
+		goto out_disable_resources;
 	}
 
 	retval = smsc911x_probe_config_dt(&pdata->config, np);
@@ -2233,7 +2314,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 
 	if (retval) {
 		SMSC_WARN(pdata, probe, "Error smsc911x config not found");
-		goto out_unmap_io_3;
+		goto out_disable_resources;
 	}
 
 	/* assume standard, non-shifted, access to HW registers */
@@ -2244,7 +2325,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 
 	retval = smsc911x_init(dev);
 	if (retval < 0)
-		goto out_unmap_io_3;
+		goto out_disable_resources;
 
 	/* configure irq polarity and type before connecting isr */
 	if (pdata->config.irq_polarity == SMSC911X_IRQ_POLARITY_ACTIVE_HIGH)
@@ -2264,15 +2345,13 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	if (retval) {
 		SMSC_WARN(pdata, probe,
 			  "Unable to claim requested irq: %d", dev->irq);
-		goto out_unmap_io_3;
+		goto out_free_irq;
 	}
 
-	platform_set_drvdata(pdev, dev);
-
 	retval = register_netdev(dev);
 	if (retval) {
 		SMSC_WARN(pdata, probe, "Error %i registering device", retval);
-		goto out_unset_drvdata_4;
+		goto out_free_irq;
 	} else {
 		SMSC_TRACE(pdata, probe,
 			   "Network interface: \"%s\"", dev->name);
@@ -2321,12 +2400,14 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 
 out_unregister_netdev_5:
 	unregister_netdev(dev);
-out_unset_drvdata_4:
-	platform_set_drvdata(pdev, NULL);
+out_free_irq:
 	free_irq(dev->irq, dev);
-out_unmap_io_3:
+out_disable_resources:
+	(void)smsc911x_enable_disable_resources(pdev, false);
+out_return_resources:
+	smsc911x_free_resources(pdev);
+	platform_set_drvdata(pdev, NULL);
 	iounmap(pdata->ioaddr);
-out_free_netdev_2:
 	free_netdev(dev);
 out_release_io_1:
 	release_mem_region(res->start, resource_size(res));
-- 
1.7.1


^ permalink raw reply related

* Re: [lm-sensors] [RFC][PATCH] hwmon: add support for MCP3204/3208
From: Paul Fertser @ 2011-10-31 13:04 UTC (permalink / raw)
  To: lm-sensors
In-Reply-To: <201110311247.p9VClrVx017871@home.pavel.comp>

On Mon, Oct 31, 2011 at 01:54:33PM +0100, Jean Delvare wrote:
> > but at least the max1111 uses the former. Waiting for your feedback.
> 
> Thanks for pointing this out. I don't know how it managed to sneak in,
> but it shouldn't have. I'll ask the driver author to align with the
> standard interface quickly, otherwise we'll have to delete the driver
> altogether.

What do you propose to use for raw ADC data then? How should i
proceed?

-- 
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercerpav@gmail.com

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply

* [ath9k-devel] AR9285 and Thompson TG585 v8 connection problems
From: Mohammed Shafi @ 2011-10-31 13:04 UTC (permalink / raw)
  To: ath9k-devel
In-Reply-To: <4EAC1C80.4040704@summers5913.freeserve.co.uk>

On Sat, Oct 29, 2011 at 9:02 PM, David Summers
<ath9k@summers5913.freeserve.co.uk> wrote:
> No switches on my card. Card came already attached to the MTB when I
> bought it, looks like its just the raw AR9285 chip you can see here:
>
> http://www.qca.qualcomm.com/media/product/product_79_file1.pdf
>
> I'll try just using each antenna alone and see if one works. So which
> channel transmits can be configured in software, rather than being hard
> wired?

i assume if we remove the antenna in chain0, the performance will be
bad. as per my assumption tx will always happen in chain0.(does we
have some tx diversity?)

>
> Anyway I'll dig some more - if there is anything else I can do to help,
> give a shout.

please try the attached patch in your compat wireless which disables
antenna diversity.
you can apply by patch -p1 < disable-antenna-diversity.patch in your
compat wireless directory

please see in the kernel.log if the diversity is first of all enabled.
lets find out if really that because of this the problem had occurred.
usually enabling this feature indeed improves the throughput a lot.
may be its a regression, if its previously working properly.
pls make sure that both of your antenna are good and no mismatches.
some time one broken antenna can also cause a problem.

>
> Thanks,
>
> David.
>
>
> On 27/10/11 12:23, Adrian Chadd wrote:
>> Wait a sec! That's still a bug. Still very a bug! (And a bug with FreeBSD too!)
>>
>> The AR9285 has two RX and one TX radio. It _can_ have:
>>
>> * no antenna switch, so the RX mixing is done on the chip itself (the
>> A+B, A-B, A, B RX antenna diversity code) - where TX only occurs on
>> one antenna;
>> * an antenna switch, so the RX/TX can be flipped around;
>> * both combined.
>>
>> So if you've got an AR9285 with one antenna connected, we should see
>> what is going on. Ie:
>>
>> * does your AR9285 have an antenna switch or not;
>> * does your AR9285 have an issue with TX or RX.
>>
>> So let's try something - can you please attach an antenna on the
>> _other_ antenna, just one. Let's see how it behaves?
>>
>> The AR9285 antenna selection and diversity code is still a bit magic
>> and I think it could do with a lot better debugging and logging. So
>> you've found yet another case which we should handle. :)
>>
>> Thanks!
>>
>>
>> Adrian
>>
>>
>
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>



-- 
shafi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: disable-antenna-diversity.patch
Type: text/x-diff
Size: 850 bytes
Desc: not available
Url : http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20111031/fc20cf71/attachment.patch 

^ permalink raw reply

* Re: [PATCH 6/7] ath6kl: Perform WOW resume in RX path in case of SDIO IRQ wakeup
From: Kalle Valo @ 2011-10-31 13:03 UTC (permalink / raw)
  To: Raja Mani; +Cc: linux-wireless
In-Reply-To: <4EAE707D.6070806@qca.qualcomm.com>

On 10/31/2011 11:55 AM, Raja Mani wrote:
> On Friday 28 October 2011 06:48 PM, Kalle Valo wrote:
>> On 10/25/2011 01:37 PM, rmani@qca.qualcomm.com wrote:
>>> --- a/drivers/net/wireless/ath/ath6kl/txrx.c
>>> +++ b/drivers/net/wireless/ath/ath6kl/txrx.c
>>> @@ -1081,6 +1081,8 @@ void ath6kl_rx(struct htc_target *target, struct htc_packet *packet)
>>>   		return;
>>>   	}
>>>
>>> +	ath6kl_pm_check_wow_status(ar);
>>
>> Now we resume from two places, cfg80211 resume handler and here. Why do
>> we need to do that? Why isn't cfg80211 resume handler enough?
> 
> This path hits when the target wants to wake up the host. When given WOW 
> pattern matches, the target will pull SDIO data line to wake up the 
> host. During that time , the control will reach here (sdio irq handler 
> -> ath6kl_rx function), not to cfg80211 resume.

I don't understand this. Are you saying that host resumes but cfg80211
resume handler is not called? It doesn't make sense, every suspend call
should have an equivalent resume call. If that doesn't happen, something
is broken somewhere.

Kalle

^ permalink raw reply

* Re: cq error timeout issue
From: Or Gerlitz @ 2011-10-31 13:00 UTC (permalink / raw)
  To: Vlad Weinbaum
  Cc: Hefty, Sean, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <CAFAcbYNJFH0n=gFwki0uLUzDd6cu7MxuHR99x9i9wUY3xp+Hdg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Mon, Oct 31, 2011 at 9:08 AM, Vlad Weinbaum
<vlad.weinbaum-adSD+vzF2QdBDgjK7y7TUQ@public.gmane.org> wrote:
> [...] I found detail that I cannot explain. I query the QP after connect and get timeout value 16,
>  that must be 4 us * 2^16 = 256 ms, but I get about 800 ms.

As Sean indicated, the timeout is **based** on the packet_life_time,
in case you're configuring
your QP through the rdma-cm, the IB stack code actually adds one to
the packet_life_time quantity
as a rough estimate for the local hca ack delay, still maybe there is
a hole here and the query qp verb
isn't reporting correctly, what was the value you configured on the sm
side, and how many retries did
you use for the qp? each retry will double the time you should be
observing in practice.

Or.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [patch 07/66] btrfs: clear_extent_bit error push-up
From: Chris Mason @ 2011-10-31 13:00 UTC (permalink / raw)
  To: Ilya Dryomov; +Cc: Jeff Mahoney, Jeff Mahoney, David Sterba, Linux Btrfs
In-Reply-To: <20111031123041.GA26393@zambezi.lan>

On Mon, Oct 31, 2011 at 02:30:42PM +0200, Ilya Dryomov wrote:
> On Wed, Oct 26, 2011 at 12:13:46PM -0400, Jeff Mahoney wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > On 10/26/2011 12:09 PM, David Sterba wrote:
> > > On Wed, Oct 26, 2011 at 11:18:42AM -0400, Jeff Mahoney wrote:
> > >>>> extent_io_tree *tree, u64 start, u64 end, -		       gfp_t
> > >>>> mask); +		       gfp_t mask) __must_check;
> > >>> ^^^^^^^^^^^^ shouldn't this be placed at the beginning of the 
> > >>> prototype?
> > >> 
> > >> I don't see why that would need to be the case. It needs to be at
> > >> the beginning of the prototype if it's the actual function
> > >> definition but not when it's a prototype.
> > > 
> > > I'm not aware of a general recommendation, but the __must_check is 
> > > related to return value and makes sense to place it there. There is
> > > no other instance of __must_check placed at the end of 
> > > declaratin/definition so I'm applying the "be consistent with 
> > > surrounding code" rule.
> > 
> > Putting it at the beginning means indenting the entire prototype,
> > which I'm not a fan of.
> > 
> > - -Jeff
> 
> I think it would be much better to put it at the beginning.  For one
> it's conventional and the rest of the kernel puts it at the beginning.
> The other, and much more important, thing is that it greatly confuses C
> indexing tools like cscope.  Now you could argue that those tools' regexes
> should be tweaked but since it's just a matter of taste why don't put it
> at the beginning ?

The rest of the kernel seems to use the beginning.  I don't really have
a preference, but it's good to use the same standard as the rest of the
kernel.

(Sorry Jeff)

-chris


^ permalink raw reply

* Re: [GIT PULL] Queue free fix (was Re: [PATCH] block: Free queue resources at blk_release_queue())
From: Heiko Carstens @ 2011-10-31 13:00 UTC (permalink / raw)
  To: Jun'ichi Nomura
  Cc: James Bottomley, Steffen Maier, linux-scsi@vger.kernel.org,
	Jens Axboe, Hannes Reinecke, Linux Kernel, Alan Stern,
	Thadeu Lima de Souza Cascardo, Taraka R. Bodireddy,
	Seshagiri N. Ippili, Manvanthara B. Puttashankar, Jeff Moyer,
	Shaohua Li, Mike Snitzer, gmuelas
In-Reply-To: <4EAE8A7E.8000504@ce.jp.nec.com>

On Mon, Oct 31, 2011 at 08:46:06PM +0900, Jun'ichi Nomura wrote:
> Hm, dm_softirq_done is generic completion code of original
> request in dm-multipath.
> So oops here might be another manifestation of use-after-free.
> 
> Do you always hit the oops at the same address?

I think we saw this bug the first time. But before that the scsi
logging level was higher. Gonzalo is trying to recreate it with
the same (old) scsi logging level.
Afterwards we will try with barrier=0.

Both on v3.0.7 btw.

> Could you find corresponding source code line for
> the crashed address, dm_softirq_done+0x72/0x140,
> and which pointer was invalid?

It crashes in the inlined function dm_done() when trying to
dereference tio (aka clone->end_io_data):

static void dm_done(struct request *clone, int error, bool mapped)
{
        int r = error;
        struct dm_rq_target_io *tio = clone->end_io_data;
        dm_request_endio_fn rq_end_io = tio->ti->type->rq_end_io;

^ permalink raw reply

* Re: [alsa-devel] [PATCH v8 3/3] ASoC: da7210: Add support for line input and mic
From: Mark Brown @ 2011-10-31 12:59 UTC (permalink / raw)
  To: Ashish Chavan
  Cc: lrg, alsa-devel, David Dajun Chen, kuninori.morimoto.gx,
	linux-kernel
In-Reply-To: <1320053139.4064.8.camel@matrix>

On Mon, Oct 31, 2011 at 02:55:39PM +0530, Ashish Chavan wrote:

> Is this really applied? I am looking at both for-3.2 and for-3.3
> branches of linux-2.6-asoc.git and can only see commits till previous
> one (i.e. ASoC: da7210: Add support for line out and DAC). I couldn't
> find commit corresponding to this patch!

> Is there any other place to look for?

No, it mustn't have got out of my application queue for some reason.

^ permalink raw reply

* Re: [PATCH-RFC] nfs41: handle BLK_LAYOUT CB_RECALL_ANY
From: Benny Halevy @ 2011-10-31 12:58 UTC (permalink / raw)
  To: Peng Tao; +Cc: linux-nfs, Trond.Myklebust, Peng Tao
In-Reply-To: <1319426747-2179-1-git-send-email-bergwolf@gmail.com>

On 2011-10-24 05:25, Peng Tao wrote:
> Hi, Trond and Benny,
> 
> The patch depends on the pnfs private workqueue for now. So I want to consult
> you about where to put the work. Is pnfs private workqueue dropped? If yes, where
> should I put this kind of work?

I'll defer this to Trond.
I'm OK with having a workqueue for pnfs.

Benny

> 
> Thanks,
> Tao
> 
> For blocklayout, we want to issue layoutreturn to return layouts when
> handling CB_RECALL_ANY.
> 
> Signed-off-by: Peng Tao <peng_tao@emc.com>
> ---
>  fs/nfs/callback_proc.c |   55 +++++++++++++++++++++++++++++++++++++++++-------
>  include/linux/nfs4.h   |    3 +-
>  2 files changed, 49 insertions(+), 9 deletions(-)
> 
> diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c
> index 43926ad..6bb005c 100644
> --- a/fs/nfs/callback_proc.c
> +++ b/fs/nfs/callback_proc.c
> @@ -160,7 +160,8 @@ static u32 initiate_file_draining(struct nfs_client *clp,
>  }
>  
>  static u32 initiate_bulk_draining(struct nfs_client *clp,
> -				  struct cb_layoutrecallargs *args)
> +				  struct cb_layoutrecallargs *args,
> +				  int sendreturn)
>  {
>  	struct nfs_server *server;
>  	struct pnfs_layout_hdr *lo;
> @@ -204,12 +205,47 @@ static u32 initiate_bulk_draining(struct nfs_client *clp,
>  		list_del_init(&lo->plh_bulk_recall);
>  		spin_unlock(&ino->i_lock);
>  		pnfs_free_lseg_list(&free_me_list);
> +		if (sendreturn && list_empty(&lo->plh_segs))
> +			pnfs_return_layout(ino);
>  		put_layout_hdr(lo);
>  		iput(ino);
>  	}
>  	return rv;
>  }
>  
> +struct recallany_data {
> +	struct nfs_client *clp;
> +	struct work_struct ra_work;
> +};
> +
> +static void layout_recallany_draining(struct work_struct *work)
> +{
> +	struct recallany_data *ra;
> +	struct cb_layoutrecallargs args;
> +
> +	memset(&args, 0, sizeof(args));
> +	ra = container_of(work, struct recallany_data, ra_work);
> +	/* Ignore draining error. Per RFC, if layoutreturns are not sent, it is up
> +	 * to server to handle the situation (e.g., send specific layoutrecalls).
> +	 */
> +	initiate_bulk_draining(ra->clp, &args, 1);
> +	kfree(ra);
> +}
> +
> +static u32 init_recallany_draining(struct nfs_client *clp)
> +{
> +	struct recallany_data *ra;
> +
> +	ra = kmalloc(sizeof(*ra), GFP_NOFS);
> +	if (ra) {
> +		ra->clp = clp;
> +		INIT_WORK(&ra->ra_work, layout_recallany_draining);
> +		pnfsiod_queue_work(&ra->ra_work);
> +		return NFS4_OK;
> +	}
> +	return NFS4ERR_DELAY;
> +}
> +
>  static u32 do_callback_layoutrecall(struct nfs_client *clp,
>  				    struct cb_layoutrecallargs *args)
>  {
> @@ -220,8 +256,10 @@ static u32 do_callback_layoutrecall(struct nfs_client *clp,
>  		goto out;
>  	if (args->cbl_recall_type == RETURN_FILE)
>  		res = initiate_file_draining(clp, args);
> +	if (args->cbl_recall_type == RETURN_ANY)
> +		res = init_recallany_draining(clp);
>  	else
> -		res = initiate_bulk_draining(clp, args);
> +		res = initiate_bulk_draining(clp, args, 0);
>  	clear_bit(NFS4CLNT_LAYOUTRECALL, &clp->cl_state);
>  out:
>  	dprintk("%s returning %i\n", __func__, res);
> @@ -245,15 +283,13 @@ __be32 nfs4_callback_layoutrecall(struct cb_layoutrecallargs *args,
>  	return cpu_to_be32(res);
>  }
>  
> -static void pnfs_recall_all_layouts(struct nfs_client *clp)
> +static __be32 pnfs_recall_all_layouts(struct nfs_client *clp, uint32_t type)
>  {
>  	struct cb_layoutrecallargs args;
>  
> -	/* Pretend we got a CB_LAYOUTRECALL(ALL) */
>  	memset(&args, 0, sizeof(args));
> -	args.cbl_recall_type = RETURN_ALL;
> -	/* FIXME we ignore errors, what should we do? */
> -	do_callback_layoutrecall(clp, &args);
> +	args.cbl_recall_type = type;
> +	return cpu_to_be32(do_callback_layoutrecall(clp, &args));
>  }
>  
>  __be32 nfs4_callback_devicenotify(struct cb_devicenotifyargs *args,
> @@ -533,7 +569,10 @@ __be32 nfs4_callback_recallany(struct cb_recallanyargs *args, void *dummy,
>  		flags |= FMODE_WRITE;
>  	if (test_bit(RCA4_TYPE_MASK_FILE_LAYOUT, (const unsigned long *)
>  		     &args->craa_type_mask))
> -		pnfs_recall_all_layouts(cps->clp);
> +		pnfs_recall_all_layouts(cps->clp, RETURN_ALL);
> +	if (test_bit(RCA4_TYPE_MASK_BLK_LAYOUT, (const unsigned long *)
> +		     &args->craa_type_mask))
> +		status = pnfs_recall_all_layouts(cps->clp, RETURN_ANY);
>  	if (flags)
>  		nfs_expire_all_delegation_types(cps->clp, flags);
>  out:
> diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h
> index 76f99e8..1f71a9e 100644
> --- a/include/linux/nfs4.h
> +++ b/include/linux/nfs4.h
> @@ -597,7 +597,8 @@ enum pnfs_layouttype {
>  enum pnfs_layoutreturn_type {
>  	RETURN_FILE = 1,
>  	RETURN_FSID = 2,
> -	RETURN_ALL  = 3
> +	RETURN_ALL  = 3,
> +	RETURN_ANY  = 4
>  };
>  
>  enum pnfs_iomode {

^ permalink raw reply

* jc/lookup-object-hash from pu crashes on ARM
From: Jonathan Nieder @ 2011-10-31 12:56 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git
In-Reply-To: <7vzkglrnmc.fsf@alter.siamese.dyndns.org>

Junio C Hamano wrote:

> * jc/lookup-object-hash (2011-08-11) 6 commits
>  - object hash: replace linear probing with 4-way cuckoo hashing
>  - object hash: we know the table size is a power of two
>  - object hash: next_size() helper for readability
>  - pack-objects --count-only
>  - object.c: remove duplicated code for object hashing
>  - object.c: code movement for readability

The code from the tip commit crashes on ARM for me (and presumably
would also misbehave on other platforms that care about alignment):

 $ git branch -av
 Bus error

The following might avoid that:

	static inline unsigned int H(const unsigned char *sha1, int ix)
	{
		unsigned int hash;
		memcpy(&hash, sha1 + ix * sizeof(unsigned int),
				sizeof(unsigned int));
		return hash % (obj_hash_size - 1);
	}

Even better could be to start aligning the hashes we pass around,
using something like this:

	union object_hash {
		unsigned char sha1[20];
		uint32_t chunk[5];
	};

which could speed up functions like hashcpy(), hashcmp(), and
hasheq().  But it's probably not worth the fuss.

Call chain:

	cmd_branch -> print_ref_list -> for_each_rawref ->
	  do_for_each_ref -> do_one_ref(entry=0x175508) ->
	  append_ref(sha1=0x175509) ->
	  lookup_commit_reference_gently -> parse_object ->
	  parse_object_buffer -> lookup_commit -> lookup_object

This is from testing pu (ed7c265e), in case that's relevant.  Aside
from that, the topic looks neat. :)

^ permalink raw reply

* Re: [lm-sensors] [RFC][PATCH] hwmon: add support for MCP3204/3208
From: Jean Delvare @ 2011-10-31 12:54 UTC (permalink / raw)
  To: lm-sensors
In-Reply-To: <201110311247.p9VClrVx017871@home.pavel.comp>

On Mon, 31 Oct 2011 16:10:23 +0400, Paul Fertser wrote:
> Add support for these simple low-power cheap ADC ICs.
> 
> Signed-off-by: Paul Fertser <fercerpav@gmail.com>
> ---
> 
> Well, adc*_in and adc_diff*_in are not mentioned in the sysfs-attributes.txt

Indeed, and this alone means a bold NACK without even reviewing your
code. Sticking to Documentation/hwmon/sysfs-attributes is mandatory.

> but at least the max1111 uses the former. Waiting for your feedback.

Thanks for pointing this out. I don't know how it managed to sneak in,
but it shouldn't have. I'll ask the driver author to align with the
standard interface quickly, otherwise we'll have to delete the driver
altogether.

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply

* 工程招标8205453
From: onbbhpv @ 2011-10-31  6:40 UTC (permalink / raw)
  To: jayo, 367, shaoyunjuan, 1260806118, netdev, dior, taizhouyizhouzy,
	esdx

14:40:23你好,我们公 司有发 qs票可以优 惠对外ql开,普通、增值、服务、商业等发qa 票,(可以验证后付m款)本信 息长 期有效,联m系方式请做保留备需要时用,联 系人;vg周 小姐159-1988-6069(期 待与你的合 作)}·学而优书店:思与学的“广州湾”

^ permalink raw reply

* Re: [Xenomai-help] configuring user-space xenomai 2.6
From: Łukasz Sacha @ 2011-10-31 12:52 UTC (permalink / raw)
  To: xenomai
In-Reply-To: <CAAeYjMkmDOLgEdGYPBmyWSPOCaOqWhnC+exeAg6ERzhp8uWkdg@domain.hid>

This is the line configure generated to test whether compiler works:
arm-none-linux-gnueabi-gcc –march=armv4t –mtune=arm920t -o conftest
-march=armv4t -march=armv4t conftest.c
(notice tripple  -march=armv4t)

when I execute it it gives me:
arm-none-linux-gnueabi-gcc: –march=armv4t: No such file or directory
arm-none-linux-gnueabi-gcc: –mtune=arm920t: No such file or directory
arm-none-linux-gnueabi-gcc: conftest.c: No such file or directory
arm-none-linux-gnueabi-gcc: no input files

However with a single  -march=armv4t it doesn't work either.
luke@domain.hid$
arm-none-linux-gnueabi-gcc -march=armv4t –mtune=arm920t -o conftest
conftest.c
arm-none-linux-gnueabi-gcc: –mtune=arm920t: No such file or directory
arm-none-linux-gnueabi-gcc: conftest.c: No such file or directory
arm-none-linux-gnueabi-gcc: no input files

.. which is strange, because arm-none-linux-gnueabi-gcc --help tells
me all the options are ok:
"Options starting with -g, -f, -m, -O, -W, or --param are automatically
 passed on to the various sub-processes invoked by arm-none-linux-gnueabi-gcc."

Seems -mtune is not recognized by some subprocess, but which and why?

cheers :)

--
Łukasz Dragilla Sacha



On Mon, Oct 31, 2011 at 13:35, Łukasz Sacha <dragilla@domain.hid> wrote:
> I think I've identified the problem.
> There might be inconsistency in the script. In the README_INSTALL you
> write to give --host without the ending "-" whereas in the example it
> states to give --host=arm-none-linux-gnueabi-
> This is what happens when I write the host without the ending "-".
>
> luke@domain.hid$ ./configure
> CFLAGS="-march=armv4t" LDFLAGS="-march=armv4t"
> --host=arm-none-linux-gnueabi --build=i686-pc-linux-gnu
> checking build system type... i686-pc-linux-gnu
> checking host system type... arm-none-linux-gnueabi
> checking for a BSD-compatible install... /usr/bin/install -c
> checking for arm-none-linux-gnueabi-gcc... arm-none-linux-gnueabi-gcc
> –march=armv4t –mtune=arm920t
> checking whether the C compiler works... no
> configure: error: in `/home/luke/Desktop/moje/mini2440/xenomai-2.6.0-rc5':
> configure: error: C compiler cannot create executables
> See `config.log' for more details
>
> Any ideas?
> --
> Łukasz Dragilla Sacha
>
>
>
> On Mon, Oct 31, 2011 at 13:14, Łukasz Sacha <dragilla@domain.hid> wrote:
>> Hey,
>>
>> I'm following README_INSTALL from the xenoami 2.6 tree. I successfully
>> patched and built the kernel 2.6.38.8 and modules. Now I'm trying to
>> configure the user-space.
>> I'm running the configure command as given in the example:
>> ./configure CFLAGS="-march=armv4t" LDFLAGS="-march=armv4t"
>> --host=arm-none-linux-gnueabi- --build=i686-pc-linux-gnu
>> I get the following error:
>> checking build system type... i686-pc-linux-gnu
>> checking host system type... Invalid configuration
>> `arm-none-linux-gnueabi-': machine `arm-none-linux-gnueabi' not
>> recognized
>> configure: error: /bin/bash config/config.sub arm-none-linux-gnueabi- failed
>>
>> This is how my environment is setup:
>> luke@domain.hid$ which
>> arm-none-linux-gnueabi-gcc
>> /home/luke/Desktop/moje/mini2440/arm-2008q3/bin/arm-none-linux-gnueabi-gcc
>> luke@domain.hid$ echo $PATH
>> /home/luke/Desktop/moje/mini2440/arm-2008q3/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
>>
>> No adequate info in the TROUBLESHOOTING.
>>
>> Am doing something wrong? Help me out please.
>>
>> regards,
>> --
>> Łukasz Dragilla Sacha
>>
>


^ permalink raw reply

* Re: [Qemu-devel] [PATCH] hw/9pfs: use g_vasprintf() instead of rolling our own
From: Markus Armbruster @ 2011-10-31 12:50 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: qemu-devel, Aneesh Kumar K.V
In-Reply-To: <1320061773-10634-1-git-send-email-stefanha@linux.vnet.ibm.com>

Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> writes:

> Markus Armbruster <armbru@redhat.com> sent fixes for va_list vararg
> issues in v9fs_string_alloc_printf().  It turns out the function
> duplicates g_vasprintf() and can therefore be eliminated entirely.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> ---
>  hw/9pfs/virtio-9p.c |  103 ++-------------------------------------------------
>  1 files changed, 4 insertions(+), 99 deletions(-)

*Much* better.

Reviewed-by: Markus Armbruster <armbru@redhat.com>

^ permalink raw reply

* Re: [PATCH 01/14] KVM: PPC: e500: don't translate gfn to pfn with preemption disabled
From: Avi Kivity @ 2011-10-31 12:50 UTC (permalink / raw)
  To: Alexander Graf; +Cc: kvm-ppc, kvm list, Marcelo Tosatti, Scott Wood
In-Reply-To: <1320047596-20577-2-git-send-email-agraf@suse.de>

On 10/31/2011 09:53 AM, Alexander Graf wrote:
> From: Scott Wood <scottwood@freescale.com>
>
> Delay allocation of the shadow pid until we're ready to disable
> preemption and write the entry.
>
> @@ -507,21 +507,16 @@ static inline void kvmppc_e500_deliver_tlb_miss(struct kvm_vcpu *vcpu,
>  	vcpu_e500->mas7 = 0;
>  }
>  
> +/* TID must be supplied by the caller */
>  static inline void kvmppc_e500_setup_stlbe(struct kvmppc_vcpu_e500 *vcpu_e500,
>  					   struct tlbe *gtlbe, int tsize,
>  					   struct tlbe_priv *priv,
>  					   u64 gvaddr, struct tlbe *stlbe)
>  {
>  	pfn_t pfn = priv->pfn;
> -	unsigned int stid;
> -
> -	stid = kvmppc_e500_get_sid(vcpu_e500, get_tlb_ts(gtlbe),
> -				   get_tlb_tid(gtlbe),
> -				   get_cur_pr(&vcpu_e500->vcpu), 0);
>  
>  	/* Force TS=1 IPROT=0 for all guest mappings. */
> -	stlbe->mas1 = MAS1_TSIZE(tsize)
> -		| MAS1_TID(stid) | MAS1_TS | MAS1_VALID;
> +	stlbe->mas1 = MAS1_TSIZE(tsize) | MAS1_TS | MAS1_VALID;
>  	stlbe->mas2 = (gvaddr & MAS2_EPN)
>  		| e500_shadow_mas2_attrib(gtlbe->mas2,
>  				vcpu_e500->vcpu.arch.shared->msr & MSR_PR);
> @@ -816,6 +811,24 @@ int kvmppc_e500_emul_tlbsx(struct kvm_vcpu *vcpu, int rb)
>  	return EMULATE_DONE;
>  }
>  
> +/* sesel is index into the set, not the whole array */
> +static void write_stlbe(struct kvmppc_vcpu_e500 *vcpu_e500,
> +			struct tlbe *gtlbe,
> +			struct tlbe *stlbe,
> +			int stlbsel, int sesel)
> +{
> +	int stid;
> +
> +	preempt_disable();
> +	stid = kvmppc_e500_get_sid(vcpu_e500, get_tlb_ts(gtlbe),
> +				   get_tlb_tid(gtlbe),
> +				   get_cur_pr(&vcpu_e500->vcpu), 0);
> +
> +	stlbe->mas1 |= MAS1_TID(stid);
> +	write_host_tlbe(vcpu_e500, stlbsel, sesel, stlbe);
> +	preempt_enable();
> +}
> +
>

This naked preempt_disable() is fishy.  What happens if we're migrated
immediately afterwards? we fault again and redo?

I realize that the patch doesn't introduce this.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply

* Re: [PATCH 01/14] KVM: PPC: e500: don't translate gfn to pfn with
From: Avi Kivity @ 2011-10-31 12:50 UTC (permalink / raw)
  To: Alexander Graf; +Cc: kvm-ppc, kvm list, Marcelo Tosatti, Scott Wood
In-Reply-To: <1320047596-20577-2-git-send-email-agraf@suse.de>

On 10/31/2011 09:53 AM, Alexander Graf wrote:
> From: Scott Wood <scottwood@freescale.com>
>
> Delay allocation of the shadow pid until we're ready to disable
> preemption and write the entry.
>
> @@ -507,21 +507,16 @@ static inline void kvmppc_e500_deliver_tlb_miss(struct kvm_vcpu *vcpu,
>  	vcpu_e500->mas7 = 0;
>  }
>  
> +/* TID must be supplied by the caller */
>  static inline void kvmppc_e500_setup_stlbe(struct kvmppc_vcpu_e500 *vcpu_e500,
>  					   struct tlbe *gtlbe, int tsize,
>  					   struct tlbe_priv *priv,
>  					   u64 gvaddr, struct tlbe *stlbe)
>  {
>  	pfn_t pfn = priv->pfn;
> -	unsigned int stid;
> -
> -	stid = kvmppc_e500_get_sid(vcpu_e500, get_tlb_ts(gtlbe),
> -				   get_tlb_tid(gtlbe),
> -				   get_cur_pr(&vcpu_e500->vcpu), 0);
>  
>  	/* Force TS=1 IPROT=0 for all guest mappings. */
> -	stlbe->mas1 = MAS1_TSIZE(tsize)
> -		| MAS1_TID(stid) | MAS1_TS | MAS1_VALID;
> +	stlbe->mas1 = MAS1_TSIZE(tsize) | MAS1_TS | MAS1_VALID;
>  	stlbe->mas2 = (gvaddr & MAS2_EPN)
>  		| e500_shadow_mas2_attrib(gtlbe->mas2,
>  				vcpu_e500->vcpu.arch.shared->msr & MSR_PR);
> @@ -816,6 +811,24 @@ int kvmppc_e500_emul_tlbsx(struct kvm_vcpu *vcpu, int rb)
>  	return EMULATE_DONE;
>  }
>  
> +/* sesel is index into the set, not the whole array */
> +static void write_stlbe(struct kvmppc_vcpu_e500 *vcpu_e500,
> +			struct tlbe *gtlbe,
> +			struct tlbe *stlbe,
> +			int stlbsel, int sesel)
> +{
> +	int stid;
> +
> +	preempt_disable();
> +	stid = kvmppc_e500_get_sid(vcpu_e500, get_tlb_ts(gtlbe),
> +				   get_tlb_tid(gtlbe),
> +				   get_cur_pr(&vcpu_e500->vcpu), 0);
> +
> +	stlbe->mas1 |= MAS1_TID(stid);
> +	write_host_tlbe(vcpu_e500, stlbsel, sesel, stlbe);
> +	preempt_enable();
> +}
> +
>

This naked preempt_disable() is fishy.  What happens if we're migrated
immediately afterwards? we fault again and redo?

I realize that the patch doesn't introduce this.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply

* Re: [PATCH] ASoC: WM8904: Set `invert' bit for Capture Switch
From: Mark Brown @ 2011-10-31 12:50 UTC (permalink / raw)
  To: Hong Xu; +Cc: alsa-devel
In-Reply-To: <1319787399-18750-1-git-send-email-hong.xu@atmel.com>

On Fri, Oct 28, 2011 at 03:36:39PM +0800, Hong Xu wrote:
> Set `invert' bit for Capture Switch. Otherwise analogue is muted when
> Capture Switch is ON.

Applied, thanks.

^ permalink raw reply

* Re: New Feature wanted: Is it possible to let git clone continue last break point?
From: Michael Schubert @ 2011-10-31 12:49 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: netroby, Git Mail List
In-Reply-To: <m3obwx4j7s.fsf@localhost.localdomain>

On 10/31/2011 10:14 AM, Jakub Narebski wrote:
> netroby <hufeng1987@gmail.com> writes:
> 
>> Is it possible to let git clone continue last break point.
>> when we git clone very large project from the web,  we may face some
>> interupt, then we must clone it from zero .
>>
>> it is bad feeling for low  connection  speed users.
>>
>> please help us out.
>>
>> we need git clone continue last break point
> 
> Resuming "git clone" is not currently possible in Git, and it would be
> difficult to add such feature to Git; there were several attempts and
> neither succeeded.
> 
> What you can do is generate a starter bundle out of your repository
> (using "git bundle"), and serve this file via HTTP / FTP / BitTorrent,
> i.e. some resumable transport.  Then you "git clone <bundle file>",
> fix up configuration, and fetch the rest since bundle creation.

There's also a "git bundler service":

http://comments.gmane.org/gmane.comp.version-control.git/181380

^ permalink raw reply

* Re: [Qemu-devel] Performance of USB2.0
From: Hans de Goede @ 2011-10-31 12:46 UTC (permalink / raw)
  To: qemu-devel
In-Reply-To: <4EAE6A16.60303@obes.name>

Hi,

On 10/31/2011 10:27 AM, Til Obes wrote:
> Hello all,
>
> i want to use a virtual router which is connected to a cable box
> via an usb ethernet controller. The device itself runs properly
> at normal usage. But inside the virtual machine i get only about 7MBit.
> I configured the the usb device with the following xml syntax of
> libvirt:
> <controller type='usb' index='0' model='ehci'>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
> </controller>
> <hostdev mode='subsystem' type='usb' managed='no'>
> <source>
> <vendor id='0x9710'/>
> <product id='0x7830'/>
> </source>
> </hostdev>
>
> Inside the guest i get this output of lsusb:
> Bus 001 Device 002: ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>
> lsusb -v shows this output for the root hub:
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 9 Hub
> bDeviceSubClass 0 Unused
> bDeviceProtocol 0 Full speed (or root) hub
> bMaxPacketSize0 64
> idVendor 0x1d6b Linux Foundation
> idProduct 0x0002 2.0 root hub
> bcdDevice 2.06
> iManufacturer 3 Linux 2.6.32-5-amd64 ehci_hcd
> iProduct 2 EHCI Host Controller
> iSerial 1 0000:00:07.0
>
> Does this "Full speed" mean, that it is still running with 12MBit?

No, as lsusb says bDeviceProtocol 0 is standard for root hubs even
for usb2 (so high speed / 480mbit capable) root hubs.

> What is the status of High Speed USB (480Mbit) inside the guest?

It should work fine since qemu 0.15.

If you're using libvirt to start qemu, then it will also pass
-usb to qemu, so you will have both a usb-1 (uhci) and a usb-2
(ehci) controller inside your vm, since your hostdev xml code does
not specify a bus the hostdev will likely get connected to the first
usb bus which is the one attached to the uhci controller, although
your lsusb output suggests otherwise (to my surprise).

So assuming that I'm reading your lsusb output correct, the device
does seem to be connected to the virtual ehci controller rather then
to the virtual uhci controller, which more or less rules that out
as the cause.

This means that the likely cause is just that usb emulation / pass
through causes quite a bit of overhead, which is not unexpected since
both the usb protocol and the ehci controller interface are both quite
hard to emulate.

It is likely better to just use the usb nic directly from the host,
and then pass it through the virtio-net using bridging.

Regards,

Hans

^ permalink raw reply

* Re: [Qemu-devel] [PATCH 3/3] piix4 acpi xen support
From: Ian Campbell @ 2011-10-31 12:41 UTC (permalink / raw)
  To: John Baboval; +Cc: Anthony Perard, xen-devel, Stefano Stabellini, qemu-devel
In-Reply-To: <4EAB04B8.2030505@virtualcomputer.com>

Please CC xen-devel on patches which impact the Xen support in qemu.

On Fri, 2011-10-28 at 15:38 -0400, John Baboval wrote:
> When in xen mode, handle the view of pm ioport appropriately.
> 
> I'm not entirely comfortable with this patch, since it relies on values
> that are hard coded into the DSDT that is shipped with Xen. There has to 
> be a better way to handle it, but I haven't thought of what that might 
> be yet... Perhaps there should be an acpi_xen.c. Or perhaps the Xen 
> table should be modified to match the device model. Or perhaps there is 
> a good way to match them up dynamically.

Anthony Perard posted a patch to xen-devel last week (series entitled
"hvmloader/DSDT change to handle PCI hotplug with QEMU upstream") which
makes the Xen ACPI tables compatible with the upstream QEMU PM registers
etc. I think that covers this issue too?

Ian.
> 
> 
> Signed-off-by: John V. Baboval <john.baboval@virtualcomputer.com>
> Signed-off-by: Tom Goetz <tom.goetz@virtualcomputer.com>
> ---
>   hw/acpi_piix4.c |   82 
> +++++++++++++++++++++++++++++++++++++++++++++++++------
>   1 files changed, 73 insertions(+), 9 deletions(-)
> 
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 29f0f76..277ae9f 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -24,6 +24,7 @@
>   #include "sysemu.h"
>   #include "range.h"
>   #include "ioport.h"
> +#include "xen.h"
>    //#define DEBUG
>   @@ -111,6 +112,35 @@ static void pm_ioport_write(IORange *ioport, 
> uint64_t addr, unsigned width,
>                         (unsigned)addr, width, (unsigned)val);
>       }
>   +    if (xen_enabled()) {
> +    /*
> +     * Only the PM control register is emulated in Qemu under Xen. The
> +     * remaining registers are emulated by the hypervisor.
> +     */
> +        int sus_typ;
> +        s->pm1_cnt.cnt = val & ~(ACPI_BITMASK_SLEEP_ENABLE);
> +        if (val & ACPI_BITMASK_SLEEP_ENABLE) {
> +            /* change suspend type */
> +            sus_typ = (val >> 10) & 7;
> +            switch(sus_typ) {
> +            case 6: /* soft power off */
> +            case 7: /* soft power off */
> +                qemu_system_shutdown_request();
> +                break;
> +            case 5:
> +                /* ACPI_BITMASK_WAKE_STATUS should be set on resume.
> +                   Pretend that resume was caused by power button */
> +                qemu_system_reset_request();
> +                if (s->pm1_cnt.cmos_s3) {
> +                    qemu_irq_raise(s->pm1_cnt.cmos_s3);
> +                }
> +            default:
> +                break;
> +            }
> +        }
> +        return;
> +    }
> +
>       switch(addr) {
>       case 0x00:
>           acpi_pm1_evt_write_sts(&s->pm1a, &s->tmr, val);
> @@ -136,6 +166,15 @@ static void pm_ioport_read(IORange *ioport, 
> uint64_t addr, unsigned width,
>       PIIX4PMState *s = container_of(ioport, PIIX4PMState, ioport);
>       uint32_t val;
>   +    if (xen_enabled()) {
> +    /*
> +     * Only the PM control register is emulated in Qemu under Xen. The
> +     * remaining registers are emulated by the hypervisor.
> +     */
> +        val = s->pm1_cnt.cnt;
> +        return;
> +    }
> +
>       switch(addr) {
>       case 0x00:
>           val = acpi_pm1_evt_get_sts(&s->pm1a, s->tmr.overflow_time);
> @@ -181,19 +220,28 @@ static void acpi_dbg_writel(void *opaque, uint32_t 
> addr, uint32_t val)
>       PIIX4_DPRINTF("ACPI: DBG: 0x%08x\n", val);
>   }
>   +#define PMCNTRL	0x04
>   static void pm_io_space_update(PIIX4PMState *s)
>   {
> -    uint32_t pm_io_base;
> +    uint32_t pm_io_base, size;
> +
> +    if (!(s->dev.config[0x80] & 1) && !xen_enabled()) {
> +        return;
> +    }
>   -    if (s->dev.config[0x80] & 1) {
> -        pm_io_base = le32_to_cpu(*(uint32_t *)(s->dev.config + 0x40));
> -        pm_io_base &= 0xffc0;
> +    pm_io_base = le32_to_cpu(*(uint32_t *)(s->dev.config + 0x40));
> +    pm_io_base &= 0xffc0;
> +    size = 16;
>   -        /* XXX: need to improve memory and ioport allocation */
> -        PIIX4_DPRINTF("PM: mapping to 0x%x\n", pm_io_base);
> -        iorange_init(&s->ioport, &pm_iorange_ops, pm_io_base, 64);
> -        ioport_register(&s->ioport);
> +    if (xen_enabled()) {
> +        size = 2;
> +        pm_io_base += PMCNTRL;
>       }
> +
> +    /* XXX: need to improve memory and ioport allocation */
> +    PIIX4_DPRINTF("PM: mapping to 0x%x\n", pm_io_base);
> +    iorange_init(&s->ioport, &pm_iorange_ops, pm_io_base, size);
> +    ioport_register(&s->ioport);
>   }
>    static void pm_write_config(PCIDevice *d,
> @@ -326,6 +374,13 @@ static void piix4_pm_machine_ready(Notifier *n, 
> void *opaque)
>    }
>   +#define    PIIX4_BASE_IOADDR       0x1f40
> +#define    PIIX4_BASE_IOADDR_LO    ((PIIX4_BASE_IOADDR) & 0xff)
> +#define    PIIX4_BASE_IOADDR_HI    ((PIIX4_BASE_IOADDR)>>8)
> +
> +/* PM1a_CNT bits, as defined in the ACPI specification. */
> +#define SCI_EN            (1 <<  0)
> +
>   static int piix4_pm_initfn(PCIDevice *dev)
>   {
>       PIIX4PMState *s = DO_UPCAST(PIIX4PMState, dev, dev);
> @@ -337,7 +392,13 @@ static int piix4_pm_initfn(PCIDevice *dev)
>       pci_conf[0x09] = 0x00;
>       pci_conf[0x3d] = 0x01; // interrupt pin 1
>   -    pci_conf[0x40] = 0x01; /* PM io base read only bit */
> +    if (!xen_enabled()) {
> +        pci_conf[0x40] = 0x01; /* PM io base read only bit */
> +    } else {
> +        pci_conf[0x40] = PIIX4_BASE_IOADDR_LO | 0x01; /* Special 
> device-specific BAR at 0x40 */
> +        pci_conf[0x41] = PIIX4_BASE_IOADDR_HI;
> +        s->pm1_cnt.cnt = SCI_EN;
> +    }
>        /* APM */
>       apm_init(&s->apm, apm_ctrl_changed, s);
> @@ -369,6 +430,9 @@ static int piix4_pm_initfn(PCIDevice *dev)
>       qemu_register_reset(piix4_reset, s);
>       piix4_acpi_system_hot_add_init(dev->bus, s);
>   +    if (xen_enabled())
> +        pm_io_space_update(s);
> +
>       return 0;
>   }
>   -- 1.7.4.1
> 
> 
> 

^ permalink raw reply

* Re: [PATCH 3/3] piix4 acpi xen support
From: Ian Campbell @ 2011-10-31 12:41 UTC (permalink / raw)
  To: John Baboval; +Cc: Anthony Perard, xen-devel, Stefano Stabellini, qemu-devel
In-Reply-To: <4EAB04B8.2030505@virtualcomputer.com>

Please CC xen-devel on patches which impact the Xen support in qemu.

On Fri, 2011-10-28 at 15:38 -0400, John Baboval wrote:
> When in xen mode, handle the view of pm ioport appropriately.
> 
> I'm not entirely comfortable with this patch, since it relies on values
> that are hard coded into the DSDT that is shipped with Xen. There has to 
> be a better way to handle it, but I haven't thought of what that might 
> be yet... Perhaps there should be an acpi_xen.c. Or perhaps the Xen 
> table should be modified to match the device model. Or perhaps there is 
> a good way to match them up dynamically.

Anthony Perard posted a patch to xen-devel last week (series entitled
"hvmloader/DSDT change to handle PCI hotplug with QEMU upstream") which
makes the Xen ACPI tables compatible with the upstream QEMU PM registers
etc. I think that covers this issue too?

Ian.
> 
> 
> Signed-off-by: John V. Baboval <john.baboval@virtualcomputer.com>
> Signed-off-by: Tom Goetz <tom.goetz@virtualcomputer.com>
> ---
>   hw/acpi_piix4.c |   82 
> +++++++++++++++++++++++++++++++++++++++++++++++++------
>   1 files changed, 73 insertions(+), 9 deletions(-)
> 
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 29f0f76..277ae9f 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -24,6 +24,7 @@
>   #include "sysemu.h"
>   #include "range.h"
>   #include "ioport.h"
> +#include "xen.h"
>    //#define DEBUG
>   @@ -111,6 +112,35 @@ static void pm_ioport_write(IORange *ioport, 
> uint64_t addr, unsigned width,
>                         (unsigned)addr, width, (unsigned)val);
>       }
>   +    if (xen_enabled()) {
> +    /*
> +     * Only the PM control register is emulated in Qemu under Xen. The
> +     * remaining registers are emulated by the hypervisor.
> +     */
> +        int sus_typ;
> +        s->pm1_cnt.cnt = val & ~(ACPI_BITMASK_SLEEP_ENABLE);
> +        if (val & ACPI_BITMASK_SLEEP_ENABLE) {
> +            /* change suspend type */
> +            sus_typ = (val >> 10) & 7;
> +            switch(sus_typ) {
> +            case 6: /* soft power off */
> +            case 7: /* soft power off */
> +                qemu_system_shutdown_request();
> +                break;
> +            case 5:
> +                /* ACPI_BITMASK_WAKE_STATUS should be set on resume.
> +                   Pretend that resume was caused by power button */
> +                qemu_system_reset_request();
> +                if (s->pm1_cnt.cmos_s3) {
> +                    qemu_irq_raise(s->pm1_cnt.cmos_s3);
> +                }
> +            default:
> +                break;
> +            }
> +        }
> +        return;
> +    }
> +
>       switch(addr) {
>       case 0x00:
>           acpi_pm1_evt_write_sts(&s->pm1a, &s->tmr, val);
> @@ -136,6 +166,15 @@ static void pm_ioport_read(IORange *ioport, 
> uint64_t addr, unsigned width,
>       PIIX4PMState *s = container_of(ioport, PIIX4PMState, ioport);
>       uint32_t val;
>   +    if (xen_enabled()) {
> +    /*
> +     * Only the PM control register is emulated in Qemu under Xen. The
> +     * remaining registers are emulated by the hypervisor.
> +     */
> +        val = s->pm1_cnt.cnt;
> +        return;
> +    }
> +
>       switch(addr) {
>       case 0x00:
>           val = acpi_pm1_evt_get_sts(&s->pm1a, s->tmr.overflow_time);
> @@ -181,19 +220,28 @@ static void acpi_dbg_writel(void *opaque, uint32_t 
> addr, uint32_t val)
>       PIIX4_DPRINTF("ACPI: DBG: 0x%08x\n", val);
>   }
>   +#define PMCNTRL	0x04
>   static void pm_io_space_update(PIIX4PMState *s)
>   {
> -    uint32_t pm_io_base;
> +    uint32_t pm_io_base, size;
> +
> +    if (!(s->dev.config[0x80] & 1) && !xen_enabled()) {
> +        return;
> +    }
>   -    if (s->dev.config[0x80] & 1) {
> -        pm_io_base = le32_to_cpu(*(uint32_t *)(s->dev.config + 0x40));
> -        pm_io_base &= 0xffc0;
> +    pm_io_base = le32_to_cpu(*(uint32_t *)(s->dev.config + 0x40));
> +    pm_io_base &= 0xffc0;
> +    size = 16;
>   -        /* XXX: need to improve memory and ioport allocation */
> -        PIIX4_DPRINTF("PM: mapping to 0x%x\n", pm_io_base);
> -        iorange_init(&s->ioport, &pm_iorange_ops, pm_io_base, 64);
> -        ioport_register(&s->ioport);
> +    if (xen_enabled()) {
> +        size = 2;
> +        pm_io_base += PMCNTRL;
>       }
> +
> +    /* XXX: need to improve memory and ioport allocation */
> +    PIIX4_DPRINTF("PM: mapping to 0x%x\n", pm_io_base);
> +    iorange_init(&s->ioport, &pm_iorange_ops, pm_io_base, size);
> +    ioport_register(&s->ioport);
>   }
>    static void pm_write_config(PCIDevice *d,
> @@ -326,6 +374,13 @@ static void piix4_pm_machine_ready(Notifier *n, 
> void *opaque)
>    }
>   +#define    PIIX4_BASE_IOADDR       0x1f40
> +#define    PIIX4_BASE_IOADDR_LO    ((PIIX4_BASE_IOADDR) & 0xff)
> +#define    PIIX4_BASE_IOADDR_HI    ((PIIX4_BASE_IOADDR)>>8)
> +
> +/* PM1a_CNT bits, as defined in the ACPI specification. */
> +#define SCI_EN            (1 <<  0)
> +
>   static int piix4_pm_initfn(PCIDevice *dev)
>   {
>       PIIX4PMState *s = DO_UPCAST(PIIX4PMState, dev, dev);
> @@ -337,7 +392,13 @@ static int piix4_pm_initfn(PCIDevice *dev)
>       pci_conf[0x09] = 0x00;
>       pci_conf[0x3d] = 0x01; // interrupt pin 1
>   -    pci_conf[0x40] = 0x01; /* PM io base read only bit */
> +    if (!xen_enabled()) {
> +        pci_conf[0x40] = 0x01; /* PM io base read only bit */
> +    } else {
> +        pci_conf[0x40] = PIIX4_BASE_IOADDR_LO | 0x01; /* Special 
> device-specific BAR at 0x40 */
> +        pci_conf[0x41] = PIIX4_BASE_IOADDR_HI;
> +        s->pm1_cnt.cnt = SCI_EN;
> +    }
>        /* APM */
>       apm_init(&s->apm, apm_ctrl_changed, s);
> @@ -369,6 +430,9 @@ static int piix4_pm_initfn(PCIDevice *dev)
>       qemu_register_reset(piix4_reset, s);
>       piix4_acpi_system_hot_add_init(dev->bus, s);
>   +    if (xen_enabled())
> +        pm_io_space_update(s);
> +
>       return 0;
>   }
>   -- 1.7.4.1
> 
> 
> 

^ permalink raw reply

* [GIT PULL for v3.2-rc1] media drivers/core updates
From: Mauro Carvalho Chehab @ 2011-10-31 12:41 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Andrew Morton, Linux Media Mailing List,
	Linux Kernel Mailing List

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Linus,

Please pull from:
	git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media v4l_for_linus

For the latest improvements at the media subsystem, including:
	dvb-core: several fixes and addition for DVB turbo delivery system
		  (used on North American satellite streams);
	dvb-usb: add support for multiple frontends;
	ati-remote: migrate to rc-core subsystem;
	new dvb-usb drivers:it913x, mxl111sf and pctv452e;
	new frontends: a8293, it913x-fe, lnbp22 and tda10071;
	Alsa driver for cx23885-based cards;
	new gspca driver: topro;
	new sensor drivers: mt9p031, mt9t001;
	new driver for Samsung SoC s5p fimc;
	drivers moved from staging: tda6000 and altera-stapl;
	several fixes, card additions and improvements at the existing drivers.

Thanks!
Mauro

- -

Latest commit at the branch: bac2dacd5fb9ddad093d7a2dc5ab44e764874821 [media] pctv452e: Remove bogus code

The following changes since commit c3b92c8787367a8bb53d57d9789b558f1295cc96:

  Linux 3.1 (2011-10-24 09:10:05 +0200)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media v4l_for_linus

Al Cooper (1):
      [media] media: Fix a UVC performance problem on systems with non-coherent DMA

Andreas Oberritter (12):
      [media] DVB: dvb_frontend: fix stale parameters on initial frontend event
      [media] DVB: dvb_frontend: avoid possible race condition on first event
      [media] DVB: dvb_frontend: clear stale events on FE_SET_FRONTEND
      [media] DVB: dvb_frontend: update locking in dvb_frontend_{add, get_event}
      [media] DVB: Add SYS_TURBO for north american turbo code FEC
      [media] DVB: dvb_frontend: Fix compatibility criteria for satellite receivers
      [media] DVB: gp8psk-fe: use SYS_TURBO
      [media] DVB: improve documentation for satellite delivery systems
      [media] DVB: Change API version in documentation: 3 -> 5.4
      [media] DVB: dvb_frontend: remove static assignments from dtv_property_cache_sync()
      [media] DVB: increment minor version after addition of SYS_TURBO
      [media] DVB: dvb_frontend: check function pointers on reinitialize

Andrzej Pietrasiewicz (1):
      [media] media: mem2mem: eliminate possible NULL pointer dereference

Andy Shevchenko (3):
      [media] adp1653: check platform_data before usage
      [media] adp1653: check error code of adp1653_init_controls
      [media] adp1653: set media entity type

Andy Walls (1):
      [media] cx23885, cx25840: Provide IR Rx timeout event reports

Anssi Hannula (7):
      [media] move ati_remote driver from input/misc to media/rc
      [media] ati_remote: migrate to the rc subsystem
      [media] ati_remote: parent input devices to usb interface
      [media] ati_remote: fix check for a weird byte
      [media] ati_remote: add keymap for Medion X10 RF remote
      [media] ati_remote: add support for SnapStream Firefly remote
      [media] ati_remote: update Kconfig description

Antti Palosaari (14):
      [media] dvb-usb: prepare for multi-frontend support (MFE)
      [media] dvb-usb: multi-frontend support (MFE)
      [media] anysee: use multi-frontend (MFE)
      [media] em28xx: use MFE lock for PCTV nanoStick T2 290e
      [media] af9015: map remote for Leadtek WinFast DTV2000DS
      [media] af9015: use logic or instead of sum numbers
      [media] a8293: Allegro A8293 SEC driver
      [media] tda10071: NXP TDA10071 DVB-S/S2 driver
      [media] em28xx: add support for PCTV DVB-S2 Stick 460e [2013:024f]
      [media] get_dvb_firmware: add dvb-fe-tda10071.fw
      [media] get_dvb_firmware: update tda10071 file url
      [media] tda10071: do not download last byte of fw
      [media] tda10071: change sleeps to more suitable ones
      [media] get_dvb_firmware: whitespace fix

Arnaud Lacombe (1):
      [media] drivers/media: do not use EXTRA_CFLAGS

Arne Caspari (1):
      [media] uvcvideo: Detect The Imaging Source CCD cameras by vendor and product ID

Arvydas Sidorenko (3):
      [media] drivers/media/video/stk-webcam.c: webcam LED bug fix
      [media] drivers/media/video/stk-webcam.c: coding style issue
      [media] stk-webcam.c: webcam LED bug fix

Benjamin Larsson (1):
      [media] get_dvb_firmware: Firmware extraction for IT9135 based devices

Chris Rankin (13):
      [media] Add missing OK key to PCTV IR keymap
      [media] em28xx: pass correct buffer size to snprintf
      [media] em28xx: use atomic bit operations for devices-in-use mask
      [media] em28xx: clean up resources should init fail
      [media] em28xx: move printk lines outside mutex lock
      [media] em28xx: don't sleep on disconnect
      [media] EM28xx - Fix memory leak on disconnect or error
      [media] em28xx: ERROR: "em28xx_add_into_devlist" [drivers/media/video/em28xx/em28xx.ko] undefined!
      [media] em28xx: Fix em28xx_devused cleanup logic on error
      [media] em28xx: fix race on disconnect
      [media] em28xx: fix deadlock when unplugging and replugging a DVB adapter
      [media] em28xx: remove unused prototypes
      [media] em28xx: replug locking cleanup

Christian Gmeiner (1):
      [media] adv7175: Make use of media bus pixel codes

Dan Carpenter (6):
      [media] dib7000p: return error code on allocation failure
      [media] dib9000: return error code on failure
      [media] ddbridge: fix ddb_ioctl()
      [media] mxl111sf: fix a couple precedence bugs
      [media] dib9000: release a lock on error
      [media] rc/ir-lirc-codec: cleanup __user tags

Daniel Drake (1):
      [media] mmp_camera: add MODULE_ALIAS

Doron Cohen (1):
      [media] siano: apply debug flag to module level

Edward Sheldrake (1):
      [media] drxd: fix divide error

Erik Andrén (5):
      [media] gspca-stv06xx: Simplify register writes by avoiding special data structures
      [media] gspca-stv06xx: Simplify stv_init struct and vv6410 bridge init
      [media] gspca-stv06xx: Fix sensor init indentation
      [media] gspca-stv06xx: Remove writes to read-only registers
      [media] gspca-stv06xx: Triple frame rate by decreasing the scan rate

Florent AUDEBERT (1):
      [media] stb0899: Removed an extra byte sent at init on DiSEqC bus

Frank Schaefer (1):
      [media] gspca - sn9c20x: Fix status LED device 0c45:62b3

Guy Martin (1):
      [media] stv090x: set status bits when there is no lock

Hans Petter Selasky (1):
      [media] Increase a timeout, so that bad scheduling does not accidentially cause a timeout

Hans Verkuil (25):
      [media] radio-si4713.c: fix compiler warning
      [media] mt20xx.c: fix compiler warnings
      [media] wl128x: fix compiler warning + wrong write() return
      [media] saa7146: fix compiler warning
      [media] ddbridge: fix compiler warnings
      [media] mxl5005s: fix compiler warning
      [media] af9005-fe: fix compiler warning
      [media] tvaudio: fix compiler warnings
      [media] az6027: fix compiler warnings
      [media] mantis: fix compiler warnings
      [media] drxd_hard: fix compiler warnings
      [media] vpx3220, bt819: fix compiler warnings
      [media] si470x: fix compile warning
      [media] dvb_frontend: fix compile warning
      [media] vivi: fill in colorspace
      [media] ivtv: fill in service_set
      [media] v4l2-ioctl: more -ENOTTY fixes
      [media] videodev2.h: add V4L2_CTRL_FLAG_VOLATILE
      [media] v4l2-ctrls: replace is_volatile with V4L2_CTRL_FLAG_VOLATILE
      [media] v4l2-ctrls: implement new volatile autocluster scheme
      [media] v4l2-controls.txt: update auto cluster documentation
      [media] pwc: switch to the new auto-cluster volatile handling
      [media] vivi: add support for VIDIOC_LOG_STATUS
      [media] pwc: add support for VIDIOC_LOG_STATUS
      [media] saa7115: use the new auto cluster support

Hatim Ali (1):
      [media] s5p-tv: Add PM_RUNTIME dependency

Igor M. Liplianin (4):
      [media] cx23885: fix type error
      [media] altera-stapl: it is time to move out from staging
      [media] dvb: Add support for pctv452e
      [media] pctv452e: Remove bogus code

Jarod Wilson (13):
      [media] imon: rate-limit send_packet spew
      [media] mceusb: command/response updates from MS docs
      [media] mceusb: give hardware time to reply to cmds
      [media] mceusb: set wakeup bits for IR-based resume
      [media] mceusb: issue device resume cmd when needed
      [media] mceusb: query device for firmware emulator version
      [media] mceusb: get misc port data from hardware
      [media] mceusb: flash LED (emu v2+ only) to signal end of init
      [media] mceusb: report actual tx frequencies
      [media] mceusb: update version, copyright, author
      [media] redrat3: remove unused dev struct members
      [media] em28xx: add em28xx_ prefix to functions
      [media] imon: don't parse scancodes until intf configured

Javier Martin (1):
      [media] mt9p031: Aptina (Micron) MT9P031 5MP sensor driver

Javier Martinez Canillas (1):
      [media] tvp5150: Add video format registers configuration values

Jean-François Moine (21):
      [media] gspca - ov519: Fix LED inversion of some ov519 webcams
      [media] gspca - sonixj: Fix the darkness of sensor om6802 in 320x240
      [media] gspca - jeilinj: Cleanup code
      [media] gspca - sonixj: Adjust the contrast control
      [media] gspca - sonixj: Increase the exposure for sensor soi768
      [media] gspca - sonixj: Cleanup source and remove useless instructions
      [media] gspca - kinect: Remove the gspca_debug definition
      [media] gspca - ov534_9: Use the new control mechanism
      [media] gspca - ov534_9: New sensor ov9712 and new webcam 05a9:8065
      [media] gspca - main: Fix the isochronous transfer interval
      [media] gspca - main: Better values for V4L2_FMT_FLAG_COMPRESSED
      [media] gspca - benq: Remove the useless function sd_isoc_init
      [media] gspca - main: Use a better altsetting for image transfer
      [media] gspca - main: Handle the xHCI error on usb_set_interface()
      [media] gspca - topro: New subdriver for Topro webcams
      [media] gspca - spca1528: Increase the status waiting time
      [media] gspca - spca1528: Add some comments and update copyright
      [media] gspca - spca1528: Change the JPEG quality of the images
      [media] gspca - spca1528: Don't force the USB transfer alternate setting
      [media] gspca - main: Version change to 2.14.0
      [media] gspca - main: Display the subdriver name and version at probe time

Joe Perches (15):
      [media] tda18271: Use printk extension %pV
      [media] tda18212: Use standard logging, remove tda18212_priv.h
      [media] saa7146: Use current logging styles
      [media] rc-core.h: Surround macro with do {} while (0)
      [media] ene_ir: Use current logging styles
      [media] winbond-cir: Use current logging styles
      [media] bt8xx: Use current logging styles
      [media] et61x251: Use current logging styles
      [media] gl860: Use current logging styles
      [media] m5602: Use current logging styles
      [media] finepix: Use current logging styles
      [media] pac207: Use current logging styles
      [media] sn9c20x: Use current logging styles
      [media] t613: Use current logging styles
      [media] gspca: Use current logging styles

Jonathan Corbet (1):
      [media] videobuf2: Do not unconditionally map S/G buffers into kernel space

Jonghun Han (1):
      [media] media: DocBook: Fix trivial typo in Sub-device Interface

Jose Alberto Reguero (3):
      [media] tda827x: improve recection with limit frequencies
      [media] ttusb2: add support for the dvb-t part of CT-3650 v3
      [media] ttusb2: TT CT-3650 CI support

Julia Lawall (3):
      [media] drivers/media/dvb/dvb-usb/usb-urb.c: adjust array index
      [media] drivers/media/video/hexium_gemini.c: delete useless initialization
      [media] drivers/media/video/zr364xx.c: add missing cleanup code

Julian Scheel (1):
      [media] Add support for new revision of KNC 1 DVB-C cards. Using tda10024 instead of tda10023, which is compatible to tda10023 driver

Kamil Debski (1):
      [media] media: s5p-mfc: fix section mismatch

Laurent Pinchart (7):
      [media] omap3isp: Don't accept pipelines with no video source as valid
      [media] omap3isp: Move platform data definitions from isp.h to media/omap3isp.h
      [media] omap3isp: Don't fail streamon when the sensor doesn't implement s_stream
      [media] omap3isp: video: Avoid crashes when pipeline set stream operation fails
      [media] mt9t001: Aptina (Micron) MT9T001 3MP sensor driver
      [media] uvcvideo: Remove deprecated UVCIOC ioctls
      USB: export video.h to the includes available for userspace

Luiz Ramos (1):
      [media] Fix wrong register mask in gspca/sonixj.c

Lutz Sammer (2):
      [media] TT-budget S2-3200 cannot tune on HB13E DVBS2 transponder
      [media] stb0899: Fix slow and not locking DVB-S transponder(s)

Malcolm Priestley (4):
      [media] it913x_fe: frontend and tuner driver v1.05
      [media] it9137: Fimrware retrival information for Kworld UB499-2T T09 (id 1b80:e409)
      [media] it913x: Driver for Kworld UB499-2T (id 1b80:e409) v1.05
      [media] it913x-fe changes to power up and down of tuner

Manjunath Hadli (1):
      [media] davinci vpbe: remove unused macro

Marek Szyprowski (8):
      [media] MAINTAINERS: add entries for s5p-mfc and s5p-tv drivers
      [media] media: vb2: add a check if queued userptr buffer is large enough
      [media] media: vb2: fix handling MAPPED buffer flag
      [media] media: vb2: change plane sizes array to unsigned int[]
      [media] media: vb2: dma contig allocator: use dma_addr instread of paddr
      [media] media: vb2: change queue initialization order
      [media] staging: dt3155v4l: fix build break
      [media] media: vb2: fix incorrect return value

Marko Ristola (1):
      [media] Refactor Mantis DMA transfer to deliver 16Kb TS data per interrupt

Martin Hostettler (1):
      [media] v4l subdev: add dispatching for VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER

Mats Randgaard (2):
      [media] TVP7002: Return V4L2_DV_INVALID if any of the errors occur
      [media] TVP7002: Changed register values

Mauro Carvalho Chehab (22):
      [media] rc-main: Fix device de-registration logic
      [media] em28xx: Fix IR unregister logic
      v4l2-ioctl: properly return -EINVAL when parameters are wrong
      [media] tuner_xc2028: Allow selection of the frequency adjustment code for XC3028
      [media] tuner/xc2028: Fix frequency offset for radio mode
      [media] tm6000: Don't try to use a non-existing interface
      [media] dvb-core, tda18271c2dd: define get_if_frequency() callback
      Merge tag 'v3.1-rc6' into staging/for_v3.2
      [media] tm6000: Fix some CodingStyle issues
      [media] move tm6000 to drivers/media/video
      [media] rc tables: include linux/module.h
      Revert "[media] siano: apply debug flag to module level"
      [media] saa7115: Fix standards detection
      [media] pvrusb2: implement VIDIOC_QUERYSTD
      [media] v4l2-ioctl: Fill the default value for VIDIOC_QUERYSTD
      [media] saa7115: Trust that V4L2 core will fill the mask
      [media] pvrusb2: initialize standards mask before detecting standard
      [media] videodev2: Reorganize standard macros and add a few more macros
      [media] msp3400: Add standards detection to the driver
      [media] em28xx: Add VIDIOC_QUERYSTD support
      [media] cx23885: Don't use memset on vidioc_ callbacks
      [media] em28xx: implement VIDIOC_ENUM_FRAMESIZES

Michael Grzeschik (1):
      [media] mt9m111: move lastpage to struct mt9m111 for multi instances

Michael Jones (1):
      [media] omap3isp: queue: fail QBUF if user buffer is too small

Michael Krufky (19):
      [media] dvb-usb: add ATSC support for the Hauppauge WinTV-Aero-M
      [media] dvb-usb: refactor MFE code for individual streaming config per frontend
      [media] dvb-usb: fix streaming failure on channel change
      [media] dvb-usb: improve sanity check of adap->active_fe in dvb_usb_ctrl_feed
      [media] mxl111sf: use adap->num_frontends_initialized to determine which frontend is being attached
      [media] dib0700: fix WARNING: please, no spaces at the start of a line
      [media] dib0700: fix WARNING: suspect code indent for conditional statements
      [media] dib0700: fix ERROR: space required before that '&'
      [media] dib0700: fix ERROR: space required after that ','
      [media] dibusb-common: fix ERROR: space required after that ','
      [media] dibusb-mb: fix ERROR: space required after that ','
      [media] ttusb2: fix ERROR: space required after that ','
      [media] dvb-usb-dvb: ERROR: space required after that ','
      [media] cxusb: fix ERROR: do not use assignment in if condition
      [media] dibusb-common: fix ERROR: do not use assignment in if condition
      [media] dibusb-mb: fix ERROR: do not use assignment in if condition
      [media] digitv: fix ERROR: do not use assignment in if condition
      [media] m920x: fix ERROR: do not use assignment in if condition
      [media] opera1: fix ERROR: do not use assignment in if condition

Michael Olbrich (1):
      [media] v4l: mem2mem: add wait_{prepare,finish} ops to m2m_testdev

Mijhail Moreyra (4):
      [media] cx23885: Add ALSA support
      [media] cx23885: add definitions for HVR1500 to support audio
      [media] cx23885: correct the contrast, saturation and hue controls
      [media] cx23885: hooks the alsa changes into the video subsystem

Ming Lei (1):
      [media] uvcvideo: Set alternate setting 0 on resume if the bus has been reset

Olivier Grenie (2):
      [media] dib0700: protect the dib0700 buffer access
      [media] dib0700: correct error message

Patrick Boettcher (1):
      [media] DiBcom: protect the I2C bufer access

Paul Gortmaker (1):
      [media] drivers/media: fix dependencies in video mt9t001/mt9p031

Pekka Enberg (1):
      [media] media, rc: Use static inline functions to kill warnings

Randy Dunlap (1):
      [media] [-mmotm] media: video/adp1653.c needs module.h

Renzo Dani (1):
      [media] update az6027 firmware URL

Sakari Ailus (3):
      [media] v4l: Move event documentation from SUBSCRIBE_EVENT to DQEVENT
      [media] v4l: events: Define V4L2_EVENT_FRAME_SYNC
      [media] omap3isp: ccdc: Use generic frame sync event instead of private HS_VS event

Simon Farnsworth (1):
      [media] cx18: Fix videobuf capture

Stephan Lachowsky (1):
      [media] uvcvideo: Add a mapping for H.264 payloads

Steve Kerrison (1):
      [media] CXD2820R: Replace i2c message translation with repeater gate control

Steven Toth (29):
      [media] saa7164: Adding support for HVR2200 card id 0x8953
      [media] cx23885: convert call clients into subdevices
      [media] cx23885: minor function renaming to ensure uniformity
      [media] cx23885: setup the dma mapping for raw audio support
      [media] cx23885: add two additional defines to simplify VBI register bitmap handling
      [media] cx23885: initial support for VBI with the cx23885
      [media] cx23885: initialize VBI support in the core, add IRQ support, register vbi device
      [media] cx23885: minor printk cleanups and device registration
      [media] cx25840: enable raw cc processing only for the cx23885 hardware
      [media] cx23885: vbi line window adjustments
      [media] cx23885: add vbi buffer formatting, window changes and video core changes
      [media] cx23885: Ensure the VBI pixel format is established correctly
      [media] cx23885: ensure video is streaming before allowing vbi to stream
      [media] cx23885: remove channel dump diagnostics when a vbi buffer times out
      [media] cx23885: Ensure VBI buffers timeout quickly - bugfix for vbi hangs during streaming
      [media] cx23885: Name an internal i2c part and declare a bitfield by name
      [media] cx25840: Enable support for non-tuner LR1/LR2 audio inputs
      [media] cx23885: Allow the audio mux config to be specified on a per input basis
      [media] cx23885: Enable audio line in support from the back panel
      [media] cx25840: Ensure AUDIO6 and AUDIO7 trigger line-in baseband use
      [media] cx23885: Initial support for the MPX-885 mini-card
      [media] cx23885: fixes related to maximum number of inputs and range checking
      [media] cx23885: add generic functions for dealing with audio input selection
      [media] cx23885: hook the audio selection functions into the main driver
      [media] cx23885: v4l2 api compliance, set the audioset field correctly
      [media] cx23885: Removed a spurious function cx23885_set_scale()
      [media] cx23885: Avoid stopping the risc engine during buffer timeout
      [media] cx23885: Avoid incorrect error handling and reporting
      [media] cx23885: Stop the risc video fifo before reconfiguring it

Sylwester Nawrocki (31):
      [media] s5p-fimc: Add runtime PM support in the mem-to-mem driver
      [media] s5p-csis: Handle all available power supplies
      [media] s5p-csis: Rework the system suspend/resume helpers
      [media] s5p-fimc: Add media entity initialization
      [media] s5p-fimc: Remove registration of video nodes from probe()
      [media] s5p-fimc: Remove sclk_cam clock handling
      [media] s5p-fimc: Limit number of available inputs to one
      [media] s5p-fimc: Remove sensor management code from FIMC capture driver
      [media] s5p-fimc: Remove v4l2_device from video capture and m2m driver
      [media] s5p-fimc: Add the media device driver
      [media] s5p-fimc: Conversion to use struct v4l2_fh
      [media] s5p-fimc: Convert to the new control framework
      [media] s5p-fimc: Add media operations in the capture entity driver
      [media] s5p-fimc: Add PM helper function for streaming control
      [media] s5p-fimc: Correct color format enumeration
      [media] s5p-fimc: Convert to use media pipeline operations
      [media] s5p-fimc: Add subdev for the FIMC processing block
      [media] s5p-fimc: Add support for JPEG capture
      [media] s5p-fimc: Add v4l2_device notification support for single frame capture
      [media] s5p-fimc: Use consistent names for the buffer list functions
      [media] s5p-fimc: Add runtime PM support in the camera capture driver
      [media] s5p-fimc: Correct crop offset alignment on exynos4
      [media] s5p-fimc: Remove single-planar capability flags
      [media] sr030pc30: Remove empty s_stream op
      [media] noon010pc30: Conversion to the media controller API
      [media] noon010pc30: Improve s_power operation handling
      [media] v4l: Move SR030PC30, NOON010PC30, M5MOLS drivers to the right location
      [media] noon010pc30: Remove g_chip_ident operation handler
      [media] v4l2: Add polarity flag definitions for the parallel bus FIELD signal
      [media] s5p-fimc: Convert to use generic media bus polarity flags
      [media] m5mols: Remove superfluous irq field from the platform data struct

Thierry Reding (18):
      [media] tuner/xc2028: Add I2C flush callback
      [media] tm6000: Miscellaneous cleanups
      [media] tm6000: Use correct input in radio mode
      [media] tm6000: Implement I2C flush callback
      [media] tm6000: Flesh out the IRQ callback
      [media] tm6000: Rename active interface register
      [media] tm6000: Disable video interface in radio mode
      [media] tm6000: Rework standard register tables
      [media] tm6000: Add locking for USB transfers
      [media] tm6000: Properly count device usage
      [media] tm6000: Initialize isochronous transfers only once
      [media] tm6000: Execute lightweight reset on close
      [media] tm6000: Do not use video buffers in radio mode
      [media] tm6000: Plug memory leak on PCM free
      [media] tm6000: Enable audio clock in radio mode
      [media] tm6000: Enable radio mode for Cinergy Hybrid XE
      [media] tm6000: Add fast USB access quirk
      [media] tm6000: Enable fast USB quirk on Cinergy Hybrid

Thomas Meyer (1):
      [media] davinci vpbe: Use resource_size()

Tomasz Stanislawski (3):
      [media] media: v4l: remove single to multiplane conversion
      [media] s5p-tv: hdmi: use DVI mode
      [media] s5p-tv: fix mbus configuration

Tony Jago (1):
      [media] saa7164: Add support for another HVR2200 hardware revision

Wolfram Sang (1):
      [media] gspca - zc3xx: New webcam 03f0:1b07 HP Premium Starter Cam

Yang Ruirui (1):
      [media] v4l2: uvcvideo use after free bug fix

Yu Tang (1):
      [media] media: vb2: fix userptr VMA release seq

istvan_v@mailbox.hu (1):
      [media] cx88: notch filter control fixes

tvboxspy (5):
      [media] STV0288 frontend provide wider carrier search and DVB-S2 drop out. resend
      [media] [1/2,ver,1.89] DM04/QQBOX Interupt Urb and Timing changes
      [media] [2/2,ver,1.90] DM04/QQBOX Reduce USB buffer size
      [media] it913x: add remote control support
      [media] it913x-fe: correct tuner settings

 Documentation/DocBook/media/dvb/dvbproperty.xml    |   24 +-
 Documentation/DocBook/media/dvb/intro.xml          |    2 +-
 Documentation/DocBook/media/v4l/compat.xml         |    8 +
 Documentation/DocBook/media/v4l/dev-subdev.xml     |    2 +-
 Documentation/DocBook/media/v4l/v4l2.xml           |    9 +-
 Documentation/DocBook/media/v4l/vidioc-dqevent.xml |  129 +
 .../DocBook/media/v4l/vidioc-queryctrl.xml         |    9 +
 .../DocBook/media/v4l/vidioc-subscribe-event.xml   |  123 +-
 Documentation/dvb/get_dvb_firmware                 |   51 +-
 Documentation/dvb/it9137.txt                       |    9 +
 Documentation/feature-removal-schedule.txt         |   23 -
 .../video4linux/CARDLIST.tm6000                    |    0
 Documentation/video4linux/gspca.txt                |    4 +
 Documentation/video4linux/omap3isp.txt             |    9 +-
 Documentation/video4linux/v4l2-controls.txt        |   43 +-
 MAINTAINERS                                        |   18 +
 drivers/input/misc/Kconfig                         |   16 -
 drivers/input/misc/Makefile                        |    1 -
 drivers/media/common/saa7146_core.c                |   74 +-
 drivers/media/common/saa7146_fops.c                |  118 +-
 drivers/media/common/saa7146_hlp.c                 |   14 +-
 drivers/media/common/saa7146_i2c.c                 |   60 +-
 drivers/media/common/saa7146_vbi.c                 |   48 +-
 drivers/media/common/saa7146_video.c               |  183 +-
 drivers/media/common/tuners/Makefile               |    4 +-
 drivers/media/common/tuners/mt20xx.c               |   24 +-
 drivers/media/common/tuners/mxl5005s.c             |   22 +-
 drivers/media/common/tuners/tda18212.c             |   31 +-
 drivers/media/common/tuners/tda18271-common.c      |   32 +-
 drivers/media/common/tuners/tda18271-fe.c          |    2 +-
 drivers/media/common/tuners/tda18271-priv.h        |   39 +-
 drivers/media/common/tuners/tda827x.c              |    8 +-
 drivers/media/common/tuners/tuner-xc2028.c         |   18 +-
 drivers/media/common/tuners/tuner-xc2028.h         |    1 +
 drivers/media/dvb/b2c2/Makefile                    |    4 +-
 drivers/media/dvb/bt8xx/Makefile                   |    8 +-
 drivers/media/dvb/ddbridge/Makefile                |    8 +-
 drivers/media/dvb/ddbridge/ddbridge-core.c         |   43 +-
 drivers/media/dvb/dm1105/Makefile                  |    2 +-
 drivers/media/dvb/dvb-core/dvb_frontend.c          |   95 +-
 drivers/media/dvb/dvb-core/dvb_frontend.h          |    1 +
 drivers/media/dvb/dvb-usb/Kconfig                  |   28 +
 drivers/media/dvb/dvb-usb/Makefile                 |   15 +-
 drivers/media/dvb/dvb-usb/a800.c                   |    4 +-
 drivers/media/dvb/dvb-usb/af9005-fe.c              |    2 -
 drivers/media/dvb/dvb-usb/af9005.c                 |    5 +-
 drivers/media/dvb/dvb-usb/af9015.c                 |   70 +-
 drivers/media/dvb/dvb-usb/anysee.c                 |  337 +-
 drivers/media/dvb/dvb-usb/anysee.h                 |    1 +
 drivers/media/dvb/dvb-usb/au6610.c                 |    9 +-
 drivers/media/dvb/dvb-usb/az6027.c                 |   26 +-
 drivers/media/dvb/dvb-usb/ce6230.c                 |    9 +-
 drivers/media/dvb/dvb-usb/cinergyT2-core.c         |    5 +-
 drivers/media/dvb/dvb-usb/cxusb.c                  |  142 +-
 drivers/media/dvb/dvb-usb/dib0700_core.c           |   99 +-
 drivers/media/dvb/dvb-usb/dib0700_devices.c        |  377 +-
 drivers/media/dvb/dvb-usb/dibusb-common.c          |   27 +-
 drivers/media/dvb/dvb-usb/dibusb-mb.c              |   31 +-
 drivers/media/dvb/dvb-usb/dibusb-mc.c              |    3 +
 drivers/media/dvb/dvb-usb/digitv.c                 |   16 +-
 drivers/media/dvb/dvb-usb/dtt200u.c                |   14 +-
 drivers/media/dvb/dvb-usb/dtv5100.c                |   11 +-
 drivers/media/dvb/dvb-usb/dvb-usb-dvb.c            |  153 +-
 drivers/media/dvb/dvb-usb/dvb-usb-ids.h            |    4 +
 drivers/media/dvb/dvb-usb/dvb-usb-init.c           |   41 +-
 drivers/media/dvb/dvb-usb/dvb-usb-urb.c            |   28 +-
 drivers/media/dvb/dvb-usb/dvb-usb.h                |   37 +-
 drivers/media/dvb/dvb-usb/dw2102.c                 |  115 +-
 drivers/media/dvb/dvb-usb/ec168.c                  |    9 +-
 drivers/media/dvb/dvb-usb/friio.c                  |    7 +-
 drivers/media/dvb/dvb-usb/gl861.c                  |    9 +-
 drivers/media/dvb/dvb-usb/gp8psk-fe.c              |   17 +-
 drivers/media/dvb/dvb-usb/gp8psk.c                 |    5 +-
 drivers/media/dvb/dvb-usb/it913x.c                 |  651 +++
 drivers/media/dvb/dvb-usb/lmedm04.c                |   60 +-
 drivers/media/dvb/dvb-usb/m920x.c                  |   58 +-
 drivers/media/dvb/dvb-usb/mxl111sf-gpio.c          |  763 +++
 drivers/media/dvb/dvb-usb/mxl111sf-gpio.h          |   56 +
 drivers/media/dvb/dvb-usb/mxl111sf-i2c.c           |  851 ++++
 drivers/media/dvb/dvb-usb/mxl111sf-i2c.h           |   35 +
 drivers/media/dvb/dvb-usb/mxl111sf-phy.c           |  342 ++
 drivers/media/dvb/dvb-usb/mxl111sf-phy.h           |   53 +
 drivers/media/dvb/dvb-usb/mxl111sf-reg.h           |  179 +
 drivers/media/dvb/dvb-usb/mxl111sf-tuner.c         |  476 ++
 drivers/media/dvb/dvb-usb/mxl111sf-tuner.h         |   89 +
 drivers/media/dvb/dvb-usb/mxl111sf.c               |  864 ++++
 drivers/media/dvb/dvb-usb/mxl111sf.h               |  158 +
 drivers/media/dvb/dvb-usb/nova-t-usb2.c            |    4 +-
 drivers/media/dvb/dvb-usb/opera1.c                 |   13 +-
 drivers/media/dvb/dvb-usb/pctv452e.c               | 1079 +++++
 drivers/media/dvb/dvb-usb/technisat-usb2.c         |   28 +-
 drivers/media/dvb/dvb-usb/ttusb2.c                 |  407 ++-
 drivers/media/dvb/dvb-usb/umt-010.c                |    8 +-
 drivers/media/dvb/dvb-usb/usb-urb.c                |    4 +-
 drivers/media/dvb/dvb-usb/vp702x.c                 |    5 +-
 drivers/media/dvb/dvb-usb/vp7045.c                 |    5 +-
 drivers/media/dvb/frontends/Kconfig                |   30 +
 drivers/media/dvb/frontends/Makefile               |    8 +-
 drivers/media/dvb/frontends/a8293.c                |  184 +
 .../tda18212_priv.h => dvb/frontends/a8293.h}      |   39 +-
 drivers/media/dvb/frontends/cxd2820r.h             |    9 -
 drivers/media/dvb/frontends/cxd2820r_c.c           |    1 -
 drivers/media/dvb/frontends/cxd2820r_core.c        |   80 +-
 drivers/media/dvb/frontends/cxd2820r_priv.h        |    1 -
 drivers/media/dvb/frontends/cxd2820r_t.c           |    1 -
 drivers/media/dvb/frontends/cxd2820r_t2.c          |    1 -
 drivers/media/dvb/frontends/dib0070.c              |   37 +-
 drivers/media/dvb/frontends/dib0090.c              |   70 +-
 drivers/media/dvb/frontends/dib7000m.c             |   27 +-
 drivers/media/dvb/frontends/dib7000p.c             |   34 +-
 drivers/media/dvb/frontends/dib8000.c              |   72 +-
 drivers/media/dvb/frontends/dib9000.c              |  167 +-
 drivers/media/dvb/frontends/dibx000_common.c       |   76 +-
 drivers/media/dvb/frontends/dibx000_common.h       |    1 +
 drivers/media/dvb/frontends/drxd_hard.c            |   24 +-
 drivers/media/dvb/frontends/drxk_hard.c            |   10 +-
 drivers/media/dvb/frontends/it913x-fe-priv.h       |  336 ++
 drivers/media/dvb/frontends/it913x-fe.c            |  839 ++++
 drivers/media/dvb/frontends/it913x-fe.h            |  196 +
 drivers/media/dvb/frontends/lnbp22.c               |  148 +
 drivers/media/dvb/frontends/lnbp22.h               |   57 +
 drivers/media/dvb/frontends/stb0899_algo.c         |    3 +
 drivers/media/dvb/frontends/stb0899_drv.c          |    6 +-
 drivers/media/dvb/frontends/stv0288.c              |   29 +-
 drivers/media/dvb/frontends/stv090x.c              |   35 +-
 drivers/media/dvb/frontends/tda10048.c             |   37 +-
 drivers/media/dvb/frontends/tda10048.h             |    8 +
 drivers/media/dvb/frontends/tda10071.c             | 1269 +++++
 drivers/media/dvb/frontends/tda10071.h             |   81 +
 drivers/media/dvb/frontends/tda10071_priv.h        |  122 +
 drivers/media/dvb/frontends/tda18271c2dd.c         |    4 +-
 drivers/media/dvb/mantis/Makefile                  |    2 +-
 drivers/media/dvb/mantis/hopper_cards.c            |    6 +-
 drivers/media/dvb/mantis/mantis_cards.c            |    6 +-
 drivers/media/dvb/mantis/mantis_common.h           |    5 +-
 drivers/media/dvb/mantis/mantis_dma.c              |   92 +-
 drivers/media/dvb/mantis/mantis_vp1041.c           |    1 -
 drivers/media/dvb/ngene/Makefile                   |    8 +-
 drivers/media/dvb/pluto2/Makefile                  |    2 +-
 drivers/media/dvb/pt1/Makefile                     |    2 +-
 drivers/media/dvb/siano/Makefile                   |    4 +-
 drivers/media/dvb/ttpci/Makefile                   |    4 +-
 drivers/media/dvb/ttpci/av7110_v4l.c               |   32 +-
 drivers/media/dvb/ttpci/budget-av.c                |   47 +-
 drivers/media/dvb/ttpci/budget-ci.c                |    1 -
 drivers/media/dvb/ttpci/budget-core.c              |    2 +
 drivers/media/dvb/ttpci/budget.h                   |    1 +
 drivers/media/dvb/ttpci/ttpci-eeprom.c             |   29 +
 drivers/media/dvb/ttpci/ttpci-eeprom.h             |    1 +
 drivers/media/dvb/ttusb-budget/Makefile            |    2 +-
 drivers/media/dvb/ttusb-dec/Makefile               |    2 +-
 drivers/media/radio/Makefile                       |    2 +-
 drivers/media/radio/radio-si4713.c                 |    4 -
 drivers/media/radio/radio-wl1273.c                 |    2 +-
 drivers/media/radio/si470x/radio-si470x-usb.c      |    2 -
 drivers/media/radio/wl128x/fmdrv_v4l2.c            |    6 +-
 drivers/media/rc/Kconfig                           |   23 +-
 drivers/media/rc/Makefile                          |    1 +
 drivers/{input/misc => media/rc}/ati_remote.c      |  301 +-
 drivers/media/rc/ene_ir.c                          |   73 +-
 drivers/media/rc/ene_ir.h                          |   19 +-
 drivers/media/rc/imon.c                            |   36 +-
 drivers/media/rc/ir-lirc-codec.c                   |    9 +-
 drivers/media/rc/keymaps/Makefile                  |    3 +
 drivers/media/rc/keymaps/rc-ati-x10.c              |  104 +
 drivers/media/rc/keymaps/rc-medion-x10.c           |  117 +
 drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c     |    1 +
 drivers/media/rc/keymaps/rc-snapstream-firefly.c   |  107 +
 drivers/media/rc/mceusb.c                          |  410 ++-
 drivers/media/rc/rc-core-priv.h                    |   14 +-
 drivers/media/rc/rc-main.c                         |   29 +-
 drivers/media/rc/redrat3.c                         |    7 -
 drivers/media/rc/winbond-cir.c                     |    6 +-
 drivers/media/video/Kconfig                        |   49 +-
 drivers/media/video/Makefile                       |    9 +-
 drivers/media/video/adp1653.c                      |   20 +-
 drivers/media/video/adv7175.c                      |   62 +
 drivers/media/video/atmel-isi.c                    |   24 +-
 drivers/media/video/au0828/Makefile                |    8 +-
 drivers/media/video/bt819.c                        |    2 +-
 drivers/media/video/bt8xx/Makefile                 |    6 +-
 drivers/media/video/bt8xx/bttv-cards.c             |  242 +-
 drivers/media/video/bt8xx/bttv-driver.c            |  294 +-
 drivers/media/video/bt8xx/bttv-gpio.c              |    4 +-
 drivers/media/video/bt8xx/bttv-i2c.c               |   56 +-
 drivers/media/video/bt8xx/bttv-input.c             |   37 +-
 drivers/media/video/bt8xx/bttv-risc.c              |   25 +-
 drivers/media/video/bt8xx/bttv-vbi.c               |    9 +-
 drivers/media/video/bt8xx/bttvp.h                  |   18 +-
 drivers/media/video/cx18/Makefile                  |    6 +-
 drivers/media/video/cx18/cx18-driver.h             |    5 +-
 drivers/media/video/cx18/cx18-fileops.c            |    2 -
 drivers/media/video/cx18/cx18-ioctl.c              |   18 +-
 drivers/media/video/cx18/cx18-mailbox.c            |    2 +-
 drivers/media/video/cx18/cx18-streams.c            |   13 +
 drivers/media/video/cx231xx/Makefile               |   10 +-
 drivers/media/video/cx23885/Kconfig                |    2 +-
 drivers/media/video/cx23885/Makefile               |   12 +-
 drivers/media/video/cx23885/cx23885-alsa.c         |  535 +++
 drivers/media/video/cx23885/cx23885-cards.c        |   55 +-
 drivers/media/video/cx23885/cx23885-core.c         |   99 +-
 drivers/media/video/cx23885/cx23885-dvb.c          |    2 +-
 drivers/media/video/cx23885/cx23885-i2c.c          |    1 +
 drivers/media/video/cx23885/cx23885-reg.h          |    3 +
 drivers/media/video/cx23885/cx23885-vbi.c          |   72 +-
 drivers/media/video/cx23885/cx23885-video.c        |  358 ++-
 drivers/media/video/cx23885/cx23885.h              |   56 +
 drivers/media/video/cx23885/cx23888-ir.c           |   12 +-
 drivers/media/video/cx25840/Makefile               |    2 +-
 drivers/media/video/cx25840/cx25840-audio.c        |   10 +-
 drivers/media/video/cx25840/cx25840-core.c         |   19 +
 drivers/media/video/cx25840/cx25840-ir.c           |   12 +-
 drivers/media/video/cx88/Makefile                  |    8 +-
 drivers/media/video/cx88/cx88-core.c               |    3 -
 drivers/media/video/cx88/cx88-video.c              |    2 +-
 drivers/media/video/davinci/vpbe_display.c         |    1 -
 drivers/media/video/davinci/vpbe_osd.c             |    2 +-
 drivers/media/video/em28xx/Kconfig                 |    2 +
 drivers/media/video/em28xx/Makefile                |    8 +-
 drivers/media/video/em28xx/em28xx-cards.c          |  155 +-
 drivers/media/video/em28xx/em28xx-core.c           |   45 +-
 drivers/media/video/em28xx/em28xx-dvb.c            |  117 +-
 drivers/media/video/em28xx/em28xx-input.c          |    6 +-
 drivers/media/video/em28xx/em28xx-video.c          |   58 +-
 drivers/media/video/em28xx/em28xx.h                |    3 +-
 drivers/media/video/et61x251/et61x251.h            |   66 +-
 drivers/media/video/et61x251/et61x251_core.c       |    2 +
 drivers/media/video/et61x251/et61x251_tas5130d1b.c |    2 +
 drivers/media/video/gspca/Kconfig                  |   10 +
 drivers/media/video/gspca/Makefile                 |    2 +
 drivers/media/video/gspca/benq.c                   |   31 +-
 drivers/media/video/gspca/conex.c                  |    6 +-
 drivers/media/video/gspca/cpia1.c                  |    7 +-
 drivers/media/video/gspca/etoms.c                  |    6 +-
 drivers/media/video/gspca/finepix.c                |    8 +-
 drivers/media/video/gspca/gl860/Makefile           |    2 +-
 drivers/media/video/gspca/gl860/gl860.c            |    8 +-
 drivers/media/video/gspca/gspca.c                  |  287 +-
 drivers/media/video/gspca/gspca.h                  |   22 +-
 drivers/media/video/gspca/jeilinj.c                |   20 +-
 drivers/media/video/gspca/kinect.c                 |   41 +-
 drivers/media/video/gspca/konica.c                 |   16 +-
 drivers/media/video/gspca/m5602/Makefile           |    2 +-
 drivers/media/video/gspca/m5602/m5602_core.c       |    9 +-
 drivers/media/video/gspca/m5602/m5602_mt9m111.c    |   28 +-
 drivers/media/video/gspca/m5602/m5602_ov7660.c     |   21 +-
 drivers/media/video/gspca/m5602/m5602_ov9650.c     |   19 +-
 drivers/media/video/gspca/m5602/m5602_po1030.c     |   21 +-
 drivers/media/video/gspca/m5602/m5602_s5k4aa.c     |   35 +-
 drivers/media/video/gspca/m5602/m5602_s5k83a.c     |   30 +-
 drivers/media/video/gspca/mars.c                   |    6 +-
 drivers/media/video/gspca/mr97310a.c               |   24 +-
 drivers/media/video/gspca/nw80x.c                  |    9 +-
 drivers/media/video/gspca/ov519.c                  |   41 +-
 drivers/media/video/gspca/ov534.c                  |   12 +-
 drivers/media/video/gspca/ov534_9.c                |  516 +--
 drivers/media/video/gspca/pac207.c                 |   14 +-
 drivers/media/video/gspca/pac7302.c                |   15 +-
 drivers/media/video/gspca/pac7311.c                |   15 +-
 drivers/media/video/gspca/se401.c                  |   46 +-
 drivers/media/video/gspca/sn9c2028.c               |   14 +-
 drivers/media/video/gspca/sn9c20x.c                |   76 +-
 drivers/media/video/gspca/sonixj.c                 |   45 +-
 drivers/media/video/gspca/spca1528.c               |   34 +-
 drivers/media/video/gspca/spca500.c                |    6 +-
 drivers/media/video/gspca/spca501.c                |    4 +-
 drivers/media/video/gspca/spca505.c                |    8 +-
 drivers/media/video/gspca/spca508.c                |    6 +-
 drivers/media/video/gspca/spca561.c                |    4 +-
 drivers/media/video/gspca/sq905.c                  |   17 +-
 drivers/media/video/gspca/sq905c.c                 |   10 +-
 drivers/media/video/gspca/sq930x.c                 |   21 +-
 drivers/media/video/gspca/stk014.c                 |   16 +-
 drivers/media/video/gspca/stv0680.c                |    6 +-
 drivers/media/video/gspca/stv06xx/Makefile         |    2 +-
 drivers/media/video/gspca/stv06xx/stv06xx.c        |   18 +-
 drivers/media/video/gspca/stv06xx/stv06xx.h        |    6 +-
 drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c   |   10 +-
 drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c |    4 +-
 drivers/media/video/gspca/stv06xx/stv06xx_st6422.c |    4 +-
 drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c |   32 +-
 drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h |   56 +-
 drivers/media/video/gspca/sunplus.c                |   10 +-
 drivers/media/video/gspca/t613.c                   |   12 +-
 drivers/media/video/gspca/topro.c                  | 4989 ++++++++++++++++++++
 drivers/media/video/gspca/vc032x.c                 |   13 +-
 drivers/media/video/gspca/vicam.c                  |   12 +-
 drivers/media/video/gspca/w996Xcf.c                |    8 +-
 drivers/media/video/gspca/xirlink_cit.c            |   14 +-
 drivers/media/video/gspca/zc3xx.c                  |   15 +-
 drivers/media/video/hdpvr/Makefile                 |    4 +-
 drivers/media/video/hexium_gemini.c                |   44 +-
 drivers/media/video/hexium_orion.c                 |   38 +-
 drivers/media/video/ivtv/Makefile                  |    8 +-
 drivers/media/video/ivtv/ivtv-ioctl.c              |   15 +-
 drivers/media/video/m5mols/m5mols_core.c           |    6 +-
 drivers/media/video/marvell-ccic/mcam-core.c       |   12 +-
 drivers/media/video/marvell-ccic/mmp-driver.c      |    1 +
 drivers/media/video/mem2mem_testdev.c              |   16 +-
 drivers/media/video/msp3400-driver.c               |   20 +
 drivers/media/video/msp3400-driver.h               |    2 +-
 drivers/media/video/msp3400-kthreads.c             |   86 +-
 drivers/media/video/mt9m111.c                      |    9 +-
 drivers/media/video/mt9p031.c                      |  964 ++++
 drivers/media/video/mt9t001.c                      |  836 ++++
 drivers/media/video/mx3_camera.c                   |    4 +-
 drivers/media/video/mxb.c                          |   80 +-
 drivers/media/video/noon010pc30.c                  |  263 +-
 drivers/media/video/omap3isp/Makefile              |    4 +-
 drivers/media/video/omap3isp/isp.c                 |    6 +-
 drivers/media/video/omap3isp/isp.h                 |   85 +-
 drivers/media/video/omap3isp/ispccdc.c             |   11 +-
 drivers/media/video/omap3isp/ispccp2.c             |    4 +-
 drivers/media/video/omap3isp/ispqueue.c            |    4 +
 drivers/media/video/omap3isp/ispvideo.c            |   22 +-
 drivers/media/video/pvrusb2/Makefile               |    8 +-
 drivers/media/video/pvrusb2/pvrusb2-hdw.c          |    7 +
 drivers/media/video/pvrusb2/pvrusb2-hdw.h          |    3 +
 drivers/media/video/pvrusb2/pvrusb2-v4l2.c         |    8 +
 drivers/media/video/pwc/pwc-if.c                   |    4 +-
 drivers/media/video/pwc/pwc-v4l.c                  |  136 +-
 drivers/media/video/s5p-fimc/Makefile              |    2 +-
 drivers/media/video/s5p-fimc/fimc-capture.c        | 1462 ++++--
 drivers/media/video/s5p-fimc/fimc-core.c           | 1134 +++---
 drivers/media/video/s5p-fimc/fimc-core.h           |  221 +-
 drivers/media/video/s5p-fimc/fimc-mdevice.c        |  858 ++++
 drivers/media/video/s5p-fimc/fimc-mdevice.h        |  118 +
 drivers/media/video/s5p-fimc/fimc-reg.c            |   90 +-
 drivers/media/video/s5p-fimc/mipi-csis.c           |   90 +-
 drivers/media/video/s5p-fimc/regs-fimc.h           |    9 +-
 drivers/media/video/s5p-mfc/s5p_mfc.c              |   15 +-
 drivers/media/video/s5p-mfc/s5p_mfc_dec.c          |   18 +-
 drivers/media/video/s5p-mfc/s5p_mfc_enc.c          |   36 +-
 drivers/media/video/s5p-mfc/s5p_mfc_opr.c          |   14 +-
 drivers/media/video/s5p-tv/Kconfig                 |    2 +-
 drivers/media/video/s5p-tv/hdmi_drv.c              |   15 +-
 drivers/media/video/s5p-tv/mixer.h                 |    2 -
 drivers/media/video/s5p-tv/mixer_grp_layer.c       |    2 +-
 drivers/media/video/s5p-tv/mixer_reg.c             |   11 +-
 drivers/media/video/s5p-tv/mixer_video.c           |   24 +-
 drivers/media/video/s5p-tv/mixer_vp_layer.c        |    4 +-
 drivers/media/video/s5p-tv/regs-hdmi.h             |    4 +
 drivers/media/video/s5p-tv/regs-mixer.h            |    1 +
 drivers/media/video/s5p-tv/sdo_drv.c               |    1 +
 drivers/media/video/saa7115.c                      |   53 +-
 drivers/media/video/saa7134/Makefile               |    8 +-
 drivers/media/video/saa7164/Makefile               |   10 +-
 drivers/media/video/saa7164/saa7164-cards.c        |  128 +
 drivers/media/video/saa7164/saa7164-dvb.c          |    2 +
 drivers/media/video/saa7164/saa7164.h              |    2 +
 drivers/media/video/sh_mobile_ceu_camera.c         |    6 +-
 drivers/media/video/sr030pc30.c                    |    6 -
 drivers/media/video/stk-webcam.c                   |   29 +-
 drivers/media/video/tlg2300/Makefile               |    8 +-
 drivers/{staging => media/video}/tm6000/Kconfig    |    0
 drivers/{staging => media/video}/tm6000/Makefile   |    0
 .../{staging => media/video}/tm6000/tm6000-alsa.c  |    9 +-
 .../{staging => media/video}/tm6000/tm6000-cards.c |   44 +-
 .../{staging => media/video}/tm6000/tm6000-core.c  |  108 +-
 .../{staging => media/video}/tm6000/tm6000-dvb.c   |   18 +-
 .../{staging => media/video}/tm6000/tm6000-i2c.c   |   21 +-
 .../{staging => media/video}/tm6000/tm6000-input.c |    2 +-
 .../{staging => media/video}/tm6000/tm6000-regs.h  |    6 +-
 drivers/media/video/tm6000/tm6000-stds.c           |  659 +++
 .../video}/tm6000/tm6000-usb-isoc.h                |    2 +-
 .../{staging => media/video}/tm6000/tm6000-video.c |  122 +-
 drivers/{staging => media/video}/tm6000/tm6000.h   |   15 +-
 drivers/media/video/tvaudio.c                      |    9 +-
 drivers/media/video/tvp5150_reg.h                  |   17 +-
 drivers/media/video/tvp7002.c                      |   14 +-
 drivers/media/video/usbvision/Makefile             |    4 +-
 drivers/media/video/uvc/uvc_driver.c               |   15 +-
 drivers/media/video/uvc/uvc_v4l2.c                 |   54 +-
 drivers/media/video/uvc/uvc_video.c                |   27 +-
 drivers/media/video/uvc/uvcvideo.h                 |  106 +-
 drivers/media/video/v4l2-ctrls.c                   |  104 +-
 drivers/media/video/v4l2-device.c                  |    2 +
 drivers/media/video/v4l2-ioctl.c                   |  525 +--
 drivers/media/video/v4l2-mem2mem.c                 |   18 +-
 drivers/media/video/v4l2-subdev.c                  |   19 +
 drivers/media/video/videobuf2-core.c               |  205 +-
 drivers/media/video/videobuf2-dma-contig.c         |   16 +-
 drivers/media/video/videobuf2-dma-sg.c             |    6 -
 drivers/media/video/videobuf2-memops.c             |    6 +-
 drivers/media/video/vivi.c                         |   23 +-
 drivers/media/video/vpx3220.c                      |    2 +-
 drivers/media/video/zr364xx.c                      |    3 +
 drivers/misc/Kconfig                               |    1 +
 drivers/misc/Makefile                              |    1 +
 drivers/{staging => misc}/altera-stapl/Kconfig     |    2 +
 drivers/misc/altera-stapl/Makefile                 |    3 +
 .../{staging => misc}/altera-stapl/altera-comp.c   |    0
 .../{staging => misc}/altera-stapl/altera-exprt.h  |    0
 .../{staging => misc}/altera-stapl/altera-jtag.c   |    2 +-
 .../{staging => misc}/altera-stapl/altera-jtag.h   |    0
 .../{staging => misc}/altera-stapl/altera-lpt.c    |    0
 drivers/{staging => misc}/altera-stapl/altera.c    |    2 +-
 drivers/staging/Kconfig                            |    4 -
 drivers/staging/Makefile                           |    2 -
 drivers/staging/altera-stapl/Makefile              |    3 -
 drivers/staging/dt3155v4l/dt3155v4l.c              |    4 +-
 drivers/staging/tm6000/README                      |   22 -
 drivers/staging/tm6000/TODO                        |    8 -
 drivers/staging/tm6000/tm6000-stds.c               |  679 ---
 include/linux/dvb/frontend.h                       |    1 +
 include/linux/dvb/version.h                        |    2 +-
 include/linux/omap3isp.h                           |    2 -
 include/linux/usb/Kbuild                           |    1 +
 include/linux/videodev2.h                          |   92 +-
 include/media/m5mols.h                             |    4 +-
 include/media/mt9p031.h                            |   19 +
 include/media/mt9t001.h                            |    8 +
 include/media/omap3isp.h                           |  140 +
 include/media/rc-core.h                            |    7 +-
 include/media/rc-map.h                             |    3 +
 include/media/s5p_fimc.h                           |   18 +-
 include/media/saa7146.h                            |   36 +-
 include/media/v4l2-chip-ident.h                    |    3 -
 include/media/v4l2-ctrls.h                         |   15 +-
 include/media/v4l2-mediabus.h                      |   12 +-
 include/media/videobuf2-core.h                     |   23 +-
 include/media/videobuf2-dma-contig.h               |    6 +-
 .../staging/altera-stapl => include/misc}/altera.h |    0
 423 files changed, 27949 insertions(+), 6634 deletions(-)
 create mode 100644 Documentation/dvb/it9137.txt
 rename drivers/staging/tm6000/CARDLIST => Documentation/video4linux/CARDLIST.tm6000 (100%)
 create mode 100644 drivers/media/dvb/dvb-usb/it913x.c
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-gpio.c
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-gpio.h
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-i2c.c
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-i2c.h
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-phy.c
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-phy.h
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-reg.h
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-tuner.c
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf-tuner.h
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf.c
 create mode 100644 drivers/media/dvb/dvb-usb/mxl111sf.h
 create mode 100644 drivers/media/dvb/dvb-usb/pctv452e.c
 create mode 100644 drivers/media/dvb/frontends/a8293.c
 rename drivers/media/{common/tuners/tda18212_priv.h => dvb/frontends/a8293.h} (58%)
 create mode 100644 drivers/media/dvb/frontends/it913x-fe-priv.h
 create mode 100644 drivers/media/dvb/frontends/it913x-fe.c
 create mode 100644 drivers/media/dvb/frontends/it913x-fe.h
 create mode 100644 drivers/media/dvb/frontends/lnbp22.c
 create mode 100644 drivers/media/dvb/frontends/lnbp22.h
 create mode 100644 drivers/media/dvb/frontends/tda10071.c
 create mode 100644 drivers/media/dvb/frontends/tda10071.h
 create mode 100644 drivers/media/dvb/frontends/tda10071_priv.h
 rename drivers/{input/misc => media/rc}/ati_remote.c (77%)
 create mode 100644 drivers/media/rc/keymaps/rc-ati-x10.c
 create mode 100644 drivers/media/rc/keymaps/rc-medion-x10.c
 create mode 100644 drivers/media/rc/keymaps/rc-snapstream-firefly.c
 create mode 100644 drivers/media/video/cx23885/cx23885-alsa.c
 create mode 100644 drivers/media/video/gspca/topro.c
 create mode 100644 drivers/media/video/mt9p031.c
 create mode 100644 drivers/media/video/mt9t001.c
 create mode 100644 drivers/media/video/s5p-fimc/fimc-mdevice.c
 create mode 100644 drivers/media/video/s5p-fimc/fimc-mdevice.h
 rename drivers/{staging => media/video}/tm6000/Kconfig (100%)
 rename drivers/{staging => media/video}/tm6000/Makefile (100%)
 rename drivers/{staging => media/video}/tm6000/tm6000-alsa.c (97%)
 rename drivers/{staging => media/video}/tm6000/tm6000-cards.c (97%)
 rename drivers/{staging => media/video}/tm6000/tm6000-core.c (91%)
 rename drivers/{staging => media/video}/tm6000/tm6000-dvb.c (95%)
 rename drivers/{staging => media/video}/tm6000/tm6000-i2c.c (95%)
 rename drivers/{staging => media/video}/tm6000/tm6000-input.c (99%)
 rename drivers/{staging => media/video}/tm6000/tm6000-regs.h (99%)
 create mode 100644 drivers/media/video/tm6000/tm6000-stds.c
 rename drivers/{staging => media/video}/tm6000/tm6000-usb-isoc.h (97%)
 rename drivers/{staging => media/video}/tm6000/tm6000-video.c (96%)
 rename drivers/{staging => media/video}/tm6000/tm6000.h (98%)
 rename drivers/{staging => misc}/altera-stapl/Kconfig (77%)
 create mode 100644 drivers/misc/altera-stapl/Makefile
 rename drivers/{staging => misc}/altera-stapl/altera-comp.c (100%)
 rename drivers/{staging => misc}/altera-stapl/altera-exprt.h (100%)
 rename drivers/{staging => misc}/altera-stapl/altera-jtag.c (99%)
 rename drivers/{staging => misc}/altera-stapl/altera-jtag.h (100%)
 rename drivers/{staging => misc}/altera-stapl/altera-lpt.c (100%)
 rename drivers/{staging => misc}/altera-stapl/altera.c (99%)
 delete mode 100644 drivers/staging/altera-stapl/Makefile
 delete mode 100644 drivers/staging/tm6000/README
 delete mode 100644 drivers/staging/tm6000/TODO
 delete mode 100644 drivers/staging/tm6000/tm6000-stds.c
 create mode 100644 include/media/mt9p031.h
 create mode 100644 include/media/mt9t001.h
 create mode 100644 include/media/omap3isp.h
 rename {drivers/staging/altera-stapl => include/misc}/altera.h (100%)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOrpdhAAoJEGO08Bl/PELnVK8QAKdWs2IeXNZrjYxcPxIDnQrJ
mSe4A9M60PhhlLre53tonFlZZ705cUDLcBPzFIugyFHKCQWOLZFXux325UlWtMLY
N/+tjrwKCh9vJnafIgMpsISdyIwG1hjL4Wq6kyZs7xrQFT/l57GrIEWf8Y+QXxxj
wd4Tn5R270QF3bO6YzltocvxzLqQ3XZVvIqvAgZimxhVjKTRaOBOCb6ckPuXlp8t
ReByHPaBHFEGKxNSIzFIaT26BevouNJoEQ3ReRZD+eLJ83QZ5daF8ZAT4n2tCZMU
qg7VS+4h7m8gqccstSvqzrNqbVDeAQlJ8+pSG6OwkTG8DHHbWybRxhqzRWUPHd8s
bVVfjxxYYY0TWole/dattYYzuXi/NO8g3Ag7OKATLS3C19oyeUSyE8DoCVhbchX1
rCHdwcOaKR5zsKyUbo63KXEO4+OUynkO9fVTsbiWmcM/bhBXeuHolNIUngeG6eKm
8fICEdrPyw/AkBNzH7Dc1kwGU/d0rZViweOOhSzA659z188Z/mhGMN+jauv58t1v
hesR51DS+jL3JqXMGeuAtJj2oDV7PeljmI917Y6YzFTzhBjou5X8cPEvgLCb7W2n
WPU1SIbonieyYlEbENsJFGntowO7ntZp+SHXomfjz0PM/Rcg5G+XWFq8YnduYGSl
yQ/8nRfRJAJ+rCMpGE+Z
=HJl5
-----END PGP SIGNATURE-----

^ permalink raw reply

* [U-Boot] [PATCH 3/7] omap/spl: actually enable the console
From: Ilya Yanok @ 2011-10-31 12:39 UTC (permalink / raw)
  To: u-boot
In-Reply-To: <CA+M6bXkCnjL80AgYSa7b2oHVAEH-V3FN_BnrX4OpgDDua2F6Yw@mail.gmail.com>

Hi Tom,

>> Currently OMAP SPL code does all the initialization but does not set the
>> gd->have_console value so no output is actually performed. This patch
>> sets gd->have_console to 1 if CONFIG_SPL_CONSOLE is defined.
>>
>> Signed-off-by: Ilya Yanok <yanok@emcraft.com>
> 
> So, this is because of a behavior change.  Do we want an SPL_CONSOLE variable?
> Or should we just bring back the previous behavior?  I kind of think
> the previous
> behavior...  Others?

So what will be your decision? Should I remove SPL_CONSOLE and repost
the patch? Or should I drop it completely?

Regards, Ilya.

^ permalink raw reply

* [PATCH] ir-rc6-decoder: Support RC6-6A variable length data
From: Lawrence Rust @ 2011-10-31 12:39 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Andy Walls, Jarod Wilson, Linux Media Mailing List

Hi,

Thanks for the comments and feedback that you gave concerning this
patch.  In the light of these I have made some small changes.

In particular I would like to address Mauro's comments regarding
changing the size of a scancode to accommodate 128 bits.  I've given
this some thought and believe that leaving it at 32 bits is the best
solution.  Changing it risks breaking all sorts of code with no tangible
benefit since I've not found a RC that uses more than 32 bits.

The code now tracks frames with > 32 data bits, in order to cleanly
detect the end of frame, but now reports an error and discards the data.

Hope this meets with your approval.  The following patch is against 3.0

-- 
Lawrence

>From 2c0c28cbd750db64d7591a1d1998ac3dacc7d4db Mon Sep 17 00:00:00 2001
From: Lawrence Rust <lvr@softsystem.co.uk>
Date: Mon, 26 Sep 2011 15:21:13 +0200
Subject: [PATCH] ir-rc6-decoder: Support RC6-6A variable length body

Add support for variable length mode-6A frames which can range from
8 to 128 data bits.  See: http://slydiman.narod.ru/scr/kb/rc6.htm for
an explanation of RC6 frames.

Remove the assumption that frames are fixed length (currently either 24
or 32 data bits) and actually count the number of bits until an end of
frame marker is seen.

Currently up to 32 data bits are supported, limited by the size of scancodes
reported to userspace.  Frames with excess bits are rejected.

This change adds support for Sky/Sky+ RC's that transmit RC6-6A-24 i.e.
24 bit data.

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
---
 drivers/media/rc/ir-rc6-decoder.c |   67 ++++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 26 deletions(-)

diff --git a/drivers/media/rc/ir-rc6-decoder.c b/drivers/media/rc/ir-rc6-decoder.c
index 755dafa..3840179 100644
--- a/drivers/media/rc/ir-rc6-decoder.c
+++ b/drivers/media/rc/ir-rc6-decoder.c
@@ -17,24 +17,31 @@
 /*
  * This decoder currently supports:
  * RC6-0-16	(standard toggle bit in header)
+ * RC6-6A-20	(no toggle bit)
  * RC6-6A-24	(no toggle bit)
  * RC6-6A-32	(MCE version with toggle bit in body)
  */
 
-#define RC6_UNIT		444444	/* us */
+#define RC6_UNIT		444444	/* nanosecs */
 #define RC6_HEADER_NBITS	4	/* not including toggle bit */
 #define RC6_0_NBITS		16
-#define RC6_6A_SMALL_NBITS	24
-#define RC6_6A_LARGE_NBITS	32
+#define RC6_6A_32_NBITS		32
+#define RC6_6A_NBITS		128	/* Variable 8..128 */
 #define RC6_PREFIX_PULSE	(6 * RC6_UNIT)
 #define RC6_PREFIX_SPACE	(2 * RC6_UNIT)
 #define RC6_BIT_START		(1 * RC6_UNIT)
 #define RC6_BIT_END		(1 * RC6_UNIT)
 #define RC6_TOGGLE_START	(2 * RC6_UNIT)
 #define RC6_TOGGLE_END		(2 * RC6_UNIT)
+#define RC6_SUFFIX_SPACE	(6 * RC6_UNIT)
 #define RC6_MODE_MASK		0x07	/* for the header bits */
 #define RC6_STARTBIT_MASK	0x08	/* for the header bits */
 #define RC6_6A_MCE_TOGGLE_MASK	0x8000	/* for the body bits */
+#define RC6_6A_LCC_MASK		0xffff0000 /* RC6-6A-32 long customer code mask */
+#define RC6_6A_MCE_CC		0x800f0000 /* MCE customer code */
+#ifndef CHAR_BIT
+#define CHAR_BIT 8	/* Normally in <limits.h> */
+#endif
 
 enum rc6_mode {
 	RC6_MODE_0,
@@ -124,6 +131,7 @@ again:
 			break;
 
 		data->state = STATE_HEADER_BIT_START;
+		data->header = 0;
 		return 0;
 
 	case STATE_HEADER_BIT_START:
@@ -170,20 +178,14 @@ again:
 		data->state = STATE_BODY_BIT_START;
 		decrease_duration(&ev, RC6_TOGGLE_END);
 		data->count = 0;
+		data->body = 0;
 
 		switch (rc6_mode(data)) {
 		case RC6_MODE_0:
 			data->wanted_bits = RC6_0_NBITS;
 			break;
 		case RC6_MODE_6A:
-			/* This might look weird, but we basically
-			   check the value of the first body bit to
-			   determine the number of bits in mode 6A */
-			if ((!ev.pulse && !geq_margin(ev.duration, RC6_UNIT, RC6_UNIT / 2)) ||
-			    geq_margin(ev.duration, RC6_UNIT, RC6_UNIT / 2))
-				data->wanted_bits = RC6_6A_LARGE_NBITS;
-			else
-				data->wanted_bits = RC6_6A_SMALL_NBITS;
+			data->wanted_bits = RC6_6A_NBITS;
 			break;
 		default:
 			IR_dprintk(1, "RC6 unknown mode\n");
@@ -192,15 +194,21 @@ again:
 		goto again;
 
 	case STATE_BODY_BIT_START:
-		if (!eq_margin(ev.duration, RC6_BIT_START, RC6_UNIT / 2))
-			break;
-
-		data->body <<= 1;
-		if (ev.pulse)
-			data->body |= 1;
-		data->count++;
-		data->state = STATE_BODY_BIT_END;
-		return 0;
+		if (eq_margin(ev.duration, RC6_BIT_START, RC6_UNIT / 2)) {
+			/* Discard LSB's that won't fit in data->body */
+			if (data->count++ < CHAR_BIT * sizeof data->body) {
+				data->body <<= 1;
+				if (ev.pulse)
+					data->body |= 1;
+			}
+			data->state = STATE_BODY_BIT_END;
+			return 0;
+		} else if (RC6_MODE_6A == rc6_mode(data) && !ev.pulse &&
+				geq_margin(ev.duration, RC6_SUFFIX_SPACE, RC6_UNIT / 2)) {
+			data->state = STATE_FINISHED;
+			goto again;
+		}
+		break;
 
 	case STATE_BODY_BIT_END:
 		if (!is_transition(&ev, &dev->raw->prev_ev))
@@ -220,20 +228,27 @@ again:
 
 		switch (rc6_mode(data)) {
 		case RC6_MODE_0:
-			scancode = data->body & 0xffff;
+			scancode = data->body;
 			toggle = data->toggle;
 			IR_dprintk(1, "RC6(0) scancode 0x%04x (toggle: %u)\n",
 				   scancode, toggle);
 			break;
 		case RC6_MODE_6A:
-			if (data->wanted_bits == RC6_6A_LARGE_NBITS) {
-				toggle = data->body & RC6_6A_MCE_TOGGLE_MASK ? 1 : 0;
-				scancode = data->body & ~RC6_6A_MCE_TOGGLE_MASK;
+			if (data->count > CHAR_BIT * sizeof data->body) {
+				IR_dprintk(1, "RC6 too many (%u) data bits\n",
+					data->count);
+				goto out;
+			}
+
+			scancode = data->body;
+			if (data->count == RC6_6A_32_NBITS &&
+					(scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) {
+				/* MCE RC */
+				toggle = (scancode & RC6_6A_MCE_TOGGLE_MASK) ? 1 : 0;
+				scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
 			} else {
 				toggle = 0;
-				scancode = data->body & 0xffffff;
 			}
-
 			IR_dprintk(1, "RC6(6A) scancode 0x%08x (toggle: %u)\n",
 				   scancode, toggle);
 			break;
-- 
1.7.4.1


^ permalink raw reply related


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.