summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx
AgeCommit message (Collapse)Author
2010-03-30include cleanup: Update gfp.h and slab.h includes to prepare for breaking ↵Tejun Heo
implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
2010-03-15ARM: SAMSUNG: Fixup commit 4e6d488af37980d224cbf298224db6173673f362Ben Dooks
Commit 4e6d488af37980d224cbf298224db6173673f362 either missed out the following machine files or somehow managed to clash between merges. Fixup the three files missing the second parameter to addruart macro to allow them to build. Fixes the following warnings in arch/arm/kernel/debug.c: arch/arm/kernel/debug.S: Assembler messages: arch/arm/kernel/debug.S:167: Error: too many positional arguments arch/arm/kernel/debug.S:183: Error: too many positional arguments Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-03-08Merge branch 'for-rmk/samsung6' of git://git.fluff.org/bjdooks/linux into ↵Russell King
devel-stable
2010-03-07ARM: S3C64XX: Reintroduce unconditional build of audio deviceMark Brown
Ben Dooks' commit cf9814eb (ARM: S3C64XX: Make audio device code built unconditionally) made the struct devices for the audio blocks in the S3C64xx series processors be built unconditionally but this change seems to have gone AWOL in the various Samsung platform moves this release cycle, causing link failures with machine drivers that rely on it. Reintroduce the change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-03-02Merge branch 'for-rmk/samsung5' of git://git.fluff.org/bjdooks/linux into ↵Russell King
devel-stable Conflicts: arch/arm/Kconfig arch/arm/Makefile
2010-02-24ARM: S3C64XX: Add initial support for board specific IRQsMark Brown
Follow the scheme used for IRQs. By default 16 GPIOs are allocated for board use. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24ARM: S3C64XX: Declare IISv4 PCLK for S3C6410Jassi Brar
[Updated the device ID to -1 since there's only one IISv4 device but the S3C clock API tries to match based on the ID of the requesting device (and not the name) -- broonie.] Signed-Off-by: Jassi Brar <jassi.brar@samsung.com> [ben-linux@fluff.org: Fixed Jassi's lastname] Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24ARM: S3C64XX: Add AC97 platform resourcesJassi Brar
This patch defines the platform device and the resources: IRQ, DMA and MEM, needed by the AC97 controller driver. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24ARM: SMDK6410: Register IISv4 deviceMark Brown
The IISv4 controller is connected to the WM8580 on the board. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24ARM: SMDK6410: Add support for PMIC LED on WM1192-EV1 PMIC moduleMark Brown
The PMIC LED on the SMDK6410 CPU board is driven by GPIO4 of the WM8312 PMIC. Provide software control of this LED. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24ARM: SMDK6410: Add initial support for WM1192-EV1 PMIC boardMark Brown
The Wolfson Microelectronics 1192-EV1 is a plug in module for the SMDK6410 providing power using a WM8312 PMIC. This patch provides initial hookup sufficient to initialise the board, though not all features are fully described yet. As part of this supplies for the system that are provided as a single supply by one of the currently merged PMIC boards are factored out so they can be reused between different regulators. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24ARM: SAMSUNG: Move include/mach files out of plat-s3cBen Dooks
Move the include/mach files out of plat-s3c and into the relevant machine files. This does mean copying the files, but there is nowhere else to put them. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-22ARM: Merge next-samsung-s3c64xx-platdeletionBen Dooks
Merge branch 'next-samsung-s3c64xx-platdeletion' into next-samsung Conflicts: arch/arm/mach-s3c64xx/Makefile (fixed)
2010-02-22ARM: S3C64XX: Eliminate plat-s3c64xxBen Dooks
Now we've move the support out of plat-s3c64xx for everything, eliminate the platform directory arch/arm/plat-s3c64xx and remove it from the ARM build configuration. Note, PLAT_S3C64XX is kept around for the moment until the drivers that depend on it can be updated, so it is moved to the mach-s3c64xx Kconfig. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-21ARM: SAMSUNG: Remove dma-plat.h to allow plat-s3c64xx to be removedBen Dooks
dma-plat.h is the last file left in plat-s3c64xx, but to remove it we must also change the use of dma-plat.h by the core code and the s3c24xx implementation. Rename the s3c24xx dma-plat.h in the common plat-samsung directory as it may be used for other ports. Move the specific dma bits into the mach-s3c64xx directory and update the build as needed. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: SAMSUNG: Move pm-core.h to machine directoryBen Dooks
Move the pm-core.h to the machine include directory in the process of eliminating the plat-s3c64xx. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Combine the clock init codeBen Dooks
Turn the init sequence of s3c24xx_register_baseclocks(xtal); s3c64xx_register_clocks(); s3c6400_register_clocks(S3C6410_CLKDIV0_ARM_MASK); into a single call as this is now contained within one file. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Merge s3c6400-clock.c and clock.c into mach-s3c64xxBen Dooks
Merge plat-s3c64xx/s3c6400-clock.c mach-s3c64xx/clock.c placing all the clock code into one place. Note, no effort is made in this patch to squash the init functions together. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Merge s3c6400-init.c into cpu.cBen Dooks
Since this file is small, and is compiled for both systems in this architecture merge it into the cpu support file and remove the original instead of moving it. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move core support to mach-s3c64xxBen Dooks
Move the core S3C64XX support to mach-s3c64xx as it is unlikely to be used outside of this directory. Also move the SoC header files in with it. This includes the clock, cpu, cpufreq, dma, gpiolib and pll support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move device and device setup into mach-s3c64xxBen Dooks
Move the S3C64XX specific device and setup files into mach-s3c64xx as they are unlikely to be used outside of this code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move IRQ support into mach-s3c64xxBen Dooks
Move IRQ support to mach-s3c64xx as it is unlikely to be re-used outside this machine. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move headers into machine include directoryBen Dooks
Move the register and GPIO definition files from plat-s3c64xx into the machine include direcotry as they are unlikely to be reused outside mach-s3c64xx. This move includes removing the empty <mach/regs-clock.h> and replacing it with the <plat/regs-clock.h> implementation. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26ARM: S3C64XX: Squash SDHCI setup into one fileBen Dooks
Squash the SDHCI setup for both the S3C6400 and S3C6410 into one file and make the S3C6410 case use the S3C6400 code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26ARM: S3C64XX: Remove useless IO descriptor from S3C6410Ben Dooks
The iotable in arch/arm/mach-s3c64xx/s3c6410.c is currently empty and therefore can be removed from the build. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26ARM: S3C64XX: Merge mach-s3c6400 and mach-s3c6410Ben Dooks
As per discussions with Russell King on linux-arm-kernel, it appears that both mach-s3c6400 and mach-s3c6410 are so close together that they should simply be merged into mach-s3c64xx. Note, this patch does not eliminate any of the bits that are still common, it is simply a move of the two directories together, any further common code will be eliminated or moved in further patches. Signed-off-by: Ben Dooks <ben-linux@fluff.org>