1. 25 4月, 2017 1 次提交
  2. 28 2月, 2017 1 次提交
  3. 29 12月, 2016 3 次提交
  4. 15 12月, 2016 1 次提交
  5. 17 11月, 2016 1 次提交
  6. 07 11月, 2016 1 次提交
  7. 16 8月, 2016 1 次提交
  8. 14 7月, 2016 1 次提交
    • A
      ARM: s3c64xx: avoid warning about 'struct device_node' · 979f97dd
      Arnd Bergmann 提交于
      The change to simplify of_platform_populate() had an unintended
      side-effect of introducing a build warning on s3c64xx:
      
      In file included from arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c:18:0:
      arch/arm/mach-s3c64xx/common.h:27:30: error: 'struct device_node' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
      
      This adds a forward-declaration for the structure name in the
      header to avoid the warning.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: 850bea23 ("arm: Remove unnecessary of_platform_populate with default match table")
      Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      979f97dd
  9. 11 7月, 2016 1 次提交
  10. 24 6月, 2016 1 次提交
    • K
      arm: Remove unnecessary of_platform_populate with default match table · 850bea23
      Kefeng Wang 提交于
      After patch "of/platform: Add common method to populate default bus",
      it is possible for arch code to remove unnecessary callers of
      of_platform_populate with default match table.
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Ray Jui <rjui@broadcom.com>
      Cc: Lee Jones <lee@kernel.org>
      Cc: Krzysztof Halasa <khalasa@piap.pl>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Santosh Shilimkar <ssantosh@kernel.org>
      Cc: Roland Stigge <stigge@antcom.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Viresh Kumar <vireshk@kernel.org>
      Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
      Cc: Tony Prisk <linux@prisktech.co.nz>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NKefeng Wang <wangkefeng.wang@huawei.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      850bea23
  11. 04 6月, 2016 1 次提交
    • L
      ARM: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB · 5c34a4e8
      Linus Walleij 提交于
      This replaces:
      
      - "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB" as this can
        now be selected directly.
      
      - "select ARCH_WANT_OPTIONAL_GPIOLIB" with no dependency: GPIOLIB
        is now selectable by everyone, so we need not declare our
        intent to select it.
      
      When ordering the symbols the following rationale was used:
      if the selects were in alphabetical order, I moved select GPIOLIB
      to be in alphabetical order, but if the selects were not
      maintained in alphabetical order, I just replaced
      "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB".
      
      Cc: Michael Büsch <m@bues.ch>
      Cc: arm@kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      5c34a4e8
  12. 30 5月, 2016 1 次提交
  13. 25 2月, 2016 1 次提交
  14. 09 2月, 2016 1 次提交
  15. 01 2月, 2016 1 次提交
    • A
      ARM: s3c64xx: mark regulator init data as unused · a113b057
      Arnd Bergmann 提交于
      The smdk6410 board defines lots of regulator settings, but uses
      most of them only in certain configurations, and otherwise leaves
      them without any references, so we get lots of randconfig warnings
      about them:
      
      mach-s3c64xx/mach-smdk6410.c:303:35: error: 'smdk6410_vddarm' defined but not used [-Werror=unused-variable]
      mach-s3c64xx/mach-smdk6410.c:316:35: error: 'smdk6410_vddint' defined but not used [-Werror=unused-variable]
      mach-s3c64xx/mach-smdk6410.c:327:35: error: 'smdk6410_vddhi' defined but not used [-Werror=unused-variable]
      mach-s3c64xx/mach-smdk6410.c:335:35: error: 'smdk6410_vddpll' defined but not used [-Werror=unused-variable]
      mach-s3c64xx/mach-smdk6410.c:343:35: error: 'smdk6410_vdduh_mmc' defined but not used [-Werror=unused-variable]
      
      This marks all regulator_init_data structures in this file as
      __maybe_unused, indicating that we don't care whether there
      are any references or not in a given configuration.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      a113b057
  16. 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
  17. 01 1月, 2016 2 次提交
    • A
      ARM: s3c: simplify s3c_irqwake_{e,}intallow definition · 26922c59
      Arnd Bergmann 提交于
      For a long time, gcc has warned about odd configurations on s3c64xx:
      
      In file included from arch/arm/plat-samsung/pm.c:34:0:
      arch/arm/mach-s3c64xx/include/mach/pm-core.h:61:0: warning: "s3c_irqwake_eintallow" redefined
       #define s3c_irqwake_eintallow ((1 << 28) - 1)
      In file included from arch/arm/plat-samsung/pm.c:33:0:
      arch/arm/plat-samsung/include/plat/pm.h:49:0: note: this is the location of the previous definition
       #define s3c_irqwake_eintallow 0
      
      The definitions of s3c_irqwake_intallow and s3c_irqwake_eintallow are a
      bit consistent between the various platforms. Things have become easier
      now that it's only s3c24xx and s3c64xx that use them at all, so I've tried
      to rearrange the definitions to make it more obvious what is going on.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      26922c59
    • A
      ARM: s3c64xx: fix pm-debug compilation · b7197612
      Arnd Bergmann 提交于
      I got one randconfig build that failed to compile plat-samsung/pm-debug.c
      on s3c64xx:
      
      In file included from arch/arm/plat-samsung/pm-debug.c:27:0:
      arch/arm/mach-s3c64xx/include/mach/pm-core.h: In function 's3c_pm_debug_init_uart':
      arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: error: 'S3C_VA_SYS' undeclared (first use in this function)
        u32 tmp = __raw_readl(S3C_PCLK_GATE);
      arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: note: each undeclared identifier is reported only once for each function it appears in
      arch/arm/mach-s3c64xx/include/mach/pm-core.h:39:2: error: implicit declaration of function 'udelay' [-Werror=implicit-function-declaration]
        udelay(10);
      
      I have not investigated why this does not show up much more often, I
      guess the headers are usually included from elsewhere, but adding
      explicit #include statements is an obvious fix.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      b7197612
  18. 02 12月, 2015 7 次提交
    • A
      ARM: s3c64xx: allow building without board support · b2821042
      Arnd Bergmann 提交于
      Most of the code for the s3c64xx platform is only used when booting
      with ATAGS based board files, but not when using device-tree.
      
      This tries to identify all the s3c64xx specific code that is
      unneeded when CONFIG_ATAGS is not set, so we can build a smaller
      DT-only kernel if configured that way.
      
      All board support is still left intact but now depends on the
      CONFIG_ATAGS symbol that users may intentionally disable.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      b2821042
    • A
      ARM: s3c64xx: multiplatform support · af37eec0
      Arnd Bergmann 提交于
      After all preparation work is done, we can finally move the Kconfig
      option for s3c64xx into ARCH_MULTIPLATFORM. This implies allowing
      SAMSUNG_ATAGS for multiplatform again, but now disallowing the
      ADC driver below it, as that still has dependencies on header files.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      af37eec0
    • A
      ARM: s3c64xx: use common debug-ll implementation · bb08dea1
      Arnd Bergmann 提交于
      The uart on s3c64xx is essentially the same as on s3c24xx,
      so we can share a single assembler file. However, the addresses
      are different, and we need to add the respective Kconfig magic
      to get the right addresses.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      bb08dea1
    • A
      ARM: s3c64xx: use new adc/touchscreen driver · a829ae57
      Arnd Bergmann 提交于
      The old ADC and touchscreen drivers are not compatible with
      multiplatform support, but we can use the exynos-adc driver
      as a replacement.
      
      This changes the common device creation functions for s3c64xx
      (but not s3c24xx for now) to use the new driver. To do this,
      we have to pass the interrupt resources in the opposite order
      and pass the platform data in the adc device node.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      a829ae57
    • A
      ARM: s3c64xx: enable sparse IRQ support · ba279044
      Arnd Bergmann 提交于
      This is another prerequisite for enabling multiplatform
      support, and it is the part I am least certain about.
      
      I assume it will cause the extra boot message "Cannot
      allocate irq_descs @ IRQ%d, assuming pre-allocated" to
      be printed, but otherwise work ok. This definitely needs
      to be tested on real hardware to see if it works.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      ba279044
    • A
      ARM: s3c64xx: prepare initcalls for multiplatform · a0e157af
      Arnd Bergmann 提交于
      In a multiplatform kernel, each initcall is run regardless
      of the platform it is meant for, so it must not attempt to
      access SoC-specific registers.
      
      This adds 'if (soc_is_s3c64xx)' to all initcalls that are
      specific to the s3c64xx platform, to prevent them from breaking
      other platforms once we can build them into a combined kernel.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      a0e157af
    • A
      ASoC: samsung/smartq: use dynamic registration · df0cc2d1
      Arnd Bergmann 提交于
      As a prerequisite for moving s3c64xx into multiplatform configurations,
      we need to change the smartq audio driver to stop using hardcoded
      gpio numbers from the header file, and instead pass the gpio data
      through platform_data.
      
      In order to do that, we also move the code to use module_platform_driver
      and register the platform device using platform_device_register_simple
      and register the gpios through the gpiod API.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@kernel.org>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      df0cc2d1
  19. 21 11月, 2015 1 次提交
    • A
      ASoC: samsung: pass filter function as pointer · 9bdca822
      Arnd Bergmann 提交于
      As we are now passing the filter data as pointers to the drivers,
      we can take the final step and also pass the filter function the
      same way. I'm keeping this change separate, as there it's less
      obvious that this is a net win.
      
      Upsides of this are:
      
      - The ASoC drivers are completely independent from the DMA engine
        implementation, which simplifies the Kconfig logic and in theory
        allows the same sound drivers to be built in a kernel that supports
        different kinds of dmaengine drivers.
      
      - Consistency with other subsystems and drivers
      
      On the other hand, we have a few downsides:
      
      - The s3c24xx-dma driver now needs to be built-in for the ac97 platform
        device to be instantiated on s3c2440.
      
      - samsung_dmaengine_pcm_config cannot be marked 'const' any more
        because the filter function pointer needs to be set at runtime.
        This is safe as long we don't have multiple different DMA engines
        in thet same system at runtime, but is nonetheless ugly.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      9bdca822
  20. 19 11月, 2015 1 次提交
    • A
      ASoC: samsung: pass DMA channels as pointers · b9a1a743
      Arnd Bergmann 提交于
      ARM64 allmodconfig produces a bunch of warnings when building the
      samsung ASoC code:
      
      sound/soc/samsung/dmaengine.c: In function 'samsung_asoc_init_dma_data':
      sound/soc/samsung/dmaengine.c:53:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         playback_data->filter_data = (void *)playback->channel;
      sound/soc/samsung/dmaengine.c:60:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         capture_data->filter_data = (void *)capture->channel;
      
      We could easily shut up the warning by adding an intermediate cast,
      but there is a bigger underlying problem: The use of IORESOURCE_DMA
      to pass data from platform code to device drivers is dubious to start
      with, as what we really want is a pointer that can be passed into
      a filter function.
      
      Note that on s3c64xx, the pl08x DMA data is already a pointer, but
      gets cast to resource_size_t so we can pass it as a resource, and it
      then gets converted back to a pointer. In contrast, the data we pass
      for s3c24xx is an index into a device specific table, and we artificially
      convert that into a pointer for the filter function.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b9a1a743
  21. 13 10月, 2015 4 次提交
  22. 27 9月, 2015 1 次提交
  23. 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
  24. 30 7月, 2015 5 次提交