23 Jun, 2006

20 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (139 commits)
    [POWERPC] re-enable OProfile for iSeries, using timer interrupt
    [POWERPC] support ibm,extended-*-frequency properties
    [POWERPC] Extra sanity check in EEH code
    [POWERPC] Dont look for class-code in pci children
    [POWERPC] Fix mdelay badness on shared processor partitions
    [POWERPC] disable floating point exceptions for init
    [POWERPC] Unify ppc syscall tables
    [POWERPC] mpic: add support for serial mode interrupts
    [POWERPC] pseries: Print PCI slot location code on failure
    [POWERPC] spufs: one more fix for 64k pages
    [POWERPC] spufs: fail spu_create with invalid flags
    [POWERPC] spufs: clear class2 interrupt status before wakeup
    [POWERPC] spufs: fix Makefile for "make clean"
    [POWERPC] spufs: remove stop_code from struct spu
    [POWERPC] spufs: fix spu irq affinity setting
    [POWERPC] spufs: further abstract priv1 register access
    [POWERPC] spufs: split the Cell BE support into generic and platform dependant parts
    [POWERPC] spufs: dont try to access SPE channel 1 count
    [POWERPC] spufs: use kzalloc in create_spu
    [POWERPC] spufs: fix initial state of wbox file
    ...

    Manually resolved conflicts in:
    drivers/net/phy/Makefile
    include/asm-powerpc/spu.h

    Linus Torvalds
     
  • I2C creates some sysfs nodes in the wrong places: not as children of parent
    controllers, but as their peers (!). This puts them into the right place
    always, instead of just when the adapter is on the platform bus.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • i2c-i801: Merge setup function

    Merge i801_setup into i801_probe, as it doesn't make much sense to
    have them split. This lets us handle errors better. Christopher
    Hellwig had been suggesting this back in March 2003 when the driver
    was merged.

    Also drop two useless debug messages (revision and base address can be
    obtained from lspci, procfs or sysfs.)

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • i2c-i801: Better pci subsystem integration

    Integrate the i2c-i801 driver better with the pci subsystem, by
    calling pci_{enable,disable}_device and requesting the I/O region
    by BAR rather than direct configuration space access.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • i2c-i801: Cleanups

    Various cleanups to the i2c-i801 driver:
    * Fix documentation file and self file name references.
    * i801_setup can be marked __devinit.
    * Drop useless error local variable and label in i801_setup.
    * Avoid a double PCI configuration register write in some cases.
    * Use symbolic names for SMBHSTCFG bits.
    * Transmit the error code returned by i801_setup instead of forcing it
    to an arbitrary value.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • i2c-i801: Remove PCI function check

    Remove the PCI function number check when probing devices.
    This check is redundant, each function has a separate PCI device
    ID, so checking for that ID is sufficient.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • i2c-i801: Remove force_addr parameter

    Remove the force_addr module parameter. It doesn't appear to ever
    have been needed, and PCI resources shouldn't be arbitrarily
    changed anyway.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • i2c-i801: Fix block transaction poll loops

    Two of the three poll loops have the poll and sleep swapped,
    causing an extra sleep to occur after the polled condition is
    fulfilled. In practice, this doubles the amount of sleep time for
    every block transaction.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • In i2c bus driver scx200_acb, function scx200_acb_probe can be
    tagged __init.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • On the CS5535 and CS5536, the I/O resource is allocated through PCI,
    so use that instead of using the MSR backdoor.

    Signed-off-by: Jordan Crouse
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jordan Crouse
     
  • The attached patch marks i2c_smbus_write_block_data() and
    i2c_smbus_write_i2c_block_data() buffers as const.

    Signed-off-by: Krzysztof Halasa
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Halasa
     
  • Minor cleanup to the i2c-ocores driver.

    Peter Korsgaard will maintain the i2c-ocores driver.

    Signed-off-by: Peter Korsgaard
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Peter Korsgaard
     
  • The following patch adds support for the OpenCores I2C controller IP
    core (See http://www.opencores.org/projects.cgi/web/i2c/overview).

    Signed-off-by: Peter Korsgaard
    Signed-off-by: Andrew Morton
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Peter Korsgaard
     
  • Improve the Kconfig help text of the follwing i2c drivers:
    * busses/i2c-pca-isa.c
    * chips/pcf8574.c
    * chips/pcf8591.c
    These are hard to detect and building them into the kernel
    results in long delays at boot.

    March 2006, thread "I2C_PCA_ISA causes boot delays"
    http://marc.theaimsgroup.com/?l=linux-kernel&m=114360399415744&w=2

    April 2006, thread "i2c-related 1-minute hang during bootup"
    http://marc.theaimsgroup.com/?l=linux-kernel&m=114640992330721&w=2

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • Add support for the new nForce4 MCP51 (also known as nForce 410 or
    430) and nForce4 MCP55 to the i2c-nforce2 driver. Some code changes
    were required because the base I/O address registers have changed in
    these versions. Standard BARs are now being used, while the original
    nForce2 chips used non-standard ones.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • Properly document on which systems the i2c-piix4 SMBus driver will
    refuse to load. Hopefully this will make it clearer for users, which
    were often wondering why their destop or server systems were detected
    as laptops.

    Closes bug #6429.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • This patch removes the fix_hstcfg option from the driver and related
    SMBus Interrupt Select register magic because now we know what are
    valid values for this register. This patch updates the documentation
    and adds new IRQ mode check so we are sure not to miss any new
    "unusual" value.

    The PCI quirk for users of fix_hstcfg was not developed because the
    chipset lacks of subsystem ID registers and DMI is stated "To be
    filled". Impact to existing systems is minimal because the problem
    showed up on motherboards like 10 years back. On the other hand users
    of newer Serverworks and HT1000 systems won't be misleaded by the
    message suggesting to try the fix_hstcfg any more.

    Signed-off-by: Rudolf Marek
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Rudolf Marek
     
  • This patch adds support for the ST m41t81 and m41t85 i2c rtc chips
    to the existing m41t00 driver.

    Since there is no way to reliably determine what type of rtc chip
    is in use, the chip type is passed in via platform_data. The i2c
    address and square wave frequency are passed in via platform_data
    as well. To accommodate the use of platform_data, a new header
    file include/linux/m41t00.h has been added.

    The m41t81 and m41t85 chips halt the updating of their time registers
    while they are being accessed. They resume when a stop condition
    exists on the i2c bus or when non-time related regs are accessed.
    To make the best use of that facility and to make more efficient
    use of the i2c bus, this patch replaces multiple i2c_smbus_xxx calls
    with a single i2c_transfer call.

    Signed-off-by: Mark A. Greer
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Mark A. Greer
     
  • This patch does some cleanup to the m41t00 i2c/rtc driver including:
    - use BCD2BIN/BIN2BCD instead of BCD_TO_BIN/BIN_TO_BCD
    - use strlcpy instead of strncpy
    - some whitespace cleanup

    Signed-off-by: Mark A. Greer
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Mark A. Greer
     
  • This patch adds the ATI IXP southbridges support to i2c-piix4,
    as it turned out those chips are compatible with it.

    Signed-off-by: Rudolf Marek
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Rudolf Marek
     

21 Jun, 2006

1 commit


27 May, 2006

1 commit


10 May, 2006

3 commits

  • This is a fix for the CS5535 errata 111:

    When the SMBus controller tries to access a non-existing device, it sets
    the NEGACK bit, SMBus I/O offset 01h[4], to 1 after it detects no
    acknowledge at the ninth clock. The specification states that the bit
    can be cleared by writing a 1 to it, but under certain circumstances it
    is possible for this bit to not clear.

    Writing a 0 to the bit resets the internal state machine and clears the
    issue.

    Since all writable bits in ACBST are W1C bits (write-one-to-clear) the
    second write doesn't affect any other logic except the buggy NEGACK
    state machine. The second write clears an internal register which is
    responsible for "overwriting" the NEGACK bit in ACBST.

    Signed-off-by: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jordan Crouse
     
  • We can't pass a string on the stack to request_region. As soon as we
    leave the function that stack is gone and the string is lost. Let's
    use the same string we identify the i2c_adapter with instead, it's
    more simple, more consistent, and just works.

    This is the second half of fix to bug #6445.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • The scx200_acb driver shouldn't return failure after initialization
    if it successfully registered at least one i2c_adapter, else we are
    leaking resources. The driver was OK in that respect up to 2.6.16, a
    recent change broke it.

    This is part of the fix to bug #6445.

    Signed-off-by: Jean Delvare
    Cc: Ben Gardner
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

20 Apr, 2006

2 commits

  • Fix for bug #6395:

    Fail to resume on Tecra M2 with ADM1032 and Intel 82801DBM

    The BIOS of the Tecra M2 doesn't like it when it has to reboot or resume
    after the i2c-i801 driver has left the SMBus in PEC mode. The most simple
    fix is to clear the PEC bit after after every transaction. That's what
    this driver was doing up to 2.6.15 (inclusive).

    Thanks to Daniele Gaffuri for the very good report.

    Signed-off-by: Jean Delvare
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • Fix the bitmasks used when writing to the M41T00 registers.

    The original code used a mask of 0x7f when writing to each register,
    this is incorrect and probably the result of a copy-paste error. As a
    result years from 1980 to 1999 will be read back as 2000 to 2019.

    Signed-off-by: David Barksdale
    Acked-by: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Barksdale
     

15 Apr, 2006

4 commits

  • This patch forces the user to specify what type of adapter is present when
    loading i2c-parport or i2c-parport-light. If none is specified, the driver
    init simply fails - instead of assuming adapter type 0.

    This alleviates the sometimes lengthy boot time delays which can be caused
    by accidentally building one of these into a kernel along with several i2c
    slave drivers that have lengthy probe routines (e.g. hwmon drivers).

    Kconfig and documentation updated accordingly.

    Signed-off-by: Mark M. Hoffman
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Mark M. Hoffman
     
  • This patch removes an init-time kernel log message.
    http://marc.theaimsgroup.com/?l=linux-kernel&m=114232987208628&w=3

    Signed-off-by: Mark M. Hoffman
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Mark M. Hoffman
     
  • The m41t00 i2c/rtc driver currently uses a tasklet to schedule
    interrupt-level writes to the rtc. This patch causes the driver
    to use a workqueue instead.

    Signed-off-by: Mark A. Greer
    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Mark A. Greer
     
  • A tasklet is not suitable for what the ds1374 driver does: neither sleeping
    nor mutex operations are allowed in tasklets, and ds1374_set_tlet may do
    both.

    We can use a workqueue instead, where both sleeping and mutex operations
    are allowed.

    Signed-off-by: Jean Delvare
    Acked-by: Randy Vinson
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

28 Mar, 2006

1 commit

  • This patch, completely optional, removes from drivers/i2c/chips all the
    drivers that are implemented in the new RTC subsystem.

    It should be noted that none of the current driver is actually integrated,
    i.e. usable without further patches.

    Signed-off-by: Alessandro Zummo
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alessandro Zummo
     

24 Mar, 2006

8 commits