Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
xcap
xcap-capability-linux
Commits
9bd7de51
Commit
9bd7de51
authored
May 22, 2009
by
Jens Axboe
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into for-2.6.31
Conflicts: drivers/ide/ide-io.c Signed-off-by:
Jens Axboe
<
jens.axboe@oracle.com
>
parents
e4b63636
6a44587e
Changes
99
Hide whitespace changes
Inline
Side-by-side
Showing
99 changed files
with
559 additions
and
384 deletions
+559
-384
Documentation/filesystems/tmpfs.txt
Documentation/filesystems/tmpfs.txt
+1
-1
Documentation/networking/ip-sysctl.txt
Documentation/networking/ip-sysctl.txt
+12
-3
MAINTAINERS
MAINTAINERS
+8
-0
arch/arm/Kconfig
arch/arm/Kconfig
+3
-3
arch/arm/common/gic.c
arch/arm/common/gic.c
+2
-2
arch/arm/include/asm/hardware/gic.h
arch/arm/include/asm/hardware/gic.h
+1
-1
arch/arm/include/asm/smp.h
arch/arm/include/asm/smp.h
+4
-8
arch/arm/kernel/smp.c
arch/arm/kernel/smp.c
+16
-30
arch/arm/mach-ep93xx/clock.c
arch/arm/mach-ep93xx/clock.c
+61
-8
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
+4
-1
arch/arm/mach-integrator/core.c
arch/arm/mach-integrator/core.c
+1
-1
arch/arm/mach-l7200/include/mach/sys-clock.h
arch/arm/mach-l7200/include/mach/sys-clock.h
+1
-1
arch/arm/mach-omap2/clock24xx.c
arch/arm/mach-omap2/clock24xx.c
+5
-5
arch/arm/mach-omap2/clock34xx.c
arch/arm/mach-omap2/clock34xx.c
+6
-6
arch/arm/mach-omap2/clock34xx.h
arch/arm/mach-omap2/clock34xx.h
+6
-6
arch/arm/mach-omap2/devices.c
arch/arm/mach-omap2/devices.c
+4
-2
arch/arm/mach-omap2/prm-regbits-34xx.h
arch/arm/mach-omap2/prm-regbits-34xx.h
+1
-1
arch/arm/mach-omap2/usb-tusb6010.c
arch/arm/mach-omap2/usb-tusb6010.c
+1
-1
arch/arm/mach-pxa/viper.c
arch/arm/mach-pxa/viper.c
+1
-0
arch/arm/mach-realview/core.c
arch/arm/mach-realview/core.c
+0
-8
arch/arm/mach-realview/include/mach/smp.h
arch/arm/mach-realview/include/mach/smp.h
+2
-9
arch/arm/mach-realview/localtimer.c
arch/arm/mach-realview/localtimer.c
+4
-2
arch/arm/mach-realview/platsmp.c
arch/arm/mach-realview/platsmp.c
+3
-12
arch/arm/mach-s3c2410/mach-bast.c
arch/arm/mach-s3c2410/mach-bast.c
+1
-2
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/core.c
+1
-1
arch/arm/nwfpe/fpa11.h
arch/arm/nwfpe/fpa11.h
+4
-0
arch/arm/nwfpe/fpa11_cprt.c
arch/arm/nwfpe/fpa11_cprt.c
+0
-4
arch/arm/nwfpe/softfloat.h
arch/arm/nwfpe/softfloat.h
+2
-0
arch/arm/plat-omap/fb.c
arch/arm/plat-omap/fb.c
+3
-2
arch/arm/plat-omap/gpio.c
arch/arm/plat-omap/gpio.c
+1
-1
arch/arm/plat-s3c/clock.c
arch/arm/plat-s3c/clock.c
+0
-2
arch/arm/plat-s3c24xx/dma.c
arch/arm/plat-s3c24xx/dma.c
+1
-1
arch/arm/plat-s3c64xx/gpiolib.c
arch/arm/plat-s3c64xx/gpiolib.c
+1
-1
arch/arm/plat-s3c64xx/include/plat/gpio-bank-h.h
arch/arm/plat-s3c64xx/include/plat/gpio-bank-h.h
+10
-10
arch/mips/Makefile
arch/mips/Makefile
+3
-3
arch/mips/include/asm/uaccess.h
arch/mips/include/asm/uaccess.h
+1
-1
arch/mips/mm/tlb-r3k.c
arch/mips/mm/tlb-r3k.c
+2
-4
arch/mips/mm/tlb-r4k.c
arch/mips/mm/tlb-r4k.c
+2
-4
arch/mips/mm/tlb-r8k.c
arch/mips/mm/tlb-r8k.c
+1
-2
arch/mips/sgi-ip22/ip22-reset.c
arch/mips/sgi-ip22/ip22-reset.c
+1
-1
arch/mips/sgi-ip32/ip32-reset.c
arch/mips/sgi-ip32/ip32-reset.c
+5
-4
arch/powerpc/platforms/maple/pci.c
arch/powerpc/platforms/maple/pci.c
+14
-0
arch/sh/boards/board-ap325rxa.c
arch/sh/boards/board-ap325rxa.c
+3
-0
drivers/block/xen-blkfront.c
drivers/block/xen-blkfront.c
+6
-4
drivers/cdrom/viocd.c
drivers/cdrom/viocd.c
+1
-1
drivers/char/ipmi/ipmi_msghandler.c
drivers/char/ipmi/ipmi_msghandler.c
+7
-6
drivers/char/tpm/tpm_bios.c
drivers/char/tpm/tpm_bios.c
+2
-1
drivers/gpu/drm/drm_bufs.c
drivers/gpu/drm/drm_bufs.c
+8
-0
drivers/gpu/drm/drm_drv.c
drivers/gpu/drm/drm_drv.c
+1
-1
drivers/ide/ide-io.c
drivers/ide/ide-io.c
+2
-2
drivers/ide/ide-iops.c
drivers/ide/ide-iops.c
+17
-4
drivers/ide/ide-lib.c
drivers/ide/ide-lib.c
+6
-21
drivers/ide/ide-probe.c
drivers/ide/ide-probe.c
+6
-3
drivers/ide/via82cxxx.c
drivers/ide/via82cxxx.c
+2
-0
drivers/input/serio/ambakmi.c
drivers/input/serio/ambakmi.c
+1
-1
drivers/mfd/pcf50633-core.c
drivers/mfd/pcf50633-core.c
+1
-1
drivers/mfd/wm8350-core.c
drivers/mfd/wm8350-core.c
+0
-8
drivers/mmc/host/mmci.c
drivers/mmc/host/mmci.c
+1
-1
drivers/net/benet/be.h
drivers/net/benet/be.h
+14
-0
drivers/net/benet/be_main.c
drivers/net/benet/be_main.c
+5
-5
drivers/net/bonding/bond_3ad.c
drivers/net/bonding/bond_3ad.c
+8
-3
drivers/net/meth.c
drivers/net/meth.c
+14
-13
drivers/net/mlx4/en_cq.c
drivers/net/mlx4/en_cq.c
+3
-1
drivers/net/mv643xx_eth.c
drivers/net/mv643xx_eth.c
+22
-19
drivers/net/vxge/vxge-traffic.c
drivers/net/vxge/vxge-traffic.c
+1
-1
drivers/net/wimax/i2400m/rx.c
drivers/net/wimax/i2400m/rx.c
+2
-3
drivers/pci/pci.c
drivers/pci/pci.c
+2
-1
drivers/rtc/rtc-pl030.c
drivers/rtc/rtc-pl030.c
+1
-1
drivers/rtc/rtc-pl031.c
drivers/rtc/rtc-pl031.c
+1
-1
drivers/serial/amba-pl010.c
drivers/serial/amba-pl010.c
+1
-1
drivers/serial/amba-pl011.c
drivers/serial/amba-pl011.c
+1
-1
drivers/video/amba-clcd.c
drivers/video/amba-clcd.c
+1
-1
drivers/video/omap/dispc.c
drivers/video/omap/dispc.c
+8
-6
drivers/video/omap/rfbi.c
drivers/video/omap/rfbi.c
+5
-3
drivers/video/sh_mobile_lcdcfb.c
drivers/video/sh_mobile_lcdcfb.c
+6
-1
fs/cifs/cifssmb.c
fs/cifs/cifssmb.c
+1
-1
fs/cifs/dir.c
fs/cifs/dir.c
+7
-7
fs/cifs/file.c
fs/cifs/file.c
+37
-29
fs/cifs/link.c
fs/cifs/link.c
+26
-26
fs/nilfs2/ioctl.c
fs/nilfs2/ioctl.c
+1
-1
include/linux/amba/bus.h
include/linux/amba/bus.h
+1
-1
include/linux/ide.h
include/linux/ide.h
+1
-1
include/linux/mmzone.h
include/linux/mmzone.h
+26
-0
include/linux/pci_ids.h
include/linux/pci_ids.h
+1
-1
kernel/futex.c
kernel/futex.c
+13
-11
mm/mmzone.c
mm/mmzone.c
+15
-0
mm/rmap.c
mm/rmap.c
+1
-1
mm/vmstat.c
mm/vmstat.c
+4
-15
net/bridge/br_input.c
net/bridge/br_input.c
+5
-0
net/bridge/br_stp.c
net/bridge/br_stp.c
+3
-0
net/core/gen_estimator.c
net/core/gen_estimator.c
+7
-6
net/core/netpoll.c
net/core/netpoll.c
+6
-2
net/core/skbuff.c
net/core/skbuff.c
+1
-1
net/ipv4/Kconfig
net/ipv4/Kconfig
+1
-1
net/ipv4/ipconfig.c
net/ipv4/ipconfig.c
+12
-0
net/ipv4/tcp.c
net/ipv4/tcp.c
+4
-1
net/sched/sch_teql.c
net/sched/sch_teql.c
+3
-2
scripts/setlocalversion
scripts/setlocalversion
+23
-7
sound/arm/aaci.c
sound/arm/aaci.c
+1
-1
No files found.
Documentation/filesystems/tmpfs.txt
View file @
9bd7de51
...
...
@@ -133,4 +133,4 @@ RAM/SWAP in 10240 inodes and it is only accessible by root.
Author:
Christoph Rohland <cr@sap.com>, 1.12.01
Updated:
Hugh Dickins
<hugh@veritas.com>
, 4 June 2007
Hugh Dickins, 4 June 2007
Documentation/networking/ip-sysctl.txt
View file @
9bd7de51
...
...
@@ -1266,13 +1266,22 @@ sctp_rmem - vector of 3 INTEGERs: min, default, max
sctp_wmem - vector of 3 INTEGERs: min, default, max
See tcp_wmem for a description.
UNDOCUMENTED:
/proc/sys/net/core/*
dev_weight FIXME
dev_weight - INTEGER
The maximum number of packets that kernel can handle on a NAPI
interrupt, it's a Per-CPU variable.
Default: 64
/proc/sys/net/unix/*
max_dgram_qlen FIXME
max_dgram_qlen - INTEGER
The maximum length of dgram socket receive queue
Default: 10
UNDOCUMENTED:
/proc/sys/net/irda/*
fast_poll_increase FIXME
...
...
MAINTAINERS
View file @
9bd7de51
...
...
@@ -5579,6 +5579,14 @@ M: ian@mnementh.co.uk
S: Maintained
F: drivers/mmc/host/tmio_mmc.*
TMPFS (SHMEM FILESYSTEM)
P: Hugh Dickins
M: hugh.dickins@tiscali.co.uk
L: linux-mm@kvack.org
S: Maintained
F: include/linux/shmem_fs.h
F: mm/shmem.c
TPM DEVICE DRIVER
P: Debora Velarde
M: debora@linux.vnet.ibm.com
...
...
arch/arm/Kconfig
View file @
9bd7de51
...
...
@@ -273,6 +273,7 @@ config ARCH_EP93XX
select HAVE_CLK
select COMMON_CLKDEV
select ARCH_REQUIRE_GPIOLIB
select ARCH_HAS_HOLES_MEMORYMODEL
help
This enables support for the Cirrus EP93xx series of CPUs.
...
...
@@ -976,10 +977,9 @@ config OABI_COMPAT
UNPREDICTABLE (in fact it can be predicted that it won't work
at all). If in doubt say Y.
config ARCH_
FLATMEM_
HAS_HOLES
config ARCH_HAS_HOLES
_MEMORYMODEL
bool
default y
depends on FLATMEM
default n
# Discontigmem is deprecated
config ARCH_DISCONTIGMEM_ENABLE
...
...
arch/arm/common/gic.c
View file @
9bd7de51
...
...
@@ -253,9 +253,9 @@ void __cpuinit gic_cpu_init(unsigned int gic_nr, void __iomem *base)
}
#ifdef CONFIG_SMP
void
gic_raise_softirq
(
c
pumask_t
cpu
mask
,
unsigned
int
irq
)
void
gic_raise_softirq
(
c
onst
struct
cpumask
*
mask
,
unsigned
int
irq
)
{
unsigned
long
map
=
*
cpus_addr
(
cpu
mask
);
unsigned
long
map
=
*
cpus_addr
(
*
mask
);
/* this always happens on GIC0 */
writel
(
map
<<
16
|
irq
,
gic_data
[
0
].
dist_base
+
GIC_DIST_SOFTINT
);
...
...
arch/arm/include/asm/hardware/gic.h
View file @
9bd7de51
...
...
@@ -36,7 +36,7 @@
void
gic_dist_init
(
unsigned
int
gic_nr
,
void
__iomem
*
base
,
unsigned
int
irq_start
);
void
gic_cpu_init
(
unsigned
int
gic_nr
,
void
__iomem
*
base
);
void
gic_cascade_irq
(
unsigned
int
gic_nr
,
unsigned
int
irq
);
void
gic_raise_softirq
(
c
pumask_t
cpu
mask
,
unsigned
int
irq
);
void
gic_raise_softirq
(
c
onst
struct
cpumask
*
mask
,
unsigned
int
irq
);
#endif
#endif
arch/arm/include/asm/smp.h
View file @
9bd7de51
...
...
@@ -53,17 +53,12 @@ extern void smp_store_cpu_info(unsigned int cpuid);
/*
* Raise an IPI cross call on CPUs in callmap.
*/
extern
void
smp_cross_call
(
cpumask_t
callmap
);
/*
* Broadcast a timer interrupt to the other CPUs.
*/
extern
void
smp_send_timer
(
void
);
extern
void
smp_cross_call
(
const
struct
cpumask
*
mask
);
/*
* Broadcast a clock event to other CPUs.
*/
extern
void
smp_timer_broadcast
(
cpumask
_t
mask
);
extern
void
smp_timer_broadcast
(
const
struct
cpumask
*
mask
);
/*
* Boot a secondary CPU, and assign it the specified idle task.
...
...
@@ -102,7 +97,8 @@ extern int platform_cpu_kill(unsigned int cpu);
extern
void
platform_cpu_enable
(
unsigned
int
cpu
);
extern
void
arch_send_call_function_single_ipi
(
int
cpu
);
extern
void
arch_send_call_function_ipi
(
cpumask_t
mask
);
extern
void
arch_send_call_function_ipi_mask
(
const
struct
cpumask
*
mask
);
#define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask
/*
* Local timer interrupt handling function (can be IPI'ed).
...
...
arch/arm/kernel/smp.c
View file @
9bd7de51
...
...
@@ -326,14 +326,14 @@ void __init smp_prepare_boot_cpu(void)
per_cpu
(
cpu_data
,
cpu
).
idle
=
current
;
}
static
void
send_ipi_message
(
c
pumask_t
callmap
,
enum
ipi_msg_type
msg
)
static
void
send_ipi_message
(
c
onst
struct
cpumask
*
mask
,
enum
ipi_msg_type
msg
)
{
unsigned
long
flags
;
unsigned
int
cpu
;
local_irq_save
(
flags
);
for_each_cpu
_mask
(
cpu
,
callmap
)
{
for_each_cpu
(
cpu
,
mask
)
{
struct
ipi_data
*
ipi
=
&
per_cpu
(
ipi_data
,
cpu
);
spin_lock
(
&
ipi
->
lock
);
...
...
@@ -344,19 +344,19 @@ static void send_ipi_message(cpumask_t callmap, enum ipi_msg_type msg)
/*
* Call the platform specific cross-CPU call function.
*/
smp_cross_call
(
callmap
);
smp_cross_call
(
mask
);
local_irq_restore
(
flags
);
}
void
arch_send_call_function_ipi
(
cpumask
_t
mask
)
void
arch_send_call_function_ipi
_mask
(
const
struct
cpumask
*
mask
)
{
send_ipi_message
(
mask
,
IPI_CALL_FUNC
);
}
void
arch_send_call_function_single_ipi
(
int
cpu
)
{
send_ipi_message
(
cpumask_of
_cpu
(
cpu
),
IPI_CALL_FUNC_SINGLE
);
send_ipi_message
(
cpumask_of
(
cpu
),
IPI_CALL_FUNC_SINGLE
);
}
void
show_ipi_list
(
struct
seq_file
*
p
)
...
...
@@ -498,17 +498,10 @@ asmlinkage void __exception do_IPI(struct pt_regs *regs)
void
smp_send_reschedule
(
int
cpu
)
{
send_ipi_message
(
cpumask_of
_cpu
(
cpu
),
IPI_RESCHEDULE
);
send_ipi_message
(
cpumask_of
(
cpu
),
IPI_RESCHEDULE
);
}
void
smp_send_timer
(
void
)
{
cpumask_t
mask
=
cpu_online_map
;
cpu_clear
(
smp_processor_id
(),
mask
);
send_ipi_message
(
mask
,
IPI_TIMER
);
}
void
smp_timer_broadcast
(
cpumask_t
mask
)
void
smp_timer_broadcast
(
const
struct
cpumask
*
mask
)
{
send_ipi_message
(
mask
,
IPI_TIMER
);
}
...
...
@@ -517,7 +510,7 @@ void smp_send_stop(void)
{
cpumask_t
mask
=
cpu_online_map
;
cpu_clear
(
smp_processor_id
(),
mask
);
send_ipi_message
(
mask
,
IPI_CPU_STOP
);
send_ipi_message
(
&
mask
,
IPI_CPU_STOP
);
}
/*
...
...
@@ -528,20 +521,17 @@ int setup_profiling_timer(unsigned int multiplier)
return
-
EINVAL
;
}
static
int
on_each_cpu_mask
(
void
(
*
func
)(
void
*
),
void
*
info
,
int
wait
,
cpumask_t
mask
)
static
void
on_each_cpu_mask
(
void
(
*
func
)(
void
*
),
void
*
info
,
int
wait
,
const
struct
cpumask
*
mask
)
{
int
ret
=
0
;
preempt_disable
();
ret
=
smp_call_function_ma
sk
(
mask
,
func
,
info
,
wait
);
if
(
cpu
_isset
(
smp_processor_id
(),
mask
))
smp_call_function_ma
ny
(
mask
,
func
,
info
,
wait
);
if
(
cpu
mask_test_cpu
(
smp_processor_id
(),
mask
))
func
(
info
);
preempt_enable
();
return
ret
;
}
/**********************************************************************/
...
...
@@ -602,20 +592,17 @@ void flush_tlb_all(void)
void
flush_tlb_mm
(
struct
mm_struct
*
mm
)
{
cpumask_t
mask
=
mm
->
cpu_vm_mask
;
on_each_cpu_mask
(
ipi_flush_tlb_mm
,
mm
,
1
,
mask
);
on_each_cpu_mask
(
ipi_flush_tlb_mm
,
mm
,
1
,
&
mm
->
cpu_vm_mask
);
}
void
flush_tlb_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
uaddr
)
{
cpumask_t
mask
=
vma
->
vm_mm
->
cpu_vm_mask
;
struct
tlb_args
ta
;
ta
.
ta_vma
=
vma
;
ta
.
ta_start
=
uaddr
;
on_each_cpu_mask
(
ipi_flush_tlb_page
,
&
ta
,
1
,
mask
);
on_each_cpu_mask
(
ipi_flush_tlb_page
,
&
ta
,
1
,
&
vma
->
vm_mm
->
cpu_vm_
mask
);
}
void
flush_tlb_kernel_page
(
unsigned
long
kaddr
)
...
...
@@ -630,14 +617,13 @@ void flush_tlb_kernel_page(unsigned long kaddr)
void
flush_tlb_range
(
struct
vm_area_struct
*
vma
,
unsigned
long
start
,
unsigned
long
end
)
{
cpumask_t
mask
=
vma
->
vm_mm
->
cpu_vm_mask
;
struct
tlb_args
ta
;
ta
.
ta_vma
=
vma
;
ta
.
ta_start
=
start
;
ta
.
ta_end
=
end
;
on_each_cpu_mask
(
ipi_flush_tlb_range
,
&
ta
,
1
,
mask
);
on_each_cpu_mask
(
ipi_flush_tlb_range
,
&
ta
,
1
,
&
vma
->
vm_mm
->
cpu_vm_
mask
);
}
void
flush_tlb_kernel_range
(
unsigned
long
start
,
unsigned
long
end
)
...
...
arch/arm/mach-ep93xx/clock.c
View file @
9bd7de51
...
...
@@ -21,15 +21,50 @@
#include <asm/div64.h>
#include <mach/hardware.h>
/*
* The EP93xx has two external crystal oscillators. To generate the
* required high-frequency clocks, the processor uses two phase-locked-
* loops (PLLs) to multiply the incoming external clock signal to much
* higher frequencies that are then divided down by programmable dividers
* to produce the needed clocks. The PLLs operate independently of one
* another.
*/
#define EP93XX_EXT_CLK_RATE 14745600
#define EP93XX_EXT_RTC_RATE 32768
struct
clk
{
unsigned
long
rate
;
int
users
;
int
sw_locked
;
u32
enable_reg
;
u32
enable_mask
;
unsigned
long
(
*
get_rate
)(
struct
clk
*
clk
);
};
static
struct
clk
clk_uart
=
{
.
rate
=
14745600
,
static
unsigned
long
get_uart_rate
(
struct
clk
*
clk
);
static
struct
clk
clk_uart1
=
{
.
sw_locked
=
1
,
.
enable_reg
=
EP93XX_SYSCON_DEVICE_CONFIG
,
.
enable_mask
=
EP93XX_SYSCON_DEVICE_CONFIG_U1EN
,
.
get_rate
=
get_uart_rate
,
};
static
struct
clk
clk_uart2
=
{
.
sw_locked
=
1
,
.
enable_reg
=
EP93XX_SYSCON_DEVICE_CONFIG
,
.
enable_mask
=
EP93XX_SYSCON_DEVICE_CONFIG_U2EN
,
.
get_rate
=
get_uart_rate
,
};
static
struct
clk
clk_uart3
=
{
.
sw_locked
=
1
,
.
enable_reg
=
EP93XX_SYSCON_DEVICE_CONFIG
,
.
enable_mask
=
EP93XX_SYSCON_DEVICE_CONFIG_U3EN
,
.
get_rate
=
get_uart_rate
,
};
static
struct
clk
clk_pll1
;
static
struct
clk
clk_f
;
...
...
@@ -95,9 +130,9 @@ static struct clk clk_m2m1 = {
{ .dev_id = dev, .con_id = con, .clk = ck }
static
struct
clk_lookup
clocks
[]
=
{
INIT_CK
(
"apb:uart1"
,
NULL
,
&
clk_uart
),
INIT_CK
(
"apb:uart2"
,
NULL
,
&
clk_uart
),
INIT_CK
(
"apb:uart3"
,
NULL
,
&
clk_uart
),
INIT_CK
(
"apb:uart1"
,
NULL
,
&
clk_uart
1
),
INIT_CK
(
"apb:uart2"
,
NULL
,
&
clk_uart
2
),
INIT_CK
(
"apb:uart3"
,
NULL
,
&
clk_uart
3
),
INIT_CK
(
NULL
,
"pll1"
,
&
clk_pll1
),
INIT_CK
(
NULL
,
"fclk"
,
&
clk_f
),
INIT_CK
(
NULL
,
"hclk"
,
&
clk_h
),
...
...
@@ -125,6 +160,8 @@ int clk_enable(struct clk *clk)
u32
value
;
value
=
__raw_readl
(
clk
->
enable_reg
);
if
(
clk
->
sw_locked
)
__raw_writel
(
0xaa
,
EP93XX_SYSCON_SWLOCK
);
__raw_writel
(
value
|
clk
->
enable_mask
,
clk
->
enable_reg
);
}
...
...
@@ -138,13 +175,29 @@ void clk_disable(struct clk *clk)
u32
value
;
value
=
__raw_readl
(
clk
->
enable_reg
);
if
(
clk
->
sw_locked
)
__raw_writel
(
0xaa
,
EP93XX_SYSCON_SWLOCK
);
__raw_writel
(
value
&
~
clk
->
enable_mask
,
clk
->
enable_reg
);
}
}
EXPORT_SYMBOL
(
clk_disable
);
static
unsigned
long
get_uart_rate
(
struct
clk
*
clk
)
{
u32
value
;
value
=
__raw_readl
(
EP93XX_SYSCON_CLOCK_CONTROL
);
if
(
value
&
EP93XX_SYSCON_CLOCK_UARTBAUD
)
return
EP93XX_EXT_CLK_RATE
;
else
return
EP93XX_EXT_CLK_RATE
/
2
;
}
unsigned
long
clk_get_rate
(
struct
clk
*
clk
)
{
if
(
clk
->
get_rate
)
return
clk
->
get_rate
(
clk
);
return
clk
->
rate
;
}
EXPORT_SYMBOL
(
clk_get_rate
);
...
...
@@ -162,7 +215,7 @@ static unsigned long calc_pll_rate(u32 config_word)
unsigned
long
long
rate
;
int
i
;
rate
=
14745600
;
rate
=
EP93XX_EXT_CLK_RATE
;
rate
*=
((
config_word
>>
11
)
&
0x1f
)
+
1
;
/* X1FBD */
rate
*=
((
config_word
>>
5
)
&
0x3f
)
+
1
;
/* X2FBD */
do_div
(
rate
,
(
config_word
&
0x1f
)
+
1
);
/* X2IPD */
...
...
@@ -195,7 +248,7 @@ static int __init ep93xx_clock_init(void)
value
=
__raw_readl
(
EP93XX_SYSCON_CLOCK_SET1
);
if
(
!
(
value
&
0x00800000
))
{
/* PLL1 bypassed? */
clk_pll1
.
rate
=
14745600
;
clk_pll1
.
rate
=
EP93XX_EXT_CLK_RATE
;
}
else
{
clk_pll1
.
rate
=
calc_pll_rate
(
value
);
}
...
...
@@ -206,7 +259,7 @@ static int __init ep93xx_clock_init(void)
value
=
__raw_readl
(
EP93XX_SYSCON_CLOCK_SET2
);
if
(
!
(
value
&
0x00080000
))
{
/* PLL2 bypassed? */
clk_pll2
.
rate
=
14745600
;
clk_pll2
.
rate
=
EP93XX_EXT_CLK_RATE
;
}
else
if
(
value
&
0x00040000
)
{
/* PLL2 enabled? */
clk_pll2
.
rate
=
calc_pll_rate
(
value
);
}
else
{
...
...
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
View file @
9bd7de51
...
...
@@ -159,7 +159,10 @@
#define EP93XX_SYSCON_CLOCK_SET1 EP93XX_SYSCON_REG(0x20)
#define EP93XX_SYSCON_CLOCK_SET2 EP93XX_SYSCON_REG(0x24)
#define EP93XX_SYSCON_DEVICE_CONFIG EP93XX_SYSCON_REG(0x80)
#define EP93XX_SYSCON_DEVICE_CONFIG_CRUNCH_ENABLE 0x00800000
#define EP93XX_SYSCON_DEVICE_CONFIG_U3EN (1<<24)
#define EP93XX_SYSCON_DEVICE_CONFIG_CRUNCH_ENABLE (1<<23)
#define EP93XX_SYSCON_DEVICE_CONFIG_U2EN (1<<20)
#define EP93XX_SYSCON_DEVICE_CONFIG_U1EN (1<<18)
#define EP93XX_SYSCON_SWLOCK EP93XX_SYSCON_REG(0xc0)
#define EP93XX_WATCHDOG_BASE (EP93XX_APB_VIRT_BASE + 0x00140000)
...
...
arch/arm/mach-integrator/core.c
View file @
9bd7de51
...
...
@@ -121,7 +121,7 @@ static struct clk uartclk = {
.
rate
=
14745600
,
};
static
struct
clk_lookup
lookups
[]
__initdata
=
{
static
struct
clk_lookup
lookups
[]
=
{
{
/* UART0 */
.
dev_id
=
"mb:16"
,
.
clk
=
&
uartclk
,
...
...
arch/arm/mach-l7200/include/mach/sys-clock.h
View file @
9bd7de51
...
...
@@ -18,7 +18,7 @@
/* IO_START and IO_BASE are defined in hardware.h */
#define SYS_CLOCK_START (IO_START + SYS_CL
C
OK_OFF)
/* Physical address */
#define SYS_CLOCK_START (IO_START + SYS_CLO
C
K_OFF)
/* Physical address */
#define SYS_CLOCK_BASE (IO_BASE + SYS_CLOCK_OFF)
/* Virtual address */
/* Define the interface to the SYS_CLOCK */
...
...
arch/arm/mach-omap2/clock24xx.c
View file @
9bd7de51
...
...
@@ -103,10 +103,10 @@ static struct omap_clk omap24xx_clks[] = {
CLK
(
NULL
,
"mdm_ick"
,
&
mdm_ick
,
CK_243X
),
CLK
(
NULL
,
"mdm_osc_ck"
,
&
mdm_osc_ck
,
CK_243X
),
/* DSS domain clocks */
CLK
(
NULL
,
"dss_
ick"
,
&
dss_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dss1_fck"
,
&
dss1_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dss2_fck"
,
&
dss2_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dss_54m
_fck"
,
&
dss_54m_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omapfb"
,
"
ick"
,
&
dss_ick
,
CK_243X
|
CK_242X
),
CLK
(
"omapfb"
,
"dss1_fck"
,
&
dss1_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omapfb"
,
"dss2_fck"
,
&
dss2_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omapfb"
,
"tv
_fck"
,
&
dss_54m_fck
,
CK_243X
|
CK_242X
),
/* L3 domain clocks */
CLK
(
NULL
,
"core_l3_ck"
,
&
core_l3_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"ssi_fck"
,
&
ssi_ssr_sst_fck
,
CK_243X
|
CK_242X
),
...
...
@@ -206,7 +206,7 @@ static struct omap_clk omap24xx_clks[] = {
CLK
(
NULL
,
"aes_ick"
,
&
aes_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"pka_ick"
,
&
pka_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"usb_fck"
,
&
usb_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"usbhs_
ick"
,
&
usbhs_ick
,
CK_243X
),
CLK
(
"musb_hdrc"
,
"
ick"
,
&
usbhs_ick
,
CK_243X
),
CLK
(
"mmci-omap-hs.0"
,
"ick"
,
&
mmchs1_ick
,
CK_243X
),
CLK
(
"mmci-omap-hs.0"
,
"fck"
,
&
mmchs1_fck
,
CK_243X
),
CLK
(
"mmci-omap-hs.1"
,
"ick"
,
&
mmchs2_ick
,
CK_243X
),
...
...
arch/arm/mach-omap2/clock34xx.c
View file @
9bd7de51
...
...
@@ -157,7 +157,7 @@ static struct omap_clk omap34xx_clks[] = {
CLK
(
NULL
,
"ssi_ssr_fck"
,
&
ssi_ssr_fck
,
CK_343X
),
CLK
(
NULL
,
"ssi_sst_fck"
,
&
ssi_sst_fck
,
CK_343X
),
CLK
(
NULL
,
"core_l3_ick"
,
&
core_l3_ick
,
CK_343X
),
CLK
(
NULL
,
"hsotgusb_
ick"
,
&
hsotgusb_ick
,
CK_343X
),
CLK
(
"musb_hdrc"
,
"
ick"
,
&
hsotgusb_ick
,
CK_343X
),
CLK
(
NULL
,
"sdrc_ick"
,
&
sdrc_ick
,
CK_343X
),
CLK
(
NULL
,
"gpmc_fck"
,
&
gpmc_fck
,
CK_343X
),
CLK
(
NULL
,
"security_l3_ick"
,
&
security_l3_ick
,
CK_343X
),
...
...
@@ -197,11 +197,11 @@ static struct omap_clk omap34xx_clks[] = {
CLK
(
"omap_rng"
,
"ick"
,
&
rng_ick
,
CK_343X
),
CLK
(
NULL
,
"sha11_ick"
,
&
sha11_ick
,
CK_343X
),
CLK
(
NULL
,
"des1_ick"
,
&
des1_ick
,
CK_343X
),
CLK
(
NULL
,
"dss1_
alwon_
fck"
,
&
dss1_alwon_fck
,
CK_343X
),
CLK
(
NULL
,
"dss_
tv_fck"
,
&
dss_tv_fck
,
CK_343X
),
CLK
(
NULL
,
"dss_96m
_fck"
,
&
dss_96m_fck
,
CK_343X
),
CLK
(
NULL
,
"dss2_
alwon_
fck"
,
&
dss2_alwon_fck
,
CK_343X
),
CLK
(
NULL
,
"dss_
ick"
,
&
dss_ick
,
CK_343X
),
CLK
(
"omapfb"
,
"dss1_fck"
,
&
dss1_alwon_fck
,
CK_343X
),
CLK
(
"omapfb"
,
"
tv_fck"
,
&
dss_tv_fck
,
CK_343X
),
CLK
(
"omapfb"
,
"video
_fck"
,
&
dss_96m_fck
,
CK_343X
),
CLK
(
"omapfb"
,
"dss2_fck"
,
&
dss2_alwon_fck
,
CK_343X
),
CLK
(
"omapfb"
,
"
ick"
,
&
dss_ick
,
CK_343X
),
CLK
(
NULL
,
"cam_mclk"
,
&
cam_mclk
,
CK_343X
),
CLK
(
NULL
,
"cam_ick"
,
&
cam_ick
,
CK_343X
),
CLK
(
NULL
,
"csi2_96m_fck"
,
&
csi2_96m_fck
,
CK_343X
),
...
...
arch/arm/mach-omap2/clock34xx.h
View file @
9bd7de51
...
...
@@ -2182,7 +2182,7 @@ static struct clk wkup_32k_fck = {
static
struct
clk
gpio1_dbck
=
{
.
name
=
"gpio1_dbck"
,
.
ops
=
&
clkops_omap2_dflt
_wait
,
.
ops
=
&
clkops_omap2_dflt
,
.
parent
=
&
wkup_32k_fck
,
.
enable_reg
=
OMAP_CM_REGADDR
(
WKUP_MOD
,
CM_FCLKEN
),
.
enable_bit
=
OMAP3430_EN_GPIO1_SHIFT
,
...
...
@@ -2427,7 +2427,7 @@ static struct clk per_32k_alwon_fck = {
static
struct
clk
gpio6_dbck
=
{
.
name
=
"gpio6_dbck"
,
.
ops
=
&
clkops_omap2_dflt
_wait
,
.
ops
=
&
clkops_omap2_dflt
,
.
parent
=
&
per_32k_alwon_fck
,
.
enable_reg
=
OMAP_CM_REGADDR
(
OMAP3430_PER_MOD
,
CM_FCLKEN
),
.
enable_bit
=
OMAP3430_EN_GPIO6_SHIFT
,
...
...
@@ -2437,7 +2437,7 @@ static struct clk gpio6_dbck = {
static
struct
clk
gpio5_dbck
=
{
.
name
=
"gpio5_dbck"
,
.
ops
=
&
clkops_omap2_dflt
_wait
,
.
ops
=
&
clkops_omap2_dflt
,
.
parent
=
&
per_32k_alwon_fck
,
.
enable_reg
=
OMAP_CM_REGADDR
(
OMAP3430_PER_MOD
,
CM_FCLKEN
),
.
enable_bit
=
OMAP3430_EN_GPIO5_SHIFT
,
...
...
@@ -2447,7 +2447,7 @@ static struct clk gpio5_dbck = {
static
struct
clk
gpio4_dbck
=
{
.
name
=
"gpio4_dbck"
,
.
ops
=
&
clkops_omap2_dflt
_wait
,
.
ops
=
&
clkops_omap2_dflt
,
.
parent
=
&
per_32k_alwon_fck
,
.
enable_reg
=
OMAP_CM_REGADDR
(
OMAP3430_PER_MOD
,
CM_FCLKEN
),
.
enable_bit
=
OMAP3430_EN_GPIO4_SHIFT
,
...
...
@@ -2457,7 +2457,7 @@ static struct clk gpio4_dbck = {
static
struct
clk
gpio3_dbck
=
{
.
name
=
"gpio3_dbck"
,
.
ops
=
&
clkops_omap2_dflt
_wait
,
.
ops
=
&
clkops_omap2_dflt
,
.
parent
=
&
per_32k_alwon_fck
,
.
enable_reg
=
OMAP_CM_REGADDR
(
OMAP3430_PER_MOD
,
CM_FCLKEN
),
.
enable_bit
=
OMAP3430_EN_GPIO3_SHIFT
,
...
...
@@ -2467,7 +2467,7 @@ static struct clk gpio3_dbck = {
static
struct
clk
gpio2_dbck
=
{
.
name
=
"gpio2_dbck"
,
.
ops
=
&
clkops_omap2_dflt
_wait
,
.
ops
=
&
clkops_omap2_dflt
,
.
parent
=
&
per_32k_alwon_fck
,
.
enable_reg
=
OMAP_CM_REGADDR
(
OMAP3430_PER_MOD
,
CM_FCLKEN
),
.
enable_bit
=
OMAP3430_EN_GPIO2_SHIFT
,
...
...
arch/arm/mach-omap2/devices.c
View file @
9bd7de51
...
...
@@ -354,10 +354,12 @@ static void omap_init_mcspi(void)
platform_device_register
(
&
omap2_mcspi1
);
platform_device_register
(
&
omap2_mcspi2
);
#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3)
platform_device_register
(
&
omap2_mcspi3
);
if
(
cpu_is_omap2430
()
||
cpu_is_omap343x
())
platform_device_register
(
&
omap2_mcspi3
);
#endif
#ifdef CONFIG_ARCH_OMAP3
platform_device_register
(
&
omap2_mcspi4
);
if
(
cpu_is_omap343x
())
platform_device_register
(
&
omap2_mcspi4
);
#endif
}
...
...
arch/arm/mach-omap2/prm-regbits-34xx.h
View file @
9bd7de51
...
...
@@ -409,7 +409,7 @@
/* PM_PREPWSTST_CAM specific bits */
/* PM_PWSTCTRL_USBHOST specific bits */
#define OMAP3430ES2_SAVEANDRESTORE_SHIFT
(1 << 4)
#define OMAP3430ES2_SAVEANDRESTORE_SHIFT
4
/* RM_RSTST_PER specific bits */
...
...
arch/arm/mach-omap2/usb-tusb6010.c
View file @
9bd7de51
...
...
@@ -187,7 +187,7 @@ int tusb6010_platform_retime(unsigned is_refclk)
unsigned
sysclk_ps
;
int
status
;
if
(
!
refclk_psec
||
sys
clk_ps
==
0
)
if
(
!
refclk_psec
||
f
clk_ps
==
0
)
return
-
ENODEV
;
sysclk_ps
=
is_refclk
?
refclk_psec
:
TUSB6010_OSCCLK_60
;
...
...
arch/arm/mach-pxa/viper.c
View file @
9bd7de51
...
...
@@ -46,6 +46,7 @@
#include <mach/audio.h>
#include <mach/pxafb.h>
#include <mach/i2c.h>
#include <mach/regs-uart.h>
#include <mach/viper.h>
#include <asm/setup.h>
...
...
arch/arm/mach-realview/core.c
View file @
9bd7de51
...
...
@@ -750,14 +750,6 @@ void __init realview_timer_init(unsigned int timer_irq)
{
u32
val
;
#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
/*
* The dummy clock device has to be registered before the main device
* so that the latter will broadcast the clock events
*/
local_timer_setup
();
#endif
/*
* set clock frequency:
* REALVIEW_REFCLK is 32KHz
...
...
arch/arm/mach-realview/include/mach/smp.h
View file @
9bd7de51
...
...
@@ -15,16 +15,9 @@
/*