16 Jan, 2012

1 commit

  • omap3isp depends on CONFIG_IOMMU_API, so avoid registering its
    device (and defining its configuration structs) on !CONFIG_IOMMU_API.

    This is generally nice to have, but more importantly, it fixes:

    arch/arm/plat-omap/include/plat/iommu.h: In function 'dev_to_omap_iommu':
    arch/arm/plat-omap/include/plat/iommu.h:135: error: 'struct
    dev_archdata' has no member named 'iommu'
    arch/arm/mach-omap2/devices.c: In function 'omap3_init_camera':
    arch/arm/mach-omap2/devices.c:222: error: 'struct dev_archdata' has no
    member named 'iommu'
    make[1]: *** [arch/arm/mach-omap2/devices.o] Error 1
    make: *** [arch/arm/mach-omap2] Error 2

    Which happens because while setting up the omap3isp device we try
    to access the (now nonexistent) iommu member of dev_archdata.

    Compile tested with omap2plus_defconfig on today's:

    commit e343a895a9f342f239c5e3c5ffc6c0b1707e6244
    Merge: 06792c4 193a667
    Author: Linus Torvalds
    Date: Tue Jan 10 18:04:27 2012 -0800

    Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost

    Reported-by: Govindraj Raja
    Reported-by: Arik Nemtsov
    Signed-off-by: Ohad Ben-Cohen
    Cc: Tony Lindgren
    Cc: Joerg Roedel
    Cc: Laurent Pinchart
    Acked-by: Laurent Pinchart
    Acked-by: Tony Lindgren
    Signed-off-by: Joerg Roedel

    Ohad Ben-Cohen
     

09 Jan, 2012

1 commit


21 Dec, 2011

1 commit


16 Dec, 2011

1 commit

  • Seems the commit 7e89098 was overly aggressive in adding iva and mailbox
    hwmods so now they are registered twice.

    ------------[ cut here ]------------
    WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1959 omap_hwmod_register+0x104/0x12c()
    omap_hwmod: iva: _register returned -22
    Modules linked in:
    [] (unwind_backtrace+0x0/0xec) from [] (warn_slowpath_common+0x4c/0x64)
    [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_fmt+0x2c/0x3c)
    [] (warn_slowpath_fmt+0x2c/0x3c) from [] (omap_hwmod_register+0x104/0x12c)
    [] (omap_hwmod_register+0x104/0x12c) from [] (omap3_init_early+0x1c/0x28)
    [] (omap3_init_early+0x1c/0x28) from [] (setup_arch+0x6b8/0x7a4)
    [] (setup_arch+0x6b8/0x7a4) from [] (start_kernel+0x6c/0x264)
    [] (start_kernel+0x6c/0x264) from [] (0x80008040)
    ---[ end trace 1b75b31a2719ed1c ]---
    ------------[ cut here ]------------
    WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1959 omap_hwmod_register+0x104/0x12c()
    omap_hwmod: mailbox: _register returned -22
    Modules linked in:
    [] (unwind_backtrace+0x0/0xec) from [] (warn_slowpath_common+0x4c/0x64)
    [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_fmt+0x2c/0x3c)
    [] (warn_slowpath_fmt+0x2c/0x3c) from [] (omap_hwmod_register+0x104/0x12c)
    [] (omap_hwmod_register+0x104/0x12c) from [] (omap3_init_early+0x1c/0x28)
    [] (omap3_init_early+0x1c/0x28) from [] (setup_arch+0x6b8/0x7a4)
    [] (setup_arch+0x6b8/0x7a4) from [] (start_kernel+0x6c/0x264)
    [] (start_kernel+0x6c/0x264) from [] (0x80008040)
    ---[ end trace 1b75b31a2719ed1d ]---

    Signed-off-by: Felipe Contreras
    Signed-off-by: Paul Walmsley

    Felipe Contreras
     

14 Dec, 2011

1 commit

  • Commit 10299e2e4e3ed3b16503d4e04edd48b33083f4e2 (ARM: RX-51:
    Enable isp1704 power on/off) added power management for isp1704.

    However, the transceiver should be powered on by default,
    otherwise USB doesn't work at all for networking during
    boot.

    All kernels after v3.0 are affected.

    Cc: stable@kernel.org
    Signed-off-by: Felipe Contreras
    Reviewed-by: Sebastian Reichel
    [tony@atomide.com: updated comments]
    Signed-off-by: Tony Lindgren

    Felipe Contreras
     

13 Dec, 2011

1 commit

  • Commits 09d28d ("ARM: OMAP: mcbsp: Start generalize omap2_mcbsp_set_clks_src")
    and 7bc0c4 ("ARM: OMAP: mcbsp: Start generalize signal muxing functions")
    incorrectly set two struct omap_mcbsp_platform_data fields after
    omap_device_build_ss and kfree calls.

    Fix this by moving these pdata assignments before those calls.

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

    Jarkko Nikula
     

05 Dec, 2011

2 commits


24 Nov, 2011

8 commits

  • …/linux-omap into fixes

    Arnd Bergmann
     
  • Tony Lindgren
     
  • Fix below compilation failure on mainline kernel 3.2-rc1
    when omap_l3_noc.c is built as module.

    arch/arm/mach-omap2/omap_l3_noc.c:240: error: expected ',' or ';' before 'MODULE_DEVICE_TABLE'

    Signed-off-by: Govindraj.R
    Acked-by: Santosh Shilimkar
    Signed-off-by: Tony Lindgren

    Govindraj.R
     
  • The file arch/arm/mach-omap2/io.h is empty, so we can remove it.

    Signed-off-by: Thomas Weber
    Acked-by: Kevin Hilman
    Signed-off-by: Tony Lindgren

    Thomas Weber
     
  • This patch selects ARM_AMBA if OMAP3_EMU is defined because
    OC_ETM depends on ARM_AMBA, so fix the link failure[1].

    [1],
    arch/arm/kernel/built-in.o: In function `etm_remove':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:609: undefined
    reference to `amba_release_regions'
    arch/arm/kernel/built-in.o: In function `etb_remove':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:409: undefined
    reference to `amba_release_regions'
    arch/arm/kernel/built-in.o: In function `etm_init':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:640: undefined
    reference to `amba_driver_register'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:646: undefined
    reference to `amba_driver_register'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:648: undefined
    reference to `amba_driver_unregister'
    arch/arm/kernel/built-in.o: In function `etm_probe':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:545: undefined
    reference to `amba_request_regions'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:595: undefined
    reference to `amba_release_regions'
    arch/arm/kernel/built-in.o: In function `etb_probe':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:347: undefined
    reference to `amba_request_regions'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:392: undefined
    reference to `amba_release_regions'
    arch/arm/mach-omap2/built-in.o: In function `emu_init':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:62:
    undefined reference to `amba_device_register'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:63:
    undefined reference to `amba_device_register'
    make: *** [.tmp_vmlinux1] Error 1
    making modules

    Signed-off-by: Ming Lei
    Cc: stable@vger.kernel.org
    Signed-off-by: Tony Lindgren

    Ming Lei
     
  • Fix a bug which has been on this driver since
    it was added by the original commit 984aa6db
    which would never clear IRQSTATUS bits.

    Signed-off-by: Felipe Balbi
    Signed-off-by: Kevin Hilman
    Cc: stable@vger.kernel.org
    Signed-off-by: Tony Lindgren

    Felipe Balbi
     
  • Current code registers voltage layer details for TWL PMIC even when a TWL
    has not been registered. Fix this to only register the TWL with voltage
    layer when the TWL PMIC is initialized by board-level code.

    Signed-off-by: Kevin Hilman
    Cc: stable@vger.kernel.org
    Signed-off-by: Tony Lindgren

    Kevin Hilman
     
  • The address spaces, irqs and dma reqs count APIs return the
    number of corresponding entries in a hwmod including a additional
    null value or a -1 terminator in the structure introduced recently.
    More information here:

    - 212738a4: omap_hwmod: use a terminator record with omap_hwmod_mpu_irqs
    arrays

    - 78183f3f: omap_hwmod: use a null structure record to terminate
    omap_hwmod_addr_space arrays

    - bc614958: omap_hwmod: use a terminator record with omap_hwmod_dma_info
    arrays

    The issue with irqs and dma info was originally reported by Benoit Cousson.

    The devices which have multiple hwmods and use device_build_ss are
    broken with this, as their resources are populated with a extra null
    value, subsequently the probe fails. So fix the API not to include
    the array terminator in the count.

    Reported-by: Benoit Cousson
    Signed-off-by: Santosh Shilimkar
    Signed-off-by: sricharan
    Signed-off-by: Benoit Cousson
    Cc: Paul Walmsley
    Cc: stable@vger.kernel.org
    Signed-off-by: Tony Lindgren

    sricharan
     

08 Nov, 2011

15 commits

  • Resetting DISPC when a DISPC output is enabled causes the DSS to go into an
    inconsistent state. Thus if the bootloader has enabled a display, the hwmod code
    cannot reset the DISPC module just like that, but the outputs need to be
    disabled first.

    Add function dispc_disable_outputs() which disables all active overlay manager
    and ensure all frame transfers are completed.

    Modify omap_dss_reset() to call this function and clear DSS_CONTROL,
    DSS_SDI_CONTROL and DSS_PLL_CONTROL so that DSS is in a clean state when the
    DSS2 driver starts.

    This resolves the hang issue(caused by a L3 error during boot) seen on the
    beagle board C3, which has a factory bootloader that enables display. The issue
    is resolved with this patch.

    Thanks to Tomi and Sricharan for some additional testing.

    Acked-by: Tomi Valkeinen
    Tested-by: R, Sricharan
    Signed-off-by: Archit Taneja
    [paul@pwsan.com: restructured code, removed omap_{read,write}l(), removed
    cpu_is_omap*() calls and converted to dev_attr]
    Signed-off-by: Paul Walmsley

    Archit Taneja
     
  • This patch adds a custom DSS reset function used on OMAPs from OMAP2
    forward.

    The function doesn't actually do a reset, it only waits for the reset to
    complete. The reason for this is that on OMAP4 there is no possibility
    to do a SW reset, and on OMAP2/3 doing a SW reset for dss_core resets
    all the other DSS modules also, thus breaking the HWMOD model where
    every DSS module is handled independently.

    This fixes the problem with DSS reset on OMAP4, caused by the fact that
    because there's no SW reset for dss_core on OMAP4, the HWMOD framework
    doesn't try to reset dss_core and thus the DSS clocks were never enabled
    at the same time. This causes causes the HWMOD reset to fail for
    dss_dispc and dss_rfbi.

    The common reset function will also allow us to fix another problem in
    the future: before doing a reset we need to disable DSS outputs, which
    are in some cases enabled by the bootloader, as otherwise DSS HW seems
    to get more or less stuck, requiring a power reset to recover.

    Signed-off-by: Tomi Valkeinen
    [paul@pwsan.com: modified to build arch/arm/mach-omap2/display.o
    unconditionally to avoid an error when !CONFIG_OMAP2_DSS]
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • OMAP2/3 dss_core has a reset status flag in sysstatus register. Add
    SYSS_HAS_RESET_STATUS flag to HWMOD data so it can be used.

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • The OMAP4 HWMOD data currently contains errors with DSS clocks:

    dss_hdmi and dss_venc have their main_clks wrong. The clocks should be
    dss_48mhz_clk and dss_tv_clk, respectively.

    These problems were temporarily fixed with the DSS patches
    9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
    for OMAP2/3"), and df5d3ed23cf73ee0763a8963003bda9b69d9620f ("OMAP:
    DSS2: HDMI: fix hdmi clock name"), which can be reverted after this
    patch.

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • DSS needs all DSS clocks to be enabled to be able to finish reset
    properly. Before v3.1-rc1 the omapdss driver was managing clocks and
    resets correctly. However, when omapdss started using runtime PM at
    v3.1-rc1, the responsibility for the reset moved to HWMOD framework.

    HWMOD framework does not currently enable all the DSS clocks when
    resetting the DSS hardware. This causes the HWMOD frameworks boot-time
    reset to fail, possibly leaving the DSS hardware in undefined state.

    This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core. The flag
    is actually not used on OMAP4, because dss_core hardware does not have
    soft-reset functionality and thus the HWMOD framework never resets nor
    waits for the reset to finish.

    However, while the flag is not strictly needed currently, I think it
    represents the HW correctly: all the DSS clocks should be enabled after
    power-on to allow DSS hardware to finish its reset.

    A custom reset function will be added in the following patches which
    manages this correctly for OMAP4.

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • Remove the dss_dss_clk from dss_core's opt-clocks. dss_dss_clk already
    defined as the dss main_clk, and thus is not needed as an opt-clock.

    Remove opt-clocks for dss_dispc, as dispc only uses the main_clk.

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • The OMAP3 HWMOD data currently contains these errors with DSS clocks:

    - dss_rfbi is missing ick opt-clock, which is needed for RFBI to
    calculate timings

    - dss_dsi is missing ick and sys_clk

    - dss_venc is missing dss_96m_fck opt-clock, which is required on
    OMAP3430

    - dss_venc's interface and main clocks are wrong, causing VENC to fail
    to start

    These problems were temporarily fixed with a DSS patch
    9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
    for OMAP2/3"), which can be reverted after this patch (and the similar
    patches for other OMAPs).

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • DSS needs all DSS clocks to be enabled to be able to finish reset
    properly. Before v3.1-rc1 the omapdss driver was managing clocks and
    resets correctly. However, when omapdss started using runtime PM at
    v3.1-rc1, the responsibility for the reset moved to HWMOD framework.

    HWMOD framework does not currently enable all the DSS clocks when
    resetting the DSS hardware. This hasn't caused any problems so far, but
    we may just have been lucky.

    dss_core's opt-clocks is also missing dss_96m_fck, which is a DSS clock
    present only on OMAP3430, and thus required on OMAP3430 to finish the
    reset.

    This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET and adds the dss_96m_fck
    opt-clock for dss_core in OMAP3 HWMOD data, fixing the issue.

    Signed-off-by: Tomi Valkeinen
    [paul@pwsan.com: merged duplicate .flags fields]
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • The OMAP2xxx HWMOD data currently contains two errors with DSS clocks:

    - dss_rfbi is missing ick opt-clock, which is needed for RFBI to
    calculate timings

    - dss_venc's interface and main clocks are wrong, causing VENC to fail
    to start

    These problems were temporarily fixed with a DSS patch
    9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
    for OMAP2/3"), which can be reverted after this patch (and the similar
    patches for other OMAPs).

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • DSS needs all DSS clocks to be enabled to be able to finish reset
    properly. Before v3.1-rc1 the omapdss driver was managing clocks and
    resets correctly. However, when omapdss started using runtime PM at
    v3.1-rc1, the responsibility for the reset moved to HWMOD framework.

    HWMOD framework does not currently enable all the DSS clocks when
    resetting the DSS hardware. This hasn't caused any problems so far, but
    we may just have been lucky.

    This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core in OMAP2xxx
    HWMOD data, fixing the issue.

    Signed-off-by: Tomi Valkeinen
    [paul@pwsan.com: merged duplicate .flags fields]
    Signed-off-by: Paul Walmsley

    Tomi Valkeinen
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
    ARM: OMAP: Fix export.h or module.h includes
    ARM: OMAP: omap_device: Include linux/export.h
    ARM: OMAP2: Fix H4 matrix keyboard warning
    ARM: OMAP1: Remove unused omap-alsa.h
    ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
    ARM: OMAP2+: timer: Remove omap_device_pm_latency
    ARM: OMAP2+: clock data: Remove redundant timer clkdev
    ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
    ARM: OMAP: usb: musb: OMAP: Delete unused function
    MAINTAINERS: Update linux-omap git repository
    ARM: OMAP: change get_context_loss_count ret value to int
    ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
    ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
    ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
    ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
    ARM: OMAP: dmtimer: Include linux/module.h
    ARM: OMAP2+: l3-noc: Include linux/module.h
    ARM: OMAP2+: devices: Fixes for McPDM
    ARM: OMAP: Fix errors and warnings when building for one board
    ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
    ...

    Linus Torvalds
     
  • The CPUidle use THIS_MODULE, so needs

    Signed-off-by: Kevin Hilman
    Signed-off-by: Tony Lindgren

    Kevin Hilman
     
  • Tony Lindgren
     
  • Commit 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb (Merge branch
    'modsplit-Oct31_2011'...) caused some build errors. Fix these
    and make sure we always have export.h or module.h included
    for MODULE_ and EXPORT_SYMBOL users:

    $ grep -rl ^MODULE_ arch/arm/*omap*/*.c | xargs \
    grep -L linux/module.h
    arch/arm/mach-omap2/dsp.c
    arch/arm/mach-omap2/mailbox.c
    arch/arm/mach-omap2/omap-iommu.c
    arch/arm/mach-omap2/smartreflex.c

    Also check we either have export.h or module.h included
    for the files exporting symbols:

    $ grep -rl EXPORT_SYMBOL arch/arm/*omap*/*.c | xargs \
    grep -L linux/export.h | xargs grep -L linux/module.h

    Cc: Russell King
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    cpuidle: Single/Global registration of idle states
    cpuidle: Split cpuidle_state structure and move per-cpu statistics fields
    cpuidle: Remove CPUIDLE_FLAG_IGNORE and dev->prepare()
    cpuidle: Move dev->last_residency update to driver enter routine; remove dev->last_state
    ACPI: Fix CONFIG_ACPI_DOCK=n compiler warning
    ACPI: Export FADT pm_profile integer value to userspace
    thermal: Prevent polling from happening during system suspend
    ACPI: Drop ACPI_NO_HARDWARE_INIT
    ACPI atomicio: Convert width in bits to bytes in __acpi_ioremap_fast()
    PNPACPI: Simplify disabled resource registration
    ACPI: Fix possible recursive locking in hwregs.c
    ACPI: use kstrdup()
    mrst pmu: update comment
    tools/power turbostat: less verbose debugging

    Linus Torvalds
     

07 Nov, 2011

4 commits

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     
  • This patch makes the cpuidle_states structure global (single copy)
    instead of per-cpu. The statistics needed on per-cpu basis
    by the governor are kept per-cpu. This simplifies the cpuidle
    subsystem as state registration is done by single cpu only.
    Having single copy of cpuidle_states saves memory. Rare case
    of asymmetric C-states can be handled within the cpuidle driver
    and architectures such as POWER do not have asymmetric C-states.

    Having single/global registration of all the idle states,
    dynamic C-state transitions on x86 are handled by
    the boot cpu. Here, the boot cpu would disable all the devices,
    re-populate the states and later enable all the devices,
    irrespective of the cpu that would receive the notification first.

    Reference:
    https://lkml.org/lkml/2011/4/25/83

    Signed-off-by: Deepthi Dharwar
    Signed-off-by: Trinabh Gupta
    Tested-by: Jean Pihet
    Reviewed-by: Kevin Hilman
    Acked-by: Arjan van de Ven
    Acked-by: Kevin Hilman
    Signed-off-by: Len Brown

    Deepthi Dharwar
     
  • This is the first step towards global registration of cpuidle
    states. The statistics used primarily by the governor are per-cpu
    and have to be split from rest of the fields inside cpuidle_state,
    which would be made global i.e. single copy. The driver_data field
    is also per-cpu and moved.

    Signed-off-by: Deepthi Dharwar
    Signed-off-by: Trinabh Gupta
    Tested-by: Jean Pihet
    Reviewed-by: Kevin Hilman
    Acked-by: Arjan van de Ven
    Acked-by: Kevin Hilman
    Signed-off-by: Len Brown

    Deepthi Dharwar
     
  • Cpuidle governor only suggests the state to enter using the
    governor->select() interface, but allows the low level driver to
    override the recommended state. The actual entered state
    may be different because of software or hardware demotion. Software
    demotion is done by the back-end cpuidle driver and can be accounted
    correctly. Current cpuidle code uses last_state field to capture the
    actual state entered and based on that updates the statistics for the
    state entered.

    Ideally the driver enter routine should update the counters,
    and it should return the state actually entered rather than the time
    spent there. The generic cpuidle code should simply handle where
    the counters live in the sysfs namespace, not updating the counters.

    Reference:
    https://lkml.org/lkml/2011/3/25/52

    Signed-off-by: Deepthi Dharwar
    Signed-off-by: Trinabh Gupta
    Tested-by: Jean Pihet
    Reviewed-by: Kevin Hilman
    Acked-by: Arjan van de Ven
    Acked-by: Kevin Hilman
    Signed-off-by: Len Brown

    Deepthi Dharwar
     

05 Nov, 2011

5 commits

  • Convert to use matrix keyboard to remove the warning
    "Please update the board to use matrix-keypad driver".

    Based on similar setup in palmtc.c. Note that this
    patch is compile tested only because of lack of working
    hardware.

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • Remove the structure since a default one is now available.

    Signed-off-by: Benoit Cousson
    Cc: Kevin Hilman
    Signed-off-by: Tony Lindgren

    Benoit Cousson
     
  • The commit 318c3e15cd55c73a26ae22a65a8183655b3003f9
    added some "fck" clock alias to timer devices that are
    not needed anymore since hwmod framework will create
    them automatically.

    A warning was added to highlight and thus fix the redundancy.

    [ 0.616424] omap_timer.1: alias fck already exists
    [ 0.621948] omap_timer.2: alias fck already exists
    [ 0.627380] omap_timer.3: alias fck already exists
    [ 0.632781] omap_timer.4: alias fck already exists
    [ 0.638214] omap_timer.5: alias fck already exists
    [ 0.643615] omap_timer.6: alias fck already exists
    [ 0.649078] omap_timer.7: alias fck already exists
    [ 0.654479] omap_timer.8: alias fck already exists
    [ 0.659881] omap_timer.9: alias fck already exists
    [ 0.665283] omap_timer.10: alias fck already exists
    [ 0.670776] omap_timer.11: alias fck already exists

    Remove all the clkdev entries for timer fck alias.

    Signed-off-by: Benoit Cousson
    Cc: Tarun Kanti DebBarma
    Signed-off-by: Tony Lindgren

    Benoit Cousson
     
  • Remove the init of card detect pin because
    omap_mux_init_gpio() is called during hsmmc initialization
    for the write protect and card detect pin.

    Signed-off-by: Thomas Weber
    Signed-off-by: Tony Lindgren

    Thomas Weber
     
  • Not in use anymore.

    Signed-off-by: Bjarne Steinsbo
    Acked-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Bjarne Steinsbo