1. 12 10月, 2017 1 次提交
  2. 20 7月, 2017 1 次提交
  3. 29 3月, 2017 1 次提交
  4. 29 12月, 2016 2 次提交
  5. 16 12月, 2016 1 次提交
  6. 17 11月, 2016 1 次提交
  7. 24 8月, 2016 1 次提交
  8. 06 7月, 2016 1 次提交
  9. 22 6月, 2016 1 次提交
  10. 21 6月, 2016 2 次提交
  11. 30 5月, 2016 1 次提交
  12. 18 5月, 2016 1 次提交
    • A
      ARM: samsung: improve static dma_mask definition · 4cb54493
      Arnd Bergmann 提交于
      When no DMA master devices are part of the kernel configuration,
      we get a warning about the unused dma mask definition:
      
      arch/arm/plat-samsung/devs.c:71:12: error: 'samsung_device_dma_mask' defined but not used [-Werror=unused-variable]
       static u64 samsung_device_dma_mask = DMA_BIT_MASK(32);
      
      We could simply mark this as __maybe_unused to shut up that warning,
      but a nicer solution seems to be to have a separate mask for each
      device. The advantage is that a driver that happens to call
      dma_set_mask() on one device doesn't implicitly change the mask
      for the other devices as well. This is more of a theoretical
      problem, as obviously nothing does it for the devices in this
      file (or they would have always been broken), but it feels
      cleaner that way.
      
      The definition works by creating an array in place so we can take
      the address of it and let the compiler generate a hidden symbol
      for it at compile time.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      4cb54493
  13. 18 4月, 2016 1 次提交
  14. 25 2月, 2016 2 次提交
  15. 30 1月, 2016 1 次提交
  16. 27 1月, 2016 1 次提交
  17. 01 1月, 2016 1 次提交
    • 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
  18. 02 12月, 2015 6 次提交
    • 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 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
      gpio: samsung: move gpio-samsung driver back to platform code · 0f20e456
      Arnd Bergmann 提交于
      The gpio-samsung driver is special in the sense that it
      interacts directly in multiple ways with the legacy platform
      code for the s3c24xx and s3c64xx platforms. In contrast,
      all devicetree based machines for Samsung, including the
      ones on those two SoC families use a different driver.
      
      The header files that define the interface between the platform
      code and the gpio driver are not visible when building a
      kernel for ARCH_MULTIPLATFORM, which prevents us from
      turning on this option for s3c64xx.
      
      To work around this, we now move the driver back into platform
      code, from where it was originally moved to as part of commit
      1b39d5f2 ("gpio/samsung: gpio-samsung.c to support
      Samsung GPIOs").
      
      The long-term plan for this driver would be to remove it
      entirely, after all Samsung machines have been converted
      over to boot from DT, but there is currently no timeline
      for when that might happen.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      0f20e456
  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 3 次提交
    • A
      spi: s3c64xx: pass DMA arguments in platform data · a0067db3
      Arnd Bergmann 提交于
      The s3c64xx platform data already contains a pointer to the
      DMA filter function, but not to the associated data.
      
      This simplifies the code and makes it more generic by
      passing the data along with the filter function like
      we do for other drivers.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      a0067db3
    • A
      ASoC: s3c24xx-i2s: pass DMA channels as platform data · 359fdfa6
      Arnd Bergmann 提交于
      This is a minor cleanup to make the s3c2412-i2s and s3c24xx-i2s
      drivers independent of the mach/dma.h header file and to allow
      removing the dependency on the specific dmaengine driver in the
      next patch.
      
      As a side not, only the s3c24xx-i2s driver seems to still be
      used, while the definition of the s3c2412-i2s platform device was
      removed in commit 6d259a25 ("ARM: SAMSUNG: use static
      declaration when it is not used in other files") after it had
      never been referenced since its introduction in f0fba2ad
      ("ASoC: multi-component - ASoC Multi-Component Support").
      
      Apparently it should have been used by mach-jive.c, but that
      never happened. My patch at this point leaves the current state
      unchanged, we can decide whether to fix or delete the jive
      driver and s3c2412-i2s another time.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      359fdfa6
    • 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. 17 11月, 2015 1 次提交
    • M
      [media] include/media: move platform_data to linux/platform_data/media · eb4b0ec7
      Mauro Carvalho Chehab 提交于
      Let's not mix platform_data headers with the core headers. Instead, let's
      create a subdir at linux/platform_data and move the headers to that
      common place, adding it to MAINTAINERS.
      
      The headers were moved with:
      	mkdir include/linux/platform_data/media/; git mv include/media/gpio-ir-recv.h include/media/ir-rx51.h include/media/mmp-camera.h include/media/omap1_camera.h include/media/omap4iss.h include/media/s5p_hdmi.h include/media/si4713.h include/media/sii9234.h include/media/smiapp.h include/media/soc_camera.h include/media/soc_camera_platform.h include/media/timb_radio.h include/media/timb_video.h include/linux/platform_data/media/
      
      And the references fixed with this script:
          MAIN_DIR="linux/platform_data/"
          PREV_DIR="media/"
          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
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      eb4b0ec7
  22. 27 9月, 2015 1 次提交
  23. 30 7月, 2015 8 次提交