platform/kernel/linux-3.10.git
17 years agoasync_tx: fix kmap_atomic usage in async_memcpy
Dan Williams [Fri, 20 Jul 2007 07:31:46 +0000 (00:31 -0700)]
async_tx: fix kmap_atomic usage in async_memcpy

Andrew Morton:
[async_memcpy] is very wrong if both ASYNC_TX_KMAP_DST and
ASYNC_TX_KMAP_SRC can ever be set.  We'll end up using the same kmap
slot for both src add dest and we get either corrupted data or a BUG.

Evgeniy Polyakov:
Btw, shouldn't it always be kmap_atomic() even if flag is not set.
That pages are usual one returned by alloc_page().

So fix the usage of kmap_atomic and kill the ASYNC_TX_KMAP_DST and
ASYNC_TX_KMAP_SRC flags.

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodpt_i2o depends on virt_to_bus
Stephen Rothwell [Fri, 20 Jul 2007 07:31:45 +0000 (00:31 -0700)]
dpt_i2o depends on virt_to_bus

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofix some conversion overflows
Nick Piggin [Fri, 20 Jul 2007 07:31:45 +0000 (00:31 -0700)]
fix some conversion overflows

Fix page index to offset conversion overflows in buffer layer, ecryptfs,
and ocfs2.

It would be nice to convert the whole tree to page_offset, but for now
just fix the bugs.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Michael Halcrow <mhalcrow@us.ibm.com>
Cc: Mark Fasheh <mark.fasheh@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomm: fix memory hotplug oops from ZONE_MOVABLE changes.
Paul Mundt [Fri, 20 Jul 2007 07:31:44 +0000 (00:31 -0700)]
mm: fix memory hotplug oops from ZONE_MOVABLE changes.

zone_movable_pfn is presently marked as __initdata and referenced from
adjust_zone_range_for_zone_movable(), which in turn is referenced by
zone_spanned_pages_in_node().  Both of these are __meminit annotated.  When
memory hotplug is enabled, this will oops on a hot-add, due to
zone_movable_pfn having been freed.

__meminitdata annotation gives the desired behaviour.

This will only impact platforms that enable both memory hotplug
and ARCH_POPULATES_NODE_MAP.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoarch/i386/xen/events.c should #include <asm/xen/hypervisor.h>
Adrian Bunk [Fri, 20 Jul 2007 07:31:44 +0000 (00:31 -0700)]
arch/i386/xen/events.c should #include <asm/xen/hypervisor.h>

Every file should include the headers containing the prototypes for
its global functions.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoxen: disable vdso "nosegneg" on native boot
Roland McGrath [Fri, 20 Jul 2007 07:31:43 +0000 (00:31 -0700)]
xen: disable vdso "nosegneg" on native boot

One of the nice ideas behind paravirt is that CONFIG_XEN=y can be included
in a standard configuration and be no worse for native booting than as a
Xen guest.  The glibc feature that supports the vDSO "nosegneg" note is
designed specifically to make this easy.  You just have to flip one bit at
boot time.  This patch makes Xen flip the bit, so a CONFIG_XEN=y kernel on
bare hardware does not make glibc use the less-optimized library builds.

Signed-off-by: Roland McGrath <roland@redhat.com>
Acked-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 20 Jul 2007 15:26:54 +0000 (08:26 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Fix two year old bug in early bootup asm.
  [SPARC64]: Update defconfig.
  [SPARC64]: Fix log message type in vio_create_one().
  [SPARC64]: Tweak assertions in sun4v_build_virq().
  [SPARC64]: Tweak kernel log messages in power_probe().
  [SPARC64]: Fix handling of multiple vdc-port nodes.
  [SPARC64]: Fix device type matching in VIO's devspec_show().
  [SPARC64]: Fix MODULE_DEVICE_TABLE() specification in VDC and VNET.
  [SPARC]: Add sys_fallocate() entries.
  [SPARC64]: Use orderly_poweroff().

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Fri, 20 Jul 2007 15:25:49 +0000 (08:25 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (44 commits)
  USB: drivers/usb/storage/dpcm.c whitespace cleanup
  USB: r8a66597-hcd: fixes some problem
  USB: change name of spinlock in hcd.c
  USB: move routines in hcd.c
  USB: misc: uss720: clean up urb->status usage
  USB: misc: usbtest: clean up urb->status usage
  USB: misc: usblcd: clean up urb->status usage
  USB: misc: phidgetmotorcontrol: clean up urb->status usage
  USB: misc: phidgetkit: clean up urb->status usage
  USB: misc: legousbtower: clean up urb->status usage
  USB: misc: ldusb: clean up urb->status usage
  USB: misc: iowarrior: clean up urb->status usage
  USB: misc: ftdi-elan: clean up urb->status usage
  USB: misc: auerswald: clean up urb->status usage
  USB: misc: appledisplay: clean up urb->status usage
  USB: misc: adtux: clean up urb->status usage
  USB: core: message: clean up urb->status usage
  USB: image: microtek: clean up urb->status usage
  USB: image: mdc800: clean up urb->status usage
  USB: storage: onetouch: clean up urb->status usage
  ...

17 years agofix gfp_t annotations for slub
Al Viro [Fri, 20 Jul 2007 15:18:06 +0000 (16:18 +0100)]
fix gfp_t annotations for slub

Since we have use like ~SLUB_DMA, we ought to have the type
set right in both cases.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoANSIfy a couple of functions in netfilter
Al Viro [Fri, 20 Jul 2007 15:15:28 +0000 (16:15 +0100)]
ANSIfy a couple of functions in netfilter

It's C, not C++...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix lguest misannotation
Al Viro [Fri, 20 Jul 2007 15:10:24 +0000 (16:10 +0100)]
Fix lguest misannotation

It's void __user *, not void * __user...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix up sky2 breakage
Al Viro [Fri, 20 Jul 2007 15:07:33 +0000 (16:07 +0100)]
Fix up sky2 breakage

Doing |= 1 << 19 to 16bit unsigned is not particulary useful;
that register is 32bit, unlike the ones dealt with in the rest of
function, so we need u32 variable here.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix buggered kmalloc() call argument order
Al Viro [Fri, 20 Jul 2007 15:03:40 +0000 (16:03 +0100)]
Fix buggered kmalloc() call argument order

Wrong order of arguments

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k: exclude more unbuildable drivers
Al Viro [Fri, 20 Jul 2007 03:33:58 +0000 (04:33 +0100)]
m68k: exclude more unbuildable drivers

anything that wants working dma-mapping won't work
parport_pc won't work on m68k unless we have ISA

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomac89x0: missing __init
Al Viro [Fri, 20 Jul 2007 03:33:48 +0000 (04:33 +0100)]
mac89x0: missing __init

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k: remove empty ->setup is several consoles
Al Viro [Fri, 20 Jul 2007 03:33:38 +0000 (04:33 +0100)]
m68k: remove empty ->setup is several consoles

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k: missing __init
Al Viro [Fri, 20 Jul 2007 03:33:28 +0000 (04:33 +0100)]
m68k: missing __init

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k: missing exports
Al Viro [Fri, 20 Jul 2007 03:33:18 +0000 (04:33 +0100)]
m68k: missing exports

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k: use .text.head
Al Viro [Fri, 20 Jul 2007 03:33:08 +0000 (04:33 +0100)]
m68k: use .text.head

i.e. tell modpost that entry point code (that has to be outside
of .init.text for external reasons) is OK to refer to .init.*

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k iomem (based on Geert's tree + memcpy_... stuff)
Al Viro [Fri, 20 Jul 2007 03:32:58 +0000 (04:32 +0100)]
m68k iomem (based on Geert's tree + memcpy_... stuff)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k: teach modpost about .m68_fixup
Al Viro [Fri, 20 Jul 2007 03:32:48 +0000 (04:32 +0100)]
m68k: teach modpost about .m68_fixup

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomore isa/eisa/pci-only drivers marked as such
Al Viro [Thu, 19 Jul 2007 23:24:22 +0000 (00:24 +0100)]
more isa/eisa/pci-only drivers marked as such

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[SPARC64]: Fix two year old bug in early bootup asm.
David S. Miller [Fri, 20 Jul 2007 04:50:09 +0000 (21:50 -0700)]
[SPARC64]: Fix two year old bug in early bootup asm.

We try to fetch the CIF entry pointer from %o4, but that
can get clobbered by the early OBP calls.  It is saved
in %l7 already, so actually this "mov %o4, %l7" can just
be completely removed with no other changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Update defconfig.
David S. Miller [Fri, 20 Jul 2007 04:30:56 +0000 (21:30 -0700)]
[SPARC64]: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix log message type in vio_create_one().
Fabio Massimo Di Nitto [Thu, 19 Jul 2007 21:00:55 +0000 (14:00 -0700)]
[SPARC64]: Fix log message type in vio_create_one().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Tweak assertions in sun4v_build_virq().
David S. Miller [Thu, 19 Jul 2007 06:16:51 +0000 (23:16 -0700)]
[SPARC64]: Tweak assertions in sun4v_build_virq().

They are too strict.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Tweak kernel log messages in power_probe().
David S. Miller [Thu, 19 Jul 2007 04:18:50 +0000 (21:18 -0700)]
[SPARC64]: Tweak kernel log messages in power_probe().

Use KERN_INFO, add missing newline, etc.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix handling of multiple vdc-port nodes.
David S. Miller [Wed, 18 Jul 2007 22:15:45 +0000 (15:15 -0700)]
[SPARC64]: Fix handling of multiple vdc-port nodes.

The "id" property in vdc-port nodes are not unique, they
are all zero.  Therefore assign ID's using the parent's
"cfg-handle" property which will be unique.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix device type matching in VIO's devspec_show().
Fabio Massimo Di Nitto [Wed, 18 Jul 2007 21:37:26 +0000 (14:37 -0700)]
[SPARC64]: Fix device type matching in VIO's devspec_show().

with the recent renames, we forgot to update the matches for
devspec. This is required to keep udev working and autoload modules.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix MODULE_DEVICE_TABLE() specification in VDC and VNET.
Fabio Massimo Di Nitto [Wed, 18 Jul 2007 21:35:23 +0000 (14:35 -0700)]
[SPARC64]: Fix MODULE_DEVICE_TABLE() specification in VDC and VNET.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC]: Add sys_fallocate() entries.
David S. Miller [Wed, 18 Jul 2007 21:28:59 +0000 (14:28 -0700)]
[SPARC]: Add sys_fallocate() entries.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Use orderly_poweroff().
David S. Miller [Wed, 18 Jul 2007 20:12:45 +0000 (13:12 -0700)]
[SPARC64]: Use orderly_poweroff().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'kmem_death' of master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Fri, 20 Jul 2007 01:38:13 +0000 (18:38 -0700)]
Merge branch 'kmem_death' of /linux/kernel/git/lethal/sh-2.6

* 'kmem_death' of master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
  mm: Remove slab destructors from kmem_cache_create().

17 years agofallout from kbuild changes
Al Viro [Fri, 20 Jul 2007 01:01:16 +0000 (02:01 +0100)]
fallout from kbuild changes

Change in 'kbuild: do section mismatch check on full vmlinux'
should've been replicated in arch/um/Makefile.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomm: Remove slab destructors from kmem_cache_create().
Paul Mundt [Fri, 20 Jul 2007 01:11:58 +0000 (10:11 +0900)]
mm: Remove slab destructors from kmem_cache_create().

Slab destructors were no longer supported after Christoph's
c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
BUGs for both slab and slub, and slob never supported them
either.

This rips out support for the dtor pointer from kmem_cache_create()
completely and fixes up every single callsite in the kernel (there were
about 224, not including the slab allocator definitions themselves,
or the documentation references).

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoUSB: drivers/usb/storage/dpcm.c whitespace cleanup
S.Caglar Onur [Mon, 16 Jul 2007 10:41:45 +0000 (13:41 +0300)]
USB: drivers/usb/storage/dpcm.c whitespace cleanup

Following trivial patch converts smarttabs/whitespaces into real tabs.

Signed-off-by: S.Caglar Onur <caglar@pardus.org.tr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: r8a66597-hcd: fixes some problem
Yoshihiro Shimoda [Wed, 18 Jul 2007 14:10:34 +0000 (23:10 +0900)]
USB: r8a66597-hcd: fixes some problem

This patch incorporates some updates. Updates include:

 - Fix the problem that control transfer might fail
 - Change from GFP_KERNEL to GFP_ATOMIC
 - Clean up some coding style issue

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: change name of spinlock in hcd.c
Alan Stern [Wed, 18 Jul 2007 16:14:24 +0000 (12:14 -0400)]
USB: change name of spinlock in hcd.c

This patch (as940 renames hcd_data_lock in hcd.c to hcd_urb_list_lock,
which is more descriptive of the lock's job.  It also introduces a
convenient inline routine for testing whether a particular USB device
is a root hub.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: move routines in hcd.c
Alan Stern [Wed, 18 Jul 2007 16:08:02 +0000 (12:08 -0400)]
USB: move routines in hcd.c

This patch (as939) moves a couple of routine in hcd.c around.  The
purpose is to put all the general URB- and endpoint-related routines
(submit, unlink, giveback, and disable) together in one spot.

There are no functional changes.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: uss720: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: uss720: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: usbtest: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: usbtest: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: usblcd: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: usblcd: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: phidgetmotorcontrol: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: phidgetmotorcontrol: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: phidgetkit: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: phidgetkit: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: legousbtower: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: legousbtower: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: ldusb: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: ldusb: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: iowarrior: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: iowarrior: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: ftdi-elan: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: ftdi-elan: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: auerswald: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: auerswald: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: appledisplay: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: appledisplay: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: misc: adtux: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: misc: adtux: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: core: message: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: core: message: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: image: microtek: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: image: microtek: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: image: mdc800: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: image: mdc800: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: storage: onetouch: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: storage: onetouch: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: class: usblp: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: class: usblp: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: class: cdc-acm: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: class: cdc-acm: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: atm: usbatm: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: atm: usbatm: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: atm: ueagle-atm: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: atm: ueagle-atm: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: atm: speedtch: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: atm: speedtch: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: atm: cxacru: clean up urb->status usage
Greg Kroah-Hartman [Wed, 18 Jul 2007 17:58:02 +0000 (10:58 -0700)]
USB: atm: cxacru: clean up urb->status usage

This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: m66592-udc: fixes some problems
Yoshihiro Shimoda [Tue, 17 Jul 2007 12:01:17 +0000 (21:01 +0900)]
USB: m66592-udc: fixes some problems

This patch incorporates some updates from the review of the
Renesas m66592-udc driver.  Updates include:

 - Fix some locking bugs; and add a few sparse annotations
 - Don't #define __iomem !
 - Lots of whitespace fixes (most of the patch by volume)
 - Some #include file trimmage
 - Other checkpatch.pl and sparse updates
 - Alphabetized and slightly-more-informative Kconfig
 - Don't use the ID which was assigned to the amd5536udc driver.
 - Remove pointless suspend/resume methods updating obsolete field.
 - Some section fixups
 - Fix some leak bugs
 - Fix byteswapping

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: usb-storage: unusual_devs entry for Nikon D100
Alan Stern [Mon, 16 Jul 2007 19:30:20 +0000 (15:30 -0400)]
USB: usb-storage: unusual_devs entry for Nikon D100

This patch (as938) adds an unusual_devs entry for the Nikon DSC D100.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: Remove pointless conditional in drivers/usb/serial/io_ti.c::edge_shutdown()
Jesper Juhl [Mon, 16 Jul 2007 20:17:25 +0000 (22:17 +0200)]
USB: Remove pointless conditional in drivers/usb/serial/io_ti.c::edge_shutdown()

Coverity scan found (CID: 1708) this in
drivers/usb/serial/io_ti.c::edge_shutdown() :

...
2797  for (i=0; i < serial->num_ports; ++i) {
2798  edge_port = usb_get_serial_port_data(serial->port[i]);
2799  edge_remove_sysfs_attrs(edge_port->port);
2800  if (edge_port) {
2801  edge_buf_free(edge_port->ep_out_buf);
2802  kfree(edge_port);
2803  }
2804  usb_set_serial_port_data(serial->port[i], NULL);
2805  }
...

It's complaining that we dereference 'edge_port' in line 2799 which
makes the test of that pointer against NULL in 2800 pointless, since if
edge_port was actually NULL we'd have crashed already before reaching
line 2800.
Reading the edge_open() function it seems to me that the pointer
returned by usb_get_serial_port_data(serial->port[i]) and stored in
'edge_port' can never actually be NULL here, so the test is entirely
superfluous (even if it could be NULL it would be pointless here,
ignoring the then possible crash in that case, since both
edge_buf_free() and kfree() can handle being passed NULL pointers.

This patch removes the pointless conditional (and also makes a few
tiny style corrections now that I was in the area anyway).

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: MAINTAINERS entry for amd5536udc
Thomas Dahlmann [Thu, 12 Jul 2007 16:30:39 +0000 (09:30 -0700)]
USB: MAINTAINERS entry for amd5536udc

MAINTAINERS entry for amd5536udc driver.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: amd5536 UDC driver (in GEODE southbridge)
Thomas Dahlmann [Tue, 17 Jul 2007 04:40:54 +0000 (21:40 -0700)]
USB: amd5536 UDC driver (in GEODE southbridge)

Driver for the AMD5536 UDC, as found in the AMD Geode CS5536 (southbridge).
This is a high speed DMA-capable controller, which can also be used in
OTG configurations (which are not supported by this patch).

Acked-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: documentation update for usb_unlink_urb
Alan Stern [Fri, 13 Jul 2007 19:47:16 +0000 (15:47 -0400)]
USB: documentation update for usb_unlink_urb

This patch (as936) updates the kerneldoc for usb_unlink_urb.  The
explanation of how endpoint queues are meant to work is now clearer
and in better agreement with reality.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUHCI: short control URBs get a status stage
Alan Stern [Fri, 13 Jul 2007 19:46:29 +0000 (15:46 -0400)]
UHCI: short control URBs get a status stage

It has recently been pointed out that short control transfers should
have a status stage, even if they generate an error because
URB_SHORT_NOT_OK was set.  This patch (as935) changes uhci-hcd to
enable the status stage when this happens.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: mos7720, mos7840: remove redundant urb check
Florin Malita [Mon, 16 Jul 2007 15:50:53 +0000 (11:50 -0400)]
USB: mos7720, mos7840: remove redundant urb check

Coverity (1709, 1710, 1711, 1712, 1713) actually flagged these as
REVERSE_INULLs (NULL check performed after dereference). But looking at
the other drivers I can't see any similar tests and the USB core already
makes sure urb is non-null - so might as well get rid of the checks.

Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix warning caused by autosuspend counter going negative
Alan Stern [Mon, 16 Jul 2007 19:28:19 +0000 (15:28 -0400)]
USB: fix warning caused by autosuspend counter going negative

This patch (as937) fixes a minor bug in the autosuspend usage-counting
code.  Each hub's usage counter keeps track of the number of
unsuspended children.  However the current driver increments the
counter after registering a new child, by which time the child may
already have been suspended and caused the counter to go negative.
The obvious solution is to increment the counter before registering
the child.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: add "descriptors" binary sysfs attribute
Alan Stern [Thu, 12 Jul 2007 21:06:23 +0000 (17:06 -0400)]
USB: add "descriptors" binary sysfs attribute

This patch (as934) adds a new readonly binary sysfs attribute file
called "descriptors" for each USB device.  The attribute contains the
device descriptor followed by the raw descriptor entry (config plug
subsidiary descriptors) for the current configuration.

Having this information available in fixed-format binary makes life a
lot easier for user programs by avoiding the need to open, read, and
parse multiple sysfs text files.

The information in this attribute file is much like that in usbfs's
device file, but there are some significant differences:

The 2-byte fields in the device descriptor are left in
little-endian byte order, as they appear on the bus and
in the kernel.

Only one raw descriptor set is presented, that of the
current configuration.

Opening this file will not cause a suspended device to be
autoresumed.

The last item in particular should be a big selling point for libusb,
which currently forces all USB devices to be resumed as it scans the
device tree.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Dave Mielke <dave@mielke.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoisp116x-hcd: prepare for urb->status
Alan Stern [Thu, 12 Jul 2007 21:03:01 +0000 (17:03 -0400)]
isp116x-hcd: prepare for urb->status

This patch (as931b), adapted from a patch by Olav Kongas, makes a small
set of conservative changes to the isp116x-hcd driver in preparation
for the removal of urb->status.

finish_request() is moved up in the source and is called
as soon as the URB is known to have completed, rather than
after all the active endpoints have been scanned.

The status of a completed URB is kept in a local variable
and copied to urb->status only when the URB is about to be
given back.

-EREMOTEIO error status for control transfers is set after
the status stage rather than when the short packet arrives.

Some unnecessary uses of urb->lock are removed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Olav Kongas <ok@artecdesign.ee>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: usblp: "Big cleanup" breaks O_NONBLOCK
Pete Zaitcev [Wed, 11 Jul 2007 03:09:58 +0000 (20:09 -0700)]
USB: usblp: "Big cleanup" breaks O_NONBLOCK

I found the first regresson in the rewritten ("all dynamic" and "no races")
driver. If application uses O_NONBLOCK, I return -EAGAIN despite the URB
being submitted successfuly. This causes the application to resubmit the
same data erroneously.

The fix is to pretend that the transfer has succeeded even if URB was
merely queued. It is the same behaviour as with the old version.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: sierra: Add new devices
Kevin Lloyd [Mon, 16 Jul 2007 20:49:29 +0000 (13:49 -0700)]
USB: sierra: Add new devices

This patch adds new devices to the Sierra Wireless driver. This is being
resubmitted because the dependent patch (patch 01/02) needed to be
resubmitted.

Signed-off-by: Kevin Lloyd <linux@sierrawireless.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: sierra: Add TRU-Install (c) Support
Kevin Lloyd [Mon, 16 Jul 2007 20:49:27 +0000 (13:49 -0700)]
USB: sierra: Add TRU-Install (c) Support

This patch adds compatibility with Sierra Wireless' new TRU-Install
feature. Future devices that use this feature will not work unless this
patch has been applied.

Signed-off-by: Kevin Lloyd <linux@sierrawireless.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: use mutex instead of semaphore in the FTDI ELAN driver
Matthias Kaehlcke [Fri, 13 Jul 2007 19:29:46 +0000 (21:29 +0200)]
USB: use mutex instead of semaphore in the FTDI ELAN driver

The FTDI ELAN driver uses a semaphore as mutex. Use the mutex API
instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: use mutex instead of semaphore in the Adutux driver
Matthias Kaehlcke [Fri, 13 Jul 2007 19:28:31 +0000 (21:28 +0200)]
USB: use mutex instead of semaphore in the Adutux driver

The Adutux driver uses a semaphore as mutex. Use the mutex API
instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: use mutex instead of semaphore in the ELAN U132 adapter driver
Matthias Kaehlcke [Fri, 13 Jul 2007 19:26:59 +0000 (21:26 +0200)]
USB: use mutex instead of semaphore in the ELAN U132 adapter driver

The ELAN U132 adapter driver uses the semaphore u132_module_lock
as mutex. Use the mutex API instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: use mutex instead of semaphore in the USB gadget serial driver
Matthias Kaehlcke [Fri, 13 Jul 2007 19:25:25 +0000 (21:25 +0200)]
USB: use mutex instead of semaphore in the USB gadget serial driver

The USB gadget serial driver uses a semaphore as mutex. Use the
mutex API instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Thu, 19 Jul 2007 23:31:22 +0000 (16:31 -0700)]
Merge /pub/scm/linux/kernel/git/bart/ide-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (23 commits)
  ide: add support for SCSI ioctls to ide-floppy
  ide: remove stale changelog from setup-pci.c
  ide: remove stale changelog/comments/TODO from ide.c
  ide-cris: handle PIO auto-tuning in tune_cris_ide()
  ide: add PIO masks
  ide: remove ide_find_best_pio_mode()
  ide: drop "PIO data" argument from ide_get_best_pio_mode()
  ide: ide_find_best_pio_mode() fixes (take 2)
  ide: add ide_pio_cycle_time() helper (take 2)
  sc1200: remove stale Power Management code
  ide: ide_start_power_step() fix WRT disabling DMA
  serverworks: fix DMA
  serverworks: always tune PIO
  ide: add ide_pci_device_t.host_flags (take 2)
  ide: add ide_dev_has_iordy() helper (take 4)
  ide: make ide_get_best_pio_mode() print info if overriding PIO mode
  siimage: PIO mode setup fixes (take 2)
  atiixp: PIO mode setup fixes
  ide: Stop mapping ROMs
  IDE: Remove references to dead ETRAX-related variables.
  ...

17 years agocoda breakage
Al Viro [Thu, 19 Jul 2007 23:23:31 +0000 (00:23 +0100)]
coda breakage

a) switch by loff_t == __cmpdi2 use.  Replaced with a couple
of obvious ifs; update of ->f_pos in the first one makes sure that we
do the right thing in all cases.
b) block_signals() and unblock_signals() are globals on UML.
Renamed coda ones; in principle UML probably ought to do rename as
well, but that's another story.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomissed cong_avoid() instance
Al Viro [Thu, 19 Jul 2007 23:17:45 +0000 (00:17 +0100)]
missed cong_avoid() instance

Removal of rtt argument in ->cong_avoid() had missed tcp_htcp.c
instance.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoide: add support for SCSI ioctls to ide-floppy
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:59 +0000 (01:11 +0200)]
ide: add support for SCSI ioctls to ide-floppy

Now that ide-floppy supports SG_IO we can add support for SCSI ioctls
(except deprecated SCSI_IOCTL_SEND_COMMAND and legacy CDROM_SEND_PACKET
ones - we can add them later iff really needed).

While at it remove handling of CDROMEJECT and CDROMCLOSETRAY ioctls from
generic_ide_ioctl():

- This prevents ide-{disk,tape,scsi} device drivers from obtaining
  REQ_TYPE_BLOCK_PC type requests which are currently unsupported by
  these drivers and which are potentially harmful (as reported by Andrew).

- There is no functionality loss since aforementioned ioctls will now be
  handled by idefloppy_ioctl()->scsi_cmd_ioctl() (for devices using
  ide-floppy driver) and by idecd_ioctl->cdrom_ioctl()->scsi_cmd_ioctl()
  (for devices using ide-cd driver).

Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove stale changelog from setup-pci.c
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:59 +0000 (01:11 +0200)]
ide: remove stale changelog from setup-pci.c

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove stale changelog/comments/TODO from ide.c
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:59 +0000 (01:11 +0200)]
ide: remove stale changelog/comments/TODO from ide.c

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide-cris: handle PIO auto-tuning in tune_cris_ide()
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:59 +0000 (01:11 +0200)]
ide-cris: handle PIO auto-tuning in tune_cris_ide()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add PIO masks
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:59 +0000 (01:11 +0200)]
ide: add PIO masks

* Add ATA_PIO[0-6] defines to <linux/ata.h>.

* Add ->pio_mask field to ide_pci_device_t and ide_hwif_t.

* Add PIO masks to host drivers.

<linux/ata.h> change ACK-ed by Jeff Garzik <jeff@garzik.org>.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove ide_find_best_pio_mode()
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:58 +0000 (01:11 +0200)]
ide: remove ide_find_best_pio_mode()

* Add ->host_flags to ide_hwif_t to store ide_pci_device_t.host_flags,
  assign it in setup-pci.c:ide_pci_setup_ports().

* Add IDE_HFLAG_PIO_NO_{BLACKLIST,DOWNGRADE} to ide_pci_device_t.host_flags
  and teach ide_get_best_pio_mode() about them.  Also remove needless
  !drive->id check while at it (drive->id is always present).

* Convert amd74xx, via82cxxx and ide-timing.h to use ide_get_best_pio_mode()
  and then remove no longer needed ide_find_best_pio_mode().

There should be no functionality changes caused by this patch.

Acked-by: Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: drop "PIO data" argument from ide_get_best_pio_mode()
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:58 +0000 (01:11 +0200)]
ide: drop "PIO data" argument from ide_get_best_pio_mode()

* Drop no longer needed "PIO data" argument from ide_get_best_pio_mode()
  and convert all users accordingly.

* Remove no longer needed ide_pio_data_t.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: ide_find_best_pio_mode() fixes (take 2)
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:57 +0000 (01:11 +0200)]
ide: ide_find_best_pio_mode() fixes (take 2)

* Check IORDY bit for PIO modes > 2.

* Some devices claim maximum PIO mode > 2 in id->tPIO, they were punished too
  severly for this by being limited to PIO_SLOW.  Limit them to PIO2 instead.

v2:
* Fix PIO number being returned incorrectly instead of PIO mode
  (Noticed by Sergei).

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ide_pio_cycle_time() helper (take 2)
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:56 +0000 (01:11 +0200)]
ide: add ide_pio_cycle_time() helper (take 2)

* Add ide_pio_cycle_time() helper.

* Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers
  (previously cycle time given by the device was only used for "pio" == 255).

* Remove no longer needed ide_pio_data_t.cycle_time field.

v2:
* Fix "ata_" prefix (Noticed by Jeff).

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agosc1200: remove stale Power Management code
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:56 +0000 (01:11 +0200)]
sc1200: remove stale Power Management code

* Nowadays core IDE code handles restoring of PIO and DMA modes
  (ide-io.c:ide_start_power_step() etc) so remove open-coded version
  from sc1200_resume().

  There should be no change in behavior because settings done by
  sc1200_resume() were always overridden by generic_ide_resume()
  and ide_{start,stop}_power_step().

* Bump driver version.

Cc: Mark Lord <mlord@pobox.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: ide_start_power_step() fix WRT disabling DMA
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:56 +0000 (01:11 +0200)]
ide: ide_start_power_step() fix WRT disabling DMA

* Do the same thing as probe_hwif() and always disable DMA so chipset DMA
  enabled bit gets cleared (if the drive doesn't support DMA ide_set_dma()
  won't try to tune it anyway).

* Add TODO comment about respecting ->using_dma setting.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoserverworks: fix DMA
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:56 +0000 (01:11 +0200)]
serverworks: fix DMA

The driver used to depend on BIOS settings for deciding whether it is OK
to use DMA.  However it seems that BIOS doesn't always handle all cases
correctly so just let IDE core to decide about this.  It should be a safe
thing to do now, after the driver went through heavy bugfixing.

Thanks for bugreport and testing the patch goes out to Sven Niedner.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoserverworks: always tune PIO
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:56 +0000 (01:11 +0200)]
serverworks: always tune PIO

* Always set ->autotune so PIO gets correctly auto-tuned (previously
  ->autotune was only set when ->dma_base wasn't available, however
  ->ide_dma_check()/->speedproc() was always trying to tune PIO when
  tuning DMA).

* Move code responsible for programming chipset for PIO mode from
  svwks_tune_chipset() to svwks_tune_pio().  Don't tune PIO when tuning
  DMA (this is no longer needed since ->autotune is always set now).

* Handle PIO modes early in svwks_tune_chipset() so DMA configuration
  registers don't get cleared when programming PIO mode.

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ide_pci_device_t.host_flags (take 2)
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:55 +0000 (01:11 +0200)]
ide: add ide_pci_device_t.host_flags (take 2)

* Rename ide_pci_device_t.flags to ide_pci_device_t.host_flags
  and IDEPCI_FLAG_ISA_PORTS flag to IDE_HFLAG_ISA_PORTS.

* Add IDE_HFLAG_SINGLE flag for single channel devices.

* Convert core code and all IDE PCI drivers to use IDE_HFLAG_SINGLE
  and remove no longer needed ide_pci_device_t.channels field.

v2:
* Fix issues noticed by Sergei:
  - correct code alignment in scc_pata.c
  - s/IDE_HFLAG_SINGLE/~IDE_HFLAG_SINGLE/ in serverworks.c

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ide_dev_has_iordy() helper (take 4)
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:55 +0000 (01:11 +0200)]
ide: add ide_dev_has_iordy() helper (take 4)

* Add ide_dev_has_iordy() helper and use it sl82c105 host driver.

* Remove no longer needed ide_pio_data_t.use_iordy field.

v2/v3:
* Fix issues noticed by Sergei:
  - correct patch description
  - fix comment in ide_get_best_pio_mode()

v4:
* Fix "ata_" prefix (Noticed by Jeff).

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: make ide_get_best_pio_mode() print info if overriding PIO mode
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:55 +0000 (01:11 +0200)]
ide: make ide_get_best_pio_mode() print info if overriding PIO mode

* Print info about overriding PIO mode in ide_get_best_pio_mode().

* Remove info about overriding PIO mode from cmd64{0,x} host drivers.

* Remove no longer needed ide_pio_data_t.overridden field.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agosiimage: PIO mode setup fixes (take 2)
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:54 +0000 (01:11 +0200)]
siimage: PIO mode setup fixes (take 2)

* Add sil_tuneproc() wrapper for siimage_tuneproc() which also sets
  PIO mode on the device.

* Add missing ide_get_best_pio_mode() call to sil_tuneproc() so
  "pio" == 255 (autotune) is handled correctly (previously PIO0 was used)
  and "pio" values > 4 && < 255 are filtered to PIO4 (instead of PIO0).

* Add code limiting maximum PIO mode according to the pair device capabilities
  to sil_tuneproc().

* Convert users of config_siimage_chipset_for_pio() to use sil_tune_pio() and
  sil_tuneproc().  This fixes PIO fallback in siimage_config_drive_for_dma() to
  use max PIO mode available instead of PIO4 (config_siimage_chipset_for_pio()
  used wrong arguments for ide_get_best_pio_mode() and as a results always
  tried to set PIO4).

* Remove no longer needed siimage_taskfile_timing()
  and config_siimage_chipset_for_pio().

* Enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes
  from siimage_speedproc()

* Bump driver version.

v2:
* Fix issues noticed by Sergei:
  - correct pair device check
  - trim only taskfile PIO to the slowest of the master/slave
  - enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes
    from siimage_speedproc()
  - add TODO item for IORDY bugs
  - minor cleanups

Reviewed-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoatiixp: PIO mode setup fixes
Bartlomiej Zolnierkiewicz [Thu, 19 Jul 2007 23:11:54 +0000 (01:11 +0200)]
atiixp: PIO mode setup fixes

* Split off exisiting atiixp_tuneproc() into atiixp_tune_pio()
  and then add setting device PIO mode to atiixp_tuneproc().

* Add missing ide_get_best_pio_mode() call to atiixp_tuneproc() so
  "pio" == 255 (autotune) is handled correctly and "pio" values > 4 && < 255
  are filtered to PIO4 (previously "pio" == 5 could result in wrong timings
  being used and "pio" values > 4 && < 255 in an OOPS).

* Handle PIO modes early in atiixp_speedproc() so save_mdma_mode[]
  doesn't get cleared.

* In atiixp_dma_check():
  - fix max_mode argument for ide_get_best_pio_mode()
  - don't call atiixp_dma_2_pio() so PIO1 doesn't get remapped to PIO0
  - use atiixp_tuneproc() instead of atiixp_speedproc()

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>