Commit Graph

192 Commits

Author SHA1 Message Date
Ben Dooks
57699e9adf [ARM] S3C: Add debug to UART save and a per-arch callback pre-restore
Add a simple debug message on saving the UART state and add a per-arch
pre-restore function to be used by the s3c64xx restore code to ensure
the UARTs control registers do not go through any illegal state changes.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:55 +01:00
Ben Dooks
e6a2a9ce69 [ARM] S3C: Rename S3C24XX_PA_USBHOST to S3C_PA_USBHOST
The USB host base address is available on both the S3C24XX and S3C64XX
ranges.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:54 +01:00
Ben Dooks
eca8655ffa [ARM] S3C: Add common USB OHCI device definition
Add common definition for USB OHCI platform device, add a Kconfig
to selectively compile it and add update all the users.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:54 +01:00
Ben Dooks
97c1b14523 [ARM] S3C: Move DMA channel management code to plat-s3c
Change the name of S3C2410_DMA_CHANNELS to S3C_DMA_CHANNELS in the process.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01 11:39:07 +01:00
Ben Dooks
023b40cd10 [ARM] S3C24XX: Fix indentation in <plat/dma-regs.h>
The <plat/dma-regs.h> pre-date the invention of the TAB character,
so fix the indentation of the register defines.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01 11:39:06 +01:00
Ben Dooks
44dc94045f [ARM] S3C24XX: DMA: Split hardware regs out of <mach/dma.h>
The <mach/dma.h> is for the driver API for the DMA system and should
not have anything relying on the CPU specific registers.

Remove the registers to <plat/dma-regs.h> for the code that really
needs to know about them.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01 11:39:06 +01:00
Ben Dooks
8970ef47d5 [ARM] S3C24XX: Remove hardware specific registers from DMA
calls

The S3C24XX DMA API channel configuration registers are being passed
values comprised of register values which makes it hard to move the
API to cover both the S3C24XX and S3C64XX.

These values can be calculated from knowing which device the channel
is connected to, so remove them from the two calls s3c2410_dma_config
and s3c2410_dma_devconfig.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01 11:39:06 +01:00
Ben Dooks
5a9eb8da8b [ARM] S3C24XX: Move plat/dma.h
Move the platform dma.h to dma-plat.h to ensure it doen't get
confused with plat/dma.h

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01 11:39:06 +01:00
Ramax Lo
0c3ee07825 [ARM] S3C24XX: ADC: Check pending queue before freeing adc client
Check pending queue and remove the adc client being released.

Signed-off-by: Ramax Lo <ramaxlo@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17 12:46:36 +01:00
Ben Dooks
f8c8ac8109 [ARM] S3C: Fix ADC driver sparse warning
The symbol 's3c_adc_try' in arch/arm/plat-s3c24xx/adc.c
does not need to be exported and thus should be static.

This fixes the following sparse warning:

adc.c:103:6: warning: symbol 's3c_adc_try' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17 12:42:25 +01:00
Ben Dooks
ec5cfbfc05 [ARM] S3C24XX: Fix sparse error in gpiolib.c
Fix the following sparse error generated by including
<plat/gpio-core.h> instead of <mach/gpio-core.h>

gpiolib.c:78:22: warning: symbol 's3c24xx_gpios' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-17 12:42:24 +01:00
Russell King
ed40d0c472 Merge branch 'origin' into devel
Conflicts:
	sound/soc/pxa/pxa2xx-i2s.c
2009-03-28 20:29:51 +00:00
Russell King
f5f0e17a84 Merge branch 'next-s3c-pm' of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2009-03-26 22:44:43 +00:00
Russell King
be093beb60 [ARM] pass reboot command line to arch_reset()
OMAP wishes to pass state to the boot loader upon reboot in order to
instruct it whether to wait for USB-based reflashing or not.  There is
already a facility to do this via the reboot() syscall, except we ignore
the string passed to machine_restart().

This patch fixes things to pass this string to arch_reset().  This means
that we keep the reboot mode limited to telling the kernel _how_ to
perform the reboot which should be independent of what we request the
boot loader to do.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-03-19 16:20:24 +00:00
Mark Brown
603b6fd5b8 [ARM] Revert futher extraneous changes from the S3C header move
Can't see any immediate need for these; build tested.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 18:28:24 +00:00
Ben Dooks
fff94cd9f5 [ARM] S3C: Tidy sleep code path to fix call flow
As noted by Russell King, the sleep code path is not
elegant and makes use of leaving items on the stack
between calls.

Change the code that does the following:

        if (s3c_cpu_save(regs_save) == 0) {
                flush_cache_all();
                S3C_PMDBG("preparing to sleep\n");
                pm_cpu_sleep();
        }

to simply call s3c_cpu_save, and let that do the
necessary calls to quiesce and sleep the system.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 11:48:07 +00:00
Ben Dooks
d2b07fe2a3 [ARM] S3C: Update UART save over PM suspend/resume
Change the way the UART state is saved over suspend to allow the s3c64xx
code to modify the settings on resume to avoid any illegal state changes
to the UART clocks. This will also allow us to save the UDIVSLOT register
on newer SoCs.

Move to using a structure for the UART use the extant Kconfig configuration
specifying the number of UARTs.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:37:10 +00:00
Ben Dooks
ef30e14420 [ARM] S3C: Rename sleep.S functions to be non-cpu specific
Rename s3c2410_cpu_resume to s3c_cpu_resume and s3c2410_cpu_save to
s3c_cpu_save to remove the CPU specific naming of these functions
which are now in the generic PM code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:37:05 +00:00
Ben Dooks
4e59c25dcb [ARM] S3C: Rename s3c2410_pm_init to s3c_pm_init.
Since we have moved a large proportion of the PM code to the common
support area, remove the cpu specific name from the initialisation
function.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:35:47 +00:00
Ben Dooks
56b3442688 [ARM] S3C: Make IRQ_EINT sleep control common
Move the IRQ_EINT sleep control to be available to all
s3c impelmentations. Since s3c_irqext_wake is not large,
place it in arch/arm/plat-s3c/pm.c as adding it to a new
file would be a waste of compile time.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:35:36 +00:00
Ben Dooks
7299a40918 [ARM] S3C24XX: Remove changelog from arch/arm/plat-s3c24xx/irq.c
Remove the changelog, this file is in version control.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:35:30 +00:00
Ben Dooks
65fa22b73f [ARM] S3C24XX: Split PM code from arch/arm/plat-s3c24xx/irq.c
Split the PM code out of arch/arm/plat-s3c24xx/irq.c to
remove some of the #ifdefs being used. Also fix a couple
of places where the absecnce of a function was redefined
to the same thing.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:35:25 +00:00
Ben Dooks
2261e0e6e3 [ARM] S3C: Move plat-s3c24xx pm.c support into plat-s3c
Move parts of the core and debug suspend code into the
plat-s3c for use with the new s3c64xx code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:33:51 +00:00
Ben Dooks
549c7e33ae [ARM] S3C: Split the resume memory check code from pm.c
Split the optional memory check code out of the pm.c file
as it is quite a big #ifdef block and as-such can be moved
out and simply compiled when the configuration is set.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:33:39 +00:00
Ben Dooks
6419711a16 [ARM] S3C: Move PM support functions to common location
Start moving the PM code by moving all the common support functions
to a common location in arch/arm/plat-s3c. With the move we rename
the functions from s3cxxx_ to s3c_ to fit the new location.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:23:51 +00:00
Ben Dooks
a3f66351b3 [ARM] S3C: Nove <plat/pm.h> from plat-s3c24xx to plat-s3fc
Move the <plat/pm.h> header to plat-s3c as preparation
for moving parts of the s3c24xx pm support which are
common into the plat-s3c support.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08 12:23:41 +00:00
Ben Dooks
8150bc886b S3C24XX: Move and update IIS headers
Move the IIS headers to their correct place.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-05 12:00:59 +00:00
Russell King
80b02c172b [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c
arch/arm/mach-at91/at91cap9.c:337: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91rm9200.c:301: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9260.c:351: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9261.c:287: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9263.c:312: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9rl.c:304: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-h720x/h7202-eval.c:38: error: implicit declaration of function 'IRQ_CHAINED_GPIOB'
arch/arm/mach-ks8695/devices.c:46: error: 'KS8695_IRQ_WAN_RX_STATUS' undeclared here (not in a function)
arch/arm/mach-msm/devices.c:28: error: 'INT_UART1' undeclared here (not in a function)
arch/arm/mach-mx2/devices.c:233: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function)
arch/arm/mach-mx3/devices.c:128: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function)
arch/arm/mach-omap1/mcbsp.c:140: error: 'INT_730_McBSP1RX' undeclared here (not in a function)
arch/arm/mach-omap1/mcbsp.c:165: error: 'INT_McBSP1RX' undeclared here (not in a function)
arch/arm/mach-omap1/mcbsp.c:200: error: 'INT_McBSP1RX' undeclared here (not in a function)
arch/arm/mach-omap2/board-apollon.c:286: error: implicit declaration of function 'omap_set_gpio_direction'
arch/arm/mach-omap2/mcbsp.c:154: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function)
arch/arm/mach-omap2/mcbsp.c:181: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function)
arch/arm/mach-pxa/e350.c:36: error: 'IRQ_BOARD_START' undeclared here (not in a function)
arch/arm/plat-s3c/dev-i2c0.c:32: error: 'IRQ_IIC' undeclared here (not in a function)
...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-01-08 16:29:42 +00:00
Ben Dooks
43ae6599fe [ARM] S3C24XX: Add gpio_to_irq implementation
Add to_irq field handlers for the GPIO banks that are configurable
as interripts.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-01-08 16:24:08 +00:00
Ben Dooks
6a148eaa20 [ARM] S3C: Remove unnecessary <linux/delay.h> includes
As per Russell King's last review comment, find and remove
all unnecessary includes of <linux/delay.h> in the files
that do not need them.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18 16:36:02 +00:00
Ben Dooks
dbf35992e1 [ARM] S3C24XX: Add fourth UART definition for S3C2443
Add the fourth UART definition for the S3C2443, and at the
same time fixup the problems caused by the enlarging of the
UART array in the previous commits.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18 16:26:16 +00:00
Ben Dooks
56c035c9ce Merge branch 'next-s3c64xx-device' into next-merged
Conflicts:

	arch/arm/mach-s3c2440/mach-at2440evb.c
2008-12-18 16:17:37 +00:00
Ben Dooks
7f2754378f Merge branch 'next-s3c64xx' into next-merged 2008-12-18 14:52:04 +00:00
Ben Dooks
c6ad115876 Merge branch 'next-s3c24xx' into next-merged 2008-12-18 14:52:00 +00:00
Ben Dooks
e2178d4374 [ARM] S3C24XX: Add extra GPIOs via Kconfig
Add Kconfig entries to allow more GPIO space to
be specified depending on the machine(s) selected.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18 14:43:07 +00:00
Ben Dooks
28ab44c5be [ARM] S3C24XX: ADC driver core
A common core driver for the S3C24XX ADC block so that
the touchscreen, hwmon and any other drivers can share
the resource.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18 14:20:04 +00:00
Ben Dooks
9d325f2341 [ARM] S3C: Update time initialisation to fix S3C64XX time problems
The S3C64XX timer is running at the wrong rate due to the
assumptions made in the timer initialisation about the way
the pwm dividers work. This means that time on the S3C64XX
runs twice as fast as it should.

Fix the problem by moving to using the clk framework to setup
the pwm timer clock muxes, as the pwm-clock code has all the
necessary knowledge of how the timer clock inputs are routed.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-16 10:13:02 +00:00
Ben Dooks
b09bcdd4c2 [ARM] S3C64XX: Update TCFG for new timer divider settings.
The S3C64XX series has a new TCFG divider setting to allow the clock
directly through, which means that we need to update the pwm-clock
code to cope with this.

Add <mach/pwm-clock.h> containing the specific code to deal with the
TCFG divider settings and provide any other per-arch data that the
pwm-clock driver needs to function.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-16 10:01:23 +00:00
Ben Dooks
3e1b776c2b [ARM] S3C: Make i2c device definition common to plat-s3c
Make the device i2c0 common to plat-s3c and move the
definitions from arch/arm/plat-s3c24xx/devs.c

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 23:40:26 +00:00
Ben Dooks
21b23664b9 [ARM] S3C: Add new GPIO configuration calls
Add new GPIO configuration calls that mesh with the
new gpiolib support.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 23:34:15 +00:00
Ben Dooks
7db6c82a37 [ARM] S3C: Move common GPIO code from plat-s3c24xx
Move the common parts of the GPIO code into plat-s3c
for use with both the s3c24xx and s3c64xx systems.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 23:33:20 +00:00
Ben Dooks
5b323c7beb [ARM] S3C: Move HSMMC device definition to plat-s3ec
Move the definition for the hsmmc device to plat-s3c
to be shared between the s3c24xx and s3c64xx platforms.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 23:32:34 +00:00
Ben Dooks
e1a2bd1d2f [ARM] S3C64XX: Add system boot-time support
Add the necessary defines for <mach/uncompress.h>
to function and build an working header code block.

Signed-off-by: Ben Doioks <ben-linux@fluff.org>
2008-12-15 21:49:32 +00:00
Ben Dooks
bcae8aeb32 [ARM] S3C24A0: Initial architecture support files
Initial architecture support for the S3C24A0 ARCH_S3C24A0.

We don't yet add an kconfig entry in the main arch/arm/Kconfig
file as the series is not complete, so that is left until enough
support is in to be useful.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:39 +00:00
Ben Dooks
ce46a9c497 [ARM] S3C24XX: Split map.h into plat-s3c24xx and mach-s3c2410
Split the map.h definitions into common S3C24XX code by
adding arch/arm/plat-s3c24xx/include/plat/map.h and
altering the machine specific header for the S3C24A0.

As we add a new <plat/map.h> we move the original one
in arch/arm/plat-s3c include directory to be called
map-base.h to distinguish the two files.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:38 +00:00
Ben Dooks
f2edc7565a [ARM] S3C24XX: Reduce code lineage of gpiolib.c
All the s3c24xx gpiolib chips share the same get/set
calls and all but one bank shares the same calls for
.direction_input and .direction_output methods.

Change the initialisation process to use an new call
to register the chips that fills in any blank calls
with the default values to avoid having to fill them
in the structure initialisers.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:24 +00:00
Ben Dooks
93b458858f [ARM] S3C: Move pwm-clock.c to arch/arm/plat-s3c
Move pwm-clock.c to arch/arm/plat-s3c
to be shared with the S3C64XX implementations.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:20 +00:00
Ben Dooks
adbefaa5fd [ARM] S3C: Move core clock support to plat-s3c
Move the core clock registration and definitions
in arch/arm/plat-s3c24xx/clock.c to arch/arm/plat-s3c
to be shared with the S3C64XX implementations.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:18 +00:00
Ben Dooks
b915a12511 [ARM] S3C: Move time.c to arch/arm/plat-s3c
Move time.c to arch/arm/plat-s3c
to be shared with the S3C64XX implementations.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:15 +00:00
Ben Dooks
6af0e929e9 [ARM] S3C: Move S3C2410_EXTINT to common regs-irqtype.h header
Add a common include file (regs-irqtype.h) for the IRQ
trigger control register values S3C2410_EXTINT*.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:13 +00:00
Ben Dooks
a503059c14 [ARM] S3C24XX: Move headers from plat-s3c24xx to plat-s3c
Move clock.h, cpu.h and devs.h to plat-s3c for use
with the s3c64xx support.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:10 +00:00
Ben Dooks
e425382ed9 [ARM] S3C24XX: Update clock data on resume
Update the clock settings on resume for suspend/resume
support so that if the boot loader changes anything or
the system's PLL is reset then we return with the correct
settings.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:08 +00:00
Ben Dooks
c3391e36d6 [ARM] S3C24XX: Change clock locking to use spinlocks.
We cannot sleep if we have cpufreq pm enabled during some
of the clock operations, so change to use a spinlock to
protect the clock system.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:07 +00:00
Ben Dooks
e24b864ab3 [ARM] S3C24XX: Split pll code out of regs-clock.h
Move the PLL calculation code into it's own header
file for re-use with the other plat-s3c24xx based
systems such as the S3C24A0.

Note, we change the name of s3c2410_get_pll to the
more generically named s3c24xx_get_pll as well as
the related defintions.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:02 +00:00
Ben Dooks
93bc6b6371 [ARM] S3C24XX: Split DCLK/CLKOUT definitions out of clock.c
Only certain boards need these clocks, and they are not
available on some CPUs (such as the S3C24A0) so remove
them from arch/arm/plat-s3c24xx/clock.c and into their
own file with appropriate Kconfig entries.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:46:00 +00:00
Ben Dooks
74b265d4e0 [ARM] S3C24XX: Move initialisation code to arch/arm/plat-s3c
We need to add plat-s3c to the build to get the headers
that will go in here once moved from include/asm-arm so
we may as well put some useful common s3c code in here
to stop the errors generated form having nothing built.

The cpu setup is now passed the cpu idcode and the table
of supported cpus to s3c_init_cpu() to abstract the
cpu identification out of the initial io setup.

As well as moving the cpu initialisation code, we move the
map of the board specific items up to the calling code as
none of the map_io() functions actually do anything other
than pass this to iotable_init().

This patch does not rename any of the init functions that
will be common to s3c24xx and any other s3c architectures
as this can be done at a later date as it will touch all
the board support files which use functions such as
s3c24xx_init_clocks() and s3c24xx_init_uarts().

Note, the header arch/arm/plat-s3c24xx/include/plat/cpu.h
still has functions that are used by both the cpu and
board initialisation functions. This means that each board
has definitions specific to the cpu support included and
the vice-versa.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:45:57 +00:00
Ben Dooks
1b3ba68884 [ARM] S3C2410: Move base clock code to plat-s3c24xx
Move the S3C2410 base clock list to arch/arm/plat-s3c24xx
as this code is common to the S3C2410, S3C2440 and S3C2442
cpus.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:45:47 +00:00
Ben Dooks
b2a6cf3b1e [ARM] S3C24XX: Default SPI pin configuration for SPI
Add a set of default pin configuration routines for
setting up the SPI gpio configuration when using the
hardware SPI driver.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:45:42 +00:00
Russell King
fba670013d Merge branch 's3c-moves2' of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2008-11-29 19:35:07 +00:00
Russell King
dcea83adc6 [ARM] Hide ISA DMA API when ISA_DMA_API is unset
When ISA_DMA_API is unset, we're not implementing the ISA DMA API,
so there's no point in publishing the prototypes via asm/dma.h, nor
including the machine dependent parts of that API.

This allows us to remove a lot of mach/dma.h files which don't contain
any useful code.  Unfortunately though, some platforms put their own
private non-ISA definitions into mach/dma.h, so we leave these behind
and fix the appropriate #include statments.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-11-29 18:42:40 +00:00
Ben Dooks
e3bd9ec5d8 [ARM] S3C24XX: Move mci.h to arch/arm/plat-s3c24xx/include/plat
Move mci.h to new position in arch/arm/plat-s3c24xx/include/plat
ready to clean out old include directories.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-30 10:17:16 +00:00
Ben Dooks
1362270872 [ARM] S3C: Move plat/regs-spi.h to arch/arm/plat-s3c/include/plat.
Move plat/regs-spi.h to arch/arm/plat-s3c/include/plat ready
ready to clean out old include directories.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-30 10:17:15 +00:00
Ben Dooks
57bd4b91a6 [ARM] S3C24XX: Movev udc headers to arch/arm/plat-s3c24xx/include/plat
Move the udc headers to the proper home in
arch/arm/plat-s3c24xx/include/plat ready to clean out
the old include directories.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-30 10:17:15 +00:00
Ben Dooks
7926b5a325 [ARM] S3C: Move nand headers to arch/arm/plat-s3c/include/plat
Move nand headers to arch/arm/plat-s3c/include/plat
ready to clean out the old include directories.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-30 10:17:13 +00:00
Russell King
11cd4cb5f5 Merge branch 'for-rmk-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux 2008-10-17 14:29:03 +01:00
Nelson Castillo
55b404fd78 [ARM] S3C24XX: Fix redefine of DEFINE_TIMER() in s3c24xx pwm-clock.c
Do not redefine the DEFINE_TIMER macro. Renamed the local macro
to DEFINE_S3C_TIMER.

Signed-off-by: Nelson Castillo <nelsoneci@gmail.com>
[ben-linux@fluff.org: spelling and subject fix]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-16 16:48:29 +01:00
Dallas Foley
7e90d760ee [ARM] S3C24XX: pwm-clock set_parent mask fix
Fix s3c24xx pwm-clock supports use of the wrong clock when calculating
the bitmask when configuring the parent clock from the set_parent call.

Signed-off-by: Dallas Foley <dfoley@techsol.ca>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-16 16:48:28 +01:00
Russell King
7e69a8c4d0 Merge branch 's3c-move' into devel
Conflicts:

	arch/arm/mach-versatile/core.c
2008-10-14 22:24:51 +01:00
Russell King
3f30a09a61 Merge branch 'pxa-all' into devel
Conflicts:

	arch/arm/mach-pxa/Kconfig
	arch/arm/mach-pxa/corgi.c
	arch/arm/mach-pxa/include/mach/hardware.h
	arch/arm/mach-pxa/spitz.c
2008-10-09 21:33:02 +01:00
Russell King
6a4690c22f Merge branch 'ptebits' into devel
Conflicts:

	arch/arm/Kconfig
2008-10-09 21:31:56 +01:00
Dmitry Baryshkov
d8aa0251f1 [ARM] 5298/1: Drop desc_handle_irq()
desc_handle_irq() was declared as obsolete since long ago.
Replace it with generic_handle_irq()

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-10-09 15:00:36 +01:00
Ben Dooks
d5120ae72a [ARM] S3C24XX: Additional include moves
Continue moving the include files into arch/arm

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-07 23:09:51 +01:00
Ben Dooks
a2b7ba9ca4 [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c*
First move of items out of include/asm-arm/plat-s3c* to their
new homes under arch/arm/plat-s3c/include/plat and
arch/arm/plat-s3c24xx/include/plat directories.

Note, we have to create a dummy arch/arm/plat-s3c/Makefile to
allow us to add arch/arm/plat-s3c/include/plat to the path.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-10-07 22:26:09 +01:00
Russell King
8029db12ae [ARM] Convert asm/delay.h to linux/delay.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-09-06 12:11:37 +01:00
Russell King
fced80c735 [ARM] Convert asm/io.h to linux/io.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-09-06 12:10:45 +01:00
Ben Dooks
66592eee16 [ARM] S3C24XX: pwm.c: stop debugging output
Move debugging output to dev_dbg() instead of dev_info().

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-08-26 22:56:21 +01:00
Ben Dooks
103895925f [ARM] S3C24XX: Fix sparse warnings in pwm.c
Fix the following sparse warnings in arch/arm/plat-s3c24xx/pwm.c:

warning: symbol 's3c_device_timer' was not declared. Should it be static?
warning: symbol 'pwm_calc_tin' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-08-26 22:56:21 +01:00
Ben Dooks
1442e662d8 [ARM] S3C24XX: Fix spare errors in pwm-clock driver
Fix the following sparse warnings in arch/arm/plat-s3c24xx/pwm-clock.c:

warning: symbol 'clk_timer_scaler' was not declared. Should it be static?
warning: symbol 'clk_timer_tclk' was not declared. Should it be static?
warning: symbol 'clk_timer_tdiv' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-08-26 22:56:21 +01:00
Ben Dooks
f4cb1a8964 [ARM] S3C24XX: Fix sparse warnings in arch/arm/plat-s3c24xx/gpiolib.c
Fix the following problems spotted by sparse:

warning: symbol 's3c24xx_gpiolib_input' was not declared. Should it be static?
warning: symbol 's3c24xx_gpiolib_output' was not declared. Should it be static?
warning: symbol 's3c24xx_gpiolib_set' was not declared. Should it be static?
warning: symbol 's3c24xx_gpiolib_get' was not declared. Should it be static?
warning: symbol 'gpios' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-08-26 22:56:20 +01:00
Ben Dooks
ed414fb7b8 [ARM] S3C24XX: Fix section mismatch for s3c_lookup_cpu
s3c_lookup_cpu is only used at init time, so make
it __init.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-08-09 13:51:54 +01:00
Russell King
a09e64fbc0 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
This just leaves include/asm-arm/plat-* to deal with.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-08-07 09:55:48 +01:00
Russell King
be50972935 [ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead
Remove includes of asm/hardware.h in addition to asm/arch/hardware.h.
Then, since asm/hardware.h only exists to include asm/arch/hardware.h,
update everything to directly include asm/arch/hardware.h and remove
asm/hardware.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-08-07 09:40:08 +01:00
Dmitry Baryshkov
6cab486029 [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_*
IRQT_* and __IRQT_* were obsoleted long ago by patch [3692/1].
Remove them completely. Sed script for the reference:

s/__IRQT_RISEDGE/IRQ_TYPE_EDGE_RISING/g
s/__IRQT_FALEDGE/IRQ_TYPE_EDGE_FALLING/g
s/__IRQT_LOWLVL/IRQ_TYPE_LEVEL_LOW/g
s/__IRQT_HIGHLVL/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_RISING/IRQ_TYPE_EDGE_RISING/g
s/IRQT_FALLING/IRQ_TYPE_EDGE_FALLING/g
s/IRQT_BOTHEDGE/IRQ_TYPE_EDGE_BOTH/g
s/IRQT_LOW/IRQ_TYPE_LEVEL_LOW/g
s/IRQT_HIGH/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_PROBE/IRQ_TYPE_PROBE/g
s/IRQT_NOEDGE/IRQ_TYPE_NONE/g

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-07-27 09:46:18 +01:00
Russell King
d9ecdb282c Merge branch 'for_rmk_13' of git://git.mnementh.co.uk/linux-2.6-im 2008-07-26 23:04:59 +01:00
Alexey Dobriyan
51cc50685a SL*B: drop kmem cache argument from constructor
Kmem cache passed to constructor is only needed for constructors that are
themselves multiplexeres.  Nobody uses this "feature", nor does anybody uses
passed kmem cache in non-trivial way, so pass only pointer to object.

Non-trivial places are:
	arch/powerpc/mm/init_64.c
	arch/powerpc/mm/hugetlbpage.c

This is flag day, yes.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Jon Tollefson <kniht@linux.vnet.ibm.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Matt Mackall <mpm@selenic.com>
[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]
[akpm@linux-foundation.org: fix mm/slab.c]
[akpm@linux-foundation.org: fix ubifs]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-26 12:00:07 -07:00
Russell King
bb2b180ca0 [ARM] fix IOP32x, IOP33x, MXC and Samsung builds
7444a72eff caused these platforms to lose
their GPIOLIB configuration.  Convert the missed Kconfig symbols using:

  sed -i s/HAVE_GPIO_LIB/ARCH_REQUIRE_GPIOLIB/ arch/arm/Kconfig arch/arm/plat-s3c24xx/Kconfig

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-07-26 15:41:25 +01:00
Ben Dooks
6fc601e37b [ARM] S3C24XX: PWM API support.
Add support for PWM in the S3C24XX series of SoC via the
PWM API.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-07-03 16:51:30 +01:00
Ben Dooks
b999f0db94 [ARM] S3C24XX: Support for PWM timer clocks via clk_* API
Add support for the PWM timer clock routing via the
standard clk_ API.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-07-03 16:51:23 +01:00
Ben Dooks
f348a2a281 [ARM] S3C24XX: Add gpiolib support
Add support for gpilib on all S3C24XX platforms.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-07-03 16:51:23 +01:00
Ben Dooks
90239bbd59 [ARM] 5039/1: S3C244X: Rename SDI device if running on S3C244X.
Rename the SDI device if on an S3C2440 or S3C2442.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-05-22 14:17:22 +01:00
Davide Rizzo
bdd0f5f06e [ARM] 4882/2: Correction for S3C2410 clkout generation
This is a correction for 2 small bugs for the Samsung S3C2410 ARM9 SoC
clocks generator

Signed-off-by: Davide Rizzo <davide@elpa.it>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-05-07 21:44:43 +01:00
Davide Rizzo
eb1f7d10d6 [ARM] 4967/1: Adds functions to set clkout rate for Samsung S3C2410
This patch adds functions to set clkout rate for Samsung S3C2410
This patch supersedes 4884/1, that contained an error

Comments from Ben Dooks:

 Note, looks like this needs to be applied before 4882/1

Signed-off-by: Davide Rizzo <davide@elpa.it>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-04-19 14:04:30 +01:00
Ben Dooks
3c7d9c81e1 [ARM] 4987/1: S3C24XX: Ensure watchdog reset initiated from cached code.
There seems to be some problem with at-least the S3C2440 and
bus traffic during an reset. It is unlikely, but still possible
that the system will hang in such a way that the watchdog cannot
get the system out of the state it is in.

Change to making the code that calls the watchdog reset run from
cached memory so that instruction fetches have quiesced before the
watchdog fires.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-04-17 17:04:41 +01:00
Harvey Harrison
8e86f4271a [ARM] replace remaining __FUNCTION__ occurrences
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-03-06 12:18:18 +00:00
Linus Torvalds
9ef9dc69d4 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (44 commits)
  [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option
  [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c
  [ARM] 4820/1: RealView: Select the timer IRQ at run-time
  [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms
  [ARM] 4818/1: RealView: Add core-tile detection
  [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c
  [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h
  [ARM] 4815/1: RealView: Add clockevents suport for the local timers
  [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore
  [ARM] 4813/1: Add SMP helper functions for clockevents support
  [ARM] 4812/1: RealView: clockevents support for the RealView platforms
  [ARM] 4811/1: RealView: clocksource support for the RealView platforms
  [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags
  [ARM] 4798/1: pcm027: fix missing header file
  [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1
  [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h
  [ARM] pxa: introduce sysdev for pxa3xx static memory controller
  [ARM] pxa: add preliminary suspend/resume code for pxa3xx
  [ARM] pxa: introduce sysdev for GPIO register saving/restoring
  [ARM] pxa: introduce sysdev for IRQ register saving/restoring
  ...
2008-02-04 15:29:53 -08:00
Peter Zijlstra
66a2c077c3 [ARM] xtime_seqlock: fix more ARM machines for xtime deadlocking
move update_process_times() out from under xtime_lock.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-02-04 13:14:07 +00:00
Joe Perches
87b9bcd5ab arch/arm/: Spelling fixes
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
2008-02-03 16:49:43 +02:00
Ben Dooks
06dbbd69f9 [ARM] 4795/1: S3C244X: Add armclk and setparent call
Add armclk to the supported clocks on the S3C2440 and S3C2442 to
better represent the DVS state which controls whether FCLK or HCLK
is fed to the ARM core.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-01-28 13:20:52 +00:00
Ben Dooks
3a38e4be76 [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code
Merge together the bits of the S3C2440 and S3C2442 clock code
that can be.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-01-28 13:20:52 +00:00
Ben Dooks
c27cb681ac [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function
Add the reverse of s3c2410_gpio_getirq to convert
a IRQ  number into a GPIO pin number.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-01-28 13:20:52 +00:00