1. 06 12月, 2011 1 次提交
    • S
      ASoC: WM8903: Fix platform data gpio_cfg confusion · a0f203d3
      Stephen Warren 提交于
      wm8903_platform_data.gpio_cfg[] was intended to be interpreted as follows:
      0:       Don't touch this GPIO's configuration register
      1..7fff: Write that value to the GPIO's configuration register
      8000:    Write zero to the GPIO's configuration register
      other:   Undefined (invalid)
      
      The rationale is that platform data is usually global data, and a value of
      zero means that the field wasn't explicitly set to anything (e.g. because
      the field was new to the pdata type, and existing users weren't update to
      initialize it) and hence the value zero should be ignored. 0x8000 is an
      explicit way to get 0 in the register.
      
      The code worked this way until commit 7cfe5617 "ASoC: wm8903: Expose GPIOs
      through gpiolib", where the behaviour was changed due to my lack of
      awareness of the above rationale.
      
      This patch reverts to the intended behaviour, and updates all in-tree users
      to use the correct scheme. This also makes WM8903 consistent with other
      devices that use a similar scheme.
      
      WM8903_GPIO_NO_CONFIG is also renamed to WM8903_GPIO_CONFIG_ZERO so that
      its name accurately reflects its purpose.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Colin Cross <ccross@android.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      a0f203d3
  2. 22 8月, 2011 1 次提交
  3. 10 8月, 2011 3 次提交
  4. 19 7月, 2011 1 次提交
  5. 13 7月, 2011 2 次提交
    • C
      ARM: tegra: remove copy-and-pasted i2c platform data in boards · 78702e43
      Colin Cross 提交于
      Every board file includes the same platform data definition
      for the i2c-tegra driver's bus speed.  Move the platform data
      into devices.c, and remove it from all the board files.
      Signed-off-by: NColin Cross <ccross@android.com>
      Tested-by: NKonstantin Sinyuk <kostyas@compulab.co.il>
      Acked-by: NOlof Johansson <olof@lixom.net>
      78702e43
    • S
      ARM: Tegra: Seaboard: Re-order sdhci device registration · cfeb34ed
      Stephen Warren 提交于
      Ensure the built-in eMMC is always named mmcblk0.
      
      This is important because:
      
      * U-Boot statically assigns MMC device IDs based on controller ID.
      * U-Boot assumes that kernel MMC device ID numbering matches U-Boot numbering.
      * U-Boot provides a kernel cmdline option e.g. root=/dev/mmcblk0p3 based on
        that numbering.
      * The kernel dynamically assigns MMC device IDs based on enumeration order of
        the memory behind the host controller, rather than statically based on host
        controller ID like U-Boot.
      * By registering the SDHCI controller for the built-in eMMC first, the
        enumeration of the built-in eMMC is performed first, and hence eMMC gets
        assigned ID 0 just like U-Boot. If the SD slot is filled, it then gets
        assigned ID 1 just like U-Boot.
      * If the MMC IDs mismatch, and the system boots from SD card not eMMC, the
        kernel will access the eMMC instead of SD card when attempting to mount
        /dev/mmcblk1p3 as the root fs. If eMMC is not partitioned/formatted, the
        kernel will panic since the root fs can't be mounted. If eMMC is partitioned
        and formatted, the kernel will mount an unexpected filesystem as the root fs.
      
      This change relies on the SDHCI driver performing initial card detection
      synchronously during device registration. This is currently the case.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NColin Cross <ccross@android.com>
      cfeb34ed
  6. 08 3月, 2011 2 次提交
  7. 23 2月, 2011 1 次提交