sfrench/cifs-2.6.git
12 years agoshift current_cred() from __f_setown() to f_modown()
Oleg Nesterov [Tue, 16 Jun 2009 20:07:46 +0000 (22:07 +0200)]
shift current_cred() from __f_setown() to f_modown()

Shift current_cred() from __f_setown() to f_modown(). This reduces
the number of arguments and saves 48 bytes from fs/fcntl.o.

[ Note: this doesn't clear euid/uid when pid is set to NULL.  But if
  f_owner.pid == NULL we never use f_owner.uid/euid.  Otherwise we'd
  have a bug anyway: we must not send signals if pid was reset to NULL.  ]

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMerge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard...
Linus Torvalds [Tue, 16 Jun 2009 20:09:51 +0000 (13:09 -0700)]
Merge branch 'for-linus2' of git://git./linux/kernel/git/vegard/kmemcheck

* 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)
  signal: fix __send_signal() false positive kmemcheck warning
  fs: fix do_mount_root() false positive kmemcheck warning
  fs: introduce __getname_gfp()
  trace: annotate bitfields in struct ring_buffer_event
  net: annotate struct sock bitfield
  c2port: annotate bitfield for kmemcheck
  net: annotate inet_timewait_sock bitfields
  ieee1394/csr1212: fix false positive kmemcheck report
  ieee1394: annotate bitfield
  net: annotate bitfields in struct inet_sock
  net: use kmemcheck bitfields API for skbuff
  kmemcheck: introduce bitfield API
  kmemcheck: add opcode self-testing at boot
  x86: unify pte_hidden
  x86: make _PAGE_HIDDEN conditional
  kmemcheck: make kconfig accessible for other architectures
  kmemcheck: enable in the x86 Kconfig
  kmemcheck: add hooks for the page allocator
  kmemcheck: add hooks for page- and sg-dma-mappings
  kmemcheck: don't track page tables
  ...

12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Tue, 16 Jun 2009 20:06:10 +0000 (13:06 -0700)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)
  USB: xhci depends on PCI.
  USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.
  USB: xhci: Respect critical sections.
  USB: xHCI: Fix interrupt moderation.
  USB: xhci: Remove packed attribute from structures.
  usb; xhci: Fix TRB offset calculations.
  USB: xhci: replace if-elseif-else with switch-case
  USB: xhci: Make xhci-mem.c include linux/dmapool.h
  USB: xhci: drop spinlock in xhci_urb_enqueue() error path.
  USB: Change names of SuperSpeed ep companion descriptor structs.
  USB: xhci: Avoid compiler reordering in Link TRB giveback.
  USB: xhci: Clean up xhci_irq() function.
  USB: xhci: Avoid global namespace pollution.
  USB: xhci: Fix Link TRB handoff bit twiddling.
  USB: xhci: Fix register write order.
  USB: xhci: fix some compiler warnings in xhci.h
  USB: xhci: fix lots of compiler warnings.
  USB: xhci: use xhci_handle_event instead of handle_event
  USB: xhci: URB cancellation support.
  USB: xhci: Scatter gather list support for bulk transfers.
  ...

12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
Linus Torvalds [Tue, 16 Jun 2009 19:57:37 +0000 (12:57 -0700)]
Merge git://git./linux/kernel/git/gregkh/driver-core-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits)
  debugfs: use specified mode to possibly mark files read/write only
  debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.
  xen: remove driver_data direct access of struct device from more drivers
  usb: gadget: at91_udc: remove driver_data direct access of struct device
  uml: remove driver_data direct access of struct device
  block/ps3: remove driver_data direct access of struct device
  s390: remove driver_data direct access of struct device
  parport: remove driver_data direct access of struct device
  parisc: remove driver_data direct access of struct device
  of_serial: remove driver_data direct access of struct device
  mips: remove driver_data direct access of struct device
  ipmi: remove driver_data direct access of struct device
  infiniband: ehca: remove driver_data direct access of struct device
  ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device
  hvcs: remove driver_data direct access of struct device
  xen block: remove driver_data direct access of struct device
  thermal: remove driver_data direct access of struct device
  scsi: remove driver_data direct access of struct device
  pcmcia: remove driver_data direct access of struct device
  PCIE: remove driver_data direct access of struct device
  ...

Manually fix up trivial conflicts due to different direct driver_data
direct access fixups in drivers/block/{ps3disk.c,ps3vram.c}

12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
Linus Torvalds [Tue, 16 Jun 2009 19:23:52 +0000 (12:23 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/shaggy/jfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
  jfs: fix regression preventing coalescing of extents

12 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec...
Linus Torvalds [Tue, 16 Jun 2009 19:11:57 +0000 (12:11 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jlbec/ocfs2

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
  ocfs2/net: Use wait_event() in o2net_send_message_vec()
  ocfs2: Adjust rightmost path in ocfs2_add_branch.
  ocfs2: fdatasync should skip unimportant metadata writeout
  ocfs2: Remove redundant gotos in ocfs2_mount_volume()
  ocfs2: Add statistics for the checksum and ecc operations.
  ocfs2 patch to track delayed orphan scan timer statistics
  ocfs2: timer to queue scan of all orphan slots
  ocfs2: Correct ordering of ip_alloc_sem and localloc locks for directories
  ocfs2: Fix possible deadlock in quota recovery
  ocfs2: Fix possible deadlock with quotas in ocfs2_setattr()
  ocfs2: Fix lock inversion in ocfs2_local_read_info()
  ocfs2: Fix possible deadlock in ocfs2_global_read_dquot()
  ocfs2: update comments in masklog.h
  ocfs2: Don't printk the error when listing too many xattrs.

12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Tue, 16 Jun 2009 19:10:31 +0000 (12:10 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: ctxfi - Fix deadlock with xfi-timer
  ALSA: intel8x0 - Fix PCM position craziness
  ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII
  ASoC: magician: fix PXA SSP clock polarity
  ASoC: Instantiate any forgotten DAPM widgets
  ASoC: Revert duplicated code in SSM2602 driver
  ALSA: hda - Add quirk for Acer Aspire 6935G
  ALSA: ctxfi - Replace atc lock to mutex
  ASoC: Remove odd bit clock ratios for WM8903

12 years agoMerge branch 'serial'
Linus Torvalds [Tue, 16 Jun 2009 19:03:43 +0000 (12:03 -0700)]
Merge branch 'serial'

* serial:
  imx: Check for NULL pointer deref before calling tty_encode_baud_rate
  atmel_serial: fix hang in set_termios when crtscts is enabled
  MAINTAINERS: update 8250 section, give Alan Cox a name
  tty: fix sanity check
  pty: Narrow the race on ldisc locking
  tty: fix unused warning when TCGETX is not defined
  ldisc: debug aids
  ldisc: Make sure the ldisc isn't active when we close it
  tty: Fix leaks introduced by the shift to separate ldisc objects

Fix conflicts in drivers/char/pty.c due to earlier version of the ldisc
race narrowing.

12 years agoimx: Check for NULL pointer deref before calling tty_encode_baud_rate
Sascha Hauer [Tue, 16 Jun 2009 16:02:15 +0000 (17:02 +0100)]
imx: Check for NULL pointer deref before calling tty_encode_baud_rate

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoatmel_serial: fix hang in set_termios when crtscts is enabled
Haavard Skinnemoen [Tue, 16 Jun 2009 16:02:03 +0000 (17:02 +0100)]
atmel_serial: fix hang in set_termios when crtscts is enabled

After enabling hardware flow control, any subsequent termios call may hang
waiting for the transmitter to drain.  This appears to be caused by a
busy-loop in set_termios() waiting for the transmitter to become empty,
which may take a very long time (or hang indefinitely) if the device at
the other end is blocking us.

A quick look through the tty and serial_core code indicates that any
necessary flushing (which is optional) has already been done at this
point, so there's no need for the driver to flush the transmitter on its
own.

Fix it by removing the busy-loop altogether.

Tested-by: Eirik Aanonsen <eaa@wprmedical.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMAINTAINERS: update 8250 section, give Alan Cox a name
Joe Perches [Tue, 16 Jun 2009 16:01:52 +0000 (17:01 +0100)]
MAINTAINERS: update 8250 section, give Alan Cox a name

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agotty: fix sanity check
Alan Cox [Tue, 16 Jun 2009 16:01:33 +0000 (17:01 +0100)]
tty: fix sanity check

The WARN_ON() that was added to tty_reopen can be triggered in the specific
case of a hangup occurring during a re-open of a tty which is not in the
middle of being otherwise closed.

In that case however the WARN() is bogus as we don't hold the neccessary
locks to make a correct decision.

The case we should be checking is "if the ldisc is not changing and reopen
is occuring". We could drop the WARN_ON but for the moment the debug is more
valuable even if it means taking a mutex as it will find any other cases.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agopty: Narrow the race on ldisc locking
Alan Cox [Tue, 16 Jun 2009 16:01:13 +0000 (17:01 +0100)]
pty: Narrow the race on ldisc locking

The pty code has always been buggy on its ldisc handling. The recent
changes made the window for the race much bigger. Pending fixing it
properly which is not at all trivial, at least make the race small again so
we don't disrupt other dev work.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agotty: fix unused warning when TCGETX is not defined
Mike Frysinger [Tue, 16 Jun 2009 16:01:02 +0000 (17:01 +0100)]
tty: fix unused warning when TCGETX is not defined

If TCGETX is not defined, we end up with this warning:
drivers/char/tty_ioctl.c: In function ‘tty_mode_ioctl’:
drivers/char/tty_ioctl.c:950: warning: unused variable ‘ktermx’

Since the variable is only used in one case statement, push it down to
the local case scope.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoldisc: debug aids
Alan Cox [Tue, 16 Jun 2009 16:00:53 +0000 (17:00 +0100)]
ldisc: debug aids

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoldisc: Make sure the ldisc isn't active when we close it
Alan Cox [Tue, 16 Jun 2009 16:00:40 +0000 (17:00 +0100)]
ldisc: Make sure the ldisc isn't active when we close it

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agotty: Fix leaks introduced by the shift to separate ldisc objects
Alan Cox [Tue, 16 Jun 2009 16:00:26 +0000 (17:00 +0100)]
tty: Fix leaks introduced by the shift to separate ldisc objects

Gold star for the kmemleak detector.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6
Linus Torvalds [Tue, 16 Jun 2009 18:52:41 +0000 (11:52 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-next-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (30 commits)
  sparc64: Update defconfig.
  sparc: Wire up sys_rt_tgsigqueueinfo().
  openprom: Squelch useless GCC warning.
  sparc: replace uses of CPU_MASK_ALL_PTR
  sparc64: Add proper dynamic ftrace support.
  sparc: Simplify code using is_power_of_2() routine.
  sparc: move of_device common code to of_device_common
  sparc: remove dma-mapping_{32|64}.h
  sparc: use dma_map_page instead of dma_map_single
  sparc: add sync_single_for_device and sync_sg_for_device to struct dma_ops
  sparc: move the duplication in dma-mapping_{32|64}.h to dma-mapping.h
  p9100: use standard fields for framebuffer physical address and length
  leo: use standard fields for framebuffer physical address and length
  cg6: use standard fields for framebuffer physical address and length
  cg3: use standard fields for framebuffer physical address and length
  cg14: use standard fields for framebuffer physical address and length
  bw2: use standard fields for framebuffer physical address and length
  sparc64: fix and optimize irq distribution
  sparc64: Use new dynamic per-cpu allocator.
  sparc64: Only allocate per-cpu areas for possible cpus.
  ...

12 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier...
Linus Torvalds [Tue, 16 Jun 2009 18:49:58 +0000 (11:49 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/vapier/blackfin

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (27 commits)
  Blackfin: hook up new rt_tgsigqueueinfo syscall
  Blackfin: improve CLKIN_HZ config default
  Blackfin: initial support for ftrace grapher
  Blackfin: initial support for ftrace
  Blackfin: enable support for LOCKDEP
  Blackfin: add preliminary support for STACKTRACE
  Blackfin: move custom sections into sections.h
  Blackfin: punt unused/wrong mutex-dec.h
  Blackfin: add support for irqflags
  Blackfin: add support for bzip2/lzma compressed kernel images
  Blackfin: convert Kconfig style to def_bool
  Blackfin: bf548-ezkit: update smsc911x resources
  Blackfin: update aedos-ipipe code to upstream 1.10-00
  Blackfin: bf537-stamp: update ADP5520 resources
  Blackfin: bf518f-ezbrd: fix SPI CS for SPI flash
  Blackfin: define SPI IRQ in board resources
  Blackfin: do not configure the UART early if on wrong processor
  Blackfin: fix deadlock in SMP IPI handler
  Blackfin: fix flag storage for irq funcs
  Blackfin: push down exception oops checking
  ...

12 years agoMerge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Tue, 16 Jun 2009 18:48:13 +0000 (11:48 -0700)]
Merge branch 'for-linus' of git://git390.marist.edu/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (33 commits)
  [S390] s390: hibernation support for s390
  [S390] pm: dcssblk power management callbacks.
  [S390] pm: monreader power management callbacks.
  [S390] pm: monwriter power management callbacks.
  [S390] pm: memory hotplug power management callbacks
  [S390] pm: con3270 power management callbacks.
  [S390] pm: smsgiucv power management callbacks.
  [S390] pm: hvc_iucv power management callbacks
  [S390] PM: af_iucv power management callbacks.
  [S390] pm: netiucv power management callbacks.
  [S390] pm: iucv power management callbacks.
  [S390] iucv: establish reboot notifier
  [S390] pm: power management support for SCLP drivers.
  [S390] pm: tape power management callbacks
  [S390] pm: vmlogrdr power management callbacks
  [S390] pm: vmur driver power management callbacks
  [S390] pm: appldata power management callbacks
  [S390] pm: vmwatchdog power management callbacks.
  [S390] pm: zfcp driver power management callbacks
  [S390] pm: claw driver power management callbacks
  ...

12 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Tue, 16 Jun 2009 18:46:45 +0000 (11:46 -0700)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  block: remove some includings of blktrace_api.h
  mg_disk: seperate mg_disk.h again
  block: Introduce helper to reset queue limits to default values
  cfq: remove extraneous '\n' in blktrace output
  ubifs: register backing_dev_info
  btrfs: properly register fs backing device
  block: don't overwrite bdi->state after bdi_init() has been run
  cfq: cleanup for last_end_request in cfq_data

12 years agojfs: fix regression preventing coalescing of extents
Dave Kleikamp [Tue, 16 Jun 2009 18:43:22 +0000 (13:43 -0500)]
jfs: fix regression preventing coalescing of extents

Commit fec1878fe952b994125a3be7c94b1322db586f3b caused a regression in
which contiguous blocks being allocated to the end of an extent were
getting a new extent created.  This typically results in files entirely
made up of 1-block extents even though the blocks are contiguous on
disk.

Apparently grub doesn't handle a jfs file being fragmented into too many
extents, since it refuses to boot a kernel from jfs that was created by
the 2.6.30 kernel.

Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Reported-by: Alex <alevkovich@tut.by>
12 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Tue, 16 Jun 2009 18:30:37 +0000 (11:30 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (38 commits)
  ps3flash: Always read chunks of 256 KiB, and cache them
  ps3flash: Cache the last accessed FLASH chunk
  ps3: Replace direct file operations by callback
  ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL()
  ps3: Correct debug message in dma_ioc0_map_pages()
  drivers/ps3: Add missing annotations
  ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access
  ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access
  ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata
  ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices
  block/ps3: remove driver_data direct access of struct device
  ps3vram: Make ps3vram_priv.reports a void *
  ps3vram: Remove no longer used ps3vram_priv.ddr_base
  ps3vram: Replace mutex by spinlock + bio_list
  block: Add bio_list_peek()
  powerpc: Use generic atomic64_t implementation on 32-bit processors
  lib: Provide generic atomic64_t implementation
  powerpc: Add compiler memory barrier to mtmsr macro
  powerpc/iseries: Mark signal_vsp_instruction() as maybe unused
  powerpc/iseries: Fix unused function warning in iSeries DT code
  ...

12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
Linus Torvalds [Tue, 16 Jun 2009 18:30:16 +0000 (11:30 -0700)]
Merge git://git./linux/kernel/git/mason/btrfs-unstable

* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
  Btrfs: always update root items for fs trees at commit time

12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6
Linus Torvalds [Tue, 16 Jun 2009 18:29:44 +0000 (11:29 -0700)]
Merge git://git./linux/kernel/git/hirofumi/fatfs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:
  fat: split fat_generic_ioctl
  FAT: add 'errors' mount option

12 years agoMerge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvar...
Linus Torvalds [Tue, 16 Jun 2009 18:29:17 +0000 (11:29 -0700)]
Merge branch 'i2c-for-linus' of git://git./linux/kernel/git/jdelvare/staging

* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  therm_windtunnel: Convert to a new-style i2c driver
  therm_adt746x: Convert to a new-style i2c driver
  windfarm: Convert to new-style i2c drivers
  therm_pm72: Convert to a new-style i2c driver
  i2c-viapro: Add new PCI device ID for VX855
  i2c/chips: Move max6875 to drivers/misc/eeprom
  i2c: Do not give adapters a default parent
  i2c: Do not probe for TV chips on Voodoo3 adapters
  i2c: Retry automatically on arbitration loss
  i2c: Remove void casts

12 years agoMerge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelv...
Linus Torvalds [Tue, 16 Jun 2009 18:28:50 +0000 (11:28 -0700)]
Merge branch 'hwmon-for-linus' of git://git./linux/kernel/git/jdelvare/staging

* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  hwmon: (max6650) Add support for alarms
  hwmon: (f71882fg) Add support for the F71858F
  hwmon: (f71882fg) Add temp#_fault sysfs attr for f8000
  hwmon: (f71882fg) Sanity check f8000 pwm settings
  hwmon: (f71882fg) Cleanup f8000 pwm handling
  hwmon: PCI quirk for hwmon access on MSI MS-7031 board
  hwmon: (w83627ehf) Add W83627DHG-P support
  hwmon: (tmp401) Add documentation
  hwmon: (tmp401) Add support for TI's TMP411 sensors chip
  hwmon: (tmp401) Add support for TI's TMP401 sensor chip
  hwmon: (ibmaem) Automatically load on HC10 blade
  hwmon: Fix more __devexit_p glitches

12 years agoMerge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Tue, 16 Jun 2009 18:24:23 +0000 (11:24 -0700)]
Merge branch 'acpica' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)
  ACPICA: Update version to 20090521.
  ACPICA: Disable preservation of SCI enable bit (SCI_EN)
  ACPICA: Region deletion: Ensure region object is removed from handler list
  ACPICA: Eliminate extra call to NsGetParentNode
  ACPICA: Simplify internal operation region interface
  ACPICA: Update Load() to use operation region interfaces
  ACPICA: New: AcpiInstallMethod - install a single control method
  ACPICA: Invalidate DdbHandle after table unload
  ACPICA: Fix reference count issues for DdbHandle object
  ACPICA: Simplify and optimize NsGetNextNode function
  ACPICA: Additional validation of _PRT packages (resource mgr)
  ACPICA: Fix DebugObject output for DdbHandle objects
  ACPICA: Fix allowable release order for ASL mutex objects
  ACPICA: Mutex support: Fix release ordering issue and current sync level
  ACPICA: Update version to 20090422.
  ACPICA: Linux OSL: cleanup/update/merge
  ACPICA: Fix implementation of AML BreakPoint operator (break to debugger)
  ACPICA: Fix miscellaneous warnings under gcc 4+
  ACPICA: Miscellaneous lint changes
  ACPICA: Fix possible dereference of null pointer
  ...

12 years agotty: Fix leaks introduced by the shift to separate ldisc objects
Alan Cox [Mon, 15 Jun 2009 15:28:29 +0000 (16:28 +0100)]
tty: Fix leaks introduced by the shift to separate ldisc objects

Gold star for the kmemleak detector.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agopty: Narrow the race on ldisc locking
Alan Cox [Mon, 15 Jun 2009 15:27:29 +0000 (16:27 +0100)]
pty: Narrow the race on ldisc locking

The pty code has always been buggy on its ldisc handling. The recent
changes made the window for the race much bigger. Pending fixing it
properly which is not at all trivial, at least make the race small again so
we don't disrupt other dev work.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoprintk: add KERN_DEFAULT loglevel to print_modules()
Linus Torvalds [Tue, 16 Jun 2009 18:07:14 +0000 (11:07 -0700)]
printk: add KERN_DEFAULT loglevel to print_modules()

Several WARN_ON() messages omit the '\n' at the end of the string, which
is a simple (and understandable) error.  The next line printed after
that warning line is usually the current module list, and that printk
does not have a log-level marker - resulting in one long mixed-up line.

Adding this loglevel marker will now avoid this unreadable mess.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoprintk: Add KERN_DEFAULT printk log-level
Linus Torvalds [Tue, 16 Jun 2009 18:02:28 +0000 (11:02 -0700)]
printk: Add KERN_DEFAULT printk log-level

This adds a KERN_DEFAULT loglevel marker, for when you cannot decide
which loglevel you want, and just want to keep an existing printk
with the default loglevel.

The difference between having KERN_DEFAULT and having no log-level
marker at all is two-fold:

 - having the log-level marker will now force a new-line if the
   previous printout had not added one (perhaps because it forgot,
   but perhaps because it expected a continuation)

 - having a log-level marker is required if you are printing out a
   message that otherwise itself could perhaps otherwise be mistaken
   for a log-level.

Signed-of-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoprintk: clean up handling of log-levels and newlines
Linus Torvalds [Tue, 16 Jun 2009 17:57:02 +0000 (10:57 -0700)]
printk: clean up handling of log-levels and newlines

It used to be that we would only look at the log-level in a printk()
after explicit newlines, which can cause annoying problems when the
previous printk() did not end with a '\n'. In that case, the log-level
marker would be just printed out in the middle of the line, and be
seen as just noise rather than change the logging level.

This changes things to always look at the log-level in the first
bytes of the printout. If a log level marker is found, it is always
used as the log-level. Additionally, if no newline existed, one is
added (unless the log-level is the explicit KERN_CONT marker, to
explicitly show that it's a continuation of a previous line).

Acked-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMerge branch 'topic/usb-audio' into for-linus
Takashi Iwai [Tue, 16 Jun 2009 15:38:50 +0000 (17:38 +0200)]
Merge branch 'topic/usb-audio' into for-linus

* topic/usb-audio:
  ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII

12 years agoMerge branch 'topic/intel8x0' into for-linus
Takashi Iwai [Tue, 16 Jun 2009 15:38:46 +0000 (17:38 +0200)]
Merge branch 'topic/intel8x0' into for-linus

* topic/intel8x0:
  ALSA: intel8x0 - Fix PCM position craziness

12 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Tue, 16 Jun 2009 15:38:43 +0000 (17:38 +0200)]
Merge branch 'topic/hda' into for-linus

* topic/hda:
  ALSA: hda - Add quirk for Acer Aspire 6935G

12 years agoMerge branch 'topic/ctxfi' into for-linus
Takashi Iwai [Tue, 16 Jun 2009 15:38:40 +0000 (17:38 +0200)]
Merge branch 'topic/ctxfi' into for-linus

* topic/ctxfi:
  ALSA: ctxfi - Fix deadlock with xfi-timer
  ALSA: ctxfi - Replace atc lock to mutex

12 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Tue, 16 Jun 2009 15:38:36 +0000 (17:38 +0200)]
Merge branch 'topic/asoc' into for-linus

* topic/asoc:
  ASoC: magician: fix PXA SSP clock polarity
  ASoC: Instantiate any forgotten DAPM widgets
  ASoC: Revert duplicated code in SSM2602 driver
  ASoC: Remove odd bit clock ratios for WM8903

12 years agosparc64: Update defconfig.
David S. Miller [Tue, 16 Jun 2009 11:59:53 +0000 (04:59 -0700)]
sparc64: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: Wire up sys_rt_tgsigqueueinfo().
David S. Miller [Tue, 16 Jun 2009 11:17:58 +0000 (04:17 -0700)]
sparc: Wire up sys_rt_tgsigqueueinfo().

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoopenprom: Squelch useless GCC warning.
David S. Miller [Tue, 16 Jun 2009 10:46:54 +0000 (03:46 -0700)]
openprom: Squelch useless GCC warning.

drivers/sbus/char/openprom.c: In function ‘openprom_sunos_ioctl’:
drivers/sbus/char/openprom.c:306: warning: ‘opp’ may be used uninitialized in this function

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: replace uses of CPU_MASK_ALL_PTR
Stephen Rothwell [Mon, 15 Jun 2009 10:06:18 +0000 (03:06 -0700)]
sparc: replace uses of CPU_MASK_ALL_PTR

CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so:

#define CPU_MASK_ALL (cpumask_t) { { ... } }

Taking the address of such a temporary is questionable at best,
unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added
CPU_MASK_ALL_PTR:

#define CPU_MASK_ALL_PTR (&CPU_MASK_ALL)

Which formalizes this practice.  One day gcc could bite us over this
usage (though we seem to have gotten away with it so far).

[Description by Rusty Russell]
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Add proper dynamic ftrace support.
David S. Miller [Sat, 13 Jun 2009 08:03:24 +0000 (01:03 -0700)]
sparc64: Add proper dynamic ftrace support.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
12 years agosparc: Simplify code using is_power_of_2() routine.
Robert P. J. Day [Fri, 24 Apr 2009 03:58:24 +0000 (03:58 +0000)]
sparc: Simplify code using is_power_of_2() routine.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: move of_device common code to of_device_common
Robert Reif [Thu, 4 Jun 2009 09:00:02 +0000 (02:00 -0700)]
sparc: move of_device common code to of_device_common

This patch moves code common to of_device_32.c and of_device_64.c into
of_device_common.h and of_device_common.c.

The only functional difference is in sparc32 where of_bus_default_map is
used in place of of_bus_sbus_map because they are equivelent.

There is still room for further code consolidation with some minor
refactoring.

Boot tested on sparc32 and compile tested on sparc64.

Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: remove dma-mapping_{32|64}.h
FUJITA Tomonori [Thu, 14 May 2009 16:23:11 +0000 (16:23 +0000)]
sparc: remove dma-mapping_{32|64}.h

This modifies SPARC32 to use struct dma_map ops. It means that we can
remove dma-mapping_{32|64}.h.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: use dma_map_page instead of dma_map_single
FUJITA Tomonori [Thu, 14 May 2009 16:23:10 +0000 (16:23 +0000)]
sparc: use dma_map_page instead of dma_map_single

This patch converts dma_map_single and dma_unmap_single to use
map_page and unmap_page respectively and removes unnecessary
map_single and unmap_single. map_page can be used to implement
map_single but the opposite is impossible. Having only dma_map_page in
struct dma_ops is enough.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: add sync_single_for_device and sync_sg_for_device to struct dma_ops
FUJITA Tomonori [Thu, 14 May 2009 16:23:09 +0000 (16:23 +0000)]
sparc: add sync_single_for_device and sync_sg_for_device to struct dma_ops

This adds sync_single_for_device() and sync_sg_for_device() to struct
dma_ops in order to unify dma-mpping_{32|64}.h. dma-mpping_32.h needs them though dma-mpping_64.h doesn't.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: move the duplication in dma-mapping_{32|64}.h to dma-mapping.h
FUJITA Tomonori [Thu, 14 May 2009 16:23:08 +0000 (16:23 +0000)]
sparc: move the duplication in dma-mapping_{32|64}.h to dma-mapping.h

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agop9100: use standard fields for framebuffer physical address and length
Krzysztof Helt [Mon, 4 May 2009 10:42:57 +0000 (10:42 +0000)]
p9100: use standard fields for framebuffer physical address and length

Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len
for physical address and length of framebuffer.

This also fixes output of the 'fbset -i' command - address and length
of the framebuffer are displayed correctly.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoleo: use standard fields for framebuffer physical address and length
Krzysztof Helt [Mon, 4 May 2009 10:41:56 +0000 (10:41 +0000)]
leo: use standard fields for framebuffer physical address and length

Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len
for physical address and length of framebuffer.

This also fixes output of the 'fbset -i' command - address and length
of the framebuffer are displayed correctly.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocg6: use standard fields for framebuffer physical address and length
Krzysztof Helt [Mon, 4 May 2009 10:39:45 +0000 (10:39 +0000)]
cg6: use standard fields for framebuffer physical address and length

Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len
for physical address and length of framebuffer.

This also fixes output of the 'fbset -i' command - address and length
of the framebuffer are displayed correctly.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocg3: use standard fields for framebuffer physical address and length
Krzysztof Helt [Mon, 4 May 2009 10:37:46 +0000 (10:37 +0000)]
cg3: use standard fields for framebuffer physical address and length

Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len
for physical address and length of framebuffer.

This also fixes output of the 'fbset -i' command - address and length
of the framebuffer is displayed correctly.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocg14: use standard fields for framebuffer physical address and length
Krzysztof Helt [Mon, 4 May 2009 10:36:50 +0000 (10:36 +0000)]
cg14: use standard fields for framebuffer physical address and length

Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len
for physical address and length of framebuffer.

This also fixes output of the 'fbset -i' command - address and length
of the framebuffer is displayed correctly.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobw2: use standard fields for framebuffer physical address and length
Krzysztof Helt [Mon, 4 May 2009 10:35:36 +0000 (10:35 +0000)]
bw2: use standard fields for framebuffer physical address and length

Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len
for physical address and length of framebuffer.

This also fixes output of the 'fbset -i' command - address and length
of the framebuffer is displayed correctly.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: fix and optimize irq distribution
Hong H. Pham [Thu, 4 Jun 2009 09:10:11 +0000 (02:10 -0700)]
sparc64: fix and optimize irq distribution

irq_choose_cpu() should compare the affinity mask against cpu_online_map
rather than CPU_MASK_ALL, since irq_select_affinity() sets the interrupt's
affinity mask to cpu_online_map "and" CPU_MASK_ALL (which ends up being
just cpu_online_map).  The mask comparison in irq_choose_cpu() will always
fail since the two masks are not the same.  So the CPU chosen is the first CPU
in the intersection of cpu_online_map and CPU_MASK_ALL, which is always CPU0.
That means all interrupts are reassigned to CPU0...

Distributing interrupts to CPUs in a linearly increasing round robin fashion
is not optimal for the UltraSPARC T1/T2.  Also, the irq_rover in
irq_choose_cpu() causes an interrupt to be assigned to a different
processor each time the interrupt is allocated and released.  This may lead
to an unbalanced distribution over time.

A static mapping of interrupts to processors is done to optimize and balance
interrupt distribution.  For the T1/T2, interrupts are spread to different
cores first, and then to strands within a core.

The following is some benchmarks showing the effects of interrupt
distribution on a T2.  The test was done with iperf using a pair of T5220
boxes, each with a 10GBe NIU (XAUI) connected back to back.

  TCP     | Stock       Linear RR IRQ  Optimized IRQ
  Streams | 2.6.30-rc5  Distribution   Distribution
          | GBits/sec   GBits/sec      GBits/sec
  --------+-----------------------------------------
    1       0.839       0.862          0.868
    8       1.16        4.96           5.88
   16       1.15        6.40           8.04
  100       1.09        7.28           8.68

Signed-off-by: Hong H. Pham <hong.pham@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Use new dynamic per-cpu allocator.
David S. Miller [Thu, 9 Apr 2009 03:32:02 +0000 (20:32 -0700)]
sparc64: Use new dynamic per-cpu allocator.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Only allocate per-cpu areas for possible cpus.
David S. Miller [Wed, 1 Apr 2009 23:22:27 +0000 (16:22 -0700)]
sparc64: Only allocate per-cpu areas for possible cpus.

This gets us real close to the generic implementation of
setup_per_cpu_areas() except:

1) We store the per-cpu offset into the trap_block[], whereas
   the generic code has it's own static array.

2) We have to initialize the %g5 register to hold the boot cpu's
   per-cpu area offset.

3) The OBP/MDESC cpu info scan is performed at the end.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Get rid of real_setup_per_cpu_areas().
David S. Miller [Wed, 1 Apr 2009 23:15:20 +0000 (16:15 -0700)]
sparc64: Get rid of real_setup_per_cpu_areas().

Now that we defer the cpu_data() initializations to the end of per-cpu
setup, we can get rid of this local hack we had to setup the per-cpu
areas eary.

This is a necessary step in order to support HAVE_DYNAMIC_PER_CPU_AREA
since the per-cpu setup must run when page structs are available.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Defer cpu_data() setup until end of per-cpu data initialization.
David S. Miller [Wed, 27 May 2009 05:37:25 +0000 (22:37 -0700)]
sparc64: Defer cpu_data() setup until end of per-cpu data initialization.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Make mdesc_fill_in_cpu_data take a cpumask_t pointer.
David S. Miller [Wed, 1 Apr 2009 10:15:11 +0000 (03:15 -0700)]
sparc64: Make mdesc_fill_in_cpu_data take a cpumask_t pointer.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc: Call OF and MD cpu scanning explicitly from paging_init()
David S. Miller [Wed, 1 Apr 2009 10:13:15 +0000 (03:13 -0700)]
sparc: Call OF and MD cpu scanning explicitly from paging_init()

We need to split up the cpu present mask setup from the cpu_data
initialization, and this is a first step towards that.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Refactor MDESC cpu scanning code using an iterator.
David S. Miller [Thu, 9 Apr 2009 02:55:47 +0000 (19:55 -0700)]
sparc64: Refactor MDESC cpu scanning code using an iterator.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Refactor OBP cpu scanning code using an iterator.
David S. Miller [Wed, 27 May 2009 04:46:14 +0000 (21:46 -0700)]
sparc64: Refactor OBP cpu scanning code using an iterator.

With feedback from Sam Ravnborg.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Use BUILD_BUG_ON() in trap_init().
David S. Miller [Wed, 1 Apr 2009 08:57:36 +0000 (01:57 -0700)]
sparc64: Use BUILD_BUG_ON() in trap_init().

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Store per-cpu offset in trap_block[]
David S. Miller [Wed, 1 Apr 2009 08:47:10 +0000 (01:47 -0700)]
sparc64: Store per-cpu offset in trap_block[]

Surprisingly this actually makes LOAD_PER_CPU_BASE() a little
more efficient.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Move trap_block[] definitions into a new header file.
David S. Miller [Wed, 1 Apr 2009 08:26:43 +0000 (01:26 -0700)]
sparc64: Move trap_block[] definitions into a new header file.

Later we're going to want to get at these definitions from
asm/percpu.h and that's not possible via cpudata.h because
of the set of dependencies the non-trap_block[] stuff has.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosparc64: Reclaim trap_block[]->hdesc
David S. Miller [Wed, 1 Apr 2009 00:15:40 +0000 (17:15 -0700)]
sparc64: Reclaim trap_block[]->hdesc

This really isn't necessary at all, a local variable suits the
job just fine.

This frees up 8 bytes in the trap_block[] that we can use later
to store the per-cpu base addresses.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoblock: remove some includings of blktrace_api.h
Li Zefan [Tue, 16 Jun 2009 09:19:36 +0000 (11:19 +0200)]
block: remove some includings of blktrace_api.h

When porting blktrace to tracepoints, we changed to trace/block.h
for trace prober declarations.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
12 years ago[S390] s390: hibernation support for s390
Hans-Joachim Picht [Tue, 16 Jun 2009 08:30:52 +0000 (10:30 +0200)]
[S390] s390: hibernation support for s390

This patch introduces the hibernation backend support to the
s390 architecture. Now it is possible to suspend a mainframe Linux
guest using the following command:

echo disk > /sys/power/state

Signed-off-by: Hans-Joachim Picht <hans@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: dcssblk power management callbacks.
Gerald Schaefer [Tue, 16 Jun 2009 08:30:51 +0000 (10:30 +0200)]
[S390] pm: dcssblk power management callbacks.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: monreader power management callbacks.
Gerald Schaefer [Tue, 16 Jun 2009 08:30:50 +0000 (10:30 +0200)]
[S390] pm: monreader power management callbacks.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: monwriter power management callbacks.
Gerald Schaefer [Tue, 16 Jun 2009 08:30:49 +0000 (10:30 +0200)]
[S390] pm: monwriter power management callbacks.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: memory hotplug power management callbacks
Gerald Schaefer [Tue, 16 Jun 2009 08:30:48 +0000 (10:30 +0200)]
[S390] pm: memory hotplug power management callbacks

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: con3270 power management callbacks.
Martin Schwidefsky [Tue, 16 Jun 2009 08:30:47 +0000 (10:30 +0200)]
[S390] pm: con3270 power management callbacks.

Introduce the power management callbacks to the 3270 driver. On suspend
the current 3270 view is deactivated and for non-console 3270 device
the release callback is done. This disconnects the current tty /
fullscreen application from the 3270 device. On resume the current
view is reactivated, on the tty you get a fresh login.
If the system panics before the 3270 device has been resumed, the ccw
device for the 3270 console is reactivated with ccw_device_force_console.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: smsgiucv power management callbacks.
Martin Schwidefsky [Tue, 16 Jun 2009 08:30:46 +0000 (10:30 +0200)]
[S390] pm: smsgiucv power management callbacks.

Create dummy iucv-device to get control when the system is suspended
and resumed. Server the smsg iucv path on suspend, reestablish the
path on resume.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: hvc_iucv power management callbacks
Hendrik Brueckner [Tue, 16 Jun 2009 08:30:45 +0000 (10:30 +0200)]
[S390] pm: hvc_iucv power management callbacks

The patch adds supporting for suspending and resuming IUCV HVC terminal
devices from disk. The obligatory Linux device driver interfaces has
been added by registering a device driver on the IUCV bus.
For each IUCV HVC terminal device the driver creates a respective device
on the IUCV bus.

To support suspend and resume, the PM freeze callback severs any established
IUCV communication path and triggers a HVC tty hang-up when the system image
is restored.
IUCV communication path are no longer valid when the z/VM guest is halted.

The device driver initialization has been updated to register devices and
the a new routine has been extracted to facilitate the hang-up of IUCV HVC
terminal devices.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] PM: af_iucv power management callbacks.
Ursula Braun [Tue, 16 Jun 2009 08:30:44 +0000 (10:30 +0200)]
[S390] PM: af_iucv power management callbacks.

Patch establishes a dummy afiucv-device to make sure af_iucv is
notified as iucv-bus device about suspend/resume.

The PM freeze callback severs all iucv pathes of connected af_iucv sockets.
The PM thaw/restore callback switches the state of all previously connected
sockets to IUCV_DISCONN.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: netiucv power management callbacks.
Ursula Braun [Tue, 16 Jun 2009 08:30:43 +0000 (10:30 +0200)]
[S390] pm: netiucv power management callbacks.

Patch establishes a dummy netiucv device to make sure iucv is notified
about suspend/resume even if netiucv is the only loaded iucv-exploting
module without any real net_device defined.

The PM freeze callback closes all open netiucv connections. Thus the
corresponding iucv path is removed.
The PM thaw/restore callback re-opens previously closed netiucv
connections.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: iucv power management callbacks.
Ursula Braun [Tue, 16 Jun 2009 08:30:42 +0000 (10:30 +0200)]
[S390] pm: iucv power management callbacks.

Patch calls the PM callback functions of iucv-bus devices, which are
responsible for removal of their established iucv pathes.

The PM freeze callback for the first iucv-bus device disables all iucv
interrupts except the connection severed interrupt.
The PM freeze callback for the last iucv-bus device shuts down iucv.

The PM thaw callback for the first iucv-bus device re-enables iucv
if it has been shut down during freeze. If freezing has been interrupted,
it re-enables iucv interrupts according to the needs of iucv-exploiters.

The PM restore callback for the first iucv-bus device re-enables iucv.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] iucv: establish reboot notifier
Ursula Braun [Tue, 16 Jun 2009 08:30:41 +0000 (10:30 +0200)]
[S390] iucv: establish reboot notifier

To guarantee a proper cleanup, patch adds a reboot notifier to
the iucv base code, which disables iucv interrupts, shuts down
established iucv pathes, and removes iucv declarations for z/VM.

Checks have to be added to the iucv-API functions, whether
iucv-buffers removed at reboot time are still declared.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: power management support for SCLP drivers.
Michael Holzheu [Tue, 16 Jun 2009 08:30:40 +0000 (10:30 +0200)]
[S390] pm: power management support for SCLP drivers.

The SCLP base driver defines a new notifier call back for all upper level SCLP
drivers, like the SCLP console, etc. This guarantees that in suspend first the
upper level drivers are suspended and afterwards the SCLP base driver. For
resume it is the other way round. The SCLP base driver itself registers a
new platform device at the platform bus and gets PM notifications via
the dev_pm_ops.

In suspend, the SCLP base driver switches off the receiver and sender mask
This is done in sclp_deactivate(). After suspend all new requests will be
rejected with -EIO and no more interrupts will be received, because the masks
are switched off. For resume the sender and receiver masks are reset in
the sclp_reactivate() function.

When the SCLP console is suspended, all new messages are cached in the
sclp console buffers. In resume, all the cached messages are written to the
console. In addition to that we have an early resume function that removes
the cached messages from the suspend image.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: tape power management callbacks
Frank Munzert [Tue, 16 Jun 2009 08:30:39 +0000 (10:30 +0200)]
[S390] pm: tape power management callbacks

Signed-off-by: Frank Munzert <munzert@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: vmlogrdr power management callbacks
Stefan Weinhuber [Tue, 16 Jun 2009 08:30:38 +0000 (10:30 +0200)]
[S390] pm: vmlogrdr power management callbacks

Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: vmur driver power management callbacks
Frank Munzert [Tue, 16 Jun 2009 08:30:37 +0000 (10:30 +0200)]
[S390] pm: vmur driver power management callbacks

Signed-off-by: Frank Munzert <munzert@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: appldata power management callbacks
Gerald Schaefer [Tue, 16 Jun 2009 08:30:36 +0000 (10:30 +0200)]
[S390] pm: appldata power management callbacks

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: vmwatchdog power management callbacks.
Christian Borntraeger [Tue, 16 Jun 2009 08:30:35 +0000 (10:30 +0200)]
[S390] pm: vmwatchdog power management callbacks.

This patch implements suspend/hibernation for the vmwatchdog driver. The
pm_notifier_callchain is used to get control on PM events. Since watchdog
operation and suspend cannot work together in a reliable fashion, the open
flag is also used to prevent suspend and open from happening at the same
time.
The watchdog can also be active with no open file descriptor. This patch
adds another flag which is only changed in vmwdt_keep_alive and
vmwdt_disable.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: zfcp driver power management callbacks
Martin Petermann [Tue, 16 Jun 2009 08:30:34 +0000 (10:30 +0200)]
[S390] pm: zfcp driver power management callbacks

Signed-off-by: Martin Petermann <martin.petermann@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: claw driver power management callbacks
Frank Blaschka [Tue, 16 Jun 2009 08:30:33 +0000 (10:30 +0200)]
[S390] pm: claw driver power management callbacks

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: ctcm driver power management callbacks
Frank Blaschka [Tue, 16 Jun 2009 08:30:32 +0000 (10:30 +0200)]
[S390] pm: ctcm driver power management callbacks

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: qeth driver power management callbacks
Frank Blaschka [Tue, 16 Jun 2009 08:30:31 +0000 (10:30 +0200)]
[S390] pm: qeth driver power management callbacks

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: lcs driver power management callbacks
Klaus-Dieter Wacket [Tue, 16 Jun 2009 08:30:30 +0000 (10:30 +0200)]
[S390] pm: lcs driver power management callbacks

Signed-off-by: Klaus-Dieter Wacker <kdwacker@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: con3215 power management callbacks
Martin Schwidefsky [Tue, 16 Jun 2009 08:30:29 +0000 (10:30 +0200)]
[S390] pm: con3215 power management callbacks

Introduce the power management callbacks to the 3215 console. On suspend
the console buffer is flushed to the 3215 device to have an empty console
buffer. Printks done while the 3215 device is suspended are buffered in
the 64K buffer of the 3215 device. If the buffer is full new messages will
push out the oldest messages to make room for the most recent message.
On resume the buffered messages are printed. If the system panics before
the 3215 device is resumed ccw_device_force_console is used to get the
console working again.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] cio: force console function
Martin Schwidefsky [Tue, 16 Jun 2009 08:30:28 +0000 (10:30 +0200)]
[S390] cio: force console function

If something goes wrong in a suspend / resume cycle a ccw based console
if very likely in the suspended state and cannot print anything.
Introduce ccw_device_force_console to force the wake up of the console
device to be able to print the oops message. The console device drivers
should use this function only if the system paniced.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: xpram driver power management callbacks
Michael Holzheu [Tue, 16 Jun 2009 08:30:27 +0000 (10:30 +0200)]
[S390] pm: xpram driver power management callbacks

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: add kernel_page_present
Hans-Joachim Picht [Tue, 16 Jun 2009 08:30:26 +0000 (10:30 +0200)]
[S390] pm: add kernel_page_present

Fix the following build failure caused by make allyesconfig using
CONFIG_HIBERNATION and CONFIG_DEBUG_PAGEALLOC

kernel/built-in.o: In function `saveable_page':
kernel/power/snapshot.c:897: undefined reference to `kernel_page_present'
kernel/built-in.o: In function `safe_copy_page':
kernel/power/snapshot.c:948: undefined reference to `kernel_page_present'
make: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Hans-Joachim Picht <hans@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: dasd power management callbacks.
Stefan Haberland [Tue, 16 Jun 2009 08:30:25 +0000 (10:30 +0200)]
[S390] pm: dasd power management callbacks.

Introduce the power management callbacks to the dasd driver. On suspend
the dasd devices are stopped and removed from the focus of alias
management.
On resume they are reinitialized by rereading the device characteristics
and adding the device to the alias management.
In case the device has gone away during suspend it will caught in the
suspend state with stopped flag set to UNRESUMED. After it appears again
the restore function is called again.

Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: chsc subchannel driver power management callbacks
Cornelia Huck [Tue, 16 Jun 2009 08:30:24 +0000 (10:30 +0200)]
[S390] pm: chsc subchannel driver power management callbacks

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: io subchannel driver power management callbacks
Cornelia Huck [Tue, 16 Jun 2009 08:30:23 +0000 (10:30 +0200)]
[S390] pm: io subchannel driver power management callbacks

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
12 years ago[S390] pm: css bus power management callbacks
Sebastian Ott [Tue, 16 Jun 2009 08:30:22 +0000 (10:30 +0200)]
[S390] pm: css bus power management callbacks

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>