GitHub/mt8127/android_kernel_alcatel_ttab.git
12 years ago[media] omap3isp: preview: Remove averager parameter update flag
Laurent Pinchart [Wed, 28 Mar 2012 11:53:15 +0000 (08:53 -0300)]
[media] omap3isp: preview: Remove averager parameter update flag

The flag isn't used, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: preview: Optimize parameters setup for the common case
Laurent Pinchart [Mon, 26 Mar 2012 13:24:50 +0000 (10:24 -0300)]
[media] omap3isp: preview: Optimize parameters setup for the common case

If no parameter needs to be modified, make preview_config() and
preview_setup_hw() return immediately. This speeds up interrupt handling
in the common case.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: preview: Skip brightness and contrast in configuration ioctl
Laurent Pinchart [Mon, 26 Mar 2012 11:54:26 +0000 (08:54 -0300)]
[media] omap3isp: preview: Skip brightness and contrast in configuration ioctl

Brightness and contrast are handled through V4L2 controls. Their
configuration bit in the preview engine update attributes table is set
to -1 to reflect that. However, the VIDIOC_OMAP3ISP_PRV_CFG ioctl
handler doesn't handle -1 correctly as a configuration bit value, and
erroneously considers that the parameter has been selected for update by
the ioctl caller. Fix this.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: Handle omap3isp_csi2_reset() errors
Sakari Ailus [Fri, 2 Mar 2012 16:03:01 +0000 (13:03 -0300)]
[media] omap3isp: Handle omap3isp_csi2_reset() errors

Handle errors from omap3isp_csi2_reset() in omap3isp_csiphy_acquire().

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: Fix frame number propagation
Laurent Pinchart [Thu, 9 Feb 2012 16:00:45 +0000 (13:00 -0300)]
[media] omap3isp: Fix frame number propagation

When propagating the frame number through the pipeline, the frame number
must be incremented at frame start by the appropriate IRQ handler. This
was properly handled for the CSI2 and CCP2 receivers, but not when the
CCDC parallel interface is used.

ADD frame number incrementation to the HS/VS interrupt handler. As the
HS/VS interrupt is also generated for frames received by the CSI2 and
CCP2 receivers, remove explicit propagation handling from the serial
receivers.

Reported-by: Kruno Mrak <kruno.mrak@matrix-vision.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Tested-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: Prevent crash at module unload
Sakari Ailus [Fri, 27 Jan 2012 10:18:51 +0000 (07:18 -0300)]
[media] omap3isp: Prevent crash at module unload

iommu_domain_free() was called in isp_remove() before omap3isp_put().
omap3isp_put() must not save the context if the IOMMU no longer is there.
Fix this.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: Prevent pipelines that contain a crashed entity from starting
Laurent Pinchart [Fri, 18 Nov 2011 14:28:24 +0000 (11:28 -0300)]
[media] omap3isp: Prevent pipelines that contain a crashed entity from starting

The OMAP3 ISP preview engine will violate the L4 bus protocol if we try
to write some of its internal registers after it failed to stop
properly. This generates an external abort on non-linefetch fault,
triggering a fatal kernel oops.

We can't always prevent preview engine stop failures (they can for
instance be caused by a sensor crash), but we can improve the system
reliability by refusing to start streaming on a pipeline that contains
the preview engine if it failed to stop. The driver will then eventually
reset the ISP (when all applications will have closed their file handles
related to OMAP3 ISP device nodes), making the ISP usable again.

Fixes: NB#291334 - camera: Recover gracefully from ISP crash instead of oopsing

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
Reviewed-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Use videobuf2 .get_unmapped_area() implementation
Laurent Pinchart [Mon, 30 Apr 2012 11:19:10 +0000 (08:19 -0300)]
[media] uvcvideo: Use videobuf2 .get_unmapped_area() implementation

The get_unmapped_area() operation was forgotten during conversion to
videobuf2. Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] MAINTAINERS: Update UVC driver's mailing list address
Laurent Pinchart [Mon, 2 Apr 2012 09:11:09 +0000 (06:11 -0300)]
[media] MAINTAINERS: Update UVC driver's mailing list address

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Fix ENUMINPUT handling
Laurent Pinchart [Wed, 21 Mar 2012 12:50:36 +0000 (09:50 -0300)]
[media] uvcvideo: Fix ENUMINPUT handling

Properly validate the user-supplied index against the number of inputs.
The code used the pin local variable instead of the index by mistake.

Reported-by: Jozef Vesely <vesely@gjh.sk>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: For querystd, start with list of hardware-supported standards
Mike Isely [Mon, 20 Feb 2012 05:40:56 +0000 (02:40 -0300)]
[media] pvrusb2: For querystd, start with list of hardware-supported standards

The V4L querystd implementation appears to want to narrow down the
list of available standards by starting with a hardware-supported list
and then attempting to detect which among those are actually
available.  Prior to this change in the pvrusb2 driver we started with
all possible standards.  With this change in place we instead narrow
to just the standards that we know the hardware can actually support.
For example, this removes the ATSC standards from the list if we
aren't dealing with a hybrid device...

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: Get rid of obsolete code for video standard enumeration
Mike Isely [Mon, 20 Feb 2012 05:39:22 +0000 (02:39 -0300)]
[media] pvrusb2: Get rid of obsolete code for video standard enumeration

Get rid of pvrusb2-local implementation for enumeration of video
standards - with video_ioctl2 this happens automatically now in the
v4l core.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: Trivial tweak to get rid of some redundant dereferences
Mike Isely [Mon, 20 Feb 2012 05:35:20 +0000 (02:35 -0300)]
[media] pvrusb2: Trivial tweak to get rid of some redundant dereferences

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: Base available video standards on what hardware supports
Mike Isely [Mon, 20 Feb 2012 05:33:06 +0000 (02:33 -0300)]
[media] pvrusb2: Base available video standards on what hardware supports

With the transition to ioctl2, the pvrusb2 driver's own standards
enumeration is no longer used.  Instead a generic algorithm internal
to v4l is used (which is a great idea - since the pvrusb2
implementation itself was generic anyway).  This change ensures that
the v4l algorithm works with the correct set of hardware supported
standards.  This resolves a FIXME left behind from the videodev_ioctl2
transition.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media][trival] pvrusb2: Fix truncated video standard names
Mike Isely [Mon, 20 Feb 2012 05:31:25 +0000 (02:31 -0300)]
[media][trival] pvrusb2: Fix truncated video standard names

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: Transform video standard detection result into read-only control ID
Mike Isely [Mon, 20 Feb 2012 05:28:56 +0000 (02:28 -0300)]
[media] pvrusb2: Transform video standard detection result into read-only control ID

Other aspects of the pvrusb2 driver - including in particular those
dealing with video standards - all use internal control IDs for
uniform access by the interfaces.  By exporting the querystd result as
another control ID, uniform access to it becomes available through the
sysfs interface.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: Implement querystd for videodev_ioctl2
Mike Isely [Mon, 20 Feb 2012 05:26:06 +0000 (02:26 -0300)]
[media] pvrusb2: Implement querystd for videodev_ioctl2

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: Clean up pvr2_hdw_get_detected_std()
Mike Isely [Mon, 20 Feb 2012 05:24:39 +0000 (02:24 -0300)]
[media] pvrusb2: Clean up pvr2_hdw_get_detected_std()

Move full implementation of pvr2_hdw_get_detected_std() actually
include pvr2_hdw_get_detected_std().

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: convert to video_ioctl2
Hans Verkuil [Mon, 20 Feb 2012 05:21:00 +0000 (02:21 -0300)]
[media] pvrusb2: convert to video_ioctl2

Note: there is one FIXME remaining: the tvnorms field of struct
video_device should be set up correctly. I have used V4L2_STD_ALL for
now, but I'm sure this can be improved. This field is used by
video_ioctl2 to implement ENUMSTD.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pvrusb2: Stop statically initializing reserved struct fields to zero
Mike Isely [Mon, 20 Feb 2012 05:03:39 +0000 (02:03 -0300)]
[media] pvrusb2: Stop statically initializing reserved struct fields to zero

In any statically initialized data structure, the compiler is going to
zero any part which is not already explicitly initialized.  While we
can take that knowledge overboard and simply avoid initializing
anything that needs to be zero, it's at least a good idea not to
bother zeroing parts that we don't otherwise care about - like
"reserved" fields which may change in the future.  Avoiding
initialization of those fields now also avoids possible conflict down
the road.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Drop unused ctrl member from struct uvc_control_mapping
Hans de Goede [Sun, 8 Apr 2012 15:59:54 +0000 (12:59 -0300)]
[media] uvcvideo: Drop unused ctrl member from struct uvc_control_mapping

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Send control change events for slave ctrls when the master changes
Hans de Goede [Sun, 8 Apr 2012 15:59:53 +0000 (12:59 -0300)]
[media] uvcvideo: Send control change events for slave ctrls when the master changes

This allows v4l2 control UI-s to update the inactive state (ie grey-ing
out of controls) for slave controls when the master control changes.

[Use __uvc_find_control() to find slave controls, as they're always
located in the same entity as the corresponding master control]

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Properly report the inactive flag for inactive controls
Hans de Goede [Sun, 8 Apr 2012 15:59:52 +0000 (12:59 -0300)]
[media] uvcvideo: Properly report the inactive flag for inactive controls

Note the unused in this patch slave_ids addition to the mappings will get
used in a follow up patch to generate control change events for the slave
ctrls when their flags change due to the master control changing value.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Add support for control events
Hans de Goede [Sun, 8 Apr 2012 15:59:51 +0000 (12:59 -0300)]
[media] uvcvideo: Add support for control events

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Move __uvc_ctrl_get() up
Hans de Goede [Sun, 8 Apr 2012 15:59:50 +0000 (12:59 -0300)]
[media] uvcvideo: Move __uvc_ctrl_get() up

This avoids the need for doing a forward declaration of __uvc_ctrl_get
(which is a static function) in later patches in this series.

Note to reviewers this patch does not change a single line of code, it
just moves the function up in uvc_ctrl.c a bit.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Refactor uvc_ctrl_get and query
Hans de Goede [Sun, 8 Apr 2012 15:59:49 +0000 (12:59 -0300)]
[media] uvcvideo: Refactor uvc_ctrl_get and query

This is a preparation patch for adding ctrl event support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Fix a "ignoring return value of ‘__clear_user’" warning
Hans de Goede [Sun, 8 Apr 2012 15:59:48 +0000 (12:59 -0300)]
[media] uvcvideo: Fix a "ignoring return value of ‘__clear_user’" warning

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] v4l2-ctrls: Use v4l2_subscribed_event_ops
Hans de Goede [Sun, 8 Apr 2012 15:59:47 +0000 (12:59 -0300)]
[media] v4l2-ctrls: Use v4l2_subscribed_event_ops

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[hans.verkuil@cisco.com: Fix a locking bug]
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] v4l2-event: Add v4l2_subscribed_event_ops
Hans de Goede [Sun, 8 Apr 2012 15:59:46 +0000 (12:59 -0300)]
[media] v4l2-event: Add v4l2_subscribed_event_ops

Just like with ctrl events, drivers may want to get called back on
listener add / remove for other event types too. Rather then special
casing all of this in subscribe / unsubscribe event it is better to
use ops for this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] media/radio: use v4l2_ctrl_subscribe_event where possible
Hans de Goede [Sun, 8 Apr 2012 15:59:45 +0000 (12:59 -0300)]
[media] media/radio: use v4l2_ctrl_subscribe_event where possible

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] cpia2: major overhaul to get it in a working state again
Hans Verkuil [Sun, 29 Apr 2012 11:44:44 +0000 (08:44 -0300)]
[media] cpia2: major overhaul to get it in a working state again

This driver was severely broken. This patch makes it work again, and updates
it to the latest V4L2 frameworks (except for videobuf2). It passes the
v4l2-compliance tests and it now handles suspend/resume correctly.

Several custom controls are replaced by new standard controls, only the
USB_ALTERNATE control remains.

Tested with the Hanse HVS-CM500PC USB microscope.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] media/video/et61x251: Remove this deprecated driver
Hans de Goede [Fri, 4 May 2012 09:38:43 +0000 (06:38 -0300)]
[media] media/video/et61x251: Remove this deprecated driver

The et61x251 has been deprecated for a couple of releases now, as all
devices it supports are also supported by gspca_etoms, and it has not
seen any maintenance in years. So now it is time to remove it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7302: Improve the gain control
Hans de Goede [Sat, 28 Apr 2012 13:12:28 +0000 (10:12 -0300)]
[media] gspca_pac7302: Improve the gain control

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7302: Document some more registers
Hans de Goede [Fri, 27 Apr 2012 16:00:57 +0000 (13:00 -0300)]
[media] gspca_pac7302: Document some more registers

Note like all info on the pac73xx chips, this info was found by trial and
error, so it is not necessarily 100% correct.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7302: Convert multi-line comments to standard kernel style
Hans de Goede [Sat, 28 Apr 2012 13:31:17 +0000 (10:31 -0300)]
[media] gspca_pac7302: Convert multi-line comments to standard kernel style

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7311: Properly set the compression balance
Hans de Goede [Fri, 27 Apr 2012 15:56:59 +0000 (12:56 -0300)]
[media] gspca_pac7311: Properly set the compression balance

Before this patch sometimes the camera would run out of bandwidth when
running at 640x480@30.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7311: Convert multi-line comments to standard kernel style
Hans de Goede [Sat, 28 Apr 2012 13:20:50 +0000 (10:20 -0300)]
[media] gspca_pac7311: Convert multi-line comments to standard kernel style

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7311: Switch to coarse expo autogain algorithm
Hans de Goede [Fri, 27 Apr 2012 16:06:26 +0000 (13:06 -0300)]
[media] gspca_pac7311: Switch to coarse expo autogain algorithm

We can only control the clockdivider to control exposure on the pac7311,
making our expo control coarse, switch to an autogain algorithm optimized for
this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7311: Switch to new gspca control mechanism
Hans de Goede [Fri, 27 Apr 2012 14:40:28 +0000 (11:40 -0300)]
[media] gspca_pac7311: Switch to new gspca control mechanism

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7311: Adjust control scales to match registers
Hans de Goede [Wed, 25 Apr 2012 15:17:19 +0000 (12:17 -0300)]
[media] gspca_pac7311: Adjust control scales to match registers

Now that the pac7302 and pac7311 drivers are split, they no longer
share there control settings, so there is no need to scale the controls
to register values, instead make them reflect the registers directly.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac7311: Make sure exposure changes get applied immediately
Hans de Goede [Wed, 18 Apr 2012 09:12:57 +0000 (06:12 -0300)]
[media] gspca_pac7311: Make sure exposure changes get applied immediately

It turns out that the flush to sensor command needs to be done per register
bank. We were missing one such flush in set_exposure, causing exposure changes
to only show up when another setting in the same bank also got changed.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca_pac73xx: Remove comments from before the 7302 / 7311 separation
Hans de Goede [Wed, 25 Apr 2012 15:00:49 +0000 (12:00 -0300)]
[media] gspca_pac73xx: Remove comments from before the 7302 / 7311 separation

The pac7302 and pac7311 driver still contains some comments from before
they were separated, such as marking certain functions 7302 or 7311 only,
with the new split drivers these make no sense, remove them.

Also removed the empty/unused sd_stop0 function from pac7311.c

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca/autogain_functions.h: Allow users to declare what they want
Hans de Goede [Fri, 27 Apr 2012 14:32:24 +0000 (11:32 -0300)]
[media] gspca/autogain_functions.h: Allow users to declare what they want

Allow users of gspca/autogain_functions.h to declare which of the autogain
algoritms they are going to use. This allows us to remove the hacks from
drivers which don't use coarse_grained_expo_autogain.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] stk-webcam: Don't flip the image by default
Hans de Goede [Sun, 8 Apr 2012 14:04:30 +0000 (11:04 -0300)]
[media] stk-webcam: Don't flip the image by default

Prior to this patch the stk-webcam driver was enabling the vflip and mirror
bits in the sensor by default. Which only is the right thing to do if the
sensor is actually mounted upside down, which it usually is not.

Actually we've received upside down reports for both usb-ids which this
driver supports, one for an "ASUSTeK Computer Inc." "A3H" laptop with
a build in 174f:a311 webcam, and one for an "To Be Filled By O.E.M."
"Z96FM" laptop with a build in 05e1:0501 webcam.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] radio-mr800: add hardware seek support
Hans Verkuil [Fri, 27 Apr 2012 21:39:37 +0000 (18:39 -0300)]
[media] radio-mr800: add hardware seek support

Added hardware seek support based on information gleaned from the
GPLv2 driver available here:
http://sourceforge.net/projects/av-usbradio/

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] radio-mr800: add support for stereo and signal detection
Hans Verkuil [Fri, 27 Apr 2012 16:28:34 +0000 (13:28 -0300)]
[media] radio-mr800: add support for stereo and signal detection

Thanks to an older driver by Faidon Liambotis <paravoid@debian.org> (as noted
in the radio-mr800 comment block at the start) for figuring out how to get the
signal/stereo state.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] radio-mr800: cleanup and have it comply to the V4L2 API
Hans Verkuil [Fri, 27 Apr 2012 15:30:40 +0000 (12:30 -0300)]
[media] radio-mr800: cleanup and have it comply to the V4L2 API

Implement the control framework and update to the latest V4L2 framework.
The v4l2-compliance tool now runs without errors.
Fixed bad g/s_tuner handling with respect to mono/stereo.
Support control events.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] radio-isa: fix memory leak
Hans Verkuil [Sat, 28 Apr 2012 11:09:48 +0000 (08:09 -0300)]
[media] radio-isa: fix memory leak

If there is an error when creating controls the v4l2_ctrl_handler_free
function must be called.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] radio-keene: support suspend/resume
Hans Verkuil [Wed, 18 Apr 2012 09:47:02 +0000 (06:47 -0300)]
[media] radio-keene: support suspend/resume

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] ivtv: set max/step to 0 for PTS and FRAME controls
Hans Verkuil [Fri, 20 Apr 2012 12:51:31 +0000 (09:51 -0300)]
[media] ivtv: set max/step to 0 for PTS and FRAME controls

When creating 64 bit integer controls make sure the max and step
values are 0 (as 64 bit controls do not have ranges).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] dsbr100: clean up and update to the latest v4l2 framework
Hans Verkuil [Fri, 27 Apr 2012 11:13:26 +0000 (08:13 -0300)]
[media] dsbr100: clean up and update to the latest v4l2 framework

This driver now complies with the v4l2-compliance tests and uses the v4l2
frameworks correctly.

It has been tested with the radio-keene FM transmitter as well.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca - sn9c20x: Change the exposure setting of Omnivision sensors
Jean-François Moine [Sat, 24 Mar 2012 12:33:42 +0000 (09:33 -0300)]
[media] gspca - sn9c20x: Change the exposure setting of Omnivision sensors

The exposure of Omnivision sensors is defined by the registers 07, 10 and 04.
This patch updates the registers 10 and 04 before using the registers 2d
and 2e (dummy lines).

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca - sn9c20x: Don't do sensor update before the capture is started
Jean-François Moine [Sat, 24 Mar 2012 12:28:39 +0000 (09:28 -0300)]
[media] gspca - sn9c20x: Don't do sensor update before the capture is started

Telling the bridge to update the sensor when setting the exposure or the gain
is not needed when the image transfer is not started.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca - sn9c20x: Set the i2c interface speed
Jean-François Moine [Sat, 24 Mar 2012 12:23:56 +0000 (09:23 -0300)]
[media] gspca - sn9c20x: Set the i2c interface speed

The i2c interface speed was set to 400 Kb/s while it is 100 Kb/s
for most sensors.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca - sn9c20x: Define more tables as constant
Jean-François Moine [Sat, 24 Mar 2012 12:20:25 +0000 (09:20 -0300)]
[media] gspca - sn9c20x: Define more tables as constant

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca - sn9c20x: Add the sensor mt9vprb to the sensor ident table
Jean-François Moine [Sat, 24 Mar 2012 12:17:37 +0000 (09:17 -0300)]
[media] gspca - sn9c20x: Add the sensor mt9vprb to the sensor ident table

The table did not contain the sensor mt9vprb.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca - sn9c20x: Change the number of the sensor mt9vprb
Jean-François Moine [Sat, 24 Mar 2012 12:16:14 +0000 (09:16 -0300)]
[media] gspca - sn9c20x: Change the number of the sensor mt9vprb

This avoid skips in switch statements.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] gspca - ov519: Add more information about probe problems
Jean-François Moine [Sat, 24 Mar 2012 12:14:01 +0000 (09:14 -0300)]
[media] gspca - ov519: Add more information about probe problems

The error messages in stable kernel releases must be output by 'pr_err'.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] smsusb: add autodetection support for USB ID 2040:c0a0
Michael Krufky [Thu, 22 Mar 2012 16:55:05 +0000 (13:55 -0300)]
[media] smsusb: add autodetection support for USB ID 2040:c0a0

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] V4L2 Spec: fix typo
Hans Verkuil [Thu, 26 Apr 2012 10:39:14 +0000 (07:39 -0300)]
[media] V4L2 Spec: fix typo

V4L2_CID_JPEG_COMPRESION_QUALITY -> V4L2_CID_JPEG_COMPRESSION_QUALITY

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] drivers/media/video/au0828/au0828-video.c: add missing video_device_release
Julia Lawall [Sun, 22 Apr 2012 10:54:42 +0000 (07:54 -0300)]
[media] drivers/media/video/au0828/au0828-video.c: add missing video_device_release

At the point of the call to video_register_device, both dev->vbi_dev and
dev->vdev have been allocated, and so should be freed on failure.  The
error-handling code is moved to the end of the function, to avoid code
duplication.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] ngene: remove an unneeded condition
Dan Carpenter [Fri, 20 Apr 2012 12:15:02 +0000 (09:15 -0300)]
[media] ngene: remove an unneeded condition

"stat" is always zero here.  The condition used to be needed, but we
shifted stuff around in 0f0b270f90 "[media] ngene: CXD2099AR Common
Interface driver".

This doesn't change how the code works, it's just a bit tidier.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] saa7164: saa7164_vbi_stop_port() returns linux error codes
Dan Carpenter [Fri, 20 Apr 2012 05:50:45 +0000 (02:50 -0300)]
[media] saa7164: saa7164_vbi_stop_port() returns linux error codes

The saa7164_vbi_stop_port() changes the SAA_ERR_ALREADY_STOPPED result
code to -EIO before returning.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] V4L: fix a compiler warning
Guennadi Liakhovetski [Wed, 18 Apr 2012 06:59:58 +0000 (03:59 -0300)]
[media] V4L: fix a compiler warning

Fix the warning:

In file included from /home/lyakh/software/project/24/src/linux-2.6/drivers/media/video/v4l2-subdev.c:29:
linux-2.6/include/media/v4l2-ctrls.h:497: warning: 'struct file' declared inside parameter list
linux-2.6/include/media/v4l2-ctrls.h:497: warning: its scope is only this definition or declaration, which is probably not what you want
linux-2.6/include/media/v4l2-ctrls.h:505: warning: 'struct file' declared inside parameter list

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] vivi: fix duplicate line
Hans Verkuil [Thu, 19 Apr 2012 14:44:18 +0000 (11:44 -0300)]
[media] vivi: fix duplicate line

This was inadvertently introduced when the integer menu control was added.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] v4l2-ctrls.c: zero min/max/step/def values for 64 bit integers
Hans Verkuil [Thu, 19 Apr 2012 15:37:18 +0000 (12:37 -0300)]
[media] v4l2-ctrls.c: zero min/max/step/def values for 64 bit integers

Those fields are meaningless for such control types, and the control framework
should zero them. Otherwise v4l2-compliance will complain about non-zero
min/max/step/def fields.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] V4L2: drivers implementing vidioc_default should also return -ENOTTY
Hans Verkuil [Thu, 19 Apr 2012 15:36:03 +0000 (12:36 -0300)]
[media] V4L2: drivers implementing vidioc_default should also return -ENOTTY

If the vidioc_default implementation doesn't support the ioctl, then drivers
must return -ENOTTY instead of -EINVAL.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] V4L: fix incorrect refcounting
Hans Verkuil [Thu, 19 Apr 2012 15:27:56 +0000 (12:27 -0300)]
[media] V4L: fix incorrect refcounting

Both radio-keene and dsbr100 did one v4l2_device_get too many. Thus the refcount
never became 0 and that causes a memory leak.

Also updated the V4L2 framework documentation accordingly.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] pluto2: remove some dead code
Dan Carpenter [Wed, 18 Apr 2012 05:55:51 +0000 (02:55 -0300)]
[media] pluto2: remove some dead code

buf[] is a 4 character array.  Perhaps this was some debugging code from
back in the day?

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] drivers: media: dvb: ddbridge: ddbridge-code: Remove unneeded include of...
Marcos Paulo de Souza [Wed, 18 Apr 2012 03:30:03 +0000 (00:30 -0300)]
[media] drivers: media: dvb: ddbridge: ddbridge-code: Remove unneeded include of version.h

The output of "make versioncheck" told us that the file
drivers/media/dvb/ddbridge/ddbridge-code.c has a incorrect include of
version.h:

linux/drivers/media/dvb/ddbridge/ddbridge-core.c: 34 linux/version.h not
needed.

After take a look in the code, we can agree to remove it.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: <linux-media@vger.kernel.org>
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] drivers: media: radio: radio-keene.c: Remove unneeded include of version.h
Marcos Paulo de Souza [Wed, 18 Apr 2012 03:30:04 +0000 (00:30 -0300)]
[media] drivers: media: radio: radio-keene.c: Remove unneeded include of version.h

The output of "make versioncheck" told us that:

drivers/media/radio/radio-keene.c: 31 linux/version.h not needed.

After take a look in the code, we can agree to remove it.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: <linux-media@vger.kernel.org>
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] drivers: media: video: adp1653.c: Remove unneeded include of version.h
Marcos Paulo de Souza [Wed, 18 Apr 2012 03:30:05 +0000 (00:30 -0300)]
[media] drivers: media: video: adp1653.c: Remove unneeded include of version.h

The output of "make versioncheck" told us that:

drivers/media/video/adp1653.c: 37 linux/version.h not needed.

After we take a look at the code, we can afree to remove it.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: <linux-media@vger.kernel.org>
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] tm6000: don't use KERNEL_VERSION
Mauro Carvalho Chehab [Thu, 19 Apr 2012 19:42:36 +0000 (16:42 -0300)]
[media] tm6000: don't use KERNEL_VERSION

As reported by Marcos:
> The output of "make versioncheck" told us that:
>
> drivers/staging/media/easycap/easycap_ioctl.c: 2442: need linux/version.h

Now that drivers/media/video/v4l2-ioctl.c fills cap->version:
case VIDIOC_QUERYCAP:
{
struct v4l2_capability *cap = (struct v4l2_capability *)arg;

if (!ops->vidioc_querycap)
break;

cap->version = LINUX_VERSION_CODE;

V4L2 drivers that use video_ioctl2() shouldn't initialize it anymore.

Reported-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] tlg2300: Remove usage of KERNEL_VERSION()
Mauro Carvalho Chehab [Thu, 19 Apr 2012 19:35:27 +0000 (16:35 -0300)]
[media] tlg2300: Remove usage of KERNEL_VERSION()

As reported by Marcos:

On 04-18-2012 01:30, Marcos Paulo de Souza wrote:
> The output of "make versioncheck" told us that:
>
> drivers/media/video/tlg2300/pd-video.c: 1669: need linux/version.h
>
> If we take a look at the code, we can see that this file uses the macro
> KERNEL_VERSION.

The V4L2 core now fills it automatically, so drivers shouldn't touch on
cap->version anymore.

Reported by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] dib0700: add new USB PID for the Elgato EyeTV DTT stick
Gianluca Gennari [Sat, 14 Apr 2012 12:14:07 +0000 (09:14 -0300)]
[media] dib0700: add new USB PID for the Elgato EyeTV DTT stick

Reported working here:
http://ubuntuforums.org/archive/index.php/t-1510188.html
http://ubuntuforums.org/archive/index.php/t-1756828.html
https://sites.google.com/site/slackwarestuff/home/elgato-eyetv

Signed-off-by: Gianluca Gennari <gennarone@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] video: vicam: Add MODULE_FIRMWARE
Tim Gardner [Thu, 12 Apr 2012 20:23:21 +0000 (17:23 -0300)]
[media] video: vicam: Add MODULE_FIRMWARE

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] staging: go7007: Add MODULE_FIRMWARE
Tim Gardner [Thu, 12 Apr 2012 20:00:07 +0000 (17:00 -0300)]
[media] staging: go7007: Add MODULE_FIRMWARE

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] dib7000p: remove duplicate code and comment
Gianluca Gennari [Thu, 12 Apr 2012 11:46:51 +0000 (08:46 -0300)]
[media] dib7000p: remove duplicate code and comment

Remove duplicate code and comment, probably due to a patch applied twice.

Signed-off-by: Gianluca Gennari <gennarone@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] videodev2.h: Fix VIDIOC_QUERYMENU ioctl regression
Hans Verkuil [Tue, 17 Apr 2012 11:41:58 +0000 (08:41 -0300)]
[media] videodev2.h: Fix VIDIOC_QUERYMENU ioctl regression

Fixes a regression in VIDIOC_QUERYMENU introduced when the __s64 value
field was added to the union. On a 64-bit system this will change the
size of this v4l2_querymenu structure from 44 to 48 bytes, thus
breaking the ABI. By adding the packed attribute it is working again.

Tested on both 64 and 32 bit systems.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au8522_common: dont EXPORT_SYMBOL(au8522_led_gpio_enable)
Michael Krufky [Mon, 9 Apr 2012 21:51:08 +0000 (18:51 -0300)]
[media] au8522_common: dont EXPORT_SYMBOL(au8522_led_gpio_enable)

This function is only called from within au8522_common.c - mark it static.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au8522_common: add missing MODULE_LICENSE
Michael Krufky [Mon, 9 Apr 2012 18:50:23 +0000 (15:50 -0300)]
[media] au8522_common: add missing MODULE_LICENSE

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au8522: build ATV/DTV demodulators as separate modules
Michael Krufky [Fri, 27 Jan 2012 16:18:29 +0000 (13:18 -0300)]
[media] au8522: build ATV/DTV demodulators as separate modules

au8522_dig.o and au8522_decoder.o function independentantly
of each other, each for a different hardware function using
a different software subsystem api, each with its own set
of subsystem module dependencies.

Since these drivers do not depend on each other, and it is
in fact possible to build hardware designs using one function
and not the other, lets split this module into two, allowing
system integrators to enable the hardware without dragging in
undesired dependencies.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828-dvb: attach tuner based on dev->board.tuner_type on hvr950q
Michael Krufky [Mon, 9 Apr 2012 00:39:56 +0000 (21:39 -0300)]
[media] au0828-dvb: attach tuner based on dev->board.tuner_type on hvr950q

We can tell from the eeprom whether we have a xc5000a or xc5000c.
Attach the correct tuner based on this information.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: xtal_khz should be a u16 rather than a u32
Michael Krufky [Mon, 16 Apr 2012 18:21:51 +0000 (15:21 -0300)]
[media] xc5000: xtal_khz should be a u16 rather than a u32

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: log firmware upload failures in xc5000_fwupload
Michael Krufky [Mon, 16 Apr 2012 18:06:45 +0000 (15:06 -0300)]
[media] xc5000: log firmware upload failures in xc5000_fwupload

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: support 32MHz & 31.875MHz xtal using the 41.024.5 firmware
Michael Krufky [Mon, 16 Apr 2012 17:59:32 +0000 (14:59 -0300)]
[media] xc5000: support 32MHz & 31.875MHz xtal using the 41.024.5 firmware

Rather than loading firmware specific for the xtal frequency, just use
the standard firmware and set the xtal frequency after firmware upload.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoMerge tag 'v3.4-rc3' into staging/for_v3.5
Mauro Carvalho Chehab [Thu, 19 Apr 2012 12:23:28 +0000 (09:23 -0300)]
Merge tag 'v3.4-rc3' into staging/for_v3.5

* tag 'v3.4-rc3': (3755 commits)
  Linux 3.4-rc3
  x86-32: fix up strncpy_from_user() sign error
  ARM: 7386/1: jump_label: fixup for rename to static_key
  ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
  ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
  ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus
  PCI: Fix regression in pci_restore_state(), v3
  SCSI: Fix error handling when no ULD is attached
  ARM: OMAP: clock: cleanup CPUfreq leftovers, fix build errors
  ARM: dts: remove blank interrupt-parent properties
  ARM: EXYNOS: Fix Kconfig dependencies for device tree enabled machine files
  do not export kernel's NULL #define to userspace
  ARM: EXYNOS: Remove broken config values for touchscren for NURI board
  ARM: EXYNOS: set fix xusbxti clock for NURI and Universal210 boards
  ARM: EXYNOS: fix regulator name for NURI board
  ARM: SAMSUNG: make SAMSUNG_PM_DEBUG select DEBUG_LL
  cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS
  sparc64: Eliminate obsolete __handle_softirq() function
  sparc64: Fix bootup crash on sun4v.
  ARM: msm: Fix section mismatches in proc_comm.c
  ...

12 years ago[media] zoran: fix integer overflow in setup_window()
Xi Wang [Mon, 9 Apr 2012 20:15:45 +0000 (17:15 -0300)]
[media] zoran: fix integer overflow in setup_window()

`clipcount' is from userspace and thus needs validation.  Otherwise,
a large `clipcount' could overflow the vmalloc() size, leading to
out-of-bounds access.

| setup_window()
| zoran_s_fmt_vid_overlay()
| __video_do_ioctl()
| video_ioctl2()

Use 2048 as the maximum `clipcount'.  Also change the corresponding
parameter type to `unsigned int'.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] s2255drv: Remove redundant NULL test before release_firmware()
Jesper Juhl [Mon, 9 Apr 2012 19:50:04 +0000 (16:50 -0300)]
[media] s2255drv: Remove redundant NULL test before release_firmware()

release_firmware() tests for NULL pointers on its own - there's no
reason to do an explicit check before calling the function.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] staging: as102: Remove redundant NULL check before release_firmware() and...
Jesper Juhl [Mon, 9 Apr 2012 19:51:48 +0000 (16:51 -0300)]
[media] staging: as102: Remove redundant NULL check before release_firmware() and pointless comments

release_firmware() deals gracefullt with NULL pointers - it's
redundant to check for them before calling the function.

Also remove a few pointless comments - it's rather obvious from the
code that kfree() free's a buffer and that release_firmware() releases
firmware - comments just stating that add no value.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] v4l2-ctrls: fix integer overflow in try_set_ext_ctrls()
Xi Wang [Fri, 6 Apr 2012 12:32:37 +0000 (09:32 -0300)]
[media] v4l2-ctrls: fix integer overflow in try_set_ext_ctrls()

A large cs->count from userspace may overflow the allocation size,
leading to memory corruption.  try_set_ext_ctrls() can be reached
from subdev_do_ioctl() or __video_do_ioctl().

Use kmalloc_array() to avoid the overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] v4l2-ctrls: fix integer overflow in v4l2_g_ext_ctrls()
Xi Wang [Fri, 6 Apr 2012 12:32:36 +0000 (09:32 -0300)]
[media] v4l2-ctrls: fix integer overflow in v4l2_g_ext_ctrls()

A large cs->count from userspace may overflow the allocation size,
leading to memory corruption.  v4l2_g_ext_ctrls() can be reached
from subdev_do_ioctl() or __video_do_ioctl().

Use kmalloc_array() to avoid the overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoLinux 3.4-rc3
Linus Torvalds [Mon, 16 Apr 2012 01:28:29 +0000 (18:28 -0700)]
Linux 3.4-rc3

12 years agoMerge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm
Linus Torvalds [Mon, 16 Apr 2012 00:35:19 +0000 (17:35 -0700)]
Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

Pull ARM fixes from Russell King:
 "Nothing too disasterous, the biggest thing being the removal of the
  regulator support for vcore in the AMBA driver; only one SoC was using
  this and it got broken during the last merge window, which then
  started causing problems for other people.  Mutual agreement was
  reached for it to be removed."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7386/1: jump_label: fixup for rename to static_key
  ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
  ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
  ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus
  ARM: 7383/1: nommu: populate vectors page from paging_init
  ARM: 7381/1: nommu: fix typo in mm/Kconfig
  ARM: 7380/1: DT: do not add a zero-sized memory property
  ARM: 7379/1: DT: fix atags_to_fdt() second call site
  ARM: 7366/3: amba: Remove AMBA level regulator support
  ARM: 7377/1: vic: re-read status register before dispatching each IRQ handler
  ARM: 7368/1: fault.c: correct how the tsk->[maj|min]_flt gets incremented

12 years agox86-32: fix up strncpy_from_user() sign error
Linus Torvalds [Mon, 16 Apr 2012 00:23:00 +0000 (17:23 -0700)]
x86-32: fix up strncpy_from_user() sign error

The 'max' range needs to be unsigned, since the size of the user address
space is bigger than 2GB.

We know that 'count' is positive in 'long' (that is checked in the
caller), so we will truncate 'max' down to something that fits in a
signed long, but before we actually do that, that comparison needs to be
done in unsigned.

Bug introduced in commit 92ae03f2ef99 ("x86: merge 32/64-bit versions of
'strncpy_from_user()' and speed it up").  On x86-64 you can't trigger
this, since the user address space is much smaller than 63 bits, and on
x86-32 it works in practice, since you would seldom hit the strncpy
limits anyway.

I had actually tested the corner-cases, I had only tested them on
x86-64.  Besides, I had only worried about the case of a pointer *close*
to the end of the address space, rather than really far away from it ;)

This also changes the "we hit the user-specified maximum" to return
'res', for the trivial reason that gcc seems to generate better code
that way.  'res' and 'count' are the same in that case, so it really
doesn't matter which one we return.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoARM: 7386/1: jump_label: fixup for rename to static_key
Rabin Vincent [Sat, 14 Apr 2012 20:51:32 +0000 (21:51 +0100)]
ARM: 7386/1: jump_label: fixup for rename to static_key

c5905afb0 ("static keys: Introduce 'struct static_key'...") renamed
struct jump_label_key to struct static_key.  Fixup ARM for this to
eliminate these build warnings:

  include/linux/jump_label.h:113:2:
  warning: passing argument 1 of 'arch_static_branch' from incompatible pointer type
  include/asm/jump_label.h:17:82:
  note: expected 'struct jump_label_key *' but argument is of type 'struct static_key *'

Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
Jonathan Austin [Thu, 12 Apr 2012 16:45:25 +0000 (17:45 +0100)]
ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE

Currently when ThumbEE is not enabled (!CONFIG_ARM_THUMBEE) the ThumbEE
register states are not saved/restored at context switch. The default state
of the ThumbEE Ctrl register (TEECR) allows userspace accesses to the
ThumbEE Base Handler register (TEEHBR). This can cause unexpected behaviour
when people use ThumbEE on !CONFIG_ARM_THUMBEE kernels, as well as allowing
covert communication - eg between userspace tasks running inside chroot
jails.

This patch sets up TEECR in order to prevent user-space access to TEEHBR
when !CONFIG_ARM_THUMBEE. In this case, tasks are sent SIGILL if they try to
access TEEHBR.

Cc: stable@vger.kernel.org
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
Will Deacon [Thu, 12 Apr 2012 16:15:08 +0000 (17:15 +0100)]
ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU

If a bank of memory spanning the 4GB boundary is added on a !CONFIG_LPAE
kernel then we will hang early during boot since the memory bank will
have wrapped around to zero.

This patch truncates memory banks for !LPAE configurations when the end
address is not representable in 32 bits.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus
Linus Walleij [Tue, 10 Apr 2012 11:37:42 +0000 (12:37 +0100)]
ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus

During booting of cpu1, there is a short window where cpu1
is online, but not active where cpu1 is occupied by waiting
to become active. If cpu0 then decides to schedule something
on cpu1 and wait for it to complete, before cpu0 has set
cpu1 active, we have a deadlock.

Typically it's this CPU frequency transition that happens at
this time, so let's just not wait for it to happen, it will
happen whenever the CPU eventually comes online instead.

Cc: Peter Zijlstra <peterz@infradead.org>
Cc: stable@kernel.org
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-by: Rickard Andersson <rickard.andersson@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoPCI: Fix regression in pci_restore_state(), v3
Rafael J. Wysocki [Sun, 15 Apr 2012 19:40:40 +0000 (21:40 +0200)]
PCI: Fix regression in pci_restore_state(), v3

Commit 26f41062f28d ("PCI: check for pci bar restore completion and
retry") attempted to address problems with PCI BAR restoration on
systems where FLR had not been completed before pci_restore_state() was
called, but it did that in an utterly wrong way.

First off, instead of retrying the writes for the BAR registers only, it
did that for all of the PCI config space of the device, including the
status register (whose value after the write quite obviously need not be
the same as the written one).  Second, it added arbitrary delay to
pci_restore_state() even for systems where the PCI config space
restoration was successful at first attempt.  Finally, the mdelay(10) it
added to every iteration of the writing loop was way too much of a delay
for any reasonable device.

All of this actually caused resume failures for some devices on Mikko's
system.

To fix the regression, make pci_restore_state() only retry the writes
for BAR registers and only wait if the first read from the register
doesn't return the written value.  Additionaly, make it wait for 1 ms,
instead of 10 ms, after every failing attempt to write into config
space.

Reported-by: Mikko Vinni <mmvinni@yahoo.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>