]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoconfigfs: Make configfs_new_dirent() return error code instead of NULL
Louis Rilling [Mon, 16 Jun 2008 17:01:00 +0000 (19:01 +0200)]
configfs: Make configfs_new_dirent() return error code instead of NULL

This patch makes configfs_new_dirent return negative error code instead of NULL,
which will be useful in the next patch to differentiate ENOMEM from ENOENT.

Signed-off-by: Louis Rilling <Louis.Rilling@kerlabs.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
17 years agoconfigfs: Protect configfs_dirent s_links list mutations
Louis Rilling [Mon, 16 Jun 2008 17:00:59 +0000 (19:00 +0200)]
configfs: Protect configfs_dirent s_links list mutations

Symlinks to a config_item are listed under its configfs_dirent s_links, but the
list mutations are not protected by any common lock.

This patch uses the configfs_dirent_lock spinlock to add the necessary
protection.

Note: we should also protect the list_empty() test in configfs_detach_prep() but
1/ the lock should not be released immediately because nothing would prevent the
list from being filled after a successful list_empty() test, making the problem
tricky,
2/ this will be solved by the rmdir() vs rename() deadlock bugfix.

Signed-off-by: Louis Rilling <Louis.Rilling@kerlabs.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
17 years agoconfigfs: Introduce configfs_dirent_lock
Louis Rilling [Mon, 16 Jun 2008 17:00:58 +0000 (19:00 +0200)]
configfs: Introduce configfs_dirent_lock

This patch introduces configfs_dirent_lock spinlock to protect configfs_dirent
traversals against linkage mutations (add/del/move). This will allow
configfs_detach_prep() to avoid locking i_mutexes.

Locking rules for configfs_dirent linkage mutations are the same plus the
requirement of taking configfs_dirent_lock. For configfs_dirent walking, one can
either take appropriate i_mutex as before, or take configfs_dirent_lock.

The spinlock could actually be a mutex, but the critical sections are either
O(1) or should not be too long (default groups walking in last patch).

ChangeLog:
  - Clarify the comment on configfs_dirent_lock usage
  - Move sd->s_element init before linking the new dirent
  - In lseek(), do not release configfs_dirent_lock before the dirent is
    relinked.

Signed-off-by: Louis Rilling <Louis.Rilling@kerlabs.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
17 years agoocfs2: Don't snprintf() without a format.
Joel Becker [Fri, 13 Jun 2008 05:39:18 +0000 (22:39 -0700)]
ocfs2: Don't snprintf() without a format.

Some system files are per-slot.  Their names include the slot number.
ocfs2_sprintf_system_inode_name() uses the system inode definitions to
fill in the slot number with snprintf().

For global system files, there is no node number, and the name was
printed as a format with no arguments.  -Wformat-nonliteral and
-Wformat-security don't like this.  Instead, use a static "%s" format
and the name as the argument.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
17 years agoocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs
Joel Becker [Fri, 13 Jun 2008 05:35:39 +0000 (22:35 -0700)]
ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs

A couple places use OCFS2_DEBUG_FS where they really mean
CONFIG_OCFS2_DEBUG_FS.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
17 years agoocfs2/net: Silence build warnings on sparc64
Sunil Mushran [Mon, 19 May 2008 23:23:37 +0000 (16:23 -0700)]
ocfs2/net: Silence build warnings on sparc64

suseconds_t is type long on most arches except sparc64 where it is type int.
This patch silences the following warnings that are generated when building
on it.

netdebug.c: In function 'nst_seq_show':
netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 13 has type 'suseconds_t'
netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 15 has type 'suseconds_t'
netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 17 has type 'suseconds_t'
netdebug.c: In function 'sc_seq_show':
netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 19 has type 'suseconds_t'
netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 21 has type 'suseconds_t'
netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 23 has type 'suseconds_t'
netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 25 has type 'suseconds_t'
netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 27 has type 'suseconds_t'
netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 29 has type 'suseconds_t'

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
17 years agoocfs2: Handle error during journal load
Wengang Wang [Tue, 10 Jun 2008 06:24:48 +0000 (14:24 +0800)]
ocfs2: Handle error during journal load

This patch ensures the mount fails if the fs is unable to load the journal.

Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Acked-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
17 years agoocfs2: Silence an error message in ocfs2_file_aio_read()
Sunil Mushran [Mon, 9 Jun 2008 18:24:41 +0000 (11:24 -0700)]
ocfs2: Silence an error message in ocfs2_file_aio_read()

This patch silences an EINVAL error message in ocfs2_file_aio_read()
that is always due to a user error.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
17 years agoocfs2: use simple_read_from_buffer()
Akinobu Mita [Mon, 9 Jun 2008 23:34:23 +0000 (16:34 -0700)]
ocfs2: use simple_read_from_buffer()

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
17 years agoocfs2: fix printk format warnings with OCFS2_FS_STATS=n
Randy Dunlap [Wed, 28 May 2008 21:41:00 +0000 (14:41 -0700)]
ocfs2: fix printk format warnings with OCFS2_FS_STATS=n

Fix printk format warnings when OCFS2_FS_STATS=n:

linux-next-20080528/fs/ocfs2/dlmglue.c: In function 'ocfs2_dlm_seq_show':
linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'int'
linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type 'int'
linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 7 has type 'int'
linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 8 has type 'int'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
17 years ago[PATCH 2/2] ocfs2: Instrument fs cluster locks
Sunil Mushran [Tue, 13 May 2008 20:45:15 +0000 (13:45 -0700)]
[PATCH 2/2] ocfs2: Instrument fs cluster locks

This patch adds code to track the number of times the fs takes
various cluster locks as well as the times associated with it.
The information is made available to users via debugfs.

This patch was originally written by Jan Kara <jack@suse.cz>.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
17 years ago[PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option
Sunil Mushran [Tue, 13 May 2008 20:45:14 +0000 (13:45 -0700)]
[PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option

This patch adds config option CONFIG_OCFS2_FS_STATS to allow building
the fs with instrumentation enabled. An upcoming patch will provide
support to instrument cluster locking, which is a crucial overhead in
a cluster file system. This config option allows users to avoid the cpu
and memory overhead that is involved in gathering such statistics.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
17 years agoMerge branch 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
Linus Torvalds [Mon, 14 Jul 2008 20:54:49 +0000 (13:54 -0700)]
Merge branch 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits)
  sched_clock: and multiplier for TSC to gtod drift
  sched_clock: record TSC after gtod
  sched_clock: only update deltas with local reads.
  sched_clock: fix calculation of other CPU
  sched_clock: stop maximum check on NO HZ
  sched_clock: widen the max and min time
  sched_clock: record from last tick
  sched: fix accounting in task delay accounting & migration
  sched: add avg-overlap support to RT tasks
  sched: terminate newidle balancing once at least one task has moved over
  sched: fix warning
  sched: build fix
  sched: sched_clock_cpu() based cpu_clock(), lockdep fix
  sched: export cpu_clock
  sched: make sched_{rt,fair}.c ifdefs more readable
  sched: bias effective_load() error towards failing wake_affine().
  sched: incremental effective_load()
  sched: correct wakeup weight calculations
  sched: fix mult overflow
  sched: update shares on wakeup
  ...

17 years agoMerge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
Linus Torvalds [Mon, 14 Jul 2008 20:43:24 +0000 (13:43 -0700)]
Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (821 commits)
  x86: make 64bit hpet_set_mapping to use ioremap too, v2
  x86: get x86_phys_bits early
  x86: max_low_pfn_mapped fix #4
  x86: change _node_to_cpumask_ptr to return const ptr
  x86: I/O APIC: remove an IRQ2-mask hack
  x86: fix numaq_tsc_disable calling
  x86, e820: remove end_user_pfn
  x86: max_low_pfn_mapped fix, #3
  x86: max_low_pfn_mapped fix, #2
  x86: max_low_pfn_mapped fix, #1
  x86_64: fix delayed signals
  x86: remove conflicting nx6325 and nx6125 quirks
  x86: Recover timer_ack lost in the merge of the NMI watchdog
  x86: I/O APIC: Never configure IRQ2
  x86: L-APIC: Always fully configure IRQ0
  x86: L-APIC: Set IRQ0 as edge-triggered
  x86: merge dwarf2 headers
  x86: use AS_CFI instead of UNWIND_INFO
  x86: use ignore macro instead of hash comment
  x86: use matching CFI_ENDPROC
  ...

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Mon, 14 Jul 2008 20:40:42 +0000 (13:40 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (50 commits)
  crypto: ixp4xx - Select CRYPTO_AUTHENC
  crypto: s390 - Respect STFL bit
  crypto: talitos - Add support for sha256 and md5 variants
  crypto: hash - Move ahash functions into crypto/hash.h
  crypto: crc32c - Add ahash implementation
  crypto: hash - Added scatter list walking helper
  crypto: prng - Deterministic CPRNG
  crypto: hash - Removed vestigial ahash fields
  crypto: hash - Fixed digest size check
  crypto: rmd - sparse annotations
  crypto: rmd128 - sparse annotations
  crypto: camellia - Use kernel-provided bitops, unaligned access helpers
  crypto: talitos - Use proper form for algorithm driver names
  crypto: talitos - Add support for 3des
  crypto: padlock - Make module loading quieter when hardware isn't available
  crypto: tcrpyt - Remove unnecessary kmap/kunmap calls
  crypto: ixp4xx - Hardware crypto support for IXP4xx CPUs
  crypto: talitos - Freescale integrated security engine (SEC) driver
  [CRYPTO] tcrypt: Add self test for des3_ebe cipher operating in cbc mode
  [CRYPTO] rmd: Use pointer form of endian swapping operations
  ...

17 years agoi2c: Add detection capability to new-style drivers
Jean Delvare [Mon, 14 Jul 2008 20:38:36 +0000 (22:38 +0200)]
i2c: Add detection capability to new-style drivers

Add a mechanism to let new-style i2c drivers optionally autodetect
devices they would support on selected buses and ask i2c-core to
instantiate them. This is a replacement for legacy i2c drivers, much
cleaner.

Where drivers had to implement both a legacy i2c_driver and a
new-style i2c_driver so far, this mechanism makes it possible to get
rid of the legacy i2c_driver and implement both enumerated and
detected device support with just one (new-style) i2c_driver.

Here is a quick conversion guide for these drivers, step by step:

* Delete the legacy driver definition, registration and removal.
  Delete the attach_adapter and detach_client methods of the legacy
  driver.

* Change the prototype of the legacy detect function from
    static int foo_detect(struct i2c_adapter *adapter, int address, int kind);
  to
    static int foo_detect(struct i2c_client *client, int kind,
       struct i2c_board_info *info);

* Set the new-style driver detect callback to this new function, and
  set its address_data to &addr_data (addr_data is generally provided
  by I2C_CLIENT_INSMOD.)

* Add the appropriate class to the new-style driver. This is
  typically the class the legacy attach_adapter method was checking
  for. Class checking is now mandatory (done by i2c-core.) See
  <linux/i2c.h> for the list of available classes.

* Remove the i2c_client allocation and freeing from the detect
  function. A pre-allocated client is now handed to you by i2c-core,
  and is freed automatically.

* Make the detect function fill the type field of the i2c_board_info
  structure it was passed as a parameter, and return 0, on success. If
  the detection fails, return -ENODEV.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Call client_unregister for new-style devices too
Jean Delvare [Mon, 14 Jul 2008 20:38:36 +0000 (22:38 +0200)]
i2c: Call client_unregister for new-style devices too

We call adapter->client_register for both legacy and new-style i2c
devices, however we only call adapter->client_unregister for legacy
drivers. This doesn't make much sense. Usually, drivers will undo
in client_unregister what they did in client_register, so we should
call neither or both for every given i2c device.

In order to ease the transition from legacy to new-style devices, it
seems preferable to actually call both.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Brownell <david-b@pacbell.net>
17 years agoi2c: Clean up old chip drivers
Jean Delvare [Mon, 14 Jul 2008 20:38:36 +0000 (22:38 +0200)]
i2c: Clean up old chip drivers

Clean up old i2c chip drivers:
* Name the i2c_client "client" instead of "new_client".
* Drop useless initializations to 0.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-ibm_iic: Register child nodes
Sean MacLennan [Mon, 14 Jul 2008 20:38:36 +0000 (22:38 +0200)]
i2c-ibm_iic: Register child nodes

This patch completes the conversion of the IBM IIC driver to an
of-platform driver.

It removes the index from the IBM IIC driver and makes it an unnumbered
driver. It then calls of_register_i2c_devices to properly register all
the child nodes in the DTS.

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: New-style EEPROM driver using device IDs
Wolfram Sang [Mon, 14 Jul 2008 20:38:35 +0000 (22:38 +0200)]
i2c: New-style EEPROM driver using device IDs

Add a new-style driver for most I2C EEPROMs, giving sysfs read/write
access to their data. Tested with various chips and clock rates.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Export the i2c_bus_type symbol
Jon Smirl [Mon, 14 Jul 2008 20:38:35 +0000 (22:38 +0200)]
i2c: Export the i2c_bus_type symbol

Export the root of the i2c bus so that PowerPC device tree code can
iterate over devices on the i2c bus.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-au1550: Fix PM support
Manuel Lauss [Mon, 14 Jul 2008 20:38:34 +0000 (22:38 +0200)]
i2c-au1550: Fix PM support

Fix driver power management:
- suspend the PSC while driver is idle.
- move PSC init/deinit to separate functions, as PSC must be
  initialized/shutdown on resume/suspend.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-dev: Delete empty detach_client callback
Jean Delvare [Mon, 14 Jul 2008 20:38:34 +0000 (22:38 +0200)]
i2c-dev: Delete empty detach_client callback

Implementing detach_client is optional, so there is no point in
an empty implementation.

Likewise, i2c driver IDs are optional, and we don't need one.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Drop stray references to lm_sensors
Jean Delvare [Mon, 14 Jul 2008 20:38:34 +0000 (22:38 +0200)]
i2c: Drop stray references to lm_sensors

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Check for ACPI resource conflicts
Jean Delvare [Mon, 14 Jul 2008 20:38:33 +0000 (22:38 +0200)]
i2c: Check for ACPI resource conflicts

Check for ACPI resource conflicts in i2c bus drivers. I've included
all recent SMBus master drivers for PC hardware.

I've voluntarily left out:
* Drivers that don't run on PCs: they can't conflict with ACPI.
* Bit-banged bus device drivers: it's very unlikely that ACPI would
  deal with such buses.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
17 years agoi2c-ocores: basic PM support
Manuel Lauss [Mon, 14 Jul 2008 20:38:33 +0000 (22:38 +0200)]
i2c-ocores: basic PM support

Basic PM support: reinit the core on resume, disable it on suspend.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-sibyte: SWARM I2C board initialization
Maciej W. Rozycki [Mon, 14 Jul 2008 20:38:33 +0000 (22:38 +0200)]
i2c-sibyte: SWARM I2C board initialization

 The standard rtc-m41t80.c driver cannot be used with the SWARM as it is,
because the board does not provide setup information for the I2C core.
As a result the bus and the address to probe for the M41T80 chip is not
known.

 Here is a set of changes that fix the problem:

1. swarm-i2c.c -- SWARM I2C board setup, currently for the M41T80 chip on
   the bus #1 only (there is a MAX6654 temperature sensor on the bus #0
   which may be added in the future if we have a driver for that chip).

2. The i2c-sibyte.c BCM1250A SMBus controller driver now registers its
   buses as numbered so that board setup is correctly applied.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-i801: Fix handling of error conditions
Jean Delvare [Mon, 14 Jul 2008 20:38:33 +0000 (22:38 +0200)]
i2c-i801: Fix handling of error conditions

Move the check of pre-transaction and post-transaction conditions to
separate functions, and adjust them a bit. Having dedicated functions
for that ensures that errors are handled in a consistent way.

Bit HOST_BUSY of the status register is read-only, so writing to it is
certainly not going to clear it. If this bit is set then we simply
don't want to start the transaction, as it means that somebody else
(ACPI, SMM?) is already using the controller.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-i801: Rename local variable temp to status
Jean Delvare [Mon, 14 Jul 2008 20:38:32 +0000 (22:38 +0200)]
i2c-i801: Rename local variable temp to status

"temp" isn't a terribly well chosen name for a local variable.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-i801: Properly report bus arbitration loss
Jean Delvare [Mon, 14 Jul 2008 20:38:32 +0000 (22:38 +0200)]
i2c-i801: Properly report bus arbitration loss

Bit BUS_ERR of the status register means that the ICH host controller
lost the arbitration. Report this event as such.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-i801: Remove verbose debugging messages
Jean Delvare [Mon, 14 Jul 2008 20:38:32 +0000 (22:38 +0200)]
i2c-i801: Remove verbose debugging messages

Dumping the register values before and after every transaction was
useful during driver development but now it's only spamming the log.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-algo-pcf: Drop unused struct members
Jean Delvare [Mon, 14 Jul 2008 20:38:31 +0000 (22:38 +0200)]
i2c-algo-pcf: Drop unused struct members

Struct members udelay and timeout aren't used anywhere, so drop them.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Eric Brower <ebrower@gmail.com>
17 years agoi2c-algo-pcf: Multi-master lost-arbitration improvement
Eric Brower [Mon, 14 Jul 2008 20:38:31 +0000 (22:38 +0200)]
i2c-algo-pcf: Multi-master lost-arbitration improvement

Improve lost-arbitration handling of PCF8584.  This is necessary for
support of a currently out-of-kernel driver for Sun Microsystems E250
environmental management; perhaps others.

Signed-off-by: Eric Brower <ebrower@gmail.com>
Acked-by: Dan Smolik <marvin@mydatex.cz>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Deprecate the legacy gpio drivers
David Brownell [Mon, 14 Jul 2008 20:38:31 +0000 (22:38 +0200)]
i2c: Deprecate the legacy gpio drivers

The legacy pcf8574 and pcf8575 drivers should be avoided
on systems using the new gpiolib code, and generally deprecated
in the same way the legacy pca9539 driver is deprecated.

Also, correct the pca9539 deprecation to match the current name
of the preferred driver:  pca953x, supporting several more chips.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-pxa: Initialize early
Uli Luckas [Mon, 14 Jul 2008 20:38:30 +0000 (22:38 +0200)]
i2c-pxa: Initialize early

Initialize the pxa i2c bus during subsystem initialization to make it
available during driver initialization (e.g. display powerup for pxafb).

Signed-off-by: Uli Luckas <u.luckas@road.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-ibm_iic: Enable driver for all PPC4xx variants in arch/powerpc
Stefan Roese [Mon, 14 Jul 2008 20:38:30 +0000 (22:38 +0200)]
i2c-ibm_iic: Enable driver for all PPC4xx variants in arch/powerpc

Enable the IBM I2C driver for all PPC4xx variants by adding
"ibm,iic" to the compatible list. This way all currently available
arch/powerpc 4xx ports can make use of this driver without any changes.
Additionally all "other" compatible entries are removed since they are
not needed anymore.

Currently all 4xx PPC's have the same compatible I2C macro. If at some
time an incompatibility is detected we can take care of this with an
additional property.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-ibm_iic: Remove deprecated OCP style part
Stefan Roese [Mon, 14 Jul 2008 20:38:30 +0000 (22:38 +0200)]
i2c-ibm_iic: Remove deprecated OCP style part

The deprecated OCP style driver part is used by the "old" arch/ppc
platform. This platform is scheduled for removal in June/July this year.
This patch now removes the OCP driver part from the IBM I2C driver.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Simplify i2c_device_probe
Jean Delvare [Mon, 14 Jul 2008 20:38:30 +0000 (22:38 +0200)]
i2c: Simplify i2c_device_probe

i2c_driver.id_table is mandatory now, so we can simplify
i2c_device_probe() a bit.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c/eeprom: Fall back to SMBus read word transactions
Jean Delvare [Mon, 14 Jul 2008 20:38:29 +0000 (22:38 +0200)]
i2c/eeprom: Fall back to SMBus read word transactions

When I2C block reads are not supported by the underlying adapter, use
SMBus read word transactions instead of consecutive byte reads.
Reasons for this change are:

* The consecutive byte read approach is not safe on multi-master buses.

* While consecutive byte reads have less overhead if you only count the
  bytes on the bus, it takes more than twice as many transactions as
  with SMBus read word transactions, and each transaction has a cost:
  taking and releasing the adapter mutex, and for polling drivers,
  waiting for the transaction to complete.

This change yields a significant performance boost at HZ=250 with
EEPROMs on an Intel 82801 bus (basically twice as fast.)

SMBus read word transactions are widely supported so I don't expect
compatibility issues.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c/eeprom: Only probe buses with DDC or SPD class
Jean Delvare [Mon, 14 Jul 2008 20:38:29 +0000 (22:38 +0200)]
i2c/eeprom: Only probe buses with DDC or SPD class

The eeprom driver shouldn't probe i2c buses which don't want to be
probed.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Let bus drivers add SPD to their class
Jean Delvare [Mon, 14 Jul 2008 20:38:29 +0000 (22:38 +0200)]
i2c: Let bus drivers add SPD to their class

Let general purpose I2C/SMBus bus drivers add SPD to their class. Once
this is done, we will be able to tell the eeprom driver to only probe
for SPD EEPROMs and similar on these buses.

Note that I took a conservative approach here, adding I2C_CLASS_SPD to
many drivers that have no idea whether they can host SPD EEPROMs or not.
This is to make sure that the eeprom driver doesn't stop probing buses
where SPD EEPROMs or equivalent live.

So, bus driver maintainers and users should feel free to remove the SPD
class from drivers those buses never have SPD EEPROMs or they don't
want the eeprom driver to bind to them. Likewise, feel free to add the
SPD class to any bus driver I might have missed.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Let framebuffer drivers set their I2C bus class to DDC
Jean Delvare [Mon, 14 Jul 2008 20:38:28 +0000 (22:38 +0200)]
i2c: Let framebuffer drivers set their I2C bus class to DDC

Let framebuffer drivers set their I2C bus class to DDC. Once this is
done, we will be able to tell the eeprom driver to only probe for
EDID EEPROMs on these buses.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Add MAINTAINER entry for i2c-cpm
Jochen Friedrich [Mon, 14 Jul 2008 20:38:28 +0000 (22:38 +0200)]
i2c: Add MAINTAINER entry for i2c-cpm

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-cpm: Bugfixes
Wolfram Sang [Mon, 14 Jul 2008 20:38:28 +0000 (22:38 +0200)]
i2c-cpm: Bugfixes

Bugfixes to the i2c-cpm driver

- enable correct interrupts (I2CER_TXE instead of I2CER_BUSY)
- replace forgotten iic with i2c
- prefix debug-output on init with 0x and add frequency

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Add support for I2C bus on Freescale CPM1/CPM2 controllers
Jochen Friedrich [Mon, 14 Jul 2008 20:38:27 +0000 (22:38 +0200)]
i2c: Add support for I2C bus on Freescale CPM1/CPM2 controllers

This driver uses the port of 2.4 code from Vitaly Bordug
<vitb@kernel.crashing.org> and the actual algorithm used by the i2c
driver of the DBox code on cvs.tuxboc.org from Felix Domke
(tmbinc@gmx.net) and Gillem (htoa@gmx.net) converted to an
of_platform_driver. Tested on CPM1 (MPC823 on dbox2 hardware) and
CPM2 (MPC8272).

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Push ioctl BKL down into the i2c code
Alan Cox [Mon, 14 Jul 2008 20:38:27 +0000 (22:38 +0200)]
i2c: Push ioctl BKL down into the i2c code

This is part of the effort to get rid of the BKL.

[JD: In fact i2c-dev doesn't need more locking than is already done
for the other i2c drivers, so we can simply switch to unlocked_ioctl.]

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Add Intel SCH SMBus support
Alek Du [Mon, 14 Jul 2008 20:38:27 +0000 (22:38 +0200)]
i2c: Add Intel SCH SMBus support

New i2c bus driver for the Intel SCH chipsets (AF82US15W, AF82US15L,
AF82UL11L).

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Simplify i2c_del_driver()
Jean Delvare [Mon, 14 Jul 2008 20:38:26 +0000 (22:38 +0200)]
i2c: Simplify i2c_del_driver()

i2c_del_driver() can be simplified a bit.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Use list_for_each_entry_safe
Matthias Kaehlcke [Mon, 14 Jul 2008 20:38:26 +0000 (22:38 +0200)]
i2c: Use list_for_each_entry_safe

Use list_for_each_entry_safe() in i2c_del_adapter() and i2c_del_driver().

Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-pca-platform: Fix error code
Wolfram Sang [Mon, 14 Jul 2008 20:38:26 +0000 (22:38 +0200)]
i2c-pca-platform: Fix error code

Fix errorcode to be more descriptive when ioremap fails.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-pca-algo: Fix error code
Wolfram Sang [Mon, 14 Jul 2008 20:38:26 +0000 (22:38 +0200)]
i2c-pca-algo: Fix error code

Give a more concrete error code, when the bus is not idle.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Consistently reject unsupported transactions
Jean Delvare [Mon, 14 Jul 2008 20:38:25 +0000 (22:38 +0200)]
i2c: Consistently reject unsupported transactions

Many PC SMBus host controller drivers don't properly handle the case
where they are requested to achieve a transaction they do not support.
Update them so that the consistently print a warning message and
return a single error value in this case.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-piix4: Various cleanups and minor fixes
Jean Delvare [Mon, 14 Jul 2008 20:38:25 +0000 (22:38 +0200)]
i2c-piix4: Various cleanups and minor fixes

The i2c-piix4 driver was used recently as a model to write a new SMBus
host controller driver and this made me realize that the code of this
old driver wasn't exactly good. So, here are many cleanups and minor
fixes to this driver, so that these minor mistakes aren't duplicated
again:

* Delete unused structure.
* Delete needless forward function declaration.
* Properly announce the SMBus host controller as we find it.
* Spell it SMBus not SMB.
* Return -EBUSY instead of -ENODEV when the I/O region is already in
  use.
* Drop useless masks on the 7-bit address and the R/W bit.
* Reject block transaction requests with an invalid block length.
* Check and report block transaction replies with an invalid block
  length.
* Delete a useless comment.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Bus drivers return -Errno not -1
David Brownell [Mon, 14 Jul 2008 20:38:25 +0000 (22:38 +0200)]
i2c: Bus drivers return -Errno not -1

Tighten error paths used by various i2c adapters (mostly x86) so
they return real fault/errno codes instead of a "-1" (which is
most often interpreted as "-EPERM").  Build tested, with eyeball
review.

One minor initial goal is to have adapters consistently return
the code "-ENXIO" when addressing a device doesn't get an ACK
response, at least in the probe paths where they are already
good at stifling related logspam.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: i2c_use_client() defends against NULL
David Brownell [Mon, 14 Jul 2008 20:38:24 +0000 (22:38 +0200)]
i2c: i2c_use_client() defends against NULL

Defend the i2c refcount calls against NULL pointers, as is important
(and conventional) for such calls.  Note that none of the current
callers of i2c_use_client() use its return value.

[JD: I hate this but apparently all the other subsystems do it so...]

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Kerneldoc for most I/O calls
David Brownell [Mon, 14 Jul 2008 20:38:24 +0000 (22:38 +0200)]
i2c: Kerneldoc for most I/O calls

Provide kerneldoc for most of the I2C and SMBus I/O calls.  Add a
comment summarizing some fault reporting issues which affect the
ability to provide clean fault reports through I2C master transfer
calls.  (Making it hard to precisely specify their return values...)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Update stray references to smbus_access
Jean Delvare [Mon, 14 Jul 2008 20:38:24 +0000 (22:38 +0200)]
i2c: Update stray references to smbus_access

That function is actually named i2c_smbus_xfer.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Delete unused function i2c_smbus_write_quick
Jean Delvare [Mon, 14 Jul 2008 20:38:23 +0000 (22:38 +0200)]
i2c: Delete unused function i2c_smbus_write_quick

Function i2c_smbus_write_quick has no users left, so we can delete it.

Also update the list of these helper functions which are gone but
could be added back if needed.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Group bus drivers by type
Jean Delvare [Mon, 14 Jul 2008 20:38:23 +0000 (22:38 +0200)]
i2c: Group bus drivers by type

The list of I2C/SMBus bus drivers is growing and it is sometimes
difficult for the users to figure out what drivers they should enable.
By grouping the drivers by type, I hope to make the selection easier.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-core: Return -Errno, not -1
David Brownell [Mon, 14 Jul 2008 20:38:23 +0000 (22:38 +0200)]
i2c-core: Return -Errno, not -1

More updates to the I2C stack's fault reporting:  make the core stop
returning "-1" (usually "-EPERM") for all faults.  Instead, pass lower
level fault code up the stack, or return some appropriate errno.

This patch happens to touch almost exclusively SMBus calls.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-core: Remove needless include
Jean Delvare [Mon, 14 Jul 2008 20:38:22 +0000 (22:38 +0200)]
i2c-core: Remove needless include

i2c-core doesn't use seq files, so doesn't need to include
<linux/seq_file.h>.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Document standard fault codes
David Brownell [Mon, 14 Jul 2008 20:38:22 +0000 (22:38 +0200)]
i2c: Document standard fault codes

Create Documentation/i2c/fault-codes to help standardize
fault/error code usage in the I2C stack.  It turns out that
returning -1 (-EPERM) for everything was not at all helpful.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-bfin-twi: Update the dependencies
Mike Frysinger [Mon, 14 Jul 2008 20:38:22 +0000 (22:38 +0200)]
i2c-bfin-twi: Update the dependencies

Since only a few Blackfins lack TWI, just list them in a depends
statement.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Remove 3 deprecated bus drivers
Adrian Bunk [Mon, 14 Jul 2008 20:38:22 +0000 (22:38 +0200)]
i2c: Remove 3 deprecated bus drivers

This patch contains the scheduled removal of i2c-i810, i2c-prosavage
and i2c-savage4.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-nforce2: Add support for multiplexing on the Tyan S4985
Jean Delvare [Mon, 14 Jul 2008 20:38:21 +0000 (22:38 +0200)]
i2c-nforce2: Add support for multiplexing on the Tyan S4985

Just like the Tyan S4882, the S4985 uses a multiplexer to give access
to all 16 memory module SPD EEPROMs. This specific i2c-nforce2-s4985
driver adds support for this. It is heavily based on the older
i2c-amd756-s4882 driver.

As more mainboards will use multiplexer chips, we will have to find a
way to support them without having to write a new specfic driver for
each. The recent changes to the i2c subsystem should help us, and the
new gpio subsystem might help, too.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-davinci: Initialize cmd_complete sooner
Troy Kisky [Mon, 14 Jul 2008 20:38:21 +0000 (22:38 +0200)]
i2c-davinci: Initialize cmd_complete sooner

If an interrupt happens before an I2c master read/write,
complete is called on uninitialized structure.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-davinci: Fix signal handling bug
Troy Kisky [Mon, 14 Jul 2008 20:38:21 +0000 (22:38 +0200)]
i2c-davinci: Fix signal handling bug

If wait_for_completion_interruptible_timeout exits due
to a signal, the i2c bus was locking up.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-davinci: Remove useless IVR read
Troy Kisky [Mon, 14 Jul 2008 20:38:20 +0000 (22:38 +0200)]
i2c-davinci: Remove useless IVR read

Interrupts are enabled at the point where the DAVINCI_I2C_IVR_REG is read,
so unless an interrupt happened just at that moment, no interrupt would be
pending. Even though documentation implies you should do this, I see no
reason. If slave support is added, this read would cause a hard to
reproduce bug.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-davinci: Move dev_dbg statement for more output
Troy Kisky [Mon, 14 Jul 2008 20:38:20 +0000 (22:38 +0200)]
i2c-davinci: Move dev_dbg statement for more output

Previously the dev_dbg only printed if no error.
Printing also on an error is more useful

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-davinci: Ensure clock between 7-12 MHz
Troy Kisky [Mon, 14 Jul 2008 20:38:20 +0000 (22:38 +0200)]
i2c-davinci: Ensure clock between 7-12 MHz

Ensure psc value gives a clock between 7-12 MHz

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Use class_for_each_device
Dave Young [Mon, 14 Jul 2008 20:38:19 +0000 (22:38 +0200)]
i2c: Use class_for_each_device

Use class_for_each_device for iteration.

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
Linus Torvalds [Mon, 14 Jul 2008 20:37:29 +0000 (13:37 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: (31 commits)
  avr32: Fix typo of IFSR in a comment in the PIO header file
  avr32: Power Management support ("standby" and "mem" modes)
  avr32: Add system device for the internal interrupt controller (intc)
  avr32: Add simple SRAM allocator
  avr32: Enable SDRAMC clock at startup
  rtc-at32ap700x: Enable wakeup
  macb: Basic suspend/resume support
  atmel_serial: Drain console TX shifter before suspending
  atmel_serial: Fix build on avr32 with CONFIG_PM enabled
  avr32: Use a quicklist for PTE allocation as well
  avr32: Use a quicklist for PGD allocation
  avr32: Cover the kernel page tables in the user PGDs
  avr32: Store virtual addresses in the PGD
  avr32: Remove useless zeroing of swapper_pg_dir at startup
  avr32: Clean up and optimize the TLB operations
  avr32: Rename at32ap.c -> pdc.c
  avr32: Move setup_platform() into chip-specific file
  avr32: Kill special exception handler sections
  avr32: Kill unneeded #include <asm/pgalloc.h> from asm/mmu_context.h
  avr32: Clean up time.c #includes
  ...

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Mon, 14 Jul 2008 20:36:55 +0000 (13:36 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (25 commits)
  security: remove register_security hook
  security: remove dummy module fix
  security: remove dummy module
  security: remove unused sb_get_mnt_opts hook
  LSM/SELinux: show LSM mount options in /proc/mounts
  SELinux: allow fstype unknown to policy to use xattrs if present
  security: fix return of void-valued expressions
  SELinux: use do_each_thread as a proper do/while block
  SELinux: remove unused and shadowed addrlen variable
  SELinux: more user friendly unknown handling printk
  selinux: change handling of invalid classes (Was: Re: 2.6.26-rc5-mm1 selinux whine)
  SELinux: drop load_mutex in security_load_policy
  SELinux: fix off by 1 reference of class_to_string in context_struct_compute_av
  SELinux: open code sidtab lock
  SELinux: open code load_mutex
  SELinux: open code policy_rwlock
  selinux: fix endianness bug in network node address handling
  selinux: simplify ioctl checking
  SELinux: enable processes with mac_admin to get the raw inode contexts
  Security: split proc ptrace checking into read vs. attach
  ...

17 years agoMerge branch 'drm-reorg' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Mon, 14 Jul 2008 20:32:24 +0000 (13:32 -0700)]
Merge branch 'drm-reorg' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-reorg' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: reorganise drm tree to be more future proof.

17 years agoMerge branch 'for-linus' of git://git.alsa-project.org/alsa-kernel
Linus Torvalds [Mon, 14 Jul 2008 20:26:07 +0000 (13:26 -0700)]
Merge branch 'for-linus' of git://git.alsa-project.org/alsa-kernel

* 'for-linus' of git://git.alsa-project.org/alsa-kernel: (179 commits)
  ALSA: Release v1.0.17
  ALSA: correct kcalloc usage
  ALSA: ALSA driver for SGI O2 audio board
  ALSA: asoc: kbuild - only show menus for the current ASoC CPU platform.
  ALSA: ALSA driver for SGI HAL2 audio device
  ALSA: hda - Fix FSC V5505 model
  ALSA: hda - Fix missing init for unsol events on micsense model
  ALSA: hda - Fix internal mic vref pin setup
  ALSA: hda: 92hd71bxx PC Beep
  ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model
  ALSA: usb-audio: add some Yamaha USB MIDI quirks
  ALSA: usb-audio: fix Yamaha KX quirk
  ALSA: ASoC: Au12x0/Au1550 PSC Audio support
  ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.h
  ALSA: ASoC: pxa2xx-ac97: fix warning due to missing argument in fuction declaration
  ALSA: tosa: fix compilation with new DAPM API
  ALSA: wavefront - add const
  ALSA: remove CONFIG_KMOD from sound
  ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver
  ALSA: Fix a const pointer usage warning in the Digigram VX soundcard driver
  ...

17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Mon, 14 Jul 2008 20:25:01 +0000 (13:25 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (71 commits)
  [S390] sclp_tty: Fix scheduling while atomic bug.
  [S390] sclp_tty: remove ioctl interface.
  [S390] Remove P390 support.
  [S390] Cleanup vmcp printk messages.
  [S390] Cleanup lcs printk messages.
  [S390] Cleanup kprobes printk messages.
  [S390] Cleanup vmwatch printk messages.
  [S390] Cleanup dcssblk printk messages.
  [S390] Cleanup zfcp dumper printk messages.
  [S390] Cleanup vmlogrdr printk messages.
  [S390] Cleanup s390 debug feature print messages.
  [S390] Cleanup monreader printk messages.
  [S390] Cleanup appldata printk messages.
  [S390] Cleanup smsgiucv printk messages.
  [S390] Cleanup cpacf printk messages.
  [S390] Cleanup qeth print messages.
  [S390] Cleanup netiucv printk messages.
  [S390] Cleanup iucv printk messages.
  [S390] Cleanup sclp printk messages.
  [S390] Cleanup zcrypt printk messages.
  ...

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
Linus Torvalds [Mon, 14 Jul 2008 20:24:39 +0000 (13:24 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (23 commits)
  pcmcia: Fix ide-cs sparse warning
  pcmcia: ide-cs debugging bugfix
  pcmcia: allow for longer CIS firmware files
  pcmcia: cm40x0 cdev lock_kernel() pushdown
  pcmcia: (re)move {pcmcia,pccard}_get_status
  pcmcia: kill IN_CARD_SERVICES
  pcmcia: Remove unused header file code
  pcmcia: remove unused bulkmem.h
  pcmcia: simplify pccard_validate_cis
  pcmcia: carve out ioctl adjust function to pcmcia_ioctl
  pcmcia: irq probe can be done without risking an IRQ storm
  pcmcia: Fix ti12xx_2nd_slot_empty always failing
  pcmcia: check for pointer instead of pointer address
  pcmcia: switch cm4000_cs.c to unlocked_ioctl
  pcmcia: simplify rsrc_nonstatic attributes
  pcmcia: add support CompactFlash PCMCIA support for Blackfin.
  pcmcia: remove version.h
  pcmcia: cs: kill thread_wait
  pcmcia: i82365.c: check request_irq return value
  pcmcia: fix Alchemy warnings
  ...

17 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Mon, 14 Jul 2008 20:15:14 +0000 (13:15 -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: (37 commits)
  splice: fix generic_file_splice_read() race with page invalidation
  ramfs: enable splice write
  drivers/block/pktcdvd.c: avoid useless memset
  cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack)
  scsi: sr avoids useless buffer allocation
  block: blk_rq_map_kern uses the bounce buffers for stack buffers
  block: add blk_queue_update_dma_pad
  DAC960: push down BKL
  pktcdvd: push BKL down into driver
  paride: push ioctl down into driver
  block: use get_unaligned_* helpers
  block: extend queue_flag bitops
  block: request_module(): use format string
  Add bvec_merge_data to handle stacked devices and ->merge_bvec()
  block: integrity flags can't use bit ops on unsigned short
  cmdfilter: extend default read filter
  sg: fix odd style (extra parenthesis) introduced by cmd filter patch
  block: add bounce support to blk_rq_map_user_iov
  cfq-iosched: get rid of enable_idle being unused warning
  allow userspace to modify scsi command filter on per device basis
  ...

17 years agoAHCI: Remove an unnecessary flush from ahci_qc_issue
Matthew Wilcox [Sun, 6 Jul 2008 13:23:20 +0000 (09:23 -0400)]
AHCI: Remove an unnecessary flush from ahci_qc_issue

In an I/O heavy workload (IOZone), ahci_qc_issue is the second-highest
consumer of CPU cycles.  Removing the flush gets us approximately 10%
bandwidth improvement.  I believe this to be because the CPU can start
queueing the next request instead of waiting for the readl() to flush the
writes to the device.  The flush isn't necessary because we're using a
'queue' metaphor; we don't guarantee the command has got to the device,
nor do we need to guarantee the command has got to the controller.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoAHCI: speed up resume
Zhang Rui [Fri, 4 Jul 2008 05:32:17 +0000 (13:32 +0800)]
AHCI: speed up resume

During resume, sleep 1 second to wait for the HBA reset
to finish is a waste of time.

According to the AHCI 1.2 spec,
We should poll the HOST_CTL register,
and return error if the host reset is not
finished within 1 second.

Test results show that the HBA reset can be done quickly(in usecs).
And this patch may save nearly 1 second during resume.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago[libata] Add support for VPD page b1
Matthew Wilcox [Thu, 19 Jun 2008 19:13:38 +0000 (13:13 -0600)]
[libata] Add support for VPD page b1

SCSI VPD page b1 reports the nominal rotation speed and physical size
of the device.  Devices that conform to ATA-8 can return this information
in words 217 and 168 of the identify data.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoata: endianness annotations in pata drivers
Harvey Harrison [Thu, 19 Jun 2008 00:16:43 +0000 (17:16 -0700)]
ata: endianness annotations in pata drivers

drivers/ata/pata_qdi.c:142:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_qdi.c:142:9:    expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_qdi.c:142:9:    got restricted __le32 [usertype] <noident>
drivers/ata/pata_qdi.c:146:15: warning: cast to restricted __le32

drivers/ata/pata_winbond.c:110:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_winbond.c:110:9:    expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_winbond.c:110:9:    got restricted __le32 [usertype] <noident>
drivers/ata/pata_winbond.c:114:15: warning: cast to restricted __le32

drivers/ata/pata_legacy.c:310:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:310:9:    expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_legacy.c:310:9:    got restricted __le32 [usertype] <noident>
drivers/ata/pata_legacy.c:314:15: warning: cast to restricted __le32
drivers/ata/pata_legacy.c:752:11: warning: cast to restricted __le32
drivers/ata/pata_legacy.c:756:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:756:9:    expected unsigned int [unsigned] [addressable] [assigned] [usertype] pad
drivers/ata/pata_legacy.c:756:9:    got restricted __le32 [usertype] <noident>

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata-eh: update atapi_eh_request_sense() to take @dev instead of @qc
Tejun Heo [Tue, 10 Jun 2008 09:28:05 +0000 (18:28 +0900)]
libata-eh: update atapi_eh_request_sense() to take @dev instead of @qc

Update atapi_eh_request_sense() to take @dev, @sense_buf and
@dfl_sense_key instead of taking @qc and extracting information from
it.  This change is to make the function more generic and allow it to
be called from other places.

While at it, make cdb initialization use initializer.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago[libata] sata_svw: update code comments relating to data corruption
Pavel Machek [Mon, 23 Jun 2008 09:01:31 +0000 (11:01 +0200)]
[libata] sata_svw: update code comments relating to data corruption

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata/ahci: enclosure management support
Kristen Carlson Accardi [Tue, 3 Jun 2008 17:33:55 +0000 (10:33 -0700)]
libata/ahci: enclosure management support

Add Enclosure Management support to libata and ahci.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: improve EH internal command timeout handling
Tejun Heo [Mon, 19 May 2008 17:17:54 +0000 (02:17 +0900)]
libata: improve EH internal command timeout handling

ATA_TMOUT_INTERNAL which was 30secs were used for all internal
commands which is way too long when something goes wrong.  This patch
implements command type based stepped timeouts.  Different command
types can use different timeouts and each command type can use
different timeout values after timeouts.

ie. the initial timeout is set to a value which should cover most of
the cases but not too long so that run away cases don't delay things
too much.  After the first try times out, the second try can use
longer timeout and if that one times out too, it can go for full 30sec
timeout.

IDENTIFYs use 5s - 10s - 30s timeout and all other commands use 5s -
10s timeouts.

This patch significantly cuts down the needed time to handle failure
cases while still allowing libata to work with nut job devices through
retries.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: use ULONG_MAX to terminate reset timeout table
Tejun Heo [Mon, 19 May 2008 17:17:53 +0000 (02:17 +0900)]
libata: use ULONG_MAX to terminate reset timeout table

This doesn't introduce any functional changes.  This is to make reset
timeout table consistent with to-be-added command timeout tables.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: improve EH retry delay handling
Tejun Heo [Mon, 19 May 2008 17:17:52 +0000 (02:17 +0900)]
libata: improve EH retry delay handling

EH retries were delayed by 5 seconds to ensure that resets don't occur
back-to-back.  However, this 5 second delay is superflous or excessive
in many cases.  For example, after IDENTIFY times out, there's no
reason to wait five more seconds before retrying.

This patch adds ehc->last_reset timestamp and record the timestamp for
the last reset trial or success and uses it to space resets by
ATA_EH_RESET_COOL_DOWN which is 5 secs and removes unconditional 5 sec
sleeps.

As this change makes inter-try waits often shorter and they're
redundant in nature, this patch also removes the "retrying..."
messages.

While at it, convert explicit rounding up division to DIV_ROUND_UP().

This change speeds up EH in many cases w/o sacrificing robustness.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agolibata: consistently use msecs for time durations
Tejun Heo [Mon, 19 May 2008 17:17:51 +0000 (02:17 +0900)]
libata: consistently use msecs for time durations

libata has been using mix of jiffies and msecs for time druations.
This is getting confusing.  As writing sub HZ values in jiffies is
PITA and msecs_to_jiffies() can't be used as initializer, unify unit
for all time durations to msecs.  So, durations are in msecs and
deadlines are in jiffies.  ata_deadline() is added to compute deadline
from a start time and duration in msecs.

While at it, drop now superflous _msec suffix from arguments and
rename @timeout to @deadline if it represents a fixed point in time
rather than duration.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoStart using the new '%pS' infrastructure to print symbols
Linus Torvalds [Mon, 14 Jul 2008 19:12:53 +0000 (12:12 -0700)]
Start using the new '%pS' infrastructure to print symbols

This simplifies the code significantly, and was the whole point of the
exercise.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodlm: fix uninitialized variable for search_rsb_list callers
Benny Halevy [Mon, 30 Jun 2008 16:59:14 +0000 (19:59 +0300)]
dlm: fix uninitialized variable for search_rsb_list callers

gcc 4.3.0 correctly emits the following warning.
search_rsb_list does not *r_ret if no dlm_rsb is found
and _search_rsb may pass the uninitialized value upstream
on the error path when both calls to search_rsb_list
return non-zero error.

The fix sets *r_ret to NULL on search_rsb_list's not-found path.

Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: David Teigland <teigland@redhat.com>
17 years agodlm: release socket on error
Masatake YAMATO [Fri, 27 Jun 2008 13:35:03 +0000 (08:35 -0500)]
dlm: release socket on error

It seems that `sock' allocated by sock_create_kern in
tcp_connect_to_sock() of dlm/fs/lowcomms.c is not released if
dlm_nodeid_to_addr an error.

Acked-by: Christine Caulfield <ccaulfie@redhat.com>
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
17 years agodlm: fix basts for granted CW waiting PR/CW
David Teigland [Tue, 20 May 2008 17:18:10 +0000 (12:18 -0500)]
dlm: fix basts for granted CW waiting PR/CW

The fix in commit 3650925893469ccb03dbcc6a440c5d363350f591 was addressing
the case of a granted PR lock with waiting PR and CW locks.  It's a
special case that requires forcing a CW bast.  However, that forced CW
bast was incorrectly applying to a second condition where the granted
lock was CW.  So, the holder of a CW lock could receive an extraneous CW
bast instead of a PR bast.  This fix narrows the original special case to
what was intended.

Signed-off-by: David Teigland <teigland@redhat.com>
17 years agodlm: check for null in device_write
Masatake YAMATO [Wed, 28 May 2008 05:45:10 +0000 (14:45 +0900)]
dlm: check for null in device_write

If `device_write' method is called via "dlm-control",
file->private_data is NULL. (See ctl_device_open() in
user.c. ) Through proc->flags is read.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
17 years agort2x00: Reset LED assoc status after firmware update
Ivo van Doorn [Sun, 13 Jul 2008 08:07:48 +0000 (10:07 +0200)]
rt2x00: Reset LED assoc status after firmware update

According to the legacy drivers the LED association status
must be reset after the firmware has been uploaded to the
hardware.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: make index unsigned int for iwl_send_led_cmd
Abhijeet Kolekar [Fri, 11 Jul 2008 03:53:42 +0000 (11:53 +0800)]
iwlwifi: make index unsigned int for iwl_send_led_cmd

This is a small fix to change the idx type from int to unsigned.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: Fix LEDs for 3945
Abhijeet Kolekar [Fri, 11 Jul 2008 03:53:41 +0000 (11:53 +0800)]
iwlwifi: Fix LEDs for 3945

The patch fixes LEDs problem for 3945.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: send TXPOWER command after a new RXON command
Zhu Yi [Fri, 11 Jul 2008 03:53:40 +0000 (11:53 +0800)]
iwlwifi: send TXPOWER command after a new RXON command

The patch fixes the problem that TXPOWER command is not sent
after we issue a new RXON command which requires a tune. Otherwise
we won't be able to Tx any frames.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: enable active scanning
Tomas Winkler [Fri, 11 Jul 2008 03:53:39 +0000 (11:53 +0800)]
iwlwifi: enable active scanning

This patch enables active scan on active channels.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: unify 4965 and 5000 scanning code
Tomas Winkler [Fri, 11 Jul 2008 03:53:38 +0000 (11:53 +0800)]
iwlwifi: unify 4965 and 5000 scanning code

This patch unifies 4965 and 5000 scanning code.

We increases the version number to 1.3.27. Since new uCode
iwlwifi-4965-2.ucode is required for 4965 cards.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>