]> err.no Git - linux-2.6/log
linux-2.6
16 years agoV4L/DVB (6380): ivtvfb: Removal of the 'osd_compat' module option
Ian Armstrong [Wed, 17 Oct 2007 18:09:56 +0000 (15:09 -0300)]
V4L/DVB (6380): ivtvfb: Removal of the 'osd_compat' module option

Due to changes in the core ivtv driver as of release 1.0, the osd_compat
module option has been rendered obsolete. This patch removes the option and
all code associated with it.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6379): patch which improves GotView Saa7135 remote control
Pedro [Wed, 17 Oct 2007 20:58:40 +0000 (17:58 -0300)]
V4L/DVB (6379): patch which improves GotView Saa7135 remote control

improve GoTView PCI7135 remote control working under linux.

Acked-by: Hermann Pitton <hermann-pitton@arcor.de>
Acked-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Eugene M. Roginskii <roginovicci@nm.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6378b): Updates info about the removal of V4L1 at feature-removal-schedule.txt
Mauro Carvalho Chehab [Wed, 17 Oct 2007 17:32:36 +0000 (15:32 -0200)]
V4L/DVB (6378b): Updates info about the removal of V4L1 at feature-removal-schedule.txt

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6378a): Removal of VIDIOC_[G|S]_MPEGCOMP from feature-removal-schedule.txt
Mauro Carvalho Chehab [Wed, 17 Oct 2007 17:11:23 +0000 (15:11 -0200)]
V4L/DVB (6378a): Removal of VIDIOC_[G|S]_MPEGCOMP from feature-removal-schedule.txt

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6378): DiB0700-device: Using 1.10 firmware
Patrick Boettcher [Thu, 11 Oct 2007 17:06:37 +0000 (14:06 -0300)]
V4L/DVB (6378): DiB0700-device: Using 1.10 firmware

As for most of the users the 1.10 firmware is an improvement we should
use this firmware always now.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6357): pvrusb2: Improve encoder chip health tracking
Mike Isely [Sun, 14 Oct 2007 21:18:12 +0000 (18:18 -0300)]
V4L/DVB (6357): pvrusb2: Improve encoder chip health tracking

This is a minor change to help with tracking the viability of the
encoder chip within the PVR USB2 device.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6356): "while (!ca->wakeup)" breaks the CAM initialisation
Marco Schluessler [Tue, 16 Oct 2007 11:25:42 +0000 (08:25 -0300)]
V4L/DVB (6356): "while (!ca->wakeup)" breaks the CAM initialisation

Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6352): ir-kbd-i2c: Missing break statement
Trent Piepho [Mon, 15 Oct 2007 23:39:25 +0000 (20:39 -0300)]
V4L/DVB (6352): ir-kbd-i2c: Missing break statement

Someone added a new case without adding a break to the one before it.

Thanks to Margus <b-berski at mbox200 dot swipnet dot se> for spotting this.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6350): V4L: possible leak in em28xx_init_isoc
Florin Malita [Mon, 15 Oct 2007 15:59:18 +0000 (12:59 -0300)]
V4L/DVB (6350): V4L: possible leak in em28xx_init_isoc

Coverity (CID 1929) spotted the following: if a transfer buffer
allocation fails, the last allocated urb is leaked (it hasn't been
stored in dev->urb[] yet so em28xx_uninit_isoc misses it). The patch
also includes a small typo fix.

Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6348): ivtv: undo video mute when closing the radio
Hans Verkuil [Sun, 14 Oct 2007 20:27:56 +0000 (17:27 -0300)]
V4L/DVB (6348): ivtv: undo video mute when closing the radio

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6347): ivtv: fix video mute when radio is used
Hans Verkuil [Sun, 14 Oct 2007 20:19:37 +0000 (17:19 -0300)]
V4L/DVB (6347): ivtv: fix video mute when radio is used

When the radio is active the video should be muted when a capture
starts. However, this was done at the wrong time and the mute settings
were overwritten when cx2341x_update was called.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6346): ivtvfb: YUV output size fix when ivtvfb is not loaded
Ian Armstrong [Sun, 14 Oct 2007 16:12:28 +0000 (13:12 -0300)]
V4L/DVB (6346): ivtvfb: YUV output size fix when ivtvfb is not loaded

If the ivtvfb module isn't loaded, the valid YUV output area should be set to
full-screen. This patch fixes the case where the valid output area was not
reset when the output broadcast format was changed from NTSC to PAL. This
resulted in output being limited to the top 480 lines of the display.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6345): ivtvfb: YUV handling of an image which is not visible in the display...
Ian Armstrong [Sun, 14 Oct 2007 16:08:02 +0000 (13:08 -0300)]
V4L/DVB (6345): ivtvfb: YUV handling of an image which is not visible in the display area

When the ivtvfb module is loaded, the YUV output is relative to the
framebuffer output. When a virtual screen size is used, the output area for
the YUV may actually be off screen. To prevent the hardware from crashing,
the current driver will ignore an off-screen position and leave the output
visible at the last on-screen position. This may not be desirable, so this
patch will switch off the YUV output should the image move off-screen, and
re-enable it should the image move on-screen again.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6343): ivtvfb: check return value of unregister_framebuffer
Hans Verkuil [Sun, 14 Oct 2007 14:17:14 +0000 (11:17 -0300)]
V4L/DVB (6343): ivtvfb: check return value of unregister_framebuffer

Prevent unloading the framebuffer if it is still in use.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6342): ivtv: fix circular locking (bug 9037)
Hans Verkuil [Sat, 13 Oct 2007 08:54:48 +0000 (05:54 -0300)]
V4L/DVB (6342): ivtv: fix circular locking (bug 9037)

If you try to access the video device from within an udev rule,
then you get into a circular locking situation.

Changed the driver to postpone the registration of the devices until
everything else has been fully initialized, so that the newly created
device can be used immediately.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6341): ivtv: fix resizing MPEG1 streams
Hans Verkuil [Fri, 12 Oct 2007 15:39:36 +0000 (12:39 -0300)]
V4L/DVB (6341): ivtv: fix resizing MPEG1 streams

Resizing an MPEG 1 stream would cut off the right half of the
image due to a missing divide by 2 in VIDIOC_S_FMT.

Also did some minor cleanup in this part of the code.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6340): ivtvfb: screen mode change sometimes goes wrong
Ian Armstrong [Fri, 12 Oct 2007 11:15:41 +0000 (08:15 -0300)]
V4L/DVB (6340): ivtvfb: screen mode change sometimes goes wrong

This patch partially reverts a previous change that caused the
CX2341X_OSD_SET_PIXEL_FORMAT firmware calls to be skipped when the pixel
format of the framebuffer wasn't altered by FBIOPUT_VSCREENINFO.

Unfortunately, another firmware call on the PVR350 sometimes scrambles the
display when trying to adjust the framebuffer settings. This patch re-enables
the CX2341X_OSD_SET_PIXEL_FORMAT calls to try and prevent this from
occurring.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6339): ivtv: set the video color to black instead of green when capturing...
Hans Verkuil [Fri, 12 Oct 2007 09:20:09 +0000 (06:20 -0300)]
V4L/DVB (6339): ivtv: set the video color to black instead of green when capturing from the radio

Thanks-to: Martin Dauskardt <md001@gmx.de>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6338): ivtv: fix incorrect EBUSY return
Hans Verkuil [Fri, 12 Oct 2007 09:18:30 +0000 (06:18 -0300)]
V4L/DVB (6338): ivtv: fix incorrect EBUSY return

Trying to open the radio when a capture is in progress will make it
impossible to open the radio again since the radio stream wasn't released.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6336): cx8802: Plug memory leak when unregistering a driver
Trent Piepho [Fri, 5 Oct 2007 14:28:09 +0000 (11:28 -0300)]
V4L/DVB (6336): cx8802: Plug memory leak when unregistering a driver

When a cx8802 sub-driver was unregistered, the struct cx8802_driver, which was
kmalloc()ed by cx8802_register_driver(), was deleted from the list of drivers,
but never freed.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6335): cx8802: Replace list_for_each+list_entry with list_for_each_entry
Trent Piepho [Sun, 14 Oct 2007 05:52:17 +0000 (02:52 -0300)]
V4L/DVB (6335): cx8802: Replace list_for_each+list_entry with list_for_each_entry

Less code and more efficient.

Got ride of a variable that counted the number of devices in
cx8802_unregister_driver() but was never used.  Looked leftover from a
cut&paste.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6334): cx88: Change (struct cx8802_dev)->drvlist to a list_head and fix...
Trent Piepho [Sun, 14 Oct 2007 05:52:17 +0000 (02:52 -0300)]
V4L/DVB (6334): cx88: Change (struct cx8802_dev)->drvlist to a list_head and fix bugs

It was a struct cx8802_driver for no apparent reason.  Nothing uses a
cx8802_driver in the cx8802_dev struct.  The only field that was used was
devlist, a list_head.

The code in cx8802_remove() that removed any loaded sub-drivers was broken.
It would delete the current list entry, but didn't use list_for_each_safe.  It
also called list_del() on the list _head_ inside the list_for_each loop?  It
would crash if it was run, which I don't think can ever happen.

Since the cx8802 sub-drivers use the cx8802 driver, they have to be unloaded
first.  So there isn't any way for a sub-driver to still be loaded when
cx8802_remove() is called...  Except maybe with PCI hot-plug, if one removes
the PCI card while the drivers are loaded?

So I left some code in to handle that if it's actually possible.  It will
remove the sub-drivers from the device cx8802_remove() was called on, and only
that device.  If one has two DVB cards and unplugs one, there is no reason to
unload the DVB drivers for both cards.  I have no way to test this, but it
can't be worse than what was there before.

cx8802_get_driver() is passed a cx8802_dev pointer and looks for the requested
driver on that device.  It first loops over the cx8802 device list looking for
the device it was passed, which is pointless.  It doesn't need to find the
device pointer in the list, as it already has the pointer.

The list_head in the cx8802_driver struct, which joins all the _drivers_
attached to a device, was named devlist.  Changed that to drvlist, since the
devlist is used for a list of _devices_ in other cx8802 structs.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6333): cx88: Change void* card_priv to struct vp3054_i2c_state
Trent Piepho [Sun, 14 Oct 2007 05:52:16 +0000 (02:52 -0300)]
V4L/DVB (6333): cx88: Change void* card_priv to struct vp3054_i2c_state

card_priv was only used to store a pointer to the vp3054 state struct.
There's no need to use a void * since it doesn't have multiple types.

Make the field conditional on VP3045 support.  It was already conditional on
DVB support, but it's only used if VP3045 support is on, so that makes for a
better option to check.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6332): cx88: Only include the blackbird fields if blackbird is selected
Trent Piepho [Sun, 14 Oct 2007 05:52:16 +0000 (02:52 -0300)]
V4L/DVB (6332): cx88: Only include the blackbird fields if blackbird is selected

Add some ifdefs around fields only used for blackbird support, similar to the
way the dvb fields are only included with dvb support.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6330): V4L: saa7134: Fix interaction between tvaudio thread and the freezer
Maxim Levitsky [Sat, 13 Oct 2007 08:35:33 +0000 (05:35 -0300)]
V4L/DVB (6330): V4L: saa7134: Fix interaction between tvaudio thread and the freezer

make tvaudio thread freezeable, and add proper support for that

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6329): Additional Fixes for saa7134 suspend/resume
Maxim Levitsky [Fri, 12 Oct 2007 03:57:15 +0000 (00:57 -0300)]
V4L/DVB (6329): Additional Fixes for saa7134 suspend/resume

Fixes few more problems I found in my saa7134 resume code:

* Race between IRQ handler and .suspend()/.resume() functions

* Removes timeout timers on active buffers - those
buffers will be recaptured after resume

* Adds suspend/resume for IR code - probably
necessary if using polling mode

* Adds #ifdef CONFIG_PM overs suspend code

* Runs  a quirk in set_tvnorm in suspend/resume too

* Rearranges the order of calls in saa7134_resume to
be exactly as in saa7134_initdev thus the card is
initialized in exactly the same way

* Since DMA audio capture suspend/resume isn't yet supported,
avoid re-enabling it on resume for now

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6328): ivtv: fix NULL dereference
Adrian Bunk [Sun, 14 Oct 2007 17:51:37 +0000 (14:51 -0300)]
V4L/DVB (6328): ivtv: fix NULL dereference

We shouldn't dereference "itv" when we know it's NULL...

Spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6326): tuner-core.c: fe_has_signal() can return uninitialized value
Michael Krufky [Sun, 14 Oct 2007 21:11:53 +0000 (18:11 -0300)]
V4L/DVB (6326): tuner-core.c: fe_has_signal() can return uninitialized value

Initialize strength to zero.

Thanks to Adrian Bunk, who spotted this with the Coverity checker.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6325): Double-free in cx23885_initdev
Florin Malita [Sat, 13 Oct 2007 14:49:52 +0000 (11:49 -0300)]
V4L/DVB (6325): Double-free in cx23885_initdev

Both cx23885_initdev and cx23885_dev_setup free the device in their
error path so a failure in the latter causes a double-free. Since
cx23885_dev_setup is only called from cx23885_initdev, it should be safe
to remove its deallocation and leave the cleanup up to the allocating
function.

Coverity CID 1922.

Signed-off-by: Florin Malita <fmalita@gmail.com>
CC: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6324): fix videobuf_cgmbuf export
Pekka Enberg [Sat, 13 Oct 2007 08:54:54 +0000 (05:54 -0300)]
V4L/DVB (6324): fix videobuf_cgmbuf export

As videobuf_cgmbuf is defined only if CONFIG_VIDEO_V4L1_COMPAT is enabled,
move the EXPORT_SYMBOL_GPL declaration inside the #ifdef block.  Fixes
compilation for x86_64 defconfig.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6323): V4L: cinergyT2, remove bad usage of ERESTARTSYS
Jiri Slaby [Mon, 15 Oct 2007 16:07:30 +0000 (13:07 -0300)]
V4L/DVB (6323): V4L: cinergyT2, remove bad usage of ERESTARTSYS

cinergyT2, remove bad usage of ERESTARTSYS

test of cinergyt2->disconnect_pending doesn't ensure pending signal and so
ERESTARTSYS would reach userspace, which is not permitted. Change it to
EAGAIN.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls
Hans Verkuil [Thu, 11 Oct 2007 09:38:18 +0000 (06:38 -0300)]
V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls

Remove the obsolete VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP ioctls from
the V4L2 API as per the removal schedule (October 2007).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field
Mauro Carvalho Chehab [Mon, 15 Oct 2007 15:09:17 +0000 (12:09 -0300)]
V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field

struct video_device used to define a .hardware field. While
initialized on severl drivers, this field is never used inside V4L.
However, drivers using it need to include the old V4L1 header.

This seems to cause compilation troubles with some random configs.
Better just to remove it from all drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6319): radio-gemtek: fix 'VID_HARDWARE_GEMTEK' undeclared
Pekka Seppänen [Mon, 15 Oct 2007 13:16:21 +0000 (10:16 -0300)]
V4L/DVB (6319): radio-gemtek: fix 'VID_HARDWARE_GEMTEK' undeclared

Remove obsolete V4L v1 reference.

Thanks to Ingo Molnar for pointing this issue.

Signed-off-by: Pekka Seppänen <pexu@kapsi.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6187): cx88-alsa: Add TLV support
Trent Piepho [Fri, 7 Sep 2007 02:02:25 +0000 (23:02 -0300)]
V4L/DVB (6187): cx88-alsa: Add TLV support

Lets mixer apps display a dB range for the volume control.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6185): cx88-alsa: Add mute controls, change control names
Trent Piepho [Fri, 7 Sep 2007 02:02:23 +0000 (23:02 -0300)]
V4L/DVB (6185): cx88-alsa: Add mute controls, change control names

Add two mute controls.  One mutes everything, the other just mutes the analog
pass-through output.

Rename the existing volume control.  The controls are now:
Playback Volume
Playback Switch
Capture Switch

These names might seem odd, but I believe they are more correct.  The previous
"Capture Volume" control didn't actually effect the volume of the captured
audio.  Instead it controls the volume of the analog pass-thought output.  It
appears that pass-through controls like this are usually considered to be in
the playback direction, not capture.  For example, "CAPTURE feedback Playback
Volume" is the name used for a control that appears to have the same effect in
the ca0106 driver.  We only have one volume control, so we can omit the
"CAPTURE feedback" part.

If someone where to add PCM playback support to the driver, then this would be
the volume control.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years ago[S390] 4level-fixup cleanup
Martin Schwidefsky [Mon, 22 Oct 2007 10:52:48 +0000 (12:52 +0200)]
[S390] 4level-fixup cleanup

Get independent from asm-generic/4level-fixup.h

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Cleanup page table definitions.
Martin Schwidefsky [Mon, 22 Oct 2007 10:52:47 +0000 (12:52 +0200)]
[S390] Cleanup page table definitions.

- De-confuse the defines for the address-space-control-elements
  and the segment/region table entries.
- Create out of line functions for page table allocation / freeing.
- Simplify get_shadow_xxx functions.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Introduce follow_table in uaccess_pt.c
Martin Schwidefsky [Mon, 22 Oct 2007 10:52:46 +0000 (12:52 +0200)]
[S390] Introduce follow_table in uaccess_pt.c

Define and use follow_table inline in uaccess_pt.c to simplify
the code.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Remove unused user_seg from thread structure.
Martin Schwidefsky [Mon, 22 Oct 2007 10:52:45 +0000 (12:52 +0200)]
[S390] Remove unused user_seg from thread structure.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] tlb flush fix.
Martin Schwidefsky [Mon, 22 Oct 2007 10:52:44 +0000 (12:52 +0200)]
[S390] tlb flush fix.

The current tlb flushing code for page table entries violates the
s390 architecture in a small detail. The relevant section from the
principles of operation (SA22-7832-02 page 3-47):

   "A valid table entry must not be changed while it is attached
   to any CPU and may be used for translation by that CPU except to
   (1) invalidate the entry by using INVALIDATE PAGE TABLE ENTRY or
   INVALIDATE DAT TABLE ENTRY, (2) alter bits 56-63 of a page-table
   entry, or (3) make a change by means of a COMPARE AND SWAP AND
   PURGE instruction that purges the TLB."

That means if one thread of a multithreaded applciation uses a vma
while another thread does an unmap on it, the page table entries of
that vma needs to get removed with IPTE, IDTE or CSP. In some strange
and rare situations a cpu could check-stop (die) because a entry has
been pushed out of the TLB that is still needed to complete a
(milli-coded) instruction. I've never seen it happen with the current
code on any of the supported machines, so right now this is a
theoretical problem. But I want to fix it nevertheless, to avoid
headaches in the futures.

To get this implemented correctly without changing common code the
primitives ptep_get_and_clear, ptep_get_and_clear_full and
ptep_set_wrprotect need to use the IPTE instruction to invalidate the
pte before the new pte value gets stored. If IPTE is always used for
the three primitives three important operations will have a performace
hit: fork, mprotect and exit_mmap. Time for some workarounds:

* 1: ptep_get_and_clear_full is used in unmap_vmas to remove page
tables entries in a batched tlb gather operation. If the mmu_gather
context passed to unmap_vmas has been started with full_mm_flush==1
or if only one cpu is online or if the only user of a mm_struct is the
current process then the fullmm indication in the mmu_gather context is
set to one. All TLBs for mm_struct are flushed by the tlb_gather_mmu
call. No new TLBs can be created while the unmap is in progress. In
this case ptep_get_and_clear_full clears the ptes with a simple store.

* 2: ptep_get_and_clear is used in change_protection to clear the
ptes from the page tables before they are reentered with the new
access flags. At the end of the update flush_tlb_range clears the
remaining TLBs. In general the ptep_get_and_clear has to issue IPTE
for each pte and flush_tlb_range is a nop. But if there is only one
user of the mm_struct then ptep_get_and_clear uses simple stores
to do the update and flush_tlb_range will flush the TLBs.

* 3: Similar to 2, ptep_set_wrprotect is used in copy_page_range
for a fork to make all ptes of a cow mapping read-only. At the end of
of copy_page_range dup_mmap will flush the TLBs with a call to
flush_tlb_mm.  Check for mm->mm_users and if there is only one user
avoid using IPTE in ptep_set_wrprotect and let flush_tlb_mm clear the
TLBs.

Overall for single threaded programs the tlb flush code now performs
better, for multi threaded programs it is slightly worse. In particular
exit_mmap() now does a single IDTE for the mm and then just frees every
page cache reference and every page table page directly without a delay
over the mmu_gather structure.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] kernel: Fix dump on panic for DASDs under LPAR.
Michael Holzheu [Mon, 22 Oct 2007 10:52:43 +0000 (12:52 +0200)]
[S390] kernel: Fix dump on panic for DASDs under LPAR.

Currently the ccw method is used to ipl the DASD dump record under LPAR.
This mechanism is not reliable, which can cause dump failures. This fix
now uses the diag 308 ipl method for all machines, which have diag308
subcode 5 and 4 support.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] struct class_device -> struct device conversion.
Cornelia Huck [Mon, 22 Oct 2007 10:52:42 +0000 (12:52 +0200)]
[S390] struct class_device -> struct device conversion.

Convert struct class_device users under drivers/s390/char to use
struct device.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] cio: Fix incomplete commit for uevent suppression.
Cornelia Huck [Mon, 22 Oct 2007 10:52:41 +0000 (12:52 +0200)]
[S390] cio: Fix incomplete commit for uevent suppression.

Commit fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e intended to
introduce uevent suppression for subchannels, but half of it was
lost somewhere. Now, we end up with two uevents for every registered
subchannel :( So we should better add the missing part from
http://marc.info/?l=linux-kernel&m=117515953113974&w=2.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] cio: Use to_channelpath() for device to channel path conversion.
Cornelia Huck [Mon, 22 Oct 2007 10:52:40 +0000 (12:52 +0200)]
[S390] cio: Use to_channelpath() for device to channel path conversion.

We already have a macro for that, so let's use it consistently...

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Add per-cpu idle time / idle count sysfs attributes.
Heiko Carstens [Mon, 22 Oct 2007 10:52:39 +0000 (12:52 +0200)]
[S390] Add per-cpu idle time / idle count sysfs attributes.

Add two new sysfs entries per cpu: idle_count and idle_time.
idle_count contains the number of times a cpu went into idle state.
idle_time contains the time a cpu spent in idle state in microseconds.
This can be used e.g. by powertop to tell how often idle state is
entered and left.

# cat /sys/devices/system/cpu/cpu0/idle_count
504
# cat /sys/devices/system/cpu/cpu0/idle_time
469734037 us

Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] Update default configuration.
Martin Schwidefsky [Mon, 22 Oct 2007 10:52:38 +0000 (12:52 +0200)]
[S390] Update default configuration.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years agosched: don't clear PF_VCPU in scheduler
Laurent Vivier [Thu, 18 Oct 2007 13:19:01 +0000 (15:19 +0200)]
sched: don't clear PF_VCPU in scheduler

KVM clears it by itself now, and for s390 this is plain wrong.

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: Improve local apic timer wraparound handling
Kevin Pedretti [Sun, 21 Oct 2007 06:55:50 +0000 (08:55 +0200)]
KVM: Improve local apic timer wraparound handling

Better handle wrap-around cases when reading the APIC CCR
(current count register).  Also, if ICR is 0, CCR should also
be 0... previously reading CCR before setting ICR would result
in a large kinda-random number.

Signed-off-by: Kevin Pedretti <kevin.pedretti@gmail.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: Fix local apic timer divide by zero
Kevin Pedretti [Sun, 21 Oct 2007 06:54:53 +0000 (08:54 +0200)]
KVM: Fix local apic timer divide by zero

kvm_lapic_reset() was initializing apic->timer.divide_count to 0,
which could potentially lead to a divide by zero error in
apic_get_tmcct().  Any guest that reads the APIC's CCR (current count)
register before setting DCR (divide configuration) would trigger a divide
by zero exception in the host kernel, leading to a host-OS crash.

This patch results in apic->timer.divide_count being initialized to
2 at reset, eliminating the bug (DCR=0 at reset, meaning divide by 2).

Signed-off-by: Kevin Pedretti <kevin.pedretti@gmail.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: Move kvm_guest_exit() after local_irq_enable()
Laurent Vivier [Thu, 18 Oct 2007 13:19:01 +0000 (15:19 +0200)]
KVM: Move kvm_guest_exit() after local_irq_enable()

We need to make sure that the timer interrupt happens before we clear
PF_VCPU, so the accounting code actually sees guest mode.

http://lkml.org/lkml/2007/10/15/114

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: x86 emulator: fix access registers for instructions with ModR/M byte and Mod = 3
Aurelien Jarno [Wed, 17 Oct 2007 17:30:41 +0000 (19:30 +0200)]
KVM: x86 emulator: fix access registers for instructions with ModR/M byte and Mod = 3

The patch belows changes the access type to register from memory for
instructions that are declared as SrcMem or DstMem, but have a
ModR/M byte with Mod = 3.

It fixes (at least) the lmsw and smsw instructions on an AMD64 CPU,
which are needed for FreeBSD.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: VMX: Force vm86 mode if setting flags during real mode
Avi Kivity [Tue, 16 Oct 2007 17:06:15 +0000 (19:06 +0200)]
KVM: VMX: Force vm86 mode if setting flags during real mode

When resetting from userspace, we need to handle the flags being cleared
even after we are in real mode.

Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: x86 emulator: implement 'movnti mem, reg'
Sheng Yang [Mon, 15 Oct 2007 06:24:20 +0000 (14:24 +0800)]
KVM: x86 emulator: implement 'movnti mem, reg'

Implement emulation of instruction:
    movnti m32/m64, r32/r64
    opcode: 0x0f 0xc3

Signed-off-by: Sheng Yang <sheng.yang@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: VMX: Reset mmu context when entering real mode
Eddie Dong [Wed, 10 Oct 2007 06:26:45 +0000 (14:26 +0800)]
KVM: VMX: Reset mmu context when entering real mode

Resetting an SMP guest will force AP enter real mode (RESET) with
paging enabled in protected mode. While current enter_rmode() can
only handle mode switch from nonpaging mode to real mode which leads
to SMP reboot failure.

Fix by reloading the mmu context on entering real mode.

Signed-off-by: Yaozu (Eddie) Dong <eddie.dong@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: VMX: Handle NMIs before enabling interrupts and preemption
Avi Kivity [Tue, 9 Oct 2007 10:12:19 +0000 (12:12 +0200)]
KVM: VMX: Handle NMIs before enabling interrupts and preemption

This makes sure we handle NMI on the current cpu, and that we don't service
maskable interrupts before non-maskable ones.

Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: MMU: Set shadow pte atomically in mmu_pte_write_zap_pte()
Izik Eidus [Sun, 23 Sep 2007 10:30:19 +0000 (12:30 +0200)]
KVM: MMU: Set shadow pte atomically in mmu_pte_write_zap_pte()

Setting shadow page table entry should be set atomicly using set_shadow_pte().

Signed-off-by: Izik Eidus <izike@qumranet.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: x86 emulator: fix repne/repnz decoding
Laurent Vivier [Thu, 20 Sep 2007 09:17:24 +0000 (11:17 +0200)]
KVM: x86 emulator: fix repne/repnz decoding

The repnz/repne instructions must set rep_prefix to 1 like rep/repe/repz.

This patch correct the disk probe problem met with OpenBSD.

This issue appears with commit e70669abd4e60dfea3ac1639848e20e2b8dd1255
because before it, the decoding was done internally to kvm and after it
is done by x86_emulate.c (which doesn't do it correctly).

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years agoKVM: x86 emulator: fix merge screwup due to emulator split
Nitin A Kamble [Tue, 18 Sep 2007 23:34:25 +0000 (16:34 -0700)]
KVM: x86 emulator: fix merge screwup due to emulator split

This code has gone to wrong place in the file. Moving it back to
right location.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
16 years ago[IPSEC] IPV6: Fix to add tunnel mode SA correctly.
Masahide NAKAMURA [Mon, 22 Oct 2007 09:30:15 +0000 (02:30 -0700)]
[IPSEC] IPV6: Fix to add tunnel mode SA correctly.

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Cut off the queue_mapping field from sk_buff
Pavel Emelyanov [Mon, 22 Oct 2007 00:02:30 +0000 (17:02 -0700)]
[NET]: Cut off the queue_mapping field from sk_buff

Just hide it behind the #ifdef, because nobody wants
it now.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Hide the queue_mapping field inside netif_subqueue_stopped
Pavel Emelyanov [Mon, 22 Oct 2007 00:01:56 +0000 (17:01 -0700)]
[NET]: Hide the queue_mapping field inside netif_subqueue_stopped

Many places get the queue_mapping field from skb to pass it to the
netif_subqueue_stopped() which will be 0 in any case.

Make the helper that works with sk_buff

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Make and use skb_get_queue_mapping
Pavel Emelyanov [Mon, 22 Oct 2007 00:01:29 +0000 (17:01 -0700)]
[NET]: Make and use skb_get_queue_mapping

Make the helper for getting the field, symmetrical to
the "set" one. Return 0 if CONFIG_NETDEVICES_MULTIQUEUE=n

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Use the skb_set_queue_mapping where appropriate
Pavel Emelyanov [Sun, 21 Oct 2007 23:57:55 +0000 (16:57 -0700)]
[NET]: Use the skb_set_queue_mapping where appropriate

There's already such a helper to initialize this field.  Use it.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[INET]: Use MODULE_ALIAS_NET_PF_PROTO_TYPE where possible.
Jean Delvare [Sun, 21 Oct 2007 23:45:03 +0000 (16:45 -0700)]
[INET]: Use MODULE_ALIAS_NET_PF_PROTO_TYPE where possible.

Now that we have this new macro, use it where possible.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[INET]: Let inet_diag and friends autoload
Jean Delvare [Sun, 21 Oct 2007 23:44:04 +0000 (16:44 -0700)]
[INET]: Let inet_diag and friends autoload

By adding module aliases to inet_diag, tcp_diag and dccp_diag, we let
them load automatically as needed. This makes tools like "ss" run
faster.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NIU]: Cleanup PAGE_SIZE checks a bit
Olof Johansson [Sun, 21 Oct 2007 23:32:58 +0000 (16:32 -0700)]
[NIU]: Cleanup PAGE_SIZE checks a bit

I get the following warning from a powerpc allyesconfig of current
mainline:

drivers/net/niu.c: In function 'niu_size_rbr':
drivers/net/niu.c:3113: warning: large integer implicitly truncated to unsigned type

PAGE_SIZE in this case is 64KB, so I don't quite get why gcc can't
tell that the line in question will never be reached.

I suggest the following instead, but I can unfortunately not do
anything but build test it.

Also, the driver does some other checks to make sure that PAGE_SIZE is
a power of two (BUILD_BUG_ON() in niu_init()), doesn't seem like that
could ever be untrue? Or are there really archs with non-power-of-two
PAGE_SIZE?

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Fix SKB_WITH_OVERHEAD calculation
Herbert Xu [Sun, 21 Oct 2007 23:27:46 +0000 (16:27 -0700)]
[NET]: Fix SKB_WITH_OVERHEAD calculation

The calculation in SKB_WITH_OVERHEAD is incorrect in that it can cause
an overflow across a page boundary which is what it's meant to prevent.
In particular, the header length (X) should not be lumped together with
skb_shared_info.  The latter needs to be aligned properly while the header
has no choice but to sit in front of wherever the payload is.

Therefore the correct calculation is to take away the aligned size of
skb_shared_info, and then subtract the header length.  The resulting
quantity L satisfies the following inequality:

SKB_DATA_ALIGN(L + X) + sizeof(struct skb_shared_info) <= PAGE_SIZE

This is the quantity used by alloc_skb to do the actual allocation.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[ATM]: Fix clip module reload crash.
Randy Dunlap [Sun, 21 Oct 2007 23:24:27 +0000 (16:24 -0700)]
[ATM]: Fix clip module reload crash.

net/atm/clip.c crashes the kernel if it (module) is loaded, removed,
and then loaded again.  Its exit call to neigh_table_clear()
should destroy the cache after freeing it.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TG3]: Update version to 3.85
Matt Carlson [Sun, 21 Oct 2007 23:22:38 +0000 (16:22 -0700)]
[TG3]: Update version to 3.85

This patch updates the version number to 3.85.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TG3]: PCI command adjustment
Matt Carlson [Sun, 21 Oct 2007 23:17:55 +0000 (16:17 -0700)]
[TG3]: PCI command adjustment

This patch changes the way the driver works with the PCI command
register.  It adjusts the access size from dwords to words.  This patch
is done both as a PCI configuration space cleanup and as preparatory
work for PCI error recovery.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TG3]: Add management FW version to ethtool report
Matt Carlson [Sun, 21 Oct 2007 23:16:08 +0000 (16:16 -0700)]
[TG3]: Add management FW version to ethtool report

This patch appends the management firmware version to the bootcode
firmware string reported through ethtool.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TG3]: Add 5723 support
Matt Carlson [Sun, 21 Oct 2007 23:12:02 +0000 (16:12 -0700)]
[TG3]: Add 5723 support

This patch adds support for upcoming 5723 devices.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[Bluetooth] Convert RFCOMM to use kthread API
Marcel Holtmann [Sat, 20 Oct 2007 19:37:20 +0000 (21:37 +0200)]
[Bluetooth] Convert RFCOMM to use kthread API

This patch does the full kthread conversion for the RFCOMM protocol. It
makes the code slightly simpler and more maintainable.

Based on a patch from Christoph Hellwig <hch@lst.de>

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Add constant for Bluetooth socket options level
Marcel Holtmann [Sat, 20 Oct 2007 13:28:08 +0000 (15:28 +0200)]
[Bluetooth] Add constant for Bluetooth socket options level

Assign the next free socket options level to be used by the Bluetooth
protocol and address family.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Add support for handling simple eSCO links
Marcel Holtmann [Sat, 20 Oct 2007 12:55:10 +0000 (14:55 +0200)]
[Bluetooth] Add support for handling simple eSCO links

With the Bluetooth 1.2 specification the Extended SCO feature for
better audio connections was introduced. So far the Bluetooth core
wasn't able to handle any eSCO connections correctly. This patch
adds simple eSCO support while keeping backward compatibility with
older devices.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Add address and channel attribute to RFCOMM TTY device
Marcel Holtmann [Sat, 20 Oct 2007 12:52:38 +0000 (14:52 +0200)]
[Bluetooth] Add address and channel attribute to RFCOMM TTY device

Export the remote device address and channel of RFCOMM TTY device
via sysfs attributes. This allows udev to create better naming rules
for configured RFCOMM devices.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Fix wrong argument in debug code of HIDP
Dave Young [Sat, 20 Oct 2007 12:15:39 +0000 (14:15 +0200)]
[Bluetooth] Fix wrong argument in debug code of HIDP

In the debug code of the hidp_queue_report function, the device
variable does not exist, replace it with session->hid.

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Add generic driver for Bluetooth USB devices
Marcel Holtmann [Sat, 20 Oct 2007 12:12:34 +0000 (14:12 +0200)]
[Bluetooth] Add generic driver for Bluetooth USB devices

This patch adds a new generic driver for Bluetooth USB devices. This
driver is still experimental at this point, but it is cleaner and
easier to maintain than the current Bluetooth USB driver. It is a
much better starting point for power management improvements.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Add generic driver for Bluetooth SDIO devices
Marcel Holtmann [Sat, 20 Oct 2007 12:02:04 +0000 (14:02 +0200)]
[Bluetooth] Add generic driver for Bluetooth SDIO devices

This patch adds a generic driver for Bluetooth SDIO devices. It
supports Type-A and Type-B devices.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Eliminate checks for impossible conditions in IRQ handler
Jeff Garzik [Sat, 20 Oct 2007 11:45:57 +0000 (13:45 +0200)]
[Bluetooth] Eliminate checks for impossible conditions in IRQ handler

Our info structure and info->hdev is always passed to the IRQ handler,
so we don't have to worry about these checks in every interrupt.

Leave a BUG_ON() just to help unwary programmers, but these could
probably be removed as well.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Add UART driver for Texas Instruments' BRF63xx chips
Ohad Ben-Cohen [Sat, 20 Oct 2007 11:42:36 +0000 (13:42 +0200)]
[Bluetooth] Add UART driver for Texas Instruments' BRF63xx chips

Add support for Texas Instruments' HCI Low Level (HCILL) Bluetooth
protocol, which is a power management extension to H4. The HCILL is
widely used by TI's BRF63xx Bluetooth chips.

Signed-off-by: Ohad Ben-Cohen <ohad@bencohen.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Change BPA 100/105 driver to use USB anchors
Marcel Holtmann [Sat, 20 Oct 2007 11:41:33 +0000 (13:41 +0200)]
[Bluetooth] Change BPA 100/105 driver to use USB anchors

With the new support for USB anchors the driver can become more
simpler and also cleaner. This patch switches to the usage of USB
anchors for all URBs.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Fall back to L2CAP in basic mode
Marcel Holtmann [Sat, 20 Oct 2007 11:39:51 +0000 (13:39 +0200)]
[Bluetooth] Fall back to L2CAP in basic mode

In case the remote entity tries to negogiate retransmission or flow
control mode, reject it and fall back to basic mode.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Advertise L2CAP features mask support
Marcel Holtmann [Sat, 20 Oct 2007 11:38:51 +0000 (13:38 +0200)]
[Bluetooth] Advertise L2CAP features mask support

Indicate the support for the L2CAP features mask value when the remote
entity tries to negotiate Bluetooth 1.2 specific features.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Retrieve L2CAP features mask on connection setup
Marcel Holtmann [Sat, 20 Oct 2007 11:37:56 +0000 (13:37 +0200)]
[Bluetooth] Retrieve L2CAP features mask on connection setup

The Bluetooth 1.2 specification introduced a specific features mask
value to interoperate with newer versions of the specification. So far
this piece of information was never needed, but future extensions will
rely on it. This patch adds a generic way to retrieve this information
only once per connection setup.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Remove global conf_mtu variable from L2CAP
Marcel Holtmann [Sat, 20 Oct 2007 11:37:06 +0000 (13:37 +0200)]
[Bluetooth] Remove global conf_mtu variable from L2CAP

After the change to the L2CAP configuration parameter handling the
global conf_mtu variable is no longer needed and so remove it.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Finish L2CAP configuration only with acceptable settings
Marcel Holtmann [Sat, 20 Oct 2007 11:35:42 +0000 (13:35 +0200)]
[Bluetooth] Finish L2CAP configuration only with acceptable settings

The parameters of the L2CAP output configuration might not be accepted
after the first configuration round. So only indicate a finished output
configuration when acceptable settings are provided.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Switch from OGF+OCF to using only opcodes
Marcel Holtmann [Sat, 20 Oct 2007 11:33:56 +0000 (13:33 +0200)]
[Bluetooth] Switch from OGF+OCF to using only opcodes

The Bluetooth HCI commands are divided into logical OGF groups for
easier identification of their purposes. While this still makes sense
for the written specification, its makes the code only more complex
and harder to read. So instead of using separate OGF and OCF values
to identify the commands, use a common 16-bit opcode that combines
both values. As a side effect this also reduces the complexity of
OGF and OCF calculations during command header parsing.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[SPARC64]: small Makefile cleanups
Sam Ravnborg [Mon, 22 Oct 2007 09:32:10 +0000 (02:32 -0700)]
[SPARC64]: small Makefile cleanups

A few trivial Makefile cleanups
- dependencipes in head.o was all wrong - deleted
- CMODEL_CFLAG was not used anywhere
- NEW_GCC was then not used outside sparc64/Makefe - do not export it
- FIXME seems not appropriate - all other put oprofile in drivers-y too
- No reason to do -I. (and it still builds)

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: Stop using __do_IRQ().
David S. Miller [Mon, 22 Oct 2007 09:16:45 +0000 (02:16 -0700)]
[SPARC64]: Stop using __do_IRQ().

Invoke the desc->handle_irq directly in the top-level dispatch,
just like other sophisticated ports.

This will allow us to decrease the cost of the MSI queue dispatch.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoInput: appletouch - apply idle reset logic to all touchpads
Anton Ekblad [Mon, 22 Oct 2007 04:59:59 +0000 (00:59 -0400)]
Input: appletouch - apply idle reset logic to all touchpads

Not only Geyser 3 but also Geyser 1 need to be reset after they become
idle to stop them from needlessly waking up the kernel. Do idle reset
on all touchpads, regardless of their version - if we see 10 empty
packets the touchpad needs to be reset; good touchpads should not send
empty packets anyway.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
16 years agoInput: usbtouchscreen - add support for GoTop tablet devices
Jerrold Jones [Mon, 22 Oct 2007 04:59:47 +0000 (00:59 -0400)]
Input: usbtouchscreen - add support for GoTop tablet devices

Add support for GoTop Super_Q2/GogoPen/PenPower tablets to usbtouchscreen.
Protocol discovery was done by Yick Yan Lam.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
16 years agoInput: bf54x-keys - return real error when request_irq() fails
Michael Hennerich [Mon, 22 Oct 2007 04:59:38 +0000 (00:59 -0400)]
Input: bf54x-keys - return real error when request_irq() fails

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
16 years agoInput: i8042 - export i8042_command()
Márton Németh [Mon, 22 Oct 2007 04:56:52 +0000 (00:56 -0400)]
Input: i8042 - export i8042_command()

Export the i8042_command() function which manages the mutual
exclusion with the help of the i8042_lock spinlock. This allows
to access i8042 safely from other parts of the kernel.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
16 years ago[SPARC64]: Update defconfig.
David S. Miller [Mon, 22 Oct 2007 02:58:24 +0000 (19:58 -0700)]
[SPARC64]: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoBlackfin arch: use KBUILD_CFLAGS and KBUILD_AFLAGS in Makefile
Bryan Wu [Mon, 22 Oct 2007 02:46:21 +0000 (10:46 +0800)]
Blackfin arch: use KBUILD_CFLAGS and KBUILD_AFLAGS in Makefile

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
16 years agoBlackfin arch: Javier Herrer writes: fix building when icache and dcache is disabled
Mike Frysinger [Mon, 22 Oct 2007 02:55:35 +0000 (10:55 +0800)]
Blackfin arch: Javier Herrer writes: fix building when icache and dcache is disabled

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
16 years ago[POWERPC] Enable restart support for lite5200 board
Marian Balakowicz [Thu, 18 Oct 2007 18:44:39 +0000 (04:44 +1000)]
[POWERPC] Enable restart support for lite5200 board

Use the watchdog timer to implement board restart support.

Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
16 years ago[POWERPC] Add restart support for mpc52xx based platforms
Marian Balakowicz [Thu, 18 Oct 2007 18:44:33 +0000 (04:44 +1000)]
[POWERPC] Add restart support for mpc52xx based platforms

Add common helper routines: mpc52xx_map_wdt() and mpc52xx_restart().

Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>