02 Oct, 2012

3 commits

  • Pull ARM soc multiplatform enablement from Olof Johansson:
    "This is a pretty significant branch. It's the introduction of the
    first multiplatform support on ARM, and with this (and the later
    branch) merged, it is now possible to build one kernel that contains
    support for highbank, vexpress, mvebu, socfpga, and picoxcell. More
    platforms will be convered over in the next few releases.

    Two critical last things had to be done for this to be practical and
    possible:
    * Today each platform has its own include directory under
    mach-/include/mach/*, and traditionally that is where a lot
    of driver/platform shared definitions have gone, such as platform
    data structures. They now need to move out to a common location
    instead, and this branch moves a large number of those out to
    include/linux/platform_data.
    * Each platform used to list the device trees to compile for its
    boards in mach-/Makefile.boot.

    Both of the above changes will mean that there are some merge
    conflicts to come (and some to resolve here). It's a one-time move
    and once it settles in, we should be good for quite a while. Sorry
    for the overhead."

    Fix conflicts as per Olof.

    * tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
    ARM: add v7 multi-platform defconfig
    ARM: msm: Move core.h contents into common.h
    ARM: highbank: call highbank_pm_init from .init_machine
    ARM: dtb: move all dtb targets to common Makefile
    ARM: spear: move platform_data definitions
    ARM: samsung: move platform_data definitions
    ARM: orion: move platform_data definitions
    ARM: vexpress: convert to multi-platform
    ARM: initial multiplatform support
    ARM: mvebu: move armada-370-xp.h in mach dir
    ARM: vexpress: remove dependency on mach/* headers
    ARM: picoxcell: remove dependency on mach/* headers
    ARM: move all dtb targets out of Makefile.boot
    ARM: picoxcell: move debug macros to include/debug
    ARM: socfpga: move debug macros to include/debug
    ARM: mvebu: move debug macros to include/debug
    ARM: vexpress: move debug macros to include/debug
    ARM: highbank: move debug macros to include/debug
    ARM: move debug macros to common location
    ARM: make mach/gpio.h headers optional
    ...

    Linus Torvalds
     
  • Pull ARM soc driver specific changes from Olof Johansson:
    - A long-coming conversion of various platforms to a common LED
    infrastructure
    - AT91 is moved over to use the newer MCI driver for MMC
    - Pincontrol conversions for samsung platforms
    - DT bindings for gscaler on samsung
    - i2c driver fixes for tegra, acked by i2c maintainer

    Fix up conflicts as per Olof.

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
    drivers: bus: omap_l3: use resources instead of hardcoded irqs
    pinctrl: exynos: Fix wakeup IRQ domain registration check
    pinctrl: samsung: Uninline samsung_pinctrl_get_soc_data
    pinctrl: exynos: Correct the detection of wakeup-eint node
    pinctrl: exynos: Mark exynos_irq_demux_eint as inline
    pinctrl: exynos: Handle only unmasked wakeup interrupts
    pinctrl: exynos: Fix typos in gpio/wkup _irq_mask
    pinctrl: exynos: Set pin function to EINT in irq_set_type of GPIO EINTa
    drivers: bus: Move the OMAP interconnect driver to drivers/bus/
    i2c: tegra: dynamically control fast clk
    i2c: tegra: I2_M_NOSTART functionality not supported in Tegra20
    ARM: tegra: clock: remove unused clock entry for i2c
    ARM: tegra: clock: add connection name in i2c clock entry
    i2c: tegra: pass proper name for getting clock
    ARM: tegra: clock: add i2c fast clock entry in clock table
    ARM: EXYNOS: Adds G-Scaler device from Device Tree
    ARM: EXYNOS: Add clock support for G-Scaler
    ARM: EXYNOS: Enable pinctrl driver support for EXYNOS4 device tree enabled platform
    ARM: dts: Add pinctrl node entries for SAMSUNG EXYNOS4210 SoC
    ARM: EXYNOS: skip wakeup interrupt setup if pinctrl driver is used
    ...

    Linus Torvalds
     
  • Pull ARM soc general cleanups from Olof Johansson:
    "This is a large branch that contains a handful of different cleanups:

    - Fixing up the I/O space remapping on PCI on ARM. This is a series
    from Rob Herring that restructures how all pci devices allocate I/O
    space, and it's part of the work to allow multiplatform kernels.
    - A number of cleanup series for OMAP, moving and removing some
    headers, sparse irq rework and in general preparation for
    multiplatform.
    - Final removal of all non-DT boards for Tegra, it is now
    device-tree-only!
    - Removal of a stale platform, nxp4008. It's an old mobile chipset
    that is no longer in use, and was very likely never really used
    with a mainline kernel. We have not been able to find anyone
    interested in keeping it around in the kernel.
    - Removal of the legacy dmaengine driver on tegra

    + A handful of other things that I haven't described above."

    Fix up some conflicts with the staging tree (and because nxp4008 was
    removed)

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (184 commits)
    ARM: OMAP2+: serial: Change MAX_HSUART_PORTS to 6
    ARM: OMAP4: twl-common: Support for additional devices on i2c1 bus
    ARM: mmp: using for_each_set_bit to simplify the code
    ARM: tegra: harmony: fix ldo7 regulator-name
    ARM: OMAP2+: Make omap4-keypad.h local
    ARM: OMAP2+: Make l4_3xxx.h local
    ARM: OMAP2+: Make l4_2xxx.h local
    ARM: OMAP2+: Make l3_3xxx.h local
    ARM: OMAP2+: Make l3_2xxx.h local
    ARM: OMAP1: Move irda.h from plat to mach
    ARM: OMAP2+: Make hdq1w.h local
    ARM: OMAP2+: Make gpmc-smsc911x.h local
    ARM: OMAP2+: Make gpmc-smc91x.h local
    ARM: OMAP1: Move flash.h from plat to mach
    ARM: OMAP2+: Make debug-devices.h local
    ARM: OMAP1: Move board-voiceblue.h from plat to mach
    ARM: OMAP1: Move board-sx1.h from plat to mach
    ARM: OMAP2+: Make omap-wakeupgen.h local
    ARM: OMAP2+: Make omap-secure.h local
    ARM: OMAP2+: Make ctrl_module_wkup_44xx.h local
    ...

    Linus Torvalds
     

22 Sep, 2012

2 commits

  • * multiplatform/platform-data:
    ARM: spear: move platform_data definitions
    ARM: samsung: move platform_data definitions
    ARM: orion: move platform_data definitions
    ARM: nomadik: move platform_data definitions
    ARM: w90x900: move platform_data definitions
    ARM: vt8500: move platform_data definitions
    ARM: tegra: move sdhci platform_data definition
    ARM: sa1100: move platform_data definitions
    ARM: pxa: move platform_data definitions
    ARM: netx: move platform_data definitions
    ARM: msm: move platform_data definitions
    ARM: imx: move platform_data definitions
    ARM: ep93xx: move platform_data definitions
    ARM: davinci: move platform_data definitions
    ARM: at91: move platform_data definitions

    Conflicts due to removed files:
    arch/arm/mach-tegra/board-harmony.c
    arch/arm/mach-tegra/board-trimslice.c

    Conflicts due to code removal:
    arch/arm/mach-tegra/board-paz00.c

    Context conflicts in:
    drivers/mmc/host/sdhci-tegra.c
    drivers/net/irda/pxaficp_ir.c

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • …/git/kgene/linux-samsung into next/fixes-non-critical

    A few non-critical fixes/cleanups for samsung platforms.

    * 'v3.7-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: SAMSUNG: Add missing variable declaration in s3c64xx_spi1_set_platdata()
    ARM: S3C24XX: removes unnecessary semicolon
    ARM: S3C24xx: delete double assignment
    ARM: EXYNOS: fix address for EXYNOS4 MDMA1
    ARM: EXYNOS: fixed SYSMMU setup definition to mate parameter name
    + sync to 3.6-rc6

    Olof Johansson
     

21 Sep, 2012

1 commit

  • …/git/swarren/linux-tegra into next/cleanup

    ARM: tegra: switch to dmaengine

    The Tegra code-base has contained both a legacy DMA and a dmaengine
    driver since v3.6-rcX. This series flips Tegra's defconfig to enable
    dmaengine rather than the legacy driver, and removes the legacy driver
    and all client code.

    * tag 'tegra-for-3.7-dmaengine' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
    ASoC: tegra: remove support of legacy DMA driver based access
    spi: tegra: remove support of legacy DMA driver based access
    ARM: tegra: apbio: remove support of legacy DMA driver based access
    ARM: tegra: dma: remove legacy APB DMA driver
    ARM: tegra: config: enable dmaengine based APB DMA driver
    + sync to 3.6-rc6

    Olof Johansson
     

19 Sep, 2012

1 commit

  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the samsung include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Cc: Kukjin Kim
    Cc: Kyungmin Park
    Cc: Ben Dooks
    Cc: Jeff Garzik
    Cc: Guenter Roeck
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: Dmitry Torokhov
    Cc: Bryan Wu
    Cc: Richard Purdie
    Cc: Sylwester Nawrocki
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Felipe Balbi
    Cc: Alan Stern
    Cc: Sangbeom Kim
    Cc: Liam Girdwood
    Cc: linux-samsung-soc@vger.kernel.org

    Arnd Bergmann
     

15 Sep, 2012

1 commit

  • Pull i2c embedded fixes from Wolfram Sang:
    "The last bunch of (typical) i2c-embedded driver fixes for 3.6.

    Also update the MAINTAINERS file to point to my tree since people keep
    asking where to find their patches."

    * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
    i2c: algo: pca: Fix mode selection for PCA9665
    MAINTAINERS: fix tree for current i2c-embedded development
    i2c: mxs: correctly setup speed for non devicetree
    i2c: pnx: Fix read transactions of >= 2 bytes
    i2c: pnx: Fix bit definitions

    Linus Torvalds
     

14 Sep, 2012

7 commits

  • The code currently always selects turbo mode for PCA9665, no matter which
    clock frequency is configured. This is because it compares the clock frequency
    against constants reflecting (boundary / 100). Compare against real boundary
    frequencies to fix the problem.

    Signed-off-by: Thomas Kavanagh
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wolfram Sang

    Thomas Kavanagh
     
  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the w90x900 include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Cc: Wan ZongShun
    Cc: "Ben Dooks (embedded platforms)"
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: Dmitry Torokhov
    Cc: Grant Likely
    Cc: Florian Tobias Schandinat

    Arnd Bergmann
     
  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the imx include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Sascha Hauer
    Acked-by: Vinod Koul
    Cc: Russell King
    Cc: Dan Williams
    Cc: "Ben Dooks (embedded platforms)"
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Alan Cox
    Cc: Felipe Balbi
    Cc: Alan Stern
    Cc: Florian Tobias Schandinat
    Cc: Liam Girdwood
    Cc: Javier Martin
    Cc: Shawn Guo
    Cc: Guennadi Liakhovetski

    Arnd Bergmann
     
  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the davinci include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Felipe Balbi
    Cc: Sekhar Nori
    Cc: Kevin Hilman
    Cc: "Ben Dooks"
    Cc: "Wolfram Sang"
    Cc: Dmitry Torokhov
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Alan Stern
    Cc: Liam Girdwood
    Cc: davinci-linux-open-source@linux.davincidsp.com

    Arnd Bergmann
     
  • Tegra I2C driver enables the fast clock during initialization
    and does not disable till driver removed.
    Enable this clock before transfer and disable after transfer done.

    Signed-off-by: Laxman Dewangan
    Reviewed-by: Wolfram Sang
    Signed-off-by: Stephen Warren

    Laxman Dewangan
     
  • Tegra20 i2c controller does not support the continue transfer
    which implements the I2C_M_NOSTART functionality of i2c
    protocol mangling.
    Removing the I2C_M_NOSTART functionality support for Tegra20.

    Signed-off-by: Laxman Dewangan
    Reviewed-by: Wolfram Sang
    Signed-off-by: Stephen Warren

    Laxman Dewangan
     
  • Tegra's i2c controller require two clock sources named as
    div_clk and fast_clk.
    This change make sure that driver pass the correct clock's
    name when it acquires clock handle. Also change the
    variable name to reflect the correct clock handles.

    Signed-off-by: Laxman Dewangan
    Acked-by: Wolfram Sang
    Signed-off-by: Stephen Warren

    Laxman Dewangan
     

13 Sep, 2012

1 commit

  • From "Uwe Kleine-König" :

    this is the 2nd version of this series whose goal is to make struct
    of_device_id.data const. Conceptually a driver must not modify the data
    contained there so making it const is the right thing.

    v1 of this series was sent with Message-id:
    1342182734-321-1-git-send-email-y. Changes since then are:
    - powerpc fixes
    - several new consts that were found by Arnd that are possible after
    patch 19.

    Arnd suggested to take this series via arm-soc late for 3.6 in one go
    because patch 19 depends on the former patches but is a precondition to
    the latter and it fixes a few warnings. So getting it in via the
    respective maintainer trees would need a much bigger coordination
    effort. That means I prefer getting Acks over you taking the patch.

    Vinod Koul already took
    dmaengine: at_hdmac: add a few const qualifiers
    that is in next-20120723 as 7fd63ccdad72 now. Vinod, I don't follow your
    pull requests, but assuming you didn't let it already pull for 3.6 I
    suggest you drop it from your queue and I just take your Ack.

    This series was build tested for arm (all defconfigs) and powerpc (all
    defconfigs and an allyesconfig) and grep didn't find more issues. As
    before it introduces a warning in drivers/regulator/twl-regulator.c.
    This driver does modify its .of_match_table when a device is bound which
    doesn't fits the concept of independant devices. Arnd noticed another
    new warning in drivers/scsi/qlogicpti.c that isn't that easy to resolve,
    because the pointer to (now) const data is passed as first argument to
    scsi_host_alloc. To fix that properly struct Scsi_Host.hostt needs to
    get a const, too. Alternatively I could introduce a cast removing the
    const, but I don't like that.

    * 'ofdeviceiddata' of git://git.pengutronix.de/git/ukl/linux: (25 commits)
    dma: tegra: make data used as *of_device_id.data const
    can: mpc5xxx_can: make data used as *of_device_id.data const
    macintosh/mediabay: make data used as *of_device_id.data const
    i2c/mpc: make data used as *of_device_id.data const
    mfd/da9052: make i2c_device_id array const
    powerpc/fsl_msi: drop unneeded cast to non-const pointer
    gpio/gpio-omap: make platformdata used as *of_device_id.data const
    of: add const to struct *of_device_id.data
    dma: tegra: make tegra_dma.chip_data a pointer to const data
    watchdog/mpc8xxx: add a const qualifier
    powerpc/celleb_pci: add a const qualifier
    powerpc/fsl_msi: add a const qualifier
    powerpc/83xx: add a const qualifier
    macintosh/mediabay: add a const qualifier
    mmc/omap_hsmmc: add a const qualifier
    i2c/mpc: add a const qualifier
    i2c/i2c-omap: add a const qualifier
    gpio/mpc8xxx: add a const qualifier
    gpio/gpio-omap.c: add a const qualifier
    misc/atmel_tc: make atmel_tc.tcb_config member point to const data

    Signed-off-by: Arnd Bergmann
    [olof: repulled a v3 version of the branch that rebased to add some more
    acked-bys and added one more patch on top for tegra]
    Signed-off-by: Olof Johansson

    Olof Johansson
     

12 Sep, 2012

3 commits

  • Commit cd4f2d4 (i2c: mxs: Set I2C timing registers for mxs-i2c) only
    covered the case for devicetree and made platform_data based boards
    bail out with -EINVAL. Correctly support the latter one, too.

    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • On transactions with n>=2 bytes, the controller actually wrongly clocks in n+1
    bytes. This is caused by the (wrong) assumption that RFE in the Status Register
    is 1 iff there is no byte already ordered (via a dummy TX byte). This lead to
    the implementation of synchronized byte ordering, e.g.:

    Dummy-TX - RX - Dummy-TX - RX - ...

    But since RFE actually stays high after some Dummy-TX, it rather looks like:

    Dummy-TX - Dummy-TX - RX - Dummy-TX - RX - (RX)

    The last RX byte is clocked in by the bus controller, but ignored by the kernel
    when filling the userspace buffer.

    This patch fixes the issue by asking for RX via Dummy-TX asynchronously.
    Introducing a separate counter for TX bytes.

    Signed-off-by: Roland Stigge
    Signed-off-by: Wolfram Sang

    Roland Stigge
     
  • The I2C Control Register bits RFDAIE and RFFIE were mixed up. In addition to
    this fix, this patch adds the missing bit DRSIE for completeness.

    Signed-off-by: Roland Stigge
    Signed-off-by: Wolfram Sang

    Roland Stigge
     

11 Sep, 2012

3 commits

  • Since of_device_id.data is declared as a pointer to const data a few
    more consts can be added in this driver.

    [ukl: split Arnd's patch by driver]

    Signed-off-by: Arnd Bergmann
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Uwe Kleine-König

    Arnd Bergmann
     
  • This prepares *of_device_id.data becoming const. Without this change
    the following warning would occur:

    drivers/i2c/busses/i2c-mpc.c: In function 'fsl_i2c_probe':
    drivers/i2c/busses/i2c-mpc.c:650:31: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]

    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Uwe Kleine-König

    Uwe Kleine-König
     
  • This prepares *of_device_id.data becoming const. Without this change
    the following warning would occur:

    drivers/i2c/busses/i2c-omap.c: In function 'omap_i2c_probe':
    drivers/i2c/busses/i2c-omap.c:1025: warning: assignment discards qualifiers from pointer target type

    Reviewed-by: Shubhrajyoti D
    Signed-off-by: Uwe Kleine-König

    Uwe Kleine-König
     

10 Sep, 2012

3 commits

  • If kernel is compiled with CONFIG_PROVE_LOCKING the
    validator raises an error when a multiplexer is removed
    via sysfs and sub-clients are connected to it. This is a
    false positive.
    Documentation/lockdep-design.txt recommends to handle this
    via calls to mutex_lock_nested().

    Based on an earlier fix from Michael Lawnick.

    Note that the extra code resolves to nothing unless
    CONFIG_DEBUG_LOCK_ALLOC=y.

    Signed-off-by: Jean Delvare
    Cc: Michael Lawnick

    Jean Delvare
     
  • This patch adds config I2C_DESIGNWARE_CORE in Kconfig, and let
    I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_PCI select I2C_DESIGNWARE_CORE.

    Because both I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_PCI can be built as
    built-in or module, we also need to export the functions in i2c-designware-core.

    This fixes below build error when CONFIG_I2C_DESIGNWARE_PLATFORM=y &&
    CONFIG_I2C_DESIGNWARE_PCI=y:

    LD drivers/i2c/busses/built-in.o
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_clear_int':
    i2c-designware-core.c:(.text+0xa10): multiple definition of `i2c_dw_clear_int'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x928): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_init':
    i2c-designware-core.c:(.text+0x178): multiple definition of `i2c_dw_init'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x90): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `dw_readl':
    i2c-designware-core.c:(.text+0xe8): multiple definition of `dw_readl'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x0): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_isr':
    i2c-designware-core.c:(.text+0x724): multiple definition of `i2c_dw_isr'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x63c): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_xfer':
    i2c-designware-core.c:(.text+0x4b0): multiple definition of `i2c_dw_xfer'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x3c8): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_is_enabled':
    i2c-designware-core.c:(.text+0x9d4): multiple definition of `i2c_dw_is_enabled'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x8ec): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `dw_writel':
    i2c-designware-core.c:(.text+0x124): multiple definition of `dw_writel'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x3c): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_xfer_msg':
    i2c-designware-core.c:(.text+0x2e8): multiple definition of `i2c_dw_xfer_msg'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x200): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_enable':
    i2c-designware-core.c:(.text+0x9c8): multiple definition of `i2c_dw_enable'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x8e0): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_read_comp_param':
    i2c-designware-core.c:(.text+0xa24): multiple definition of `i2c_dw_read_comp_param'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x93c): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_disable':
    i2c-designware-core.c:(.text+0x9dc): multiple definition of `i2c_dw_disable'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x8f4): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_func':
    i2c-designware-core.c:(.text+0x710): multiple definition of `i2c_dw_func'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x628): first defined here
    drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_disable_int':
    i2c-designware-core.c:(.text+0xa18): multiple definition of `i2c_dw_disable_int'
    drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x930): first defined here
    make[3]: *** [drivers/i2c/busses/built-in.o] Error 1
    make[2]: *** [drivers/i2c/busses] Error 2
    make[1]: *** [drivers/i2c] Error 2
    make: *** [drivers] Error 2

    Signed-off-by: Axel Lin
    Signed-off-by: Jean Delvare
    Tested-by: Jiri Slaby
    Cc: stable@vger.kernel.org [3.2+]

    Axel Lin
     
  • Add the SMBus Device IDs for the Intel Lynx Point-LP PCH.

    Signed-off-by: James Ralston
    Signed-off-by: Jean Delvare

    James Ralston
     

06 Sep, 2012

1 commit


04 Sep, 2012

1 commit

  • As Stephen Rothwell reports, a849088aa155 ("ARM: Fix ioremap() of
    address zero") from the arm-current tree and commit c2794437091a ("ARM:
    Add fixed PCI i/o mapping") from the arm-soc tree conflict in
    a nontrivial way in arch/arm/mm/mmu.c.

    Rob Herring explains:
    The PCI i/o reserved area has a dummy physical address of 0 and
    needs to be skipped by ioremap searches. So we don't set
    VM_ARM_STATIC_MAPPING to prevent matches by ioremap. The vm_struct
    settings don't really matter when we do the real mapping of the
    i/o space.

    Since commit a849088aa155 is at the start of the fixes branch
    in the arm tree, we can merge it into the branch that contains
    the other ioremap changes.

    Signed-off-by: Arnd Bergmann
    Cc: Rob Herring
    Cc: Russell King

    Arnd Bergmann
     

26 Aug, 2012

1 commit


19 Aug, 2012

1 commit

  • The CONFIG_PM doesn't actually enable any of the PM callbacks, it
    only allows to enable CONFIG_PM_SLEEP and CONFIG_PM_RUNTIME.
    This means if CONFIG_PM is used to protect system sleep callbacks
    then it may end up unreferenced if only runtime PM is enabled.
    Hence protecting sleep callbacks with CONFIG_PM_SLEEP.

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Wolfram Sang

    Laxman Dewangan
     

18 Aug, 2012

3 commits

  • The master_xfer function returns 0 on success. It should return the number of
    successful transactions.

    Signed-off-by: Guenter Roeck
    Signed-off-by: Wolfram Sang

    Guenter Roeck
     
  • In omap_i2c_xfer(), ensure pm_runtime_put() is called, even on
    failure.

    Without this, after a failed xfer, the runtime PM usecount will have
    been incremented, but not decremented causing the usecount to never
    reach zero after a failure. This keeps the device always runtime PM
    enabled which keeps the enclosing power domain active, and prevents
    full-chip retention/off from happening during idle.

    Signed-off-by: Kevin Hilman
    Reviewed-by: Shubhrajyoti D
    Signed-off-by: Wolfram Sang

    Kevin Hilman
     
  • At this moment in time there is only one known configuration for the
    Nomadik I2C driver. By not holding that configuration in the driver
    adds some unnecessary overhead in platform code. The configuration
    has already been removed from platform code, this patch checks for any
    over-riding configurations. If there aren't any, the default is used.

    [LinusW says: "Right now this is causing boot regressions so we need it
    badly..."]

    Acked-by: srinidhi kasagar
    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Wolfram Sang

    Lee Jones
     

01 Aug, 2012

1 commit

  • Pull random subsystem patches from Ted Ts'o:
    "This patch series contains a major revamp of how we collect entropy
    from interrupts for /dev/random and /dev/urandom.

    The goal is to addresses weaknesses discussed in the paper "Mining
    your Ps and Qs: Detection of Widespread Weak Keys in Network Devices",
    by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J. Alex Halderman,
    which will be published in the Proceedings of the 21st Usenix Security
    Symposium, August 2012. (See https://factorable.net for more
    information and an extended version of the paper.)"

    Fix up trivial conflicts due to nearby changes in
    drivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}

    * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)
    random: mix in architectural randomness in extract_buf()
    dmi: Feed DMI table to /dev/random driver
    random: Add comment to random_initialize()
    random: final removal of IRQF_SAMPLE_RANDOM
    um: remove IRQF_SAMPLE_RANDOM which is now a no-op
    sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op
    board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op
    isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op
    pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out
    uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op
    drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op
    xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op
    n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op
    pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op
    i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op
    input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op
    mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op
    ...

    Linus Torvalds
     

31 Jul, 2012

4 commits

  • Pull media updates from Mauro Carvalho Chehab:
    "This is the first part of the media patches for v3.6.

    This patch series contain:
    - new DVB frontend: rtl2832
    - new video drivers: adv7393
    - some unused files got removed
    - a selection API cleanup between V4L2 and V4L2 subdev API's
    - a major redesign at v4l-ioctl2, in order to clean it up
    - several driver fixes and improvements."

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (174 commits)
    v4l: Export v4l2-common.h in include/linux/Kbuild
    media: Revert "[media] Terratec Cinergy S2 USB HD Rev.2"
    [media] media: Use pr_info not homegrown pr_reg macro
    [media] Terratec Cinergy S2 USB HD Rev.2
    [media] v4l: Correct conflicting V4L2 subdev selection API documentation
    [media] Feature removal: V4L2 selections API target and flag definitions
    [media] v4l: Unify selection flags documentation
    [media] v4l: Unify selection flags
    [media] v4l: Common documentation for selection targets
    [media] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces
    [media] v4l: Remove "_ACTUAL" from subdev selection API target definition names
    [media] V4L: Remove "_ACTIVE" from the selection target name definitions
    [media] media: dvb-usb: print mac address via native %pM
    [media] s5p-tv: Use module_i2c_driver in sii9234_drv.c file
    [media] media: gpio-ir-recv: add allowed_protos for platform data
    [media] s5p-jpeg: Use module_platform_driver in jpeg-core.c file
    [media] saa7134: fix spelling of detach in label
    [media] cx88-blackbird: replace ioctl by unlocked_ioctl
    [media] cx88: don't use current_norm
    [media] cx88: fix a number of v4l2-compliance violations
    ...

    Linus Torvalds
     
  • Merge Andrew's first set of patches:
    "Non-MM patches:

    - lots of misc bits

    - tree-wide have_clk() cleanups

    - quite a lot of printk tweaks. I draw your attention to "printk:
    convert the format for KERN_ to a 2 byte pattern" which
    looks a bit scary. But afaict it's solid.

    - backlight updates

    - lib/ feature work (notably the addition and use of memweight())

    - checkpatch updates

    - rtc updates

    - nilfs updates

    - fatfs updates (partial, still waiting for acks)

    - kdump, proc, fork, IPC, sysctl, taskstats, pps, etc

    - new fault-injection feature work"

    * Merge emailed patches from Andrew Morton : (128 commits)
    drivers/misc/lkdtm.c: fix missing allocation failure check
    lib/scatterlist: do not re-write gfp_flags in __sg_alloc_table()
    fault-injection: add tool to run command with failslab or fail_page_alloc
    fault-injection: add selftests for cpu and memory hotplug
    powerpc: pSeries reconfig notifier error injection module
    memory: memory notifier error injection module
    PM: PM notifier error injection module
    cpu: rewrite cpu-notifier-error-inject module
    fault-injection: notifier error injection
    c/r: fcntl: add F_GETOWNER_UIDS option
    resource: make sure requested range is included in the root range
    include/linux/aio.h: cpp->C conversions
    fs: cachefiles: add support for large files in filesystem caching
    pps: return PTR_ERR on error in device_create
    taskstats: check nla_reserve() return
    sysctl: suppress kmemleak messages
    ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION
    ipc: compat: use signed size_t types for msgsnd and msgrcv
    ipc: allow compat IPC version field parsing if !ARCH_WANT_OLD_COMPAT_IPC
    ipc: add COMPAT_SHMLBA support
    ...

    Linus Torvalds
     
  • With addition of dummy clk_*() calls for non CONFIG_HAVE_CLK cases in
    clk.h, there is no need to have clk code enclosed in #ifdef
    CONFIG_HAVE_CLK, #endif macros.

    pxa i2c also has these dummy macros defined locally. Remove them as they
    aren't required anymore.

    Signed-off-by: Viresh Kumar
    Acked-by: Wolfram Sang
    Cc: Russell King
    Cc: Mike Turquette
    Cc: Sergei Shtylyov
    Cc: viresh kumar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Viresh Kumar
     
  • Pull MIPS updates from Ralf Baechle:
    "More hardware support across the field including a bunch of device
    drivers. The highlight however really are further steps towards
    device tree.

    This has been sitting in -next for ages. All MIPS _defconfigs have
    been tested to boot or where I don't have hardware available, to at
    least build fine."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (77 commits)
    MIPS: Loongson 1B: Add defconfig
    MIPS: Loongson 1B: Add board support
    MIPS: Netlogic: early console fix
    MIPS: Netlogic: Fix indentation of smpboot.S
    MIPS: Netlogic: remove cpu_has_dc_aliases define for XLP
    MIPS: Netlogic: Remove unused pcibios_fixups
    MIPS: Netlogic: Add XLP SoC devices in FDT
    MIPS: Netlogic: Add IRQ mappings for more devices
    MIPS: Netlogic: USB support for XLP
    MIPS: Netlogic: XLP PCIe controller support.
    MIPS: Netlogic: Platform changes for XLR/XLS I2C
    MIPS: Netlogic: Platform NAND/NOR flash support
    MIPS: Netlogic: Platform changes for XLS USB
    MIPS: Netlogic: Remove NETLOGIC_ prefix
    MIPS: Netlogic: SMP wakeup code update
    MIPS: Netlogic: Update comments in smpboot.S
    MIPS: BCM63XX: Add 96328avng reference board
    MIPS: Expose PCIe drivers for MIPS
    MIPS: BCM63XX: Add PCIe Support for BCM6328
    MIPS: BCM63XX: Move the PCI initialization into its own function
    ...

    Linus Torvalds
     

29 Jul, 2012

1 commit

  • Pull embedded i2c changes from Wolfram Sang:
    "Changes for the "embedded" part of the I2C subsystem:

    - lots of devicetree conversions of drivers (and preparations for
    that)
    - big cleanups for drivers for OMAP, Tegra, Nomadik, Blackfin
    - Rafael's struct dev_pm_ops conversion patches for I2C
    - usual driver cleanups and fixes

    All patches have been in linux-next for an apropriate time and all
    patches touching files outside of i2c-folders should have proper acks
    from the maintainers."

    * 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux: (60 commits)
    Revert "i2c: tegra: convert normal suspend/resume to *_noirq"
    I2C: MV64XYZ: Add Device Tree support
    i2c: stu300: use devm managed resources
    i2c: i2c-ocores: support for 16bit and 32bit IO
    V4L/DVB: mfd: use reg_shift instead of regstep
    i2c: i2c-ocores: Use reg-shift property
    i2c: i2c-ocores: DT bindings and minor fixes.
    i2c: mv64xxxx: remove EXPERIMENTAL tag
    i2c-s3c2410: Use plain pm_runtime_put()
    i2c: s3c2410: Fix pointer type passed to of_match_node()
    i2c: mxs: Set I2C timing registers for mxs-i2c
    i2c: i2c-bfin-twi: Move blackfin TWI register access Macro to head file.
    i2c: i2c-bfin-twi: Move TWI peripheral pin request array to platform data.
    i2c:i2c-bfin-twi: include twi head file
    i2c:i2c-bfin-twi: TWI fails to restart next transfer in high system load.
    i2c: i2c-bfin-twi: Tighten condition when failing I2C transfer if MEN bit is reset unexpectedly.
    i2c: i2c-bfin-twi: Break dead waiting loop if i2c device misbehaves.
    i2c: i2c-bfin-twi: Improve the patch for bug "Illegal i2c bus lock upon certain transfer scenarios".
    i2c: i2c-bfin-twi: Illegal i2c bus lock upon certain transfer scenarios.
    i2c-mv64xxxx: allow more than one driver instance
    ...

    Conflicts:
    drivers/i2c/busses/i2c-nomadik.c

    Linus Torvalds
     

25 Jul, 2012

2 commits

  • Instead of using the custom iop3xx gpio functions, use the gpiolib
    variants. This should be functionally the same since the gpiolib
    just calls the iop3xx gpio functions. This is needed in preparation
    of removing iop3xx mach/io.h headers.

    Signed-off-by: Rob Herring
    Cc: "Jean Delvare (PC drivers, core)"
    Cc: "Ben Dooks (embedded platforms)"
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: linux-i2c@vger.kernel.org

    Rob Herring
     
  • Remove a bunch of trailing whitespace. No functional changes.

    Signed-off-by: Rob Herring
    Cc: "Jean Delvare (PC drivers, core)"
    Cc: "Ben Dooks (embedded platforms)"
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: linux-i2c@vger.kernel.org

    Rob Herring