linux/drivers
Thomas Abraham ddeac8d968 clk: samsung: add infrastructure to register cpu clocks
The CPU clock provider supplies the clock to the CPU clock domain. The
composition and organization of the CPU clock provider could vary among
Exynos SoCs. A CPU clock provider can be composed of clock mux, dividers
and gates. This patch defines a new clock type for CPU clock provider and
adds infrastructure to register the CPU clock providers for Samsung
platforms.

Changes by Bartlomiej:
- fixed issue with setting lower dividers before the parent clock speed
  was lowered (the issue resulted in lockup on Exynos4210 SoC based
  Origen board when "ondemand" cpufreq governor was stress tested)
- fixed missing spin_unlock on error in exynos_cpuclk_post_rate_change()
  problem by moving cfg_data search outside of the spin locked area
- removed leftover kfree() in exynos_register_cpu_clock() that could
  result in dereferencing the NULL pointer on error
- moved spin_lock earlier in exynos_cpuclk_pre_rate_change() to cover
  reading of E4210_SRC_CPU and E4210_DIV_CPU1 registers
- added missing "last chance" checks to wait_until_divider_stable() and
  wait_until_mux_stable() (needed in case that IRQ handling took long
  time to proceed and resulted in function printing incorrect error
  message about timeout)
- moved E4210_CPU_DIV[0,1]() macros just before their only users,
  this resulted in moving them from patch #2 to patch #3/6 ("clk:
  samsung: exynos4: add cpu clock configuration data and instantiate
  cpu clock")
- removed E5250_CPU_DIV[0,1](), E5420_EGL_DIV0() and E5420_KFC_DIV()
  macros for now
- added my Copyrights to drivers/clk/samsung/clk-cpu.c

Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Michael Turquette <mturquette@baylibre.com>
2015-06-20 12:17:42 -07:00
..
accessibility
acpi Merge branches 'acpi-init' and 'acpica' 2015-05-15 00:31:23 +02:00
amba
android
ata Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2015-05-11 10:54:20 -07:00
atm
auxdisplay
base drivers/base: cacheinfo: handle absence of caches 2015-06-01 10:34:24 +09:00
bcma
block NVMe: fix type warning on 32-bit 2015-05-29 10:06:21 -06:00
bluetooth Bluetooth: ath3k: add support of 04ca:300f AR3012 device 2015-05-13 23:04:20 +02:00
bus MIPS: Fix CDMM to use native endian MMIO reads 2015-05-26 16:46:52 +02:00
cdrom
char ipmi: Fix multi-part message handling 2015-05-05 19:37:22 -05:00
clk clk: samsung: add infrastructure to register cpu clocks 2015-06-20 12:17:42 -07:00
clocksource
connector
cpufreq
cpuidle cpuidle: Run tick_broadcast_exit() with disabled interrupts 2015-04-29 15:19:21 +02:00
crypto
dca
devfreq
dio
dma dmaengine: hsu: Fix memory leak when stopping a running transfer 2015-06-02 18:33:08 +05:30
dma-buf
edac
eisa
extcon
firewire
firmware Merge branch 'stable/for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft 2015-06-06 09:03:54 -07:00
fmc
gpio gpio: gpio-kempld: Fix get_direction return value 2015-05-12 13:49:13 +02:00
gpu drm: fix writing to /sys/class/drm/*/status 2015-06-06 08:27:30 +10:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2015-05-21 17:23:11 -07:00
hsi
hv
hwmon hwmon: (nct6683) Add missing sysfs attribute initialization 2015-05-29 17:47:42 -07:00
hwspinlock
hwtracing/coresight
i2c i2c: s3c2410: fix oops in suspend callback for non-dt platforms 2015-05-12 18:13:46 +02:00
ide Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2015-05-11 10:54:20 -07:00
idle
iio iio: adc: twl6030-gpadc: Fix modalias 2015-05-23 12:30:52 +01:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-05-31 11:31:42 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-06-06 09:08:23 -07:00
iommu Revert "iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent" 2015-06-02 08:46:32 +02:00
ipack
irqchip irqchip/gicv3-its: ITS table size should not be smaller than PSZ 2015-05-20 22:13:37 +02:00
isdn
leds
lguest lguest: fix out-by-one error in address checking. 2015-05-27 09:57:21 -07:00
macintosh
mailbox
mcb
md Quite a few fixes for DM's blk-mq support thanks to extra DM multipath 2015-05-29 14:39:24 -07:00
media media fixes for v4.1-rc3 2015-05-05 08:42:06 -07:00
memory
memstick
message
mfd mfd: da9052: Fix broken regulator probe 2015-05-27 13:34:15 +01:00
misc
mmc mmc: atmel-mci: fix bad variable type for clkdiv 2015-05-18 09:04:42 +02:00
mtd Two MTD fixes for 4.1: 2015-05-18 10:01:54 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-06-01 20:51:18 -07:00
nfc
ntb
nubus
of Driver core fixes for 4.1-rc7 2015-06-06 22:37:45 -07:00
oprofile
parisc
parport
pci PCI: Preserve resource size during alignment reordering 2015-06-01 17:56:32 -05:00
pcmcia
phy phy: phy-rcar-gen2: Fix USBHS_UGSTS_LOCK value 2015-05-12 20:57:19 +05:30
pinctrl pinctrl: Fix gpio/pin mapping for Meson8b 2015-05-19 11:40:52 +02:00
platform thinkpad_acpi: Revert unintentional device attribute renaming 2015-05-20 02:18:12 -07:00
pnp
power power: bq27x00_battery: Add missing MODULE_ALIAS 2015-05-01 23:01:48 +02:00
powercap
pps
ps3
ptp
pwm pwm: img: Impose upper and lower timebase steps value 2015-05-19 16:07:40 +02:00
rapidio
ras
regulator mfd: da9052: Fix broken regulator probe 2015-05-27 13:34:15 +01:00
remoteproc
reset
rpmsg
rtc drivers/rtc/rtc-armada38x.c: remove unused local `flags' 2015-05-14 17:55:51 -07:00
s390 s390/zcrypt: Fix invalid domain handling during ap module unload 2015-05-13 09:57:29 +02:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-05-31 11:31:42 -07:00
sfi
sh
sn
soc
spi Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and 'spi/fix/fsl-espi' into spi-linus 2015-05-11 17:29:49 +01:00
spmi
ssb ssb: extend fix for PCI related silent reboots to all chipsets 2015-05-20 16:36:06 +03:00
staging staging: rtl8712: fix stack dump 2015-05-31 11:54:25 +09:00
target target: Use a PASSTHROUGH flag instead of transport_types 2015-05-30 19:58:11 -07:00
tc
thermal Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into for-rc 2015-05-19 08:12:27 +08:00
thunderbolt
tty TTY/Serial driver fixes for 4.1-rc7 2015-06-06 22:14:23 -07:00
uio
usb USB-serial fixes for v4.1-rc7 2015-06-05 23:19:45 +09:00
uwb
vfio vfio: Fix runaway interruptible timeout 2015-05-01 16:31:41 -06:00
vhost target: Fix se_tpg_tfo->tf_subsys regression + remove tf_subsystem 2015-05-30 18:04:20 -07:00
video backlight: pwm: Handle EPROBE_DEFER while requesting the PWM 2015-05-26 08:44:59 +01:00
virt
virtio
vlynq
vme
w1
watchdog
xen xen/events: don't bind non-percpu VIRQs with percpu chip 2015-05-19 19:55:36 +01:00
zorro
Kconfig
Makefile