This patchset adds DT nodes for FIMD and DP controller for Exynos5420
based SMDK.
It moves all common properties of FIMD and DP controller DT node specific to
Exynos5 Socs like 5250 and 5420 to exynos5.dtsi file.
It also adds required PM domain DT nodes for exynos5420.
Is rebased on branch kgene's "for-next"
https://git.kernel.org/cgit/linux/kernel/git/kgene/linux-samsung.git/log/?h…
The DP PHY DT Node is based on Jingoo Han's inflight patchset at
http://comments.gmane.org/gmane.linux.drivers.video-input-infrastructure/66…
changes since v1:
- Addressed comments given by Tomasz Figa <tomasz.figa(a)gmail.com>
and Ajay kumar <ajaynumb(a)gmail.com>
Vikas Sajjan (6):
ARM: dts: Move display-timimg information inside FIMD DT node for
exynos5250
ARM: dts: Update FIMD DT node for Exynos5 SoCs
ARM: dts: Add FIMD DT node to exynos5420 DTS files
ARM: dts: Update DP controller DT Node for Exynos5 based SoCs
ARM: dts: Add DP controller DT node to exynos5420 SoC
ARM: dts: Add pin state information for DP HPD support to Exynos5420
Yadwinder Singh Brar (1):
ARM: dts: Add basic PM domains for EXYNOS5420
arch/arm/boot/dts/exynos5.dtsi | 21 +++++++++++
arch/arm/boot/dts/exynos5250-arndale.dts | 4 ++-
arch/arm/boot/dts/exynos5250-smdk5250.dts | 32 +++++++++--------
arch/arm/boot/dts/exynos5250.dtsi | 28 ++++++---------
arch/arm/boot/dts/exynos5420-pinctrl.dtsi | 7 ++++
arch/arm/boot/dts/exynos5420-smdk5420.dts | 31 ++++++++++++++++
arch/arm/boot/dts/exynos5420.dtsi | 55 +++++++++++++++++++++++++++++
7 files changed, 145 insertions(+), 33 deletions(-)
--
1.7.9.5
Commit 89878baa73f0f1c679355006bd8632e5d78f96c2 introduced the flag
CPUIDLE_FLAG_TIMER_STOP where we specify a specific idle state stops the local
timer.
Commit a06df062a189a8d5588babb8bf0bb78672497798 introduced the initialization
of the timer broadcast framework depending of the flag presence.
If a system is booted with some cpus offline, by setting for example, maxcpus=1
in the kernel command line, and then they are set online, the timer broadcast
won't be setup automatically.
Fix this by adding the cpu hotplug notifier and enable/disable the timer
broadcast automatically. So no need to handle that at the arch specific driver
level like eg. intel_idle does.
Signed-off-by: Daniel Lezcano <daniel.lezcano(a)linaro.org>
---
drivers/cpuidle/driver.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/drivers/cpuidle/driver.c b/drivers/cpuidle/driver.c
index 3ac499d..e976994 100644
--- a/drivers/cpuidle/driver.c
+++ b/drivers/cpuidle/driver.c
@@ -10,6 +10,7 @@
#include <linux/mutex.h>
#include <linux/module.h>
+#include <linux/cpu.h>
#include <linux/cpuidle.h>
#include <linux/cpumask.h>
#include <linux/clockchips.h>
@@ -147,6 +148,48 @@ static void cpuidle_setup_broadcast_timer(void *arg)
}
/**
+ * cpuidle_hotplug_notify: notifier callback when a cpu is onlined/offlined
+ * @n: the notifier block
+ * @action: an unsigned long giving the event related to the notification
+ * @hcpu: a void pointer but used as the cpu number which the event is related
+ *
+ * The kernel can boot with some cpus offline, we have to init the timer
+ * broadcast for these cpus when they are onlined. Also we have to disable
+ * the timer broadcast when the cpu is down.
+ *
+ * Returns NOTIFY_OK
+ */
+static int cpuidle_hotplug_notify(struct notifier_block *n,
+ unsigned long action, void *hcpu)
+{
+ int cpu = (unsigned long)hcpu;
+ struct cpuidle_driver *drv;
+
+ drv = __cpuidle_get_cpu_driver(cpu);
+ if (!drv || !drv->bctimer)
+ goto out;
+
+ switch (action & 0xf) {
+ case CPU_ONLINE:
+ smp_call_function_single(cpu, cpuidle_setup_broadcast_timer,
+ (void *)CLOCK_EVT_NOTIFY_BROADCAST_ON,
+ 1);
+ break;
+ case CPU_DEAD:
+ smp_call_function_single(cpu, cpuidle_setup_broadcast_timer,
+ (void *)CLOCK_EVT_NOTIFY_BROADCAST_OFF,
+ 1);
+ break;
+ }
+out:
+ return NOTIFY_OK;
+}
+
+static struct notifier_block cpuidle_hotplug_notifier = {
+ .notifier_call = cpuidle_hotplug_notify,
+};
+
+/**
* __cpuidle_driver_init - initialize the driver's internal data
* @drv: a valid pointer to a struct cpuidle_driver
*
@@ -262,6 +305,9 @@ int cpuidle_register_driver(struct cpuidle_driver *drv)
ret = __cpuidle_register_driver(drv);
spin_unlock(&cpuidle_driver_lock);
+ if (!ret)
+ ret = register_cpu_notifier(&cpuidle_hotplug_notifier);
+
return ret;
}
EXPORT_SYMBOL_GPL(cpuidle_register_driver);
@@ -276,6 +322,8 @@ EXPORT_SYMBOL_GPL(cpuidle_register_driver);
*/
void cpuidle_unregister_driver(struct cpuidle_driver *drv)
{
+ unregister_cpu_notifier(&cpuidle_hotplug_notifier);
+
spin_lock(&cpuidle_driver_lock);
__cpuidle_unregister_driver(drv);
spin_unlock(&cpuidle_driver_lock);
--
1.7.9.5
From: Mark Brown <broonie(a)linaro.org>
Ensure that the definitions of functions match the prototypes used by
other modules by including the header with the prototypes in the files
with the definitions.
Signed-off-by: Mark Brown <broonie(a)linaro.org>
---
drivers/video/exynos/exynos_mipi_dsi_lowlevel.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/video/exynos/exynos_mipi_dsi_lowlevel.c b/drivers/video/exynos/exynos_mipi_dsi_lowlevel.c
index 15c5abd..c148d06 100644
--- a/drivers/video/exynos/exynos_mipi_dsi_lowlevel.c
+++ b/drivers/video/exynos/exynos_mipi_dsi_lowlevel.c
@@ -27,6 +27,7 @@
#include <video/exynos_mipi_dsim.h>
#include "exynos_mipi_dsi_regs.h"
+#include "exynos_mipi_dsi_lowlevel.h"
void exynos_mipi_dsi_func_reset(struct mipi_dsim_device *dsim)
{
--
1.8.3.1
CPUFreq core does following at multiple places:
module_{get|put}(cpufreq_driver->owner)).
This is done to make sure module doesn't get unloaded if it is currently in use.
This will work only if the .owner field of cpufreq driver is initialized with a
valid pointer.
This field wasn't initialized for many cpufreq driver, lets initialize it with
THIS_MODULE.
Rebased over: v3.11-rc3 and pushed here:
https://git.linaro.org/gitweb?p=people/vireshk/linux.git;a=shortlog;h=refs/…
Viresh Kumar (15):
cpufreq: arm_big_little: initialize .owner field with THIS_MODULE
cpufreq: cpufreq-cpu0: initialize .owner field with THIS_MODULE
cpufreq: davinci: initialize .owner field with THIS_MODULE
cpufreq: dbx500: initialize .owner field with THIS_MODULE
cpufreq: exynos: initialize .owner field with THIS_MODULE
cpufreq: imx6q: initialize .owner field with THIS_MODULE
cpufreq: integrator: initialize .owner field with THIS_MODULE
cpufreq: omap: initialize .owner field with THIS_MODULE
cpufreq: pxa: initialize .owner field with THIS_MODULE
cpufreq: s3c24xx: initialize .owner field with THIS_MODULE
cpufreq: s5pv210: initialize .owner field with THIS_MODULE
cpufreq: sa11**: initialize .owner field with THIS_MODULE
cpufreq: SPEAr: initialize .owner field with THIS_MODULE
cpufreq: Tegra: initialize .owner field with THIS_MODULE
cpufreq: Unicore: initialize .owner field with THIS_MODULE
drivers/cpufreq/arm_big_little.c | 1 +
drivers/cpufreq/cpufreq-cpu0.c | 1 +
drivers/cpufreq/davinci-cpufreq.c | 1 +
drivers/cpufreq/dbx500-cpufreq.c | 1 +
drivers/cpufreq/exynos-cpufreq.c | 1 +
drivers/cpufreq/exynos5440-cpufreq.c | 1 +
drivers/cpufreq/imx6q-cpufreq.c | 1 +
drivers/cpufreq/integrator-cpufreq.c | 1 +
drivers/cpufreq/omap-cpufreq.c | 1 +
drivers/cpufreq/pxa2xx-cpufreq.c | 1 +
drivers/cpufreq/pxa3xx-cpufreq.c | 1 +
drivers/cpufreq/s3c24xx-cpufreq.c | 1 +
drivers/cpufreq/s5pv210-cpufreq.c | 1 +
drivers/cpufreq/sa1100-cpufreq.c | 1 +
drivers/cpufreq/sa1110-cpufreq.c | 1 +
drivers/cpufreq/spear-cpufreq.c | 1 +
drivers/cpufreq/tegra-cpufreq.c | 1 +
drivers/cpufreq/unicore2-cpufreq.c | 1 +
18 files changed, 18 insertions(+)
--
1.7.12.rc2.18.g61b472e
These patches are for separating the SOC On-Chip ohci host controller
from ohci-hcd host code into its own driver module.
This work is part of enabling multi-platform kernels on ARM.
Manjunath Goudar (2):
USB: OHCI: make ohci-ep93xx a separate driver
USB: OHCI: make ohci-pxa27x a separate driver
drivers/usb/host/Kconfig | 16 +++++
drivers/usb/host/Makefile | 2 +
drivers/usb/host/ohci-ep93xx.c | 84 ++++++++++------------
drivers/usb/host/ohci-hcd.c | 24 -------
drivers/usb/host/ohci-pxa27x.c | 154 ++++++++++++++++------------------------
5 files changed, 120 insertions(+), 160 deletions(-)
--
1.7.9.5