05 Nov, 2011

1 commit

  • Commit 4d17aeb1c5b2375769446d13012a98e6d265ec13 ("OMAP: I2C: split
    device registration and convert OMAP2+ to omap_device") makes
    omap2_i2c_add_bus() return a pointer to an omap_device instead on
    success instead of 0.

    This breaks the omap_register_i2c_bus() ABI and results in the igep0020
    board code detecting an I2C bus registration error when there is none.

    Fix the problem by using PTR_RET() instead of PTR_ERR() in
    omap2_i2c_add_bus().

    Reported-by: Alexander Kinzer
    Signed-off-by: Laurent Pinchart
    [tony@atomide.com: updated to return pdev instead of od]
    Signed-off-by: Tony Lindgren

    Laurent Pinchart
     

02 Nov, 2011

2 commits

  • * 'next/cleanup2' of git://git.linaro.org/people/arnd/arm-soc: (31 commits)
    ARM: OMAP: Warn if omap_ioremap is called before SoC detection
    ARM: OMAP: Move set_globals initialization to happen in init_early
    ARM: OMAP: Map SRAM later on with ioremap_exec()
    ARM: OMAP: Remove calls to SRAM allocations for framebuffer
    ARM: OMAP: Avoid cpu_is_omapxxxx usage until map_io is done
    ARM: OMAP1: Use generic map_io, init_early and init_irq
    arm/dts: OMAP3+: Add mpu, dsp and iva nodes
    arm/dts: OMAP4: Add a main ocp entry bound to l3-noc driver
    ARM: OMAP2+: l3-noc: Add support for device-tree
    ARM: OMAP2+: board-generic: Add i2c static init
    ARM: OMAP2+: board-generic: Add DT support to generic board
    arm/dts: Add support for OMAP3 Beagle board
    arm/dts: Add initial device tree support for OMAP3 SoC
    arm/dts: Add support for OMAP4 SDP board
    arm/dts: Add support for OMAP4 PandaBoard
    arm/dts: Add initial device tree support for OMAP4 SoC
    ARM: OMAP: omap_device: Add a method to build an omap_device from a DT node
    ARM: OMAP: omap_device: Add omap_device_[alloc|delete] for DT integration
    of: Add helpers to get one string in multiple strings property
    ARM: OMAP2+: devices: Remove all omap_device_pm_latency structures
    ...

    Fix up trivial header file conflicts in arch/arm/mach-omap2/board-generic.c

    Linus Torvalds
     
  • * 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc: (125 commits)
    ARM: mach-mxs: fix machines' initializers order
    mmc: mxcmmc: explicitly includes mach/hardware.h
    arm/imx: explicitly includes mach/hardware.h in pm-imx27.c
    arm/imx: remove mx27_setup_weimcs() from mx27.h
    arm/imx: explicitly includes mach/hardware.h in mach-kzm_arm11_01.c
    arm/imx: remove mx31_setup_weimcs() from mx31.h
    ARM: tegra: devices.c should include devices.h
    ARM: tegra: cpu-tegra: unexport two functions
    ARM: tegra: cpu-tegra: sparse type fix
    ARM: tegra: dma: staticify some tables and functions
    ARM: tegra: tegra2_clocks: don't export some tables
    ARM: tegra: tegra_powergate_is_powered should be static
    ARM: tegra: tegra_rtc_read_ms should be static
    ARM: tegra: tegra_init_cache should be static
    ARM: tegra: pcie: 0 -> NULL changes
    ARM: tegra: pcie: include board.h
    ARM: tegra: pcie: don't cast __iomem pointers
    ARM: tegra: tegra2_clocks: 0 -> NULL changes
    ARM: tegra: tegra2_clocks: don't cast __iomem pointers
    ARM: tegra: timer: don't cast __iomem pointers
    ...

    Fix up trivial conflicts in
    arch/arm/mach-omap2/Makefile,
    arch/arm/mach-u300/{Makefile.boot,core.c}
    arch/arm/plat-{mxc,omap}/devices.c

    Linus Torvalds
     

29 Oct, 2011

4 commits


05 Oct, 2011

1 commit


16 Sep, 2011

1 commit

  • All of the device init and device driver interaction with omap_device
    is done using platform_device pointers. To make this more explicit,
    have omap_device return a platform_device pointer instead of an
    omap_device pointer.

    All current users of the omap_device pointer were only using it to get
    at the platform_device pointer or struct device pointer, so fixing all
    of the users was trivial.

    This also makes it more difficult for device init code to directly
    access members of struct omap_device, and allows for easier changing
    of omap_device internals.

    Cc: Paul Walmsley
    Signed-off-by: Kevin Hilman

    Kevin Hilman
     

28 Jan, 2011

1 commit

  • Fix the following compile warning:
    arch/arm/plat-omap/i2c.c:120:13: warning:
    'omap_pm_set_max_mpu_wakeup_lat_compat' defined but not used
    arch/arm/plat-omap/i2c.c:125:38: warning: 'omap_i2c_latency'
    defined but not used

    Signed-off-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Felipe Balbi
     

21 Dec, 2010

1 commit

  • The convention for omap device naming is omap_XXX.

    Rename the device and driver name in order to stick
    to this naming convention.

    Change device name in clock nodes as well.

    Signed-off-by: Benoit Cousson
    Cc: Kevin Hilman
    Cc: Rajendra Nayak
    Cc: Ben Dooks
    Acked-by: Paul Walmsley
    Acked-by: Ben Dooks
    Signed-off-by: Tony Lindgren

    Benoit Cousson
     

08 Dec, 2010

2 commits

  • In some cases we can get error function `omap2_i2c_add_bus':
    arch/arm/plat-omap/i2c.c:136: undefined reference to `omap2_i2c_mux_pins'
    arch/arm/plat-omap/i2c.c:141: undefined reference to `omap_hwmod_lookup'
    arch/arm/plat-omap/i2c.c:157: undefined reference to `omap_device_build'

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • Commit 4d17aeb1c5b2375769446d13012a98e6d265ec13 ("OMAP: I2C: split
    device registration and convert OMAP2+ to omap_device") broke I2C on
    OMAP1. The following messages appear at boot:

    i2c_omap i2c_omap.1: failure requesting irq 0
    i2c_omap: probe of i2c_omap.1 failed with error -22

    Investigation revealed that a chunk of code is missing from the
    original plat-omap/i2c.c file which configured the IRQ and base address
    for the I2C block on OMAP1. Upon adding this back, the OMAP1 I2C block
    seems to initialize correctly.

    Thanks to Cory Maccarrone for reporting the bug,
    and apologies for the breakage.

    Signed-off-by: Paul Walmsley
    Cc: Janusz Krzysztofik
    Tested-by: Cory Maccarrone
    Signed-off-by: Tony Lindgren

    Paul Walmsley
     

10 Nov, 2010

1 commit


27 Jul, 2010

1 commit

  • …set_max_dev_wakeup_lat()

    Add return values to the PM constraint functions. This allows the PM
    core to provide feedback to the caller if a constraint is not
    possible. Update the one upstream user of omap_pm_set_max_mpu_wakeup_lat()
    to add a compatibility wrapper, needed until the driver is changed.

    Update some of the documentation to conform more closely to kerneldoc style.

    Add an additional device parameter to omap_pm_set_max_dev_wakeup_lat()
    to identify the device requesting the constraint. This is so repeated calls
    to omap_pm_set_max_dev_wakeup_lat() with the same requesting device can
    override the device's previously-set constraint. Also, it allows the PM
    core to make a decision as to whether or not the constraint should be
    satisfied, based on the caller's identity.

    Signed-off-by: Paul Walmsley <paul@pwsan.com>

    Paul Walmsley
     

21 May, 2010

2 commits


20 May, 2010

1 commit

  • While waiting for completion of the i2c transfer, the
    MPU could hit OFF mode and cause several msecs of
    delay that made i2c transfers fail more often. The
    extra delays and subsequent re-trys cause i2c clocks
    to be active more often. This has also an negative
    effect on power consumption.

    Created a mechanism for passing and using the
    constraint setting function in driver code. The used
    mpu wake up latency constraints are now set individually
    per bus, and they are calculated based on clock rate
    and fifo size.

    Thanks to Jarkko Nikula, Moiz Sonasath, Paul Walmsley,
    and Nishanth Menon for tuning out the details of
    this patch.

    Updates by Kevin as requested by Tony:

    - Remove omap_set_i2c_constraint_func() in favor of conditionally
    adding the flag in omap_i2c_add_bus() in order to keep all the OMAP
    conditional checking in a single location.
    - Update set_mpu_wkup_lat prototypes to match OMAP PM layer so
    OMAP PM function can be used directly in pdata.

    Cc: Moiz Sonasath
    Cc: Jarkko Nikula
    Cc: Paul Walmsley
    Cc: Nishanth Menon
    Signed-off-by: Kalle Jokiniemi
    Signed-off-by: Kevin Hilman
    Signed-off-by: Tony Lindgren
    Signed-off-by: Ben Dooks

    Kalle Jokiniemi
     

26 Feb, 2010

1 commit

  • The commit b63128e81214cc2db2995d690438055c26d213a5 broke the pin muxing
    for I2C busses that are enabled from the kernel command line.

    Fix this by defining the board registration function omap_register_i2c_bus
    in common platform code as it was before but keep the muxing in architecture
    dependent files.

    Signed-off-by: Jarkko Nikula
    Signed-off-by: Tony Lindgren

    Jarkko Nikula
     

16 Feb, 2010

2 commits


12 Dec, 2009

1 commit


21 Oct, 2009

1 commit

  • Move the remaining headers under plat-omap/include/mach
    to plat-omap/include/plat. Also search and replace the
    files using these headers to include using the right path.

    This was done with:

    #!/bin/bash
    mach_dir_old="arch/arm/plat-omap/include/mach"
    plat_dir_new="arch/arm/plat-omap/include/plat"
    headers=$(cd $mach_dir_old && ls *.h)
    omap_dirs="arch/arm/*omap*/ \
    drivers/video/omap \
    sound/soc/omap"
    other_files="drivers/leds/leds-ams-delta.c \
    drivers/mfd/menelaus.c \
    drivers/mfd/twl4030-core.c \
    drivers/mtd/nand/ams-delta.c"

    for header in $headers; do
    old="#include

    Tony Lindgren
     

26 May, 2009

1 commit


24 Mar, 2009

3 commits


09 Jan, 2009

1 commit

  • arch/arm/mach-at91/at91cap9.c:337: error: 'NR_AIC_IRQS' undeclared here (not in a function)
    arch/arm/mach-at91/at91rm9200.c:301: error: 'NR_AIC_IRQS' undeclared here (not in a function)
    arch/arm/mach-at91/at91sam9260.c:351: error: 'NR_AIC_IRQS' undeclared here (not in a function)
    arch/arm/mach-at91/at91sam9261.c:287: error: 'NR_AIC_IRQS' undeclared here (not in a function)
    arch/arm/mach-at91/at91sam9263.c:312: error: 'NR_AIC_IRQS' undeclared here (not in a function)
    arch/arm/mach-at91/at91sam9rl.c:304: error: 'NR_AIC_IRQS' undeclared here (not in a function)
    arch/arm/mach-h720x/h7202-eval.c:38: error: implicit declaration of function 'IRQ_CHAINED_GPIOB'
    arch/arm/mach-ks8695/devices.c:46: error: 'KS8695_IRQ_WAN_RX_STATUS' undeclared here (not in a function)
    arch/arm/mach-msm/devices.c:28: error: 'INT_UART1' undeclared here (not in a function)
    arch/arm/mach-mx2/devices.c:233: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function)
    arch/arm/mach-mx3/devices.c:128: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function)
    arch/arm/mach-omap1/mcbsp.c:140: error: 'INT_730_McBSP1RX' undeclared here (not in a function)
    arch/arm/mach-omap1/mcbsp.c:165: error: 'INT_McBSP1RX' undeclared here (not in a function)
    arch/arm/mach-omap1/mcbsp.c:200: error: 'INT_McBSP1RX' undeclared here (not in a function)
    arch/arm/mach-omap2/board-apollon.c:286: error: implicit declaration of function 'omap_set_gpio_direction'
    arch/arm/mach-omap2/mcbsp.c:154: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function)
    arch/arm/mach-omap2/mcbsp.c:181: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function)
    arch/arm/mach-pxa/e350.c:36: error: 'IRQ_BOARD_START' undeclared here (not in a function)
    arch/arm/plat-s3c/dev-i2c0.c:32: error: 'IRQ_IIC' undeclared here (not in a function)
    ...

    Signed-off-by: Russell King

    Russell King
     

11 Dec, 2008

1 commit


07 Aug, 2008

2 commits


09 Feb, 2008

1 commit

  • This helper module simplifies I2C bus registration for different OMAP
    platforms by doing registration in one place only and to allow board
    specific bus configuration like clock rate and number of busses configured.

    Helper should cover OMAP processors from first to third generation.

    This patch just adds the feature and current implementation cleanup and
    board file modifications will be done in following patches.

    Signed-off-by: Jarkko Nikula
    Acked-by: David Brownell
    Signed-off-by: Tony Lindgren

    Jarkko Nikula