19 Jun, 2015

1 commit

  • * pm-sleep:
    PM / sleep: trace_device_pm_callback coverage in dpm_prepare/complete
    PM / wakeup: add a dummy wakeup_source to record statistics
    PM / sleep: Make suspend-to-idle-specific code depend on CONFIG_SUSPEND
    PM / sleep: Return -EBUSY from suspend_enter() on wakeup detection
    PM / tick: Add tracepoints for suspend-to-idle diagnostics
    PM / sleep: Fix symbol name in a comment in kernel/power/main.c
    leds / PM: fix hibernation on arm when gpio-led used with CPU led trigger
    ARM: omap-device: use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS
    bus: omap_l3_noc: add missed callbacks for suspend-to-disk
    PM / sleep: Add macro to define common noirq system PM callbacks
    PM / sleep: Refine diagnostic messages in enter_state()
    PM / wakeup: validate wakeup source before activating it.

    * pm-runtime:
    PM / Runtime: Update last_busy in rpm_resume
    PM / runtime: add note about re-calling in during device probe()

    Rafael J. Wysocki
     

13 May, 2015

1 commit


05 May, 2015

1 commit

  • The L3 Error handling on OMAP5 for the most part is very similar
    to that of OMAP4, and had leveraged common data structures and
    register layout definitions so far. Upon closer inspection, there
    are a few minor differences causing an incorrect decoding and
    reporting of the master NIU upon an error:

    1. The L3_TARG_STDERRLOG_MSTADDR.STDERRLOG_MSTADDR occupies
    11 bits on OMAP5 as against 8 bits on OMAP4, with the master
    NIU connID encoded in the 6 MSBs of the STDERRLOG_MSTADDR
    field.
    2. The CLK3 FlagMux component has 1 input source on OMAP4 and 3
    input sources on OMAP5. The common DEBUGSS source is at a
    different input on each SoC.

    Fix the above issues by using a OMAP5-specific compatible property
    and using SoC-specific data where there are differences.

    Signed-off-by: Suman Anna
    Acked-by: Nishanth Menon
    Signed-off-by: Tony Lindgren

    Suman Anna
     

06 Mar, 2015

1 commit

  • The IRQF_DISABLED flag is a NOOP and has been scheduled for removal
    since Linux v2.6.36 by commit 6932bf37bed4 ("genirq: Remove
    IRQF_DISABLED from core code").

    According to commit e58aa3d2d0cc ("genirq: Run irq handlers with
    interrupts disabled"), running IRQ handlers with interrupts
    enabled can cause stack overflows when the interrupt line of the
    issuing device is still active.

    This patch ends the grace period for IRQF_DISABLED (i.e.,
    SA_INTERRUPT in older versions of Linux) and removes the
    definition and all remaining usages of this flag.

    There's still a few non-functional references left in the kernel
    source:

    - The bigger hunk in Documentation/scsi/ncr53c8xx.txt is removed entirely
    as IRQF_DISABLED is gone now; the usage in older kernel versions
    (including the old SA_INTERRUPT flag) should be discouraged. The
    trouble of using IRQF_SHARED is a general problem and not specific to
    any driver.

    - I left the reference in Documentation/PCI/MSI-HOWTO.txt untouched since
    it has already been removed in linux-next.

    - All remaining references are changelogs that I suggest to keep.

    Signed-off-by: Valentin Rothberg
    Cc: Afzal Mohammed
    Cc: Arnd Bergmann
    Cc: Brian Norris
    Cc: Christoph Hellwig
    Cc: Dan Carpenter
    Cc: David Woodhouse
    Cc: Ewan Milne
    Cc: Eyal Perry
    Cc: Felipe Balbi
    Cc: Greg Kroah-Hartman
    Cc: H. Peter Anvin
    Cc: Hannes Reinecke
    Cc: Hongliang Tao
    Cc: Huacai Chen
    Cc: Jiri Kosina
    Cc: Jonathan Corbet
    Cc: Keerthy
    Cc: Laurent Pinchart
    Cc: Linus Torvalds
    Cc: Nishanth Menon
    Cc: Paul Bolle
    Cc: Peter Ujfalusi
    Cc: Peter Zijlstra
    Cc: Quentin Lambert
    Cc: Rajendra Nayak
    Cc: Ralf Baechle
    Cc: Santosh Shilimkar
    Cc: Sricharan R
    Cc: Thomas Gleixner
    Cc: Tony Lindgren
    Cc: Zhou Wang
    Cc: iss_storagedev@hp.com
    Cc: linux-mips@linux-mips.org
    Cc: linux-mtd@lists.infradead.org
    Link: http://lkml.kernel.org/r/1425565425-12604-1-git-send-email-valentinrothberg@gmail.com
    Signed-off-by: Ingo Molnar

    Valentin Rothberg
     

15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

12 Nov, 2014

2 commits

  • Correct returning IRQ_HANDLED unconditionally in the irq handler.
    Return IRQ_NONE for some interrupt which we do not expect to be
    handled in this handler. This prevents kernel stalling with back
    to back spurious interrupts.

    Fixes: 2722e56de6 ("OMAP4: l3: Introduce l3-interconnect error handling driver")
    Acked-by: Nishanth Menon
    Signed-off-by: Keerthy
    Signed-off-by: Tony Lindgren

    Keerthy
     
  • On certain SoCs such as AM437x SoC, L3_noc error registers are
    maintained in power domain such as per domain which looses context as part
    of low power state such as RTC+DDR mode. On these platforms when we
    mask interrupts which we cannot handle, the source of these interrupts
    still remain on resume, however, the flag mux registers now contain
    their reset value (unmasked) - this breaks the system with infinite
    interrupts since we do not these interrupts to take place ever again.

    To handle this: restore the masking of interrupts which we have
    already recorded in the system as ones we cannot handle.

    Fixes: 2100b595b7 ("bus: omap_l3_noc: ignore masked out unclearable targets")
    Acked-by: Nishanth Menon
    Signed-off-by: Keerthy
    Signed-off-by: Tony Lindgren

    Keerthy
     

20 Oct, 2014

1 commit


06 May, 2014

23 commits

  • Add AM4372 information to handle L3 error.

    AM4372 has two clk domains 100f and 200s. Provide flagmux and data
    associated with it.

    NOTE: Timeout doesn't have STDERRLOG_MAIN register. And per hardware
    team, L3 timeout error cannot be cleared the normal way (by setting
    bit 31 in STDERRLOG_MAIN), instead it may be required to do system
    reset. L3 error handler can't help in such scenarios.

    Hence indicate timeout target offset as L3_TARGET_NOT_SUPPORTED as
    done for undocumented bits.

    Signed-off-by: Dave Gerlach
    Signed-off-by: Afzal Mohammed
    Signed-off-by: Sekhar Nori
    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Afzal Mohammed
     
  • DRA7 is distinctly different from OMAP4 in terms of masters and clock
    domain organization. There two main clock domains which is divided as
    follows:
    is clk1 and clk2 is the sub clock domain
    is clk3

    Add all the data needed to handle L3 error handling on DRA7 devices
    and mark clk2 as subdomain and provide a compatible flag for
    functionality. Other than the data difference the hardware blocks
    involved are essentially the same.

    Signed-off-by: Rajendra Nayak
    [nm@ti.com: bugfixes and generic improvements, documentation]
    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Rajendra Nayak
     
  • While OMAP4 and OMAP5 had 3 separate clock domains, DRA7 has only 2
    and the first one then is internally divided into 2 sub clock domains.

    To better represent this in the driver, we use the concept of submodule.

    The address defintions in the devicetree is as per the high level
    clock domain(module) base, the sub clockdomain/subdomain which shares
    the same register space of a clockdomain is marked in the SoC data as
    L3_BASE_IS_SUBMODULE.

    L3_BASE_IS_SUBMODULE is used as an indication that it's base address is
    the same as the parent module and offsets are considered from the same
    base address as they are usually intermingled.

    Other than the base address, the submodule is same as a module as it is
    functionally so.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • L3 error may be triggered using Debug interface (example JTAG) or
    due to other errors, for example an opcode fetch (due to function
    pointer or stack corruption) or a data access (due to some other
    failure). NOC registers contain additional information to help aid
    debug information.

    With this, we can enhance the error information to more detailed form:
    "
    L3 Custom Error: MASTER MPU TARGET L4PER2 (Read): Data Access in User mode
    during Functional access
    "

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • Today we get error such as
    L3 Custom Error: MASTER MPU TARGET L4PER2

    But since the actual instruction triggerring the error Vs the point
    at which we report error may not be aligned, it makes sense to try
    and provide additional information - example the type of operation
    that was attempted to being performed can help narrow the debug down
    further.

    This helps provide log such as:
    L3 Custom Error: MASTER MPU TARGET L4PER2 (Read)

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • Errors that cannot be cleared (determined by reading REGERR register)
    are currently handled by masking it. Documentation states that REGERR
    "Checks which application/debug error sources are active" - it does not
    indicate that this is "interrupt status" - masked out status represented
    eventually in the irq line to MPU.
    For example:

    Lets say module 0 bit 8(0x100) was unclearable, we do the mask it from
    generating further errors. However in the following cases:
    a) bit 9 of Module 0
    OR
    b) any bit of Module 1+
    occur, the interrupt handler wrongly assumes that the raw interrupt
    status of module 0 bit 8 is the root cause of the interrupt, and
    returns. This causes unhandled interrupt and resultant infinite
    interrupts.

    Fix this scenario by storing the events we masked out and masking raw
    status with masked ones before identifying and handling the error.

    Reported-by: Vaibhav Hiremath
    Signed-off-by: Afzal Mohammed
    Tested-by: Vaibhav Hiremath
    Signed-off-by: Sekhar Nori
    Signed-off-by: Nishanth Menon
    Tested-by: Sekhar Nori

    Afzal Mohammed
     
  • Current interrupt handler does the first level parse to identify the
    slave and then handles the slave even identification, reporting and
    clearing of event as well. It is hence logical to split the handler
    into two where the primary handler just parses the flagmux till it
    identifies a slave and the slave handling, reporting and clearing is
    done in a helper function.

    While at it update the documentation in kerneldoc style.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • The logic between handling CUSTOM_ERROR and STANDARD_ERROR is just the
    reporting style.

    So make it generic, simplify and standardize the reporting with both
    master and target information printed to log.

    Handle the register address difference for master code for standard
    error and custom error as well.

    While at it, fix a minor indentation error.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • As per Documentation (OMAP4+), then masterid is infact encoded as
    follows:
    "L3_TARG_STDERRLOG_MSTADDR[7:0] STDERRLOG_MSTADDR stores the NTTP
    master address. The master address is the concatenation of Prefix &
    Initiator ConnID. It is defined on 8 bits. The 6 MSBs are used to
    distinguish the different initiators."

    So, when we matchup currently with the master ID list, we never get a
    proper match other than when MPU is the master (thanks to 0).

    Now, on other platforms such as AM437x, this tends to be bits[5:0].

    Fix this by using the relevant 6MSBits to identify the master ID for
    standard and custom errors.

    Reported-by: Darren Etheridge
    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • This allows us to encompass target information and flag mux offset that
    points to the target information into a singular structure. This saves
    us the need to look up two different arrays indexed by module ID for
    information.

    This allows us to reduce the static target information allocation to
    just the ones that are documented.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • DRA7xx SoC has the same l3-noc interconnect ip (as OMAP4 and OMAP5), but
    AM437x SoC has just 2 modules instead of 3 which other SoCs have.

    So, stop using direct access of array indices and use of->match data and
    simplify implementation to benefit future usage.

    While at it, rename a few very generic variables to make them omap
    specific. This helps us differentiate from DRA7 and AM43xx data in the
    future.

    NOTE: None of the platforms that use omap_l3_noc are non-device tree
    anymore. So, it is safe to assume OF match here.

    Signed-off-by: Sricharan R
    Signed-off-by: Rajendra Nayak
    [nm@ti.com: split, refactor and optimize logic]
    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Sricharan R
     
  • On DRA7, unlike on OMAP4 and OMAP5, the flag mux input numbers used
    to indicate the source of errors are not continous. Have a way in the
    driver to catch these and WARN the user of the flag mux input thats
    either undocumented or wrong.

    In the similar vein, Timeout errors in AM43x can't be cleared per h/w
    team, neither does it have a STDERRLOG_MAIN to clear the error.

    Further, the mux bit offset might not even be indexed into our array
    of known mux input description, in which case we'd have a abort.

    So, define a static range check for bit description and any definition
    which has target_name set to NULL (the ones that are not populated or
    ones that are specifically marked in the case of discontinous input
    numbers), can handle the same gracefully. Upon occurance of error from
    such sources, mask it. Otherwise, we'd have an infinite interrupt
    source without any means to clear it.

    NOTE: follow on patch ensures that these masked bits are ignored.

    [nm@ti.com: rebase, squash and improve]
    Signed-off-by: Rajendra Nayak
    Signed-off-by: Afzal Mohammed
    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Rajendra Nayak
     
  • Currently the target instance information is organized indexed by bit
    field offset into multiple arrays.

    1. We currently have offsets specific to each target associated with each
    clock domains are in seperate arrays:

    l3_targ_inst_clk1
    l3_targ_inst_clk2
    l3_targ_inst_clk3

    2. Then they are organized per master index in l3_targ.

    3. We have names in l3_targ_inst_name as an array to array of strings
    corresponding to the above with offsets.

    Simplify the same by defining a structure for information containing
    both target offset and name. this is then stored in arrays per domain
    and organized into an array indexed off domain.

    The array is still indexed based on bit field offset.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • just simplify derefencing that is equivalent.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • Currently we use __raw_readl and writel in this driver. Considering
    there is no specific need for a memory barrier, replacing writel
    with endian-neutral writel_relaxed and replacing __raw_readls with
    the corresponding endian-neutral readl_relaxed allows us to have a
    standard set of register operations for the driver.

    While at it, simplify address computation using variables for
    register.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Felipe Balbi
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • l3->dev is not populated, so populate it and use it to print information
    relevant to the device instead of using a generic pr_*.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • Since omap_l3_noc driver is now being used for OMAP5 and reusable with
    DRA7 and AM437x, using omap4 specific naming is misleading.

    Signed-off-by: Sricharan R
    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Sricharan R
     
  • This is an embarrassing patch :(.

    Texas Corporation does not make OMAP. Texas Instruments Inc does.

    For that matter I dont seem to be able to find a Texas Corporation on
    the internet either.

    While at it, update coverage to the current year and update the template
    to remove redundant information and use the standard boiler plate
    licensing.

    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    Acked-by: Peter Ujfalusi
    Tested-by: Darren Etheridge
    Tested-by: Sekhar Nori

    Nishanth Menon
     
  • Use dev_err() which will going to print the driver's name as well and the
    KERN_ERR level is sufficient in this case (we also print via dev_err when
    there is an error with the mem resources)

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Santosh Shilimkar
    Acked-by: Tony Lindgren
    Signed-off-by: Nishanth Menon
    Tested-by: Sekhar Nori

    Peter Ujfalusi
     
  • It is NOP after the devm_* conversion.

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Santosh Shilimkar
    Acked-by: Tony Lindgren
    Signed-off-by: Nishanth Menon
    Tested-by: Sekhar Nori

    Peter Ujfalusi
     
  • With this we can remove the free_irq() calls from probe and remove.

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Santosh Shilimkar
    Acked-by: Tony Lindgren
    Signed-off-by: Nishanth Menon
    Tested-by: Sekhar Nori

    Peter Ujfalusi
     
  • We can then remove the iounmap() calls from probe and remove.
    Since the driver requests the resources via index we can do the mem resource
    request within a for loop.

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Santosh Shilimkar
    Acked-by: Tony Lindgren
    Signed-off-by: Nishanth Menon
    Tested-by: Sekhar Nori

    Peter Ujfalusi
     
  • We can remove the kfree() calls from probe and remove.

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Santosh Shilimkar
    Acked-by: Tony Lindgren
    Signed-off-by: Nishanth Menon
    Tested-by: Sekhar Nori

    Peter Ujfalusi
     

04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    __devinitconst, and __devexit from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

02 Oct, 2012

2 commits

  • This fixes a local merge conflict resolution done wrong locally in
    arm-soc for-next. soc.h was added on a cleanup branch, but the driver
    was moved and the header no longer needed.

    Signed-off-by: Olof Johansson
    [ .. and I did the same wrong merge, since git automatically does the
    whole rename detection etc, so applying this patch from Olof - Linus ]
    Signed-off-by: Linus Torvalds

    Olof Johansson
     
  • 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
     

21 Sep, 2012

1 commit

  • This fixes up a merge conflict due to the move of the driver and cleanups of
    platform data around the same time. Moving to the resource is what we want
    anyway, so do it in this branch.

    Signed-off-by: Arnd Bergmann
    [olof: rewrote with this branch as base, same end result]
    Signed-off-by: Olof Johansson
    Acked-by: Tony Lindgren
    Acked-by: Santosh Shilimkar

    Olof Johansson
     

19 Sep, 2012

1 commit