1. 09 Nov, 2011 1 commit
    • Stephen Warren's avatar
      arm/tegra: Don't create duplicate gpio and pinmux devices · 4b91b6fb
      Stephen Warren authored
      *_pinmux_init() register the GPIO and pinmux devices so that they're ready
      before any other device needs them.
      
      *_pinmux_init() are also called by board-dt.c in order to set up the GPIO
      and pinmux configurations. In this case, if we register the devices, they
      end up being probed once due to this registration, and a second time due
      to a device-tree node (or vice-versa). The second probe fails since the
      memory regions are already requested. Besides, we don't actually want the
      duplicated devices.
      
      To avoid this duplicate registration, modify *_pinmux_init() to check
      whether it's running on a DT machine. If not, register the pinmux devices.
      If so, don't register them.
      
      Finally, modify board-dt.c to call the *_pinmux_init() after all devices have
      been instantiated from device-tree. This allows the GPIO and pinmux devices
      to be instantiated and initialized before calling functions to configure the
      hardware.
      
      This has one disadvantage: The pinmux and GPIO initialization now happens
      after /all/ devices are instantiated, rather than after just gpio and
      pinmux but before anything else. So the correct HW configuration is not
      in place when e.g. the SD/MMC device is probed. Long-term, this should be
      solved by doing both:
      
      a) Initializing the HW state from DT nodes during GPIO and pinmux device
         probe.
      b) Using the deferred driver probe mechanism, so that drivers can defer
         their probe until after the gpio and pinmux drivers have probed.
      
      v2: s/int is_dt/bool is_dt/
      v3: Use of_machine_is_compatible inside *_pinmux_init() rather than passing
      an explicit parameter into the function from outside.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      4b91b6fb
  2. 08 Nov, 2011 2 commits
    • Linus Torvalds's avatar
      Linux 3.2-rc1 · 1ea6b8f4
      Linus Torvalds authored
      .. with new name.  Because nothing says "really solid kernel release"
      like naming it after an extinct animal that just happened to be in the
      news lately.
      1ea6b8f4
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap · 075cb105
      Linus Torvalds authored
      * '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
        ...
      075cb105
  3. 07 Nov, 2011 37 commits