1. 29 2月, 2016 1 次提交
  2. 28 2月, 2016 2 次提交
    • D
      ARM: imx: Do L2 errata only if the L2 cache isn't enabled · bc3d8ede
      Dirk Behme 提交于
      All the generic L2 cache handling code is encapsulated by a
      check if the L2 cache is enabled. If it's enabled already, the code
      is skipped. The write to the L2-Cache controller from non-secure
      world causes an imprecise external abort. This is needed in
      scenarios where one of the cores runs an other OS, e.g. an RTOS.
      
      For the i.MX6 specific L2 cache handling we missed this check.
      Add it.
      Signed-off-by: NMarcel Grosshans <MarcelViktor.Grosshans@de.bosch.com>
      Signed-off-by: NDirk Behme <dirk.behme@de.bosch.com>
      Signed-off-by: NShawn Guo <shawnguo@kernel.org>
      bc3d8ede
    • A
      ARM: imx: select ARM_CPU_SUSPEND only for imx6 · b4042a4c
      Arnd Bergmann 提交于
      i.MX only needs to select ARM_CPU_SUSPEND manually for the
      very specific case that CONFIG_PM_SLEEP is disabled and imx6
      is used with CONFIG_PM enabled for runtime PM.
      
      If we are building a kernel only for CPUs that are not using
      the cpu_suspend() helper, we otherwise get a harmless
      build warning:
      
      warning: (ARCH_MXC && SOC_IMX23 && SOC_IMX28 && ARCH_PXA && MACH_MVEBU_V7 && ARCH_OMAP3 && ARCH_OMAP4 && SOC_OMAP5 && SOC_AM33XX && SOC_DRA7XX && ARCH_EXYNOS3 && ARCH_EXYNOS4 && EXYNOS5420_MCPM &&
      EXYNOS_CPU_SUSPEND && ARCH_VEXPRESS_TC2_PM && ARM_BIG_LITTLE_CPUIDLE && ARM_HIGHBANK_CPUIDLE && QCOM_PM) selects ARM_CPU_SUSPEND which has unmet direct dependencies (ARCH_SUSPEND_POSSIBLE)
      
      This moves the option to the SOC_IMX6 option that actually
      requires it, in effect reverting commit f36b594f ("ARM:
      mach-imx: Select ARM_CPU_SUSPEND at ARCH_MXC level") that was
      meant as a cleanup and unintentionally caused this warning.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NShawn Guo <shawnguo@kernel.org>
      b4042a4c
  3. 19 2月, 2016 1 次提交
  4. 16 2月, 2016 1 次提交
  5. 14 2月, 2016 2 次提交
  6. 02 2月, 2016 2 次提交
    • J
      ARM: imx: enable big endian mode · 26e30c64
      Johannes Berg 提交于
      Enable ARM big-endian mode on mach-imx. This requires adding some
      byte swapping in the debug functions (which otherwise hang forever)
      and of course the secondary core bringup.
      
      Tested (on top of 4.4) on i.MX6 HummingBoard quad-core (IMX6Q).
      
      The patch is pretty much as suggested by Arnd Bergmann, thanks!
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NShawn Guo <shawnguo@kernel.org>
      26e30c64
    • J
      ARM: imx: use endian-safe readl/readw/writel/writew · c553138f
      Johannes Berg 提交于
      Instead of __raw_*, define imx_* to *_relaxed and use those.
      
      Using imx_* was requested by Arnd because *_relaxed tends to
      indicate that the code was carefully reviewed to not require
      any synchronisation and otherwise be safe, which isn't the
      case here with the automatic conversion.
      
      The conversion itself was done using the following spatch
      (since that automatically adjusts the coding style unlike
      a simple search&replace).
      
      @@
      expression E1, E2;
      @@
      -__raw_writel(E1, E2)
      +imx_writel(E1, E2)
      @@
      expression E1, E2;
      @@
      -__raw_writew(E1, E2)
      +imx_writew(E1, E2)
      @@
      expression E1;
      @@
      -__raw_readl(E1)
      +imx_readl(E1)
      @@
      expression E1;
      @@
      -__raw_readw(E1)
      +imx_readw(E1)
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NShawn Guo <shawnguo@kernel.org>
      c553138f
  7. 28 1月, 2016 3 次提交
  8. 05 1月, 2016 1 次提交
    • L
      gpio: generic: factor into gpio_chip struct · 0f4630f3
      Linus Walleij 提交于
      The separate struct bgpio_chip has been a pain to handle, both
      by being confusingly similar in name to struct gpio_chip and
      for being contained inside a struct so that struct gpio_chip
      is contained in a struct contained in a struct, making several
      steps of dereferencing necessary.
      
      Make things simpler: include the fields directly into
      <linux/gpio/driver.h>, #ifdef:ed for CONFIG_GENERIC_GPIO, and
      get rid of the <linux/basic_mmio_gpio.h> altogether. Prefix
      some of the member variables with bgpio_* and add proper
      kerneldoc while we're at it.
      
      Modify all users to handle the change and use a struct
      gpio_chip directly. And while we're at it: replace all
      container_of() dereferencing by gpiochip_get_data() and
      registering the gpio_chip with gpiochip_add_data().
      
      Cc: arm@kernel.org
      Cc: Alexander Shiyan <shc_work@mail.ru>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Brian Norris <computersforpeace@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Sudeep Holla <sudeep.holla@arm.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Cc: Rabin Vincent <rabin@rab.in>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-omap@vger.kernel.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: bcm-kernel-feedback-list@broadcom.com
      Acked-by: NGregory Fong <gregory.0xf0@gmail.com>
      Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com>
      Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      0f4630f3
  9. 21 12月, 2015 1 次提交
  10. 08 12月, 2015 1 次提交
  11. 02 12月, 2015 4 次提交
  12. 25 11月, 2015 1 次提交
  13. 23 11月, 2015 1 次提交
  14. 19 11月, 2015 1 次提交
    • M
      [media] move media platform data to linux/platform_data/media · a71daaa1
      Mauro Carvalho Chehab 提交于
      Now that media has its own subdirectory inside platform_data,
      let's move the headers that are already there to such subdir.
      
      After moving those files, the references were adjusted using this
      script:
      
          MAIN_DIR="linux/platform_data/"
          PREV_DIR="linux/platform_data/"
          DIRS="media/"
      
          echo "Checking affected files" >&2
          for i in $DIRS; do
      	for j in $(find include/$MAIN_DIR/$i -type f -name '*.h'); do
      		 n=`basename $j`
      		git grep -l $n
      	done
          done|sort|uniq >files && (
      	echo "Handling files..." >&2;
      	echo "for i in \$(cat files|grep -v Documentation); do cat \$i | \\";
      	(
      		cd include/$MAIN_DIR;
      		for j in $DIRS; do
      			for i in $(ls $j); do
      				echo "perl -ne 's,(include [\\\"\\<])$PREV_DIR($i)([\\\"\\>]),\1$MAIN_DIR$j\2\3,; print \$_' |\\";
      			done;
      		done;
      		echo "cat > a && mv a \$i; done";
      	);
      	echo "Handling documentation..." >&2;
      	echo "for i in MAINTAINERS \$(cat files); do cat \$i | \\";
      	(
      		cd include/$MAIN_DIR;
      		for j in $DIRS; do
      			for i in $(ls $j); do
      				echo "  perl -ne 's,include/$PREV_DIR($i)\b,include/$MAIN_DIR$j\1,; print \$_' |\\";
      			done;
      		done;
      		echo "cat > a && mv a \$i; done"
      	);
          ) >script && . ./script
      Suggested-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@kernel.org>
      Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      a71daaa1
  15. 23 10月, 2015 1 次提交
  16. 14 10月, 2015 2 次提交
  17. 12 10月, 2015 1 次提交
  18. 23 9月, 2015 1 次提交
  19. 17 9月, 2015 1 次提交
    • A
      ARM: imx: add suspend/resume support for i.mx6ul · ee4a5f83
      Anson Huang 提交于
      This patch adds suspend function for i.MX6UL, it supports
      "standby" and "mem" mode, for "standby" mode, SoC will
      enter STOP mode only, while for "mem" mode, SoC will
      enter STOP mode and DDR IO will be set to low power
      mode.
      
      As i.MX6UL contains a "Cortex-A7" ARM core which has no
      PL310, so we need to avoid any PL310 operations during
      suspend/resume, also, we need to flush Cortex-A7's inernal
      L2 cache before suspend.
      Signed-off-by: NAnson Huang <b20788@freescale.com>
      ee4a5f83
  20. 16 9月, 2015 1 次提交
    • T
      genirq: Remove irq argument from irq flow handlers · bd0b9ac4
      Thomas Gleixner 提交于
      Most interrupt flow handlers do not use the irq argument. Those few
      which use it can retrieve the irq number from the irq descriptor.
      
      Remove the argument.
      
      Search and replace was done with coccinelle and some extra helper
      scripts around it. Thanks to Julia for her help!
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      bd0b9ac4
  21. 15 9月, 2015 2 次提交
  22. 05 9月, 2015 1 次提交
    • V
      genalloc: add name arg to gen_pool_get() and devm_gen_pool_create() · 73858173
      Vladimir Zapolskiy 提交于
      This change modifies gen_pool_get() and devm_gen_pool_create() client
      interfaces adding one more argument "name" of a gen_pool object.
      
      Due to implementation gen_pool_get() is capable to retrieve only one
      gen_pool associated with a device even if multiple gen_pools are created,
      fortunately right at the moment it is sufficient for the clients, hence
      provide NULL as a valid argument on both producer devm_gen_pool_create()
      and consumer gen_pool_get() sides.
      
      Because only one created gen_pool per device is addressable, explicitly
      add a restriction to devm_gen_pool_create() to create only one gen_pool
      per device, this implies two possible error codes returned by the
      function, account it on client side (only misc/sram).  This completes
      client side changes related to genalloc updates.
      
      [akpm@linux-foundation.org: gen_pool_get() cleanup]
      Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      73858173
  23. 22 8月, 2015 1 次提交
  24. 05 8月, 2015 1 次提交
  25. 28 7月, 2015 2 次提交
    • R
      ARM: kill off set_irq_flags usage · e8d36d5d
      Rob Herring 提交于
      set_irq_flags is ARM specific with custom flags which have genirq
      equivalents. Convert drivers to use the genirq interfaces directly, so we
      can kill off set_irq_flags. The translation of flags is as follows:
      
      IRQF_VALID -> !IRQ_NOREQUEST
      IRQF_PROBE -> !IRQ_NOPROBE
      IRQF_NOAUTOEN -> IRQ_NOAUTOEN
      
      For IRQs managed by an irqdomain, the irqdomain core code handles clearing
      and setting IRQ_NOREQUEST already, so there is no need to do this in
      .map() functions and we can simply remove the set_irq_flags calls. Some
      users also modify IRQ_NOPROBE and this has been maintained although it
      is not clear that is really needed. There appears to be a great deal of
      blind copy and paste of this code.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Sekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Cc: Gregory Clement <gregory.clement@free-electrons.com>
      Acked-by: NHans Ulli Kroll <ulli.kroll@googlemail.com>
      Acked-by: NShawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      Acked-by: NKrzysztof Halasa <khalasa@piap.pl>
      Cc: Greg Ungerer <gerg@uclinux.org>
      Cc: Roland Stigge <stigge@antcom.de>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Daniel Mack <daniel@zonque.org>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Robert Jarzmik <robert.jarzmik@free.fr>
      Cc: Simtec Linux Team <linux@simtec.co.uk>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: NWan ZongShun <mcuos.com@gmail.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-omap@vger.kernel.org
      Cc: linux-samsung-soc@vger.kernel.org
      Tested-by: NKevin Hilman <khilman@linaro.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      e8d36d5d
    • N
      ARM: appropriate __init annotation for const data · 19c233b7
      Nicolas Pitre 提交于
      Init data marked const should be annotated with __initconst for
      correctness and not __initdata.  In some cases the array gathering
      references to that data has to be marked const as well. This fixes
      LTO builds that otherwise fail with section mismatch errors.
      Signed-off-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      19c233b7
  26. 17 7月, 2015 1 次提交
    • V
      ARM/imx/epit: Migrate to new 'set-state' interface · 3200579f
      Viresh Kumar 提交于
      Migrate imx driver to the new 'set-state' interface provided by
      clockevents core, the earlier 'set-mode' interface is marked obsolete
      now.
      
      This also enables us to implement callbacks for new states of clockevent
      devices, for example: ONESHOT_STOPPED.
      
      Also drop 'clockevent_mode': It was caching the last state of the
      clockevent device. The same behavior can be achieved by using
      clockevents state helpers. These helpers are only required for oneshot
      mode as shutdown/resume wouldn't be done twice by the core.
      
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      3200579f
  27. 14 7月, 2015 1 次提交
  28. 08 7月, 2015 1 次提交
    • L
      ARM: imx6: gpc: always enable PU domain if CONFIG_PM is not set · d438462c
      Lucas Stach 提交于
      If CONFIG_PM is not set the PU power domain needs to be enabled always,
      otherwise there are two failure scenarios which will hang the system if
      one of the devices in the PU domain is accessed.
      
      1. New DTs (4.1+) drop the "always-on" property from the PU regulator, so
      if it isn't properly enabled by the GPC code it will be disabled at the
      end of boot.
      
      2. If the bootloader already disabled the PU domain the GPC explicitly
      needs to enable it again, even if the kernel doesn't do any power
      management. This is a bit hypothetical, as it requires to boot a
      mainline kernel on a downstream bootloader, as no mainline bootloader
      disables the PM domains.
      
      Cc: <stable@vger.kernel.org> # 4.1
      Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
      Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      d438462c
  29. 01 7月, 2015 1 次提交
    • V
      genalloc: rename dev_get_gen_pool() to gen_pool_get() · 0030edf2
      Vladimir Zapolskiy 提交于
      To be consistent with other genalloc interface namings, rename
      dev_get_gen_pool() to gen_pool_get().  The original omitted "dev_" prefix
      is removed, since it points to argument type of the function, and so it
      does not bring any useful information.
      
      [akpm@linux-foundation.org: update arch/arm/mach-socfpga/pm.c]
      Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
      Cc: Vinod Koul <vinod.koul@intel.com>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Alan Tull <atull@opensource.altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Kevin Hilman <khilman@linaro.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0030edf2