summaryrefslogtreecommitdiffstats
path: root/arch/arm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ARM: s3c: Cleanup from old plat-samsung includeKrzysztof Kozlowski2020-08-221-2/+2
| | | | | | | | | | The arch/arm/plat-samsung/ was removed and merged into arch/arm/mach-s3c/ so the include path is not needed anymore. Fixes: 71b9114d2c13 ("ARM: s3c: move into a common directory") Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200821074251.26798-1-krzk@kernel.org
* ARM: s3c: make headers local if possibleArnd Bergmann2020-08-22151-488/+487
| | | | | | | | | | A lot of header files are only used internally now, so they can be moved to mach-s3c, out of the visibility of drivers. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-40-krzk@kernel.org [krzk: Rebase and fixup leds-s3c24xx driver] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* ARM: s3c: move into a common directoryArnd Bergmann2020-08-20194-172/+256
| | | | | | | | | | | | | | | | s3c24xx and s3c64xx have a lot in common, but are split across three separate directories, which makes the interaction of the header files more complicated than necessary. Move all three directories into a new mach-s3c, with a minimal set of changes to each file. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [krzk: Rebase, add s3c24xx and s3c64xx suffix to several files, add SPDX headers to new files, remove plat-samsung from MAINTAINERS] Co-developed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> https://lore.kernel.org/r/20200806182059.2431-39-krzk@kernel.org
* ARM: s3c24xx: stop including mach/hardware.h from mach/io.hArnd Bergmann2020-08-2022-18/+23
| | | | | | | | | | | | A number of other files rely on mach/map.h to be indirectly included from mach/io.h through mach/hardware.h. Reduce this to the minimal plat/map-base.h and add explicit includes everywhere else. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-38-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* cpufreq: s3c24xx: move low-level clk reg access into platform codeArnd Bergmann2020-08-203-8/+33
| | | | | | | | | | | | | | Rather than have the cpufreq drivers touch include the common headers to get the constants, add a small indirection. This is still not the proper way that would do this through the common clk API, but it lets us kill off the header file usage. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Link: https://lore.kernel.org/r/20200806182059.2431-37-krzk@kernel.org [krzk: Rebase and fix -Wold-style-definition] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* ARM: s3c: remove cpufreq header dependenciesArnd Bergmann2020-08-2018-456/+13
| | | | | | | | | | | | | | The cpufreq drivers are split between the machine directory and the drivers/cpufreq directory. In order to share header files after we convert s3c to multiplatform, those headers have to live in a different global location. Move them to linux/soc/samsung/ in lack of a better place. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Link: https://lore.kernel.org/r/20200806182059.2431-35-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* fbdev: s3c2410fb: remove mach header dependencyArnd Bergmann2020-08-2022-261/+50
| | | | | | | | | | | | | | | | | The s3c2410fb driver is too deeply intertwined with the s3c24xx platform code. Change it in a way that avoids the use of platform header files but having all interface data in a platform_data header, and the private register definitions next to the driver itself. One ugly bit here is that the driver pokes directly into gpio registers, which are owned by another driver. Passing the mapped addresses in platform_data is somewhat suboptimal, but it is a small improvement over the previous version. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-33-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* ARM: s3c24xx: bast: avoid irq_desc array usageArnd Bergmann2020-08-201-3/+1
| | | | | | | | | | | | Once we move to sparse irqs, the irq_desc[] array is no longer accessible, so replace the two uses in bast-irq.c. The first one can use irq_to_desc(), the second one seems completely unneeded as we already have a pointer to the correct descriptor. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-32-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* ARM: s3c24xx: spi: avoid hardcoding fiq number in driverArnd Bergmann2020-08-201-3/+9
| | | | | | | | | | | | | | The IRQ_EINT0 constant is a platform detail that is defined in mach/irqs.h and not visible to drivers once that header is made private. Since the same calculation already happens in s3c24xx_set_fiq, just return the value from there. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-31-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* ARM: s3c24xx: include mach/irqs.h where neededArnd Bergmann2020-08-207-0/+7
| | | | | | | | | | Preparing for a later conversion to sparse IRQs, this ensures that the mach/irqs.h header is still visible in files that reference an IRQ number. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-30-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* ARM: s3c24xx: move s3cmci pinctrl handling into board filesArnd Bergmann2020-08-2011-2/+134
| | | | | | | | | | | | | | | | Rather than call the internal s3c_gpio_cfgall_range() function through a platform header, move the code into the set_power callback that is already exported by the board, and add a default implementation. In DT mode, the code already does not set the pin config, so nothing changes there. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20200806182059.2431-29-krzk@kernel.org [krzk: Rebase and correct set_power in mach-h1940.c] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* ARM: s3c24xx: move iis pinctrl config into boardsArnd Bergmann2020-08-2014-2/+63
| | | | | | | | | | | | | | | | | | The s3c_gpio_cfgall_range() function is an internal interface of the samsung gpio driver and should not be called directly by drivers, so move the iis pin initialization into the boards. This means the pin configuration is only run once at early boot, rather than each time the driver binds, but the effect should be the same. Note that the s3c2412-i2s driver has no boards using it in mainline linux, the driver gets selected for the jive machine but is never instantiated. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-28-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* Merge tag 'samsung-platdrv-boards' of ↵Krzysztof Kozlowski2020-08-203-0/+51
|\ | | | | | | | | | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into next/soc-s3c-cleanup Pull Samsung S3C ASoC cleanup patches from Mark Brown. These patches are part of the entire cleanup series so all further work depends on them.
| * ASoC: samsung: rx1950: turn into platform driverArnd Bergmann2020-08-191-0/+16
| | | | | | | | | | | | | | | | | | | | Avoid machine specific headers by using a gpio lookup table combined with a platform_driver for this board. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-26-krzk@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: samsung: neo1973: turn into platform driverArnd Bergmann2020-08-191-0/+17
| | | | | | | | | | | | | | | | | | | | Avoid machine specific headers by using a gpio lookup table combined with a platform_driver for this board. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-25-krzk@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: samsung: h1940: turn into platform driverArnd Bergmann2020-08-191-0/+18
| | | | | | | | | | | | | | | | | | | | Avoid machine specific headers by using a gpio lookup table combined with a platform_driver for this board. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-24-krzk@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
* | ARM: s3c24xx: move spi fiq handler into platformArnd Bergmann2020-08-193-0/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fiq handler needs access to some register definitions that should not be used directly by device drivers. Since this is closely related to the irqchip driver anyway, move it into the same place. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [krzk: Add a header guard in include/linux/spi/s3c24xx-fiq.h, fix SPDX comment style, update maintainer's entry] Co-developed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-23-krzk%40kernel.org Acked-by: Mark Brown <broonie@kernel.org>
* | ARM: s3c: adc: move header to linux/soc/samsungArnd Bergmann2020-08-197-38/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are multiple drivers using the private adc interface. It seems unlikely that they would ever get converted to iio, so make the current state official by making the header file global. The s3c2410_ts driver needs a couple of register definitions as well. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: Sebastian Reichel <sre@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-22-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: move irqchip driver back into platformArnd Bergmann2020-08-192-0/+1331
| | | | | | | | | | | | | | | | | | | | | | | | It was a good idea to move it out at first, but the irqchip code is still tightly connected to the s3c24xx platform code and uses multiple internal header files, so just move it back for the time being to avoid those dependencies. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-21-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: move regs-spi.h into spi driverArnd Bergmann2020-08-194-46/+2
| | | | | | | | | | | | | | | | | | | | | | The file is mostly specific to the driver, the few bits that are actually used by the platform code get moved to mach/map.h instead. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-20-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c64xx: remove mach/hardware.hArnd Bergmann2020-08-1911-27/+0
| | | | | | | | | | | | | | | | | | | | This header is empty and conflicts with the s3c24xx version of the same file when we merge the two, so stop including it. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200806182059.2431-19-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s5pv210: don't imply CONFIG_PLAT_SAMSUNGArnd Bergmann2020-08-193-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The plat-samsung directory and mach-s5pv210 can be build completely independently, so split the two Kconfig symbols CONFIG_PLAT_SAMSUNG and CONFIG_ARCH_S5PV210. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Thierry Reding <thierry.reding@gmail.com> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-18-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s5pv210: use private pm save/restoreArnd Bergmann2020-08-195-14/+47
| | | | | | | | | | | | | | | | | | | | The pm save/restore code is fairly small, so in order to separate the s3c and s5p platforms, adding an s5p specific copy instead of sharing it is actually easier. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-17-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: samsung: move pm check code to drivers/socArnd Bergmann2020-08-196-432/+3
| | | | | | | | | | | | | | | | | | | | This is the only part of plat-samsung that is really shared between the s3c and s5p ports. Moving it to drivers/soc/ lets us make them completely independent. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-16-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: exynos: stop selecting PLAT_SAMSUNGArnd Bergmann2020-08-194-11/+6
| | | | | | | | | | | | | | | | | | | | Now that no code in arch/arm is shared between mach-exynos and the others, make the split formal. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20200806182059.2431-15-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: exynos: use private samsung_cpu_id copyArnd Bergmann2020-08-198-54/+25
| | | | | | | | | | | | | | | | | | | | | | | | The only part of plat-samsung that is shared with arch-exynos is the CPU identification code. Having a separate exynos_cpu_id variable makes the two completely independent and is actually a bit less code in total. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-14-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: samsung: move CONFIG_DEBUG_S3C_UART to Kconfig.debugArnd Bergmann2020-08-192-8/+10
| | | | | | | | | | | | | | | | | | Before we can separate plat-samsung from the individual platforms, this one has to get moved to a place where it remains accessible. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-13-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: samsung: make pm-debug platform independentArnd Bergmann2020-08-197-67/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The pm-debug code is one of the few things shared between s3c24xx/s3c64xx and the newer s5pv210. In order to make s5pv210 independent of plat-samsung, change the common bits of this code to no longer reference the s3c specific bits. In particular, all the CPU checks need to be moved out of the common code into platform specific files. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-12-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: samsung: remove s3c_pm_debug_init()Arnd Bergmann2020-08-196-22/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On s3c24xx and s3c64xx, this is just a wrapper around s3c_pm_debug_init_uart(), but this function does not exist on s5pv210, which always uses an empty stub as CONFIG_SAMSUNG_ATAGS is normally not set. In a configuration that supports both s5pv210 and s3c64xx, we would always call the s3c64xx function, which is probably incorrect when running on s5pv210. Remove the function call completely on s5pv210 and skip the wrapper on s3c as a cleanup. As a side-effect, the s3c64xx behavior is now always the same, regardless of whether it is a DT-only configuration or both DT and ATAGS are supported for booting. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-11-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: samsung: don't build plat/pm-common for ExynosArnd Bergmann2020-08-191-1/+0
| | | | | | | | | | | | | | | | | | | | This file has not had any callers since linux-4.7, so stop building it. Fixes: 5901f4c279f7 ("ARM: EXYNOS: Remove SROM related register settings from mach-exynos") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-10-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | usb: gadget: s3c-hsudc: remove platform header dependencyArnd Bergmann2020-08-192-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no real phy driver, so s3c-hsudc just pokes the registers itself. Improve this a little by making it a platform data callback like we do for gpios. There is only one board using this driver, and it's unlikely that another would be added, so this is a minimal workaround. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-9-krzk@kernel.org [krzk: Include regs-s3c2443-clock.h in ifdef to fixup build on s3c6400] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | usb: gadget: s3c: use platform resourcesArnd Bergmann2020-08-191-146/+0
| | | | | | | | | | | | | | | | | | | | The resources are correctly initialized, so just use them instead of relying on hardcoded data from platform headers. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Felipe Balbi <balbi@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-8-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: simplify mach/io.hArnd Bergmann2020-08-192-193/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s3c24xx has a custom implementation of the inb/outb family of I/O accessors, implementing both general register access and ISA I/O port through a multiplexer. As far as I can tell, the first case has never been needed, and certainly is not used now, as drivers only use inb/outb to actually driver ISA or PCI port I/O. Similarly, the special ISA support is limited to a single machine, the Simtec Electronics BAST (EB2410ITX) with its PC/104 expansion connector, all other machines could simply use the generic implementation from asm/io.h that expects a single memory-mapped address range for byte, word and dword access. As no other machines besides BAST actually selects CONFIG_ISA, this is likely not even necessary. As a cleanup, remove support for the non-ISA access from the helpers, and make the ISA access use the virtual address window that we use elsewhere for PCI I/O ports. In configurations without the BAST machine, this now falls back on the generic implementation from asm/io.h, but the mach/io.h header is still relied on to include a number of other header files implicitly. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-7-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: pass pointer to clk driver via platform dataKrzysztof Kozlowski2020-08-191-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | Passing pointers directly as platform data is fragile and undocumented. Better to create a platform data structure which explicitly documents what is passed to the driver. Suggested-by: Tomasz Figa <tomasz.figa@gmail.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Stephen Boyd <sboyd@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-6-krzk@kernel.org
* | ARM: s3c24xx: make S3C24XX_MISCCR access indirectArnd Bergmann2020-08-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The clk driver uses both a function call into an exported platform file and a direct register access to a hardcoded virtual address for accessing the MISCCR register, both become are a problem for a multiplatform kernel because of the header file dependency. Make this an indirect function call through platform data instead. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Stephen Boyd <sboyd@kernel.org> Link: https://lore.kernel.org/r/20200806182059.2431-5-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: iotiming: make functions staticArnd Bergmann2020-08-191-3/+3
| | | | | | | | | | | | | | | | | | | | There are two functions in this file that are never called from anywhere else, so they should be static to allow the compiler to optimize it better and not pollute the global namespace. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200806182059.2431-4-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: fix mmc gpio lookup tablesArnd Bergmann2020-08-195-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | The gpio controller names differ between s3c24xx and s3c64xx, and it seems that these all got the wrong names, using GPx instead of GPIOx. Fixes: d2951dfa070d ("mmc: s3cmci: Use the slot GPIO descriptor") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20200806182059.2431-3-krzk@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: fix missing system resetKrzysztof Kozlowski2020-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | Commit f6361c6b3880 ("ARM: S3C24XX: remove separate restart code") removed usage of the watchdog reset platform code in favor of the Samsung SoC watchdog driver. However the latter was not selected thus S3C24xx platforms lost reset abilities. Cc: <stable@vger.kernel.org> Fixes: f6361c6b3880 ("ARM: S3C24XX: remove separate restart code") Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c64xx: switch to generic watchdog driver resetKrzysztof Kozlowski2020-08-1918-162/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similarly to commit f6361c6b3880 ("ARM: S3C24XX: remove separate restart code"), the platform watchdog reset code can be removed in favor of a generic watchdog driver which already handles reset. This allows removal of a bunch of machine code and fixes also W=1 compile warnings: arch/arm/plat-samsung/watchdog-reset.c:29:6: warning: no previous prototype for 'samsung_wdt_reset' [-Wmissing-prototypes] arch/arm/plat-samsung/watchdog-reset.c:69:13: warning: no previous prototype for 'samsung_wdt_reset_of_init' [-Wmissing-prototypes] arch/arm/plat-samsung/watchdog-reset.c:89:13: warning: no previous prototype for 'samsung_wdt_reset_init' [-Wmissing-prototypes] The generic watchdog-based system reset is not exactly the same as before. The previous method had a fallback to soft_restart() which now is gone. The commit also removes a FIXME note about calling s3c64xx_clk_init() inside s3c64xx_init_irq(). No one fixed this since long time and the note is not meaningful anymore because watchdog part is removed. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com>
* | ARM: samsung: remove HAVE_S3C2410_WATCHDOG and use direct dependenciesKrzysztof Kozlowski2020-08-194-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A separate Kconfig option HAVE_S3C2410_WATCHDOG for Samsung SoCs is not really needed and the s3c24xx watchdog driver can depend on Samsung ARM architectures instead. The "HAVE_xxx_WATCHDOG" pattern of dependency is not popular and Samsung platforms are here exceptions. All others just depend on CONFIG_ARCH_xxx. This makes the code slightly smaller without any change in functionality. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Guenter Roeck <linux@roeck-us.net>
* | ARM: s3c24xx: drop s3c-camif setup platform codeKrzysztof Kozlowski2020-08-193-74/+0
| | | | | | | | | | | | | | | | | | | | | | | | The s3c-camif driver setup platform code does not have any users so it can be safely removed. Along with the code W=1 compile warnings go away: arch/arm/mach-s3c24xx/setup-camif.c:28:5: warning: no previous prototype for 's3c_camif_gpio_get' [-Wmissing-prototypes] arch/arm/mach-s3c24xx/setup-camif.c:56:6: warning: no previous prototype for 's3c_camif_gpio_put' [-Wmissing-prototypes] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: samsung: fix kerneldoc of s3c_pm_do_restore_core()Krzysztof Kozlowski2020-08-171-0/+2
| | | | | | | | | | | | | | | | | | Fix W=1 compile warnings (invalid kerneldoc): arch/arm/plat-samsung/pm-common.c:68: warning: Function parameter or member 'ptr' not described in 's3c_pm_do_restore_core' arch/arm/plat-samsung/pm-common.c:68: warning: Function parameter or member 'count' not described in 's3c_pm_do_restore_core' Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c: remove unneeded machine header includesKrzysztof Kozlowski2020-08-1731-32/+0
| | | | | | | | | | | | | | | | Not all units use the contents of mach/hardware.h and mach/dma.h. Remove these includes when not needed. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Arnd Bergmann <arnd@arndb.de>
* | ARM: s3c24xx: ts: document function argumentKrzysztof Kozlowski2020-08-171-0/+1
| | | | | | | | | | | | | | | | | | Document function argument in kerneldoc comment to fix W=1 compile warning: arch/arm/mach-s3c24xx/setup-ts.c:27: warning: Function parameter or member 'dev' not described in 's3c24xx_ts_cfg_gpio' Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: ts: include platform data headerKrzysztof Kozlowski2020-08-171-0/+2
| | | | | | | | | | | | | | | | | | | | Include platform_data/touchscreen-s3c2410.h header in the touchscreen code to bring the prototypes of defined functions and fix W=1 compile warning: arch/arm/mach-s3c24xx/setup-ts.c:24:6: warning: no previous prototype for 's3c24xx_ts_cfg_gpio' [-Wmissing-prototypes] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: sdhci: include plat/sdhci.h headerKrzysztof Kozlowski2020-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | Include plat/sdhci.h header in the sdhci code to bring the prototypes of defined functions and fix W=1 compile warnings: arch/arm/mach-s3c24xx/setup-sdhci-gpio.c:21:6: warning: no previous prototype for 's3c2416_setup_sdhci0_cfg_gpio' [-Wmissing-prototypes] arch/arm/mach-s3c24xx/setup-sdhci-gpio.c:26:6: warning: no previous prototype for 's3c2416_setup_sdhci1_cfg_gpio' [-Wmissing-prototypes] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c24xx: include common.h header in s3c2443.cKrzysztof Kozlowski2020-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | Include common.h header in the s3c2443.c to bring the prototypes of defined functions and fix W=1 compile warnings: arch/arm/mach-s3c24xx/s3c2443.c:60:12: warning: no previous prototype for 's3c2443_init' [-Wmissing-prototypes] arch/arm/mach-s3c24xx/s3c2443.c:77:13: warning: no previous prototype for 's3c2443_init_uarts' [-Wmissing-prototypes] arch/arm/mach-s3c24xx/s3c2443.c:88:13: warning: no previous prototype for 's3c2443_map_io' [-Wmissing-prototypes] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
* | ARM: s3c: remove plat-samsung/.../samsung-time.hKrzysztof Kozlowski2020-08-1737-61/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the arch/arm/plat-samsung/include/plat/samsung-time.h header and move the contents to common.h headers in mach-s3c24xx and mach-s3c64xx. The definition of declared functions is already in common.c in mach directories, so it is logically to put declaration next to them. This is also one step further towards removal of plat-samsung directory and it fixes W=1 build warnings: arch/arm/mach-s3c64xx/common.c:174:13: warning: no previous prototype for 'samsung_set_timer_source' [-Wmissing-prototypes] arch/arm/mach-s3c64xx/common.c:180:13: warning: no previous prototype for 'samsung_timer_init' [-Wmissing-prototypes] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com>
* | clk: samsung: s3c24xx: declare s3c24xx_common_clk_init() in shared headerKrzysztof Kozlowski2020-08-172-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The s3c2410_common_clk_init() and others are defined and used by the clk-s3c24xx driver and also used in the mach-s3c24xx machine code. Move the declaration to a header to fix W=1 build warnings: drivers/clk/samsung/clk-s3c2410.c:320:13: warning: no previous prototype for 's3c2410_common_clk_init' [-Wmissing-prototypes] 320 | void __init s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f, drivers/clk/samsung/clk-s3c2412.c:205:13: warning: no previous prototype for 's3c2412_common_clk_init' [-Wmissing-prototypes] 205 | void __init s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f, drivers/clk/samsung/clk-s3c2443.c:341:13: warning: no previous prototype for 's3c2443_common_clk_init' [-Wmissing-prototypes] 341 | void __init s3c2443_common_clk_init(struct device_node *np, unsigned long xti_f, Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Stephen Boyd <sboyd@kernel.org>
* | clk: samsung: s3c64xx: declare s3c64xx_clk_init() in shared headerKrzysztof Kozlowski2020-08-172-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The s3c64xx_clk_init() is defined and used by the clk-s3c64xx driver and also used in the mach-s3c64xx machine code. Move the declaration to a header to fix W=1 build warning: drivers/clk/samsung/clk-s3c64xx.c:391:13: warning: no previous prototype for 's3c64xx_clk_init' [-Wmissing-prototypes] 391 | void __init s3c64xx_clk_init(struct device_node *np, unsigned long xtal_f, Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com> Acked-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Stephen Boyd <sboyd@kernel.org>