1. 06 3月, 2012 2 次提交
  2. 05 3月, 2012 2 次提交
    • S
      pinctrl: enhance mapping table to support pin config operations · 1e2082b5
      Stephen Warren 提交于
      The pinctrl mapping table can now contain entries to:
      * Set the mux function of a pin group
      * Apply a set of pin config options to a pin or a group
      
      This allows pinctrl_select_state() to apply pin configs settings as well
      as mux settings.
      
      v3: Fix find_pinctrl() to iterate over the correct list.
         s/_MUX_CONFIGS_/_CONFIGS_/ in mapping table macros.
         Fix documentation to use correct mapping table macro.
      v2: Added numerous extra PIN_MAP_*() special-case macros.
         Fixed kerneldoc typo. Delete pinctrl_get_pin_id() and
         replace it with pin_get_from_name(). Various minor fixes.
         Updates due to rebase.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NDong Aisheng <dong.aisheng@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      1e2082b5
    • S
      pinctrl: API changes to support multiple states per device · 6e5e959d
      Stephen Warren 提交于
      The API model is changed from:
      
      p = pinctrl_get(dev, "state1");
      pinctrl_enable(p);
      ...
      pinctrl_disable(p);
      pinctrl_put(p);
      p = pinctrl_get(dev, "state2");
      pinctrl_enable(p);
      ...
      pinctrl_disable(p);
      pinctrl_put(p);
      
      to this:
      
      p = pinctrl_get(dev);
      s1 = pinctrl_lookup_state(p, "state1");
      s2 = pinctrl_lookup_state(p, "state2");
      pinctrl_select_state(p, s1);
      ...
      pinctrl_select_state(p, s2);
      ...
      pinctrl_put(p);
      
      This allows devices to directly transition between states without
      disabling the pin controller programming and put()/get()ing the
      configuration data each time. This model will also better suit pinconf
      programming, which doesn't have a concept of "disable".
      
      The special-case hogging feature of pin controllers is re-written to use
      the regular APIs instead of special-case code. Hence, the pinmux-hogs
      debugfs file is removed; see the top-level pinctrl-handles files for
      equivalent data.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NDong Aisheng <dong.aisheng@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      6e5e959d
  3. 02 3月, 2012 2 次提交
  4. 23 2月, 2012 1 次提交
    • L
      pinctrl: spawn U300 pinctrl from the COH901 GPIO · 128a06d4
      Linus Walleij 提交于
      This solves the riddle on how the U300 pin controller shall be
      able to reference the struct gpio_chip even though these are
      two separate drivers: spawn the pinctrl child from the GPIO
      driver and pass in the struct gpio_chip as platform data.
      In the process we rename the U300 "pinmux-u300" to
      "pinctrl-u300" so as not to confuse.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      128a06d4
  5. 11 2月, 2012 2 次提交
  6. 28 1月, 2012 1 次提交
  7. 27 1月, 2012 1 次提交
  8. 26 1月, 2012 2 次提交
  9. 25 1月, 2012 4 次提交
    • C
      ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts · 4e7682d0
      Catalin Marinas 提交于
      This macro is used to generate unprivileged accesses (LDRT/STRT) to user
      space.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      4e7682d0
    • R
      ARM: 7299/1: ftrace: clear zero bit in reported IPs for Thumb-2 · d68133b5
      Rabin Vincent 提交于
      The dynamic ftrace ops startup test currently fails on Thumb-2 kernels:
      
       Testing tracer function: PASSED
       Testing dynamic ftrace: PASSED
       Testing dynamic ftrace ops #1: (0 0 0 0 0) FAILED!
      
      This is because while the addresses in the mcount records do not have
      the zero bit set, the IP reported by the mcount call does have it set
      (because it is copied from the LR).  This mismatch causes the ops
      filtering in ftrace_ops_list_func() to not call the relevant tracers.
      
      Fix this by clearing the zero bit before adjusting the LR for the mcount
      instruction size.  Also, combine the mov+sub into a single sub
      instruction.
      Acked-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d68133b5
    • M
      ARM: 7298/1: realview: fix mapping of MPCore private memory region · 34ae6c96
      Marc Zyngier 提交于
      Since commit 0536bdf3 (ARM: move iotable mappings within
      the vmalloc region), the RealView PB11MP cannot boot anymore.
      
      This is caused by the way the mappings are described on this
      platform (define replaced by hex values for clarity):
      
      {	/* GIC CPU interface mapping */
              .virtual        = IO_ADDRESS(0x1F000100),
              .pfn            = __phys_to_pfn(0x1F000100),
              .length         = SZ_4K,
              .type           = MT_DEVICE,
      }, {	/* GIC distributor mapping */
              .virtual        = IO_ADDRESS(0x1F001000),
              .pfn            = __phys_to_pfn(0x1F001000),
              .length         = SZ_4K,
              .type           = MT_DEVICE,
      }
      
      The first mapping ends up reserving two pages, and clashes with
      the second one, which triggers a BUG_ON in vm_area_add_early().
      
      In order to solve this problem, treat the MPCore private memory
      region (containing the SCU, the GIC and the TWD) as a single region,
      as described in the TRM:
      http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0360f/CACGDJJC.html
      
      The EB11MP is converted the same way, even if it manages to avoid
      the problem.
      
      Tested on both PB11MP and EB11MP.
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      34ae6c96
    • P
      tty: serial: OMAP: transmit FIFO threshold interrupts don't wake the chip · 43cf7c0b
      Paul Walmsley 提交于
      It seems that when the transmit FIFO threshold is reached on OMAP
      UARTs, it does not result in a PRCM wakeup.  This appears to be a
      silicon bug.  This means that if the MPU powerdomain is in a low-power
      state, the MPU will not be awakened to refill the FIFO until the next
      interrupt from another device.
      
      The best solution, at least for the short term, would be for the OMAP
      serial driver to call a OMAP subarchitecture function to prevent the
      MPU powerdomain from entering a low power state while the FIFO has
      data to transmit.  However, we no longer have a clean way to do this,
      since patches that add platform_data function pointers have been
      deprecated by the OMAP maintainer.  So we attempt to work around this
      as well.  The workarounds depend on the setting of CONFIG_CPU_IDLE.
      
      When CONFIG_CPU_IDLE=n, the driver will now only transmit one byte at
      a time.  This causes the transmit FIFO threshold interrupt to stay
      active until there is no more data to be sent.  Thus, the MPU
      powerdomain stays on during transmits.  Aside from that energy
      consumption penalty, each transmitted byte results in a huge number of
      UART interrupts -- about five per byte.  This wastes CPU time and is
      quite inefficient, but is probably the most expedient workaround in
      this case.
      
      When CONFIG_CPU_IDLE=y, there is a slightly more direct workaround:
      the PM QoS constraint can be abused to keep the MPU powerdomain on.
      This results in a normal number of interrupts, but, similar to the
      above workaround, wastes power by preventing the MPU from entering
      WFI.
      
      Future patches are planned for the 3.4 merge window to implement more
      efficient, but also more disruptive, workarounds to these problems.
      
      DMA operation is unaffected by this patch.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Govindraj Raja <govindraj.r@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      43cf7c0b
  10. 23 1月, 2012 8 次提交
  11. 21 1月, 2012 7 次提交
  12. 20 1月, 2012 8 次提交