20 Jun, 2009

31 commits

  • * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    i2c: New macro to initialize i2c address lists on the fly
    i2c: Don't advertise i2c functions when not available
    i2c: Use rwsem instead of mutex for board info
    i2c: Add a sysfs interface to instantiate devices
    i2c: Limit core locking to the necessary sections
    i2c: Kill the redundant client list
    i2c: Kill is_newstyle_driver
    i2c: Merge i2c_attach_client into i2c_new_device
    i2c: Drop i2c_probe function
    i2c: Get rid of the legacy binding model
    i2c: Kill client_register and client_unregister methods

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    Fix kernel-doc parameter name typo in blk-settings.c:
    block: rename CONFIG_LBD to CONFIG_LBDAF
    block: Fix bounce_pfn setting
    hd: stop defining MAJOR_NR

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6:
    sparc64: Fix UP bootup regression.

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (35 commits)
    powerpc/5121: make clock debug output more readable
    powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function
    powerpc/5200: Update pcm030.dts to add i2c eeprom and delete cruft
    powerpc/5200: convert mpc52xx_psc_spi to use cs_control callback
    fbdev/xilinxfb: Fix improper casting and tighen up probe path
    usb/ps3: Add missing annotations
    powerpc: Add memory clobber to mtspr()
    powerpc: Fix invalid construct in our CPU selection Kconfig
    ps3rom: Use ps3_system_bus_[gs]et_drvdata() instead of direct access
    powerpc: Add configurable -Werror for arch/powerpc
    of_serial: Add UPF_FIXED_TYPE flag
    drivers/hvc: Add missing __devexit_p()
    net/ps3: gelic - Add missing annotations
    powerpc: Introduce macro spin_event_timeout()
    powerpc/warp: Fix ISA_DMA_THRESHOLD default
    powerpc/bootwrapper: Custom build options for XPedite52xx targets
    powerpc/85xx: Add defconfig for X-ES MPC85xx boards
    powerpc/85xx: Add dts files for X-ES MPC85xx boards
    powerpc/85xx: Add platform support for X-ES MPC85xx boards
    83xx: add support for the kmeter1 board.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:
    Blackfin: convert page/tlb to asm-generic
    Blackfin: convert types to asm-generic
    Blackfin: convert irq/process to asm-generic
    Blackfin: convert signal/mmap to asm-generic
    Blackfin: convert locking primitives to asm-generic
    Blackfin: convert termios to asm-generic
    Blackfin: convert simple headers to asm-generic
    Blackfin: convert socket/poll to asm-generic
    Blackfin: convert user/elf to asm-generic
    Blackfin: convert shm/sysv/ipc to asm-generic
    Blackfin: convert asm/ioctls.h to asm-generic/ioctls.h
    Blackfin: only build irqpanic.c when needed
    Blackfin: pull in asm/io.h in ksyms for prototypes
    Blackfin: use common test_bit() rather than __test_bit()

    Linus Torvalds
     
  • Signed-off-by: Joe Perches
    Cc: Eduard - Gabriel Munteanu
    Cc: Pekka Enberg
    Cc: Ingo Molnar
    Cc: Zhao Lei
    Cc: Steven Rostedt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Sergey Lapin
    Cc: Dmitry Eremin-Solenikov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: "John W. Linville"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Randy Dunlap
    Cc: Steven Rostedt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Bob Copeland
    Cc: "Luis R . Rodriguez"
    Cc: Nick Kossifidis
    Cc: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Do not accept VESA modes by the "vga=" kernel parameter if there is no
    frame buffer driver compiled-in to handle it.

    Also, there is a comment added to the Kconfig description after Werner
    Lemberg's suggestion

    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13249

    Signed-off-by: Krzysztof Helt
    Reported-by: Werner Lemberg
    Cc: Michal Januszewski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Signed-off-by: Joe Perches
    Cc: Ranganathan Desikan
    Cc: "Arvind R."
    Cc: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • dma_sync_single() and dma_sync_sg() have been described as "Backwards
    compat, remove in 2.7.x" for a long time (since 2.6.5).

    This marks dma_sync_single() and dma_sync_sg() as deprecated so the users
    get notified before removing them.

    Signed-off-by: FUJITA Tomonori
    Cc: Ingo Molnar
    Cc: James Bottomley
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • Mark them deprecated so that out-of-tree developers get notified about
    this before their modules break when these macros are removed.

    Signed-off-by: Jiri Slaby
    Cc: Yang Hongyang
    Acked-by: FUJITA Tomonori
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • We're about to make DMA_nnBIT_MASK() emit `deprecated' warnings. Convert the
    remaining stragglers which are visible to the x86_64 build.

    Cc: FUJITA Tomonori
    Cc: James Bottomley
    Cc: Eric Moore
    Cc: Takashi Iwai
    Cc: "David S. Miller"
    Cc: Alexander Duyck
    Cc: Yi Zou
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • In moxa.c there are 32 minor numbers reserved for each device. The number
    of ports actually available per device is stored in
    moxa_board_conf->numPorts. This number is not considered in moxa_open().
    Opening a port that is not available results in a kernel oops. This patch
    adds a test to moxa_open() that prevents opening unavailable ports.

    [akpm@linux-foundation.org: avoid multiple returns]
    Signed-off-by: Dirk Eibach
    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dirk Eibach
     
  • The remove member of the pci_driver stli_pcidriver uses __devexit_p(), so
    the remove function itself should be marked with __devexit. Even more so
    considering the probe function is marked with __devinit.

    Signed-off-by: Mike Frysinger
    Acked-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • With a postfix increment retries is incremented beyond DTLK_MAX_RETRIES so
    the error message is not displayed correctly.

    Signed-off-by: Roel Kluin
    Cc: James R. Van Zandt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • The bug is ancient.

    If we trace the sub-thread of our natural child and this sub-thread exits,
    we update parent->signal->cxxx fields. But we should not do this until
    the whole thread-group exits, otherwise we account this thread (and all
    other live threads) twice.

    Add the task_detached() check. No need to check thread_group_empty(),
    wait_consider_task()->delay_group_leader() already did this.

    Signed-off-by: Oleg Nesterov
    Cc: Peter Zijlstra
    Acked-by: Roland McGrath
    Cc: Stanislaw Gruszka
    Cc: Vitaly Mayatskikh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • The rtc_update_irq() might be called with irqs enabled, if a interrupt
    handler was registered without IRQF_DISABLED. Use
    spin_lock_irqsave/spin_unlock_irqrestore instead of spin_lock/spin_unlock.

    Also update kerneldoc and drivers which do extra work to follow the
    current interface spec, as suggestted by David Brownell.

    Signed-off-by: Atsushi Nemoto
    Cc: Alessandro Zummo
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Since we renamed the file, we might want to rename the file internals too.

    Though we don't bother with changing platform driver name and platform
    module alias. The stuff is legacy and hopefully we'll remove it soon.

    Suggested-by: Kumar Gala
    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • The driver handles MPC83xx, MPC85xx and MPC86xx SPI controllers, so rename
    the file for clarity.

    Suggested-by: Kumar Gala
    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • This patch removes #if 0'ed code, and spi_mpc83xx->busy variable that is
    used by that dead snippet only.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • mpc83xx_spi_work() is quite large, with up to five indentation levels and
    is quite difficult to read.

    So, split the function in two parts:
    1. mpc83xx_spi_work() now only traverse queued spi messages;
    2. mpc83xx_spi_do_one_msg() only manages single messages.

    There should be no functional changes.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • Checkpatch is spitting errors when seeing the rename patch, so fix the
    errors prior to moving.

    Following errors and warnings were fixed:

    WARNING: Use #include instead of
    #1027: FILE: drivers/spi/spi_mpc8xxx.c:37:
    +#include

    ERROR: "foo * bar" should be "foo *bar"
    #1111: FILE: drivers/spi/spi_mpc8xxx.c:121:
    +static inline void mpc83xx_spi_write_reg(__be32 __iomem * reg, u32 val)

    ERROR: "foo * bar" should be "foo *bar"
    #1116: FILE: drivers/spi/spi_mpc8xxx.c:126:
    +static inline u32 mpc83xx_spi_read_reg(__be32 __iomem * reg)

    ERROR: "foo * bar" should be "foo *bar"
    #1125: FILE: drivers/spi/spi_mpc8xxx.c:135:
    + type * rx = mpc83xx_spi->rx; \

    ERROR: "foo * bar" should be "foo *bar"
    #1135: FILE: drivers/spi/spi_mpc8xxx.c:145:
    + const type * tx = mpc83xx_spi->tx; \

    WARNING: suspect code indent for conditional statements (16, 25)
    #1504: FILE: drivers/spi/spi_mpc8xxx.c:514:
    + while (((event =
    [...]
    + cpu_relax();

    Following warnings were left over, since fixing them will hurt the
    readability. We'd better fix them by lowering the indentation level by
    splitting mpc83xx_spi_work function into two parts.

    WARNING: line over 80 characters
    #1371: FILE: drivers/spi/spi_mpc8xxx.c:381:
    + status = mpc83xx_spi_setup_transfer(spi, t);

    WARNING: line over 80 characters
    #1392: FILE: drivers/spi/spi_mpc8xxx.c:402:
    + mpc83xx_spi_chipselect(spi, BITBANG_CS_INACTIVE);

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • This patch adds spi and mmc-spi-slot nodes, plus a gpio-controller for
    PIXIS' sdcsr bank that is used for managing SPI chip-select and for
    reading card's states.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • This is needed for some underlaying GPIO controllers that may be a bit
    slow, or if chip-select signal need some time to stabilize.

    For what it's worth, we already have the similar delay for chip-select
    de-assertion case.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • When a platform is running at high frequencies it's not always possible to
    scale-down a frequency to a requested value, and using mmc_spi driver this
    leads to the following printk flood during card polling:

    ...
    mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use
    520828 Hz instead.
    mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use
    520828 Hz instead.
    ...

    Fix this by using WARN_ONCE(), it's better than the flood, and also better
    than turning dev_err() into dev_dbg(), since we actually want to warn that
    some things may not work correctly.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • With this patch we'll able to select spi_mpc83xx driver on the MPC86xx
    platforms. Let the driver depend on FSL_SOC, so we don't have to worry
    about Kconfig anymore.

    Also remove the "experimental" dependency, the driver has been tested to
    work on a various hardware, and surely not experimental anymore.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Joe Perches
    Cc: Pekka Enberg
    Cc: Benjamin Herrenschmidt
    Cc: Tejun Heo
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • This is a driver for the ARM PrimeCell PL061 GPIO AMBA peripheral. The
    driver is implemented using the gpiolib framework.

    This driver also includes support for the use of the PL061 as an interrupt
    controller (secondary).

    Signed-off-by: Baruch Siach
    Cc: David Brownell
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Baruch Siach
     

19 Jun, 2009

9 commits

  • For video4linux we sometimes need to probe for a single i2c address.
    Normally you would do it like this:

    static const unsigned short addrs[] = {
    addr, I2C_CLIENT_END
    };

    client = i2c_new_probed_device(adapter, &info, addrs);

    This is a bit awkward and I came up with this macro:

    #define V4L2_I2C_ADDRS(addr, addrs...) \
    ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END })

    This can construct a list of one or more i2c addresses on the fly. But
    this is something that really belongs in i2c.h, renamed to I2C_ADDRS.

    With this macro we can just do:

    client = i2c_new_probed_device(adapter, &info, I2C_ADDRS(addr));

    Note that this can also be used to initialize an array:

    static const unsigned short addrs[] = I2C_ADDRS(0x2a, 0x2c);

    Whether you want to is another matter, but it works. This functionality is
    also available in the oldest supported gcc (3.2).

    Signed-off-by: Hans Verkuil
    Signed-off-by: Jean Delvare

    Hans Verkuil
     
  • Surround i2c function declarations with ifdefs, so that they aren't
    advertised when i2c-core isn't actually built. That way, drivers using
    these functions unconditionally will result in an immediate build
    failure, rather than a late linking failure which is harder to figure
    out.

    Signed-off-by: Jean Delvare
    Cc: Mark Brown
    Cc: Paul Mundt

    Jean Delvare
     
  • By using rwsem we can easily manage recursive calls of
    i2c_scan_static_board_info() function without breaking the locking.

    Signed-off-by: Rodolfo Giometti
    Signed-off-by: Jean Delvare

    Rodolfo Giometti
     
  • Add a sysfs interface to instantiate and delete I2C devices. This is
    primarily a replacement of the force_* module parameters implemented
    by some i2c drivers. These module parameters were implemented
    internally by the I2C_CLIENT_INSMOD* macros, which don't scale well.

    This can also be used when developing a driver on a self-soldered
    board which doesn't yet have proper I2C device declaration at the
    platform level, and presumably for various debugging situations.

    Signed-off-by: Jean Delvare
    Cc: David Brownell

    Jean Delvare
     
  • The i2c-core code tends to hold the core lock for longer than it
    should. Limit locking to the necessary sections for both performance
    and clarity. This is also a requirement to support I2C multiplexers in
    the future.

    Signed-off-by: Jean Delvare
    Tested-by: Rodolfo Giometti
    Cc: David Brownell

    Jean Delvare
     
  • We used to maintain our own per-adapter list of i2c clients, but this
    is redundant with what the driver core does, and no longer needed.
    Just drop the redundant list.

    Signed-off-by: Jean Delvare
    Cc: David Brownell

    Jean Delvare
     
  • Legacy i2c drivers are gone, all drivers are new-style now, so there
    is no point to check.

    Signed-off-by: Jean Delvare
    Cc: David Brownell

    Jean Delvare
     
  • Now that i2c_attach_client is no longer exported, it doesn't need to
    be a separate function. Merge it into its only user, i2c_new_device.

    Signed-off-by: Jean Delvare
    Cc: David Brownell

    Jean Delvare
     
  • The legacy i2c_probe() function has no users left, get rid of it.

    Signed-off-by: Jean Delvare
    Cc: David Brownell

    Jean Delvare