Permalink
Browse files

Merge branch 'master' of github.com:davem330/net

Conflicts:
	net/batman-adv/soft-interface.c
  • Loading branch information...
2 parents 8083f0f + 3ee72ca commit 88c5100c28b02c4b2b2c6f6fafbbd76d90f698b9 @davem330 committed Oct 7, 2011
Showing with 1,255 additions and 1,000 deletions.
  1. +4 −10 Documentation/hwmon/coretemp
  2. +2 −2 Documentation/networking/ip-sysctl.txt
  3. +6 −6 Documentation/networking/scaling.txt
  4. +4 −3 Documentation/vm/transhuge.txt
  5. +0 −1 MAINTAINERS
  6. +1 −1 Makefile
  7. +14 −0 arch/arm/Kconfig
  8. +17 −17 arch/arm/include/asm/futex.h
  9. +2 −2 arch/arm/include/asm/unistd.h
  10. +10 −0 arch/arm/kernel/smp_scu.c
  11. +12 −3 arch/arm/kernel/vmlinux.lds.S
  12. +2 −4 arch/arm/mach-exynos4/clock.c
  13. +1 −1 arch/arm/mach-s3c2443/clock.c
  14. +2 −4 arch/arm/mach-s5pv210/clock.c
  15. +20 −0 arch/arm/mm/cache-v7.S
  16. +2 −0 arch/arm/mm/dma-mapping.c
  17. +5 −4 arch/arm/plat-s5p/irq-gpioint.c
  18. +14 −0 arch/powerpc/platforms/powermac/pci.c
  19. +2 −1 arch/s390/include/asm/elf.h
  20. +2 −0 arch/s390/include/asm/pgtable.h
  21. +3 −0 arch/s390/kernel/asm-offsets.c
  22. +6 −0 arch/s390/kernel/entry64.S
  23. +3 −2 arch/s390/kvm/kvm-s390.c
  24. +6 −11 arch/s390/mm/pgtable.c
  25. +2 −0 arch/sparc/include/asm/spitfire.h
  26. +3 −1 arch/sparc/include/asm/xor_64.h
  27. +12 −0 arch/sparc/kernel/cpu.c
  28. +2 −0 arch/sparc/kernel/cpumap.c
  29. +22 −3 arch/sparc/kernel/head_64.S
  30. +1 −2 arch/sparc/kernel/process_32.c
  31. +0 −3 arch/sparc/kernel/process_64.c
  32. +1 −1 arch/sparc/kernel/setup_32.c
  33. +13 −5 arch/sparc/kernel/setup_64.c
  34. +5 −0 arch/sparc/mm/init_64.c
  35. +12 −11 arch/x86/kernel/rtc.c
  36. +1 −1 arch/x86/kvm/emulate.c
  37. +2 −1 arch/x86/kvm/mmu.c
  38. +11 −0 arch/x86/pci/acpi.c
  39. +9 −0 arch/x86/platform/mrst/vrtc.c
  40. +6 −7 block/blk-core.c
  41. +5 −0 block/blk-sysfs.c
  42. +38 −37 drivers/base/power/clock_ops.c
  43. +1 −0 drivers/char/tpm/Kconfig
  44. +8 −1 drivers/char/tpm/tpm.c
  45. +0 −2 drivers/char/tpm/tpm_nsc.c
  46. +2 −2 drivers/gpu/drm/i915/i915_drv.c
  47. +16 −6 drivers/gpu/drm/i915/intel_display.c
  48. +0 −3 drivers/gpu/drm/i915/intel_drv.h
  49. +29 −59 drivers/gpu/drm/i915/intel_sdvo.c
  50. +10 −6 drivers/gpu/drm/radeon/atombios_dp.c
  51. +0 −44 drivers/gpu/drm/radeon/evergreen.c
  52. +0 −32 drivers/gpu/drm/radeon/ni.c
  53. +2 −2 drivers/gpu/drm/radeon/r100.c
  54. +4 −4 drivers/gpu/drm/radeon/radeon_connectors.c
  55. +19 −21 drivers/gpu/drm/radeon/radeon_cursor.c
  56. +8 −1 drivers/gpu/drm/radeon/radeon_encoders.c
  57. +0 −51 drivers/gpu/drm/radeon/rv770.c
  58. +53 −168 drivers/hwmon/coretemp.c
  59. +1 −1 drivers/hwmon/ds620.c
  60. +2 −2 drivers/hwmon/w83791d.c
  61. +6 −1 drivers/ide/ide-disk.c
  62. +5 −5 drivers/infiniband/hw/cxgb3/iwch_cm.c
  63. +2 −5 drivers/input/tablet/wacom_wac.c
  64. +2 −0 drivers/md/dm-crypt.c
  65. +3 −1 drivers/md/dm-flakey.c
  66. +1 −1 drivers/md/dm-raid.c
  67. +26 −6 drivers/md/dm-table.c
  68. +19 −3 drivers/md/md.c
  69. +1 −1 drivers/md/md.h
  70. +1 −2 drivers/md/multipath.c
  71. +1 −2 drivers/md/raid1.c
  72. +2 −3 drivers/md/raid10.c
  73. +2 −4 drivers/md/raid5.c
  74. +0 −13 drivers/media/video/omap/omap_vout.c
  75. +1 −0 drivers/media/video/omap3isp/ispccdc.c
  76. +1 −1 drivers/media/video/uvc/uvc_driver.c
  77. +1 −1 drivers/media/video/uvc/uvc_entity.c
  78. +9 −1 drivers/media/video/uvc/uvc_video.c
  79. +1 −1 drivers/media/video/uvc/uvcvideo.h
  80. +11 −0 drivers/media/video/v4l2-dev.c
  81. +2 −0 drivers/media/video/v4l2-device.c
  82. +1 −1 drivers/mfd/jz4740-adc.c
  83. +8 −6 drivers/misc/lis3lv02d/lis3lv02d.c
  84. +2 −1 drivers/net/bonding/bond_3ad.c
  85. +2 −1 drivers/net/bonding/bond_alb.c
  86. +8 −5 drivers/net/bonding/bond_main.c
  87. +1 −0 drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c
  88. +13 −3 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
  89. +12 −0 drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
  90. +18 −5 drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
  91. +12 −3 drivers/net/ethernet/chelsio/cxgb3/l2t.c
  92. +12 −4 drivers/net/ethernet/chelsio/cxgb3/l2t.h
  93. +3 −0 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
  94. +2 −2 drivers/net/ethernet/ibm/ibmveth.c
  95. +27 −29 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
  96. +1 −1 drivers/net/macvlan.c
  97. +2 −2 drivers/net/phy/dp83640.c
  98. +2 −2 drivers/net/xen-netback/interface.c
  99. +5 −1 drivers/pci/pci.c
  100. +13 −1 drivers/pci/probe.c
  101. +6 −2 drivers/s390/cio/cio.c
  102. +2 −0 drivers/scsi/3w-9xxx.c
  103. +1 −0 drivers/scsi/Kconfig
  104. +1 −1 drivers/scsi/Makefile
  105. +2 −0 drivers/scsi/aacraid/commsup.c
  106. +1 −1 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
  107. +7 −5 drivers/scsi/libsas/sas_expander.c
  108. +2 −2 drivers/scsi/qla2xxx/qla_isr.c
  109. +5 −4 drivers/scsi/qla2xxx/qla_os.c
  110. +3 −0 drivers/spi/spi-fsl-spi.c
  111. +3 −1 drivers/spi/spi-imx.c
  112. +66 −27 drivers/spi/spi-topcliff-pch.c
  113. +6 −1 drivers/zorro/zorro.c
  114. +16 −8 fs/btrfs/file.c
  115. +1 −7 fs/namei.c
  116. +1 −1 fs/namespace.c
  117. +1 −1 fs/nfs/super.c
  118. +1 −1 fs/quota/quota.c
  119. +0 −2 fs/stat.c
  120. +5 −0 include/linux/device-mapper.h
  121. +1 −0 include/linux/irqdomain.h
  122. +1 −0 include/linux/kvm.h
  123. +2 −1 include/linux/namei.h
  124. +2 −1 include/linux/pci.h
  125. +10 −3 include/linux/ptp_classify.h
  126. +0 −1 include/linux/sched.h
  127. +5 −5 include/trace/events/writeback.h
  128. +1 −3 init/main.c
  129. +5 −1 kernel/irq/irqdomain.c
  130. +3 −2 kernel/posix-cpu-timers.c
  131. +10 −13 kernel/ptrace.c
  132. +6 −1 kernel/resource.c
  133. +1 −25 kernel/sched.c
  134. +2 −2 kernel/sched_rt.c
  135. +5 −5 net/batman-adv/soft-interface.c
  136. +0 −3 net/bridge/br_device.c
  137. +24 −29 net/can/bcm.c
  138. +1 −0 net/ceph/ceph_common.c
  139. +1 −0 net/ceph/messenger.c
  140. +1 −3 net/ceph/osd_client.c
  141. +45 −39 net/ceph/osdmap.c
  142. +1 −3 net/ipv4/tcp_input.c
  143. +7 −4 net/ipv4/tcp_ipv4.c
  144. +6 −2 net/ipv6/ip6mr.c
  145. +3 −1 net/ipv6/route.c
  146. +8 −3 net/ipv6/tcp_ipv6.c
  147. +1 −1 net/netfilter/ipvs/ip_vs_ctl.c
  148. +4 −1 net/packet/af_packet.c
  149. +9 −4 net/rds/iw_rdma.c
  150. +6 −4 net/xfrm/xfrm_policy.c
  151. +10 −5 sound/pci/fm801.c
  152. +5 −4 sound/pci/hda/hda_intel.c
  153. +7 −1 sound/pci/hda/patch_realtek.c
  154. +1 −0 sound/pci/hda/patch_sigmatel.c
  155. +1 −1 sound/soc/blackfin/bf5xx-ad73311.c
  156. +2 −1 sound/soc/codecs/ssm2602.c
  157. +2 −2 sound/soc/codecs/wm8753.c
  158. +0 −26 sound/soc/codecs/wm8962.c
  159. +1 −1 sound/soc/omap/mcpdm.c
  160. +1 −1 sound/soc/omap/mcpdm.h
  161. +6 −0 sound/soc/omap/omap-mcbsp.c
  162. +4 −4 sound/soc/pxa/zylonite.c
  163. +15 −3 sound/soc/soc-core.c
  164. +5 −2 sound/usb/card.c
  165. +8 −1 tools/perf/Makefile
  166. +3 −0 tools/perf/builtin-record.c
  167. +1 −1 tools/perf/builtin-test.c
  168. +5 −4 tools/perf/builtin-top.c
  169. +5 −0 tools/perf/util/event.c
  170. +1 −1 tools/perf/util/event.h
  171. +13 −0 tools/perf/util/evlist.c
  172. +1 −0 tools/perf/util/evlist.h
  173. +46 −11 tools/perf/util/evsel.c
  174. +1 −1 tools/perf/util/probe-finder.c
  175. +1 −1 tools/perf/util/python.c
  176. +2 −1 tools/perf/util/session.h
  177. +8 −2 tools/perf/util/sort.c
  178. +118 −35 tools/perf/util/symbol.c
@@ -35,23 +35,17 @@ the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
All Sysfs entries are named with their core_id (represented here by 'X').
tempX_input - Core temperature (in millidegrees Celsius).
tempX_max - All cooling devices should be turned on (on Core2).
- Initialized with IA32_THERM_INTERRUPT. When the CPU
- temperature reaches this temperature, an interrupt is
- generated and tempX_max_alarm is set.
-tempX_max_hyst - If the CPU temperature falls below than temperature,
- an interrupt is generated and tempX_max_alarm is reset.
-tempX_max_alarm - Set if the temperature reaches or exceeds tempX_max.
- Reset if the temperature drops to or below tempX_max_hyst.
tempX_crit - Maximum junction temperature (in millidegrees Celsius).
tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
Correct CPU operation is no longer guaranteed.
tempX_label - Contains string "Core X", where X is processor
number. For Package temp, this will be "Physical id Y",
where Y is the package number.
-The TjMax temperature is set to 85 degrees C if undocumented model specific
-register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as
-(sometimes) documented in processor datasheet.
+On CPU models which support it, TjMax is read from a model-specific register.
+On other models, it is set to an arbitrary value based on weak heuristics.
+If these heuristics don't work for you, you can pass the correct TjMax value
+as a module parameter (tjmax).
Appendix A. Known TjMax lists (TBD):
Some information comes from ark.intel.com
@@ -1042,7 +1042,7 @@ conf/interface/*:
The functional behaviour for certain settings is different
depending on whether local forwarding is enabled or not.
-accept_ra - BOOLEAN
+accept_ra - INTEGER
Accept Router Advertisements; autoconfigure using them.
It also determines whether or not to transmit Router
@@ -1111,7 +1111,7 @@ dad_transmits - INTEGER
The amount of Duplicate Address Detection probes to send.
Default: 1
-forwarding - BOOLEAN
+forwarding - INTEGER
Configure interface-specific Host/Router behaviour.
Note: It is recommended to have the same setting on all
@@ -27,7 +27,7 @@ applying a filter to each packet that assigns it to one of a small number
of logical flows. Packets for each flow are steered to a separate receive
queue, which in turn can be processed by separate CPUs. This mechanism is
generally known as “Receive-side Scaling” (RSS). The goal of RSS and
-the other scaling techniques to increase performance uniformly.
+the other scaling techniques is to increase performance uniformly.
Multi-queue distribution can also be used for traffic prioritization, but
that is not the focus of these techniques.
@@ -186,10 +186,10 @@ are steered using plain RPS. Multiple table entries may point to the
same CPU. Indeed, with many flows and few CPUs, it is very likely that
a single application thread handles flows with many different flow hashes.
-rps_sock_table is a global flow table that contains the *desired* CPU for
-flows: the CPU that is currently processing the flow in userspace. Each
-table value is a CPU index that is updated during calls to recvmsg and
-sendmsg (specifically, inet_recvmsg(), inet_sendmsg(), inet_sendpage()
+rps_sock_flow_table is a global flow table that contains the *desired* CPU
+for flows: the CPU that is currently processing the flow in userspace.
+Each table value is a CPU index that is updated during calls to recvmsg
+and sendmsg (specifically, inet_recvmsg(), inet_sendmsg(), inet_sendpage()
and tcp_splice_read()).
When the scheduler moves a thread to a new CPU while it has outstanding
@@ -243,7 +243,7 @@ configured. The number of entries in the global flow table is set through:
The number of entries in the per-queue flow table are set through:
- /sys/class/net/<dev>/queues/tx-<n>/rps_flow_cnt
+ /sys/class/net/<dev>/queues/rx-<n>/rps_flow_cnt
== Suggested Configuration
@@ -123,10 +123,11 @@ be automatically shutdown if it's set to "never".
khugepaged runs usually at low frequency so while one may not want to
invoke defrag algorithms synchronously during the page faults, it
should be worth invoking defrag at least in khugepaged. However it's
-also possible to disable defrag in khugepaged:
+also possible to disable defrag in khugepaged by writing 0 or enable
+defrag in khugepaged by writing 1:
-echo yes >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
-echo no >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
+echo 0 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
+echo 1 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
You can also control how many pages khugepaged should scan at each
pass:
View
@@ -6382,7 +6382,6 @@ S: Supported
F: arch/arm/mach-tegra
TEHUTI ETHERNET DRIVER
-M: Alexander Indenbaum <baum@tehutinetworks.net>
M: Andy Gospodarek <andy@greyhouse.net>
L: netdev@vger.kernel.org
S: Supported
View
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 1
SUBLEVEL = 0
-EXTRAVERSION = -rc7
+EXTRAVERSION = -rc9
NAME = "Divemaster Edition"
# *DOCUMENTATION*
View
@@ -1283,6 +1283,20 @@ config ARM_ERRATA_364296
processor into full low interrupt latency mode. ARM11MPCore
is not affected.
+config ARM_ERRATA_764369
+ bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
+ depends on CPU_V7 && SMP
+ help
+ This option enables the workaround for erratum 764369
+ affecting Cortex-A9 MPCore with two or more processors (all
+ current revisions). Under certain timing circumstances, a data
+ cache line maintenance operation by MVA targeting an Inner
+ Shareable memory region may fail to proceed up to either the
+ Point of Coherency or to the Point of Unification of the
+ system. This workaround adds a DSB instruction before the
+ relevant cache maintenance functions and sets a specific bit
+ in the diagnostic control register of the SCU.
+
endmenu
source "arch/arm/common/Kconfig"
@@ -25,17 +25,17 @@
#ifdef CONFIG_SMP
-#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
+#define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
smp_mb(); \
__asm__ __volatile__( \
- "1: ldrex %1, [%2]\n" \
+ "1: ldrex %1, [%3]\n" \
" " insn "\n" \
- "2: strex %1, %0, [%2]\n" \
- " teq %1, #0\n" \
+ "2: strex %2, %0, [%3]\n" \
+ " teq %2, #0\n" \
" bne 1b\n" \
" mov %0, #0\n" \
- __futex_atomic_ex_table("%4") \
- : "=&r" (ret), "=&r" (oldval) \
+ __futex_atomic_ex_table("%5") \
+ : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
: "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
: "cc", "memory")
@@ -73,14 +73,14 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
#include <linux/preempt.h>
#include <asm/domain.h>
-#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
+#define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
__asm__ __volatile__( \
- "1: " T(ldr) " %1, [%2]\n" \
+ "1: " T(ldr) " %1, [%3]\n" \
" " insn "\n" \
- "2: " T(str) " %0, [%2]\n" \
+ "2: " T(str) " %0, [%3]\n" \
" mov %0, #0\n" \
- __futex_atomic_ex_table("%4") \
- : "=&r" (ret), "=&r" (oldval) \
+ __futex_atomic_ex_table("%5") \
+ : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
: "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
: "cc", "memory")
@@ -117,7 +117,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr)
int cmp = (encoded_op >> 24) & 15;
int oparg = (encoded_op << 8) >> 20;
int cmparg = (encoded_op << 20) >> 20;
- int oldval = 0, ret;
+ int oldval = 0, ret, tmp;
if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
oparg = 1 << oparg;
@@ -129,19 +129,19 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr)
switch (op) {
case FUTEX_OP_SET:
- __futex_atomic_op("mov %0, %3", ret, oldval, uaddr, oparg);
+ __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg);
break;
case FUTEX_OP_ADD:
- __futex_atomic_op("add %0, %1, %3", ret, oldval, uaddr, oparg);
+ __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
break;
case FUTEX_OP_OR:
- __futex_atomic_op("orr %0, %1, %3", ret, oldval, uaddr, oparg);
+ __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
break;
case FUTEX_OP_ANDN:
- __futex_atomic_op("and %0, %1, %3", ret, oldval, uaddr, ~oparg);
+ __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg);
break;
case FUTEX_OP_XOR:
- __futex_atomic_op("eor %0, %1, %3", ret, oldval, uaddr, oparg);
+ __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
break;
default:
ret = -ENOSYS;
@@ -478,8 +478,8 @@
/*
* Unimplemented (or alternatively implemented) syscalls
*/
-#define __IGNORE_fadvise64_64 1
-#define __IGNORE_migrate_pages 1
+#define __IGNORE_fadvise64_64
+#define __IGNORE_migrate_pages
#endif /* __KERNEL__ */
#endif /* __ASM_ARM_UNISTD_H */
View
@@ -13,6 +13,7 @@
#include <asm/smp_scu.h>
#include <asm/cacheflush.h>
+#include <asm/cputype.h>
#define SCU_CTRL 0x00
#define SCU_CONFIG 0x04
@@ -37,6 +38,15 @@ void __init scu_enable(void __iomem *scu_base)
{
u32 scu_ctrl;
+#ifdef CONFIG_ARM_ERRATA_764369
+ /* Cortex-A9 only */
+ if ((read_cpuid(CPUID_ID) & 0xff0ffff0) == 0x410fc090) {
+ scu_ctrl = __raw_readl(scu_base + 0x30);
+ if (!(scu_ctrl & 1))
+ __raw_writel(scu_ctrl | 0x1, scu_base + 0x30);
+ }
+#endif
+
scu_ctrl = __raw_readl(scu_base + SCU_CTRL);
/* already enabled? */
if (scu_ctrl & 1)
@@ -23,8 +23,10 @@
#if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK)
#define ARM_EXIT_KEEP(x) x
+#define ARM_EXIT_DISCARD(x)
#else
#define ARM_EXIT_KEEP(x)
+#define ARM_EXIT_DISCARD(x) x
#endif
OUTPUT_ARCH(arm)
@@ -39,6 +41,11 @@ jiffies = jiffies_64 + 4;
SECTIONS
{
/*
+ * XXX: The linker does not define how output sections are
+ * assigned to input sections when there are multiple statements
+ * matching the same input section name. There is no documented
+ * order of matching.
+ *
* unwind exit sections must be discarded before the rest of the
* unwind sections get included.
*/
@@ -47,6 +54,9 @@ SECTIONS
*(.ARM.extab.exit.text)
ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text))
ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text))
+ ARM_EXIT_DISCARD(EXIT_TEXT)
+ ARM_EXIT_DISCARD(EXIT_DATA)
+ EXIT_CALL
#ifndef CONFIG_HOTPLUG
*(.ARM.exidx.devexit.text)
*(.ARM.extab.devexit.text)
@@ -58,6 +68,8 @@ SECTIONS
#ifndef CONFIG_SMP_ON_UP
*(.alt.smp.init)
#endif
+ *(.discard)
+ *(.discard.*)
}
#ifdef CONFIG_XIP_KERNEL
@@ -279,9 +291,6 @@ SECTIONS
STABS_DEBUG
.comment 0 : { *(.comment) }
-
- /* Default discards */
- DISCARDS
}
/*
@@ -899,8 +899,7 @@ static struct clksrc_clk clksrcs[] = {
.reg_div = { .reg = S5P_CLKDIV_CAM, .shift = 28, .size = 4 },
}, {
.clk = {
- .name = "sclk_cam",
- .devname = "exynos4-fimc.0",
+ .name = "sclk_cam0",
.enable = exynos4_clksrc_mask_cam_ctrl,
.ctrlbit = (1 << 16),
},
@@ -909,8 +908,7 @@ static struct clksrc_clk clksrcs[] = {
.reg_div = { .reg = S5P_CLKDIV_CAM, .shift = 16, .size = 4 },
}, {
.clk = {
- .name = "sclk_cam",
- .devname = "exynos4-fimc.1",
+ .name = "sclk_cam1",
.enable = exynos4_clksrc_mask_cam_ctrl,
.ctrlbit = (1 << 20),
},
@@ -128,7 +128,7 @@ static int s3c2443_armclk_setrate(struct clk *clk, unsigned long rate)
unsigned long clkcon0;
clkcon0 = __raw_readl(S3C2443_CLKDIV0);
- clkcon0 &= S3C2443_CLKDIV0_ARMDIV_MASK;
+ clkcon0 &= ~S3C2443_CLKDIV0_ARMDIV_MASK;
clkcon0 |= val << S3C2443_CLKDIV0_ARMDIV_SHIFT;
__raw_writel(clkcon0, S3C2443_CLKDIV0);
}
@@ -815,8 +815,7 @@ static struct clksrc_clk clksrcs[] = {
.reg_div = { .reg = S5P_CLK_DIV3, .shift = 20, .size = 4 },
}, {
.clk = {
- .name = "sclk_cam",
- .devname = "s5pv210-fimc.0",
+ .name = "sclk_cam0",
.enable = s5pv210_clk_mask0_ctrl,
.ctrlbit = (1 << 3),
},
@@ -825,8 +824,7 @@ static struct clksrc_clk clksrcs[] = {
.reg_div = { .reg = S5P_CLK_DIV1, .shift = 12, .size = 4 },
}, {
.clk = {
- .name = "sclk_cam",
- .devname = "s5pv210-fimc.1",
+ .name = "sclk_cam1",
.enable = s5pv210_clk_mask0_ctrl,
.ctrlbit = (1 << 4),
},
Oops, something went wrong.

0 comments on commit 88c5100

Please sign in to comment.