summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2016-12-14x86/kasan, mm: introduce generic kasan_populate_zero_shadow()Andrey Ryabinin
Introduce generic kasan_populate_zero_shadow(shadow_start, shadow_end). This function maps kasan_zero_page to the [shadow_start, shadow_end] addresses. This replaces x86_64 specific populate_zero_shadow() and will be used for ARM64 in follow on patches. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
2016-12-14x86/kasan: define KASAN_SHADOW_OFFSET per architectureAndrey Ryabinin
Current definition of KASAN_SHADOW_OFFSET in include/linux/kasan.h will not work for upcomming arm64, so move it to the arch header. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
2016-12-14drm/bridge: Make (pre/post) enable/disable callbacks optionalLaurent Pinchart
Instead of forcing bridges to implement empty callbacks make them all optional. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-12-14drm/bridge: Improve kerneldocDaniel Vetter
Especially document the assumptions and semantics of the callbacks carefully. Just a warm-up excercise really. v2: Spelling fixes (Eric). v3: Consolidate more with existing docs: - Remove the overview section explaining the bridge funcs, that's now all in the drm_bridge_funcs kerneldoc in much more detail. - Use & to reference structs so that kerneldoc automatically inserts hyperlinks. v4: Review from Thierry. Cc: Eric Anholt <eric@anholt.net> Cc: Archit Taneja <architt@codeaurora.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Archit Taneja <architt@codeaurora.org> (v3) Link: http://patchwork.freedesktop.org/patch/msgid/1449218769-16577-7-git-send-email-daniel.vetter@ffwll.ch Reviewed-by: Thierry Reding <treding@nvidia.com>
2016-12-14drm: bridge: Allow daisy chaining of bridgesArchit Taneja
Allow drm_bridge objects to link to each other in order to form an encoder chain. The requirement for creating a chain of bridges comes because the MSM drm driver uses up its encoder and bridge objects for blocks within the SoC itself. There isn't anything left to use if the SoC display output is connected to an external encoder IC. Having an additional bridge connected to the existing bridge helps here. In general, it is possible for platforms to have multiple devices between the encoder and the connector/panel that require some sort of configuration. We create drm bridge helper functions corresponding to each op in 'drm_bridge_funcs'. These helpers call the corresponding 'drm_bridge_funcs' op for the entire chain of bridges. These helpers are used internally by drm_atomic_helper.c and drm_crtc_helper.c. The drm_bridge_enable/pre_enable helpers execute enable/pre_enable ops of the bridge closet to the encoder, and proceed until the last bridge in the chain is enabled. The same holds for drm_bridge_mode_set/mode_fixup helpers. The drm_bridge_disable/post_disable helpers disable the last bridge in the chain first, and proceed until the first bridge in the chain is disabled. drm_bridge_attach() remains the same. As before, the driver calling this function should make sure it has set the links correctly. The order in which the bridges are connected to each other determines the order in which the calls are made. One requirement is that every bridge in the chain should point the parent encoder object. This is required since bridge drivers expect a valid encoder pointer in drm_bridge. For example, consider a chain where an encoder's output is connected to bridge1, and bridge1's output is connected to bridge2: /* Like before, attach bridge to an encoder */ bridge1->encoder = encoder; ret = drm_bridge_attach(dev, bridge1); .. /* * set the first bridge's 'next' bridge to bridge2, set its encoder * as bridge1's encoder */ bridge1->next = bridge2 bridge2->encoder = bridge1->encoder; ret = drm_bridge_attach(dev, bridge2); ... ... This method of bridge chaining isn't intrusive and existing drivers that use drm_bridge will behave the same way as before. The bridge helpers also cleans up the atomic and crtc helper files a bit. Reviewed-by: Jani Nikula <jani.nikula@linux.intel.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Archit Taneja <architt@codeaurora.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2016-12-14input: touchscreen: fts: added touch key functionalityAndi Shyti
The ST Microelectronics FTM3BD56 touch screen device has a key functinality to simulate the "phone" and the "back" button from Android phone devices. This patch adds this functionality as boards like TM2E are using it instead of having separate device for the touch key. The patch adds in the device tree a boolean property "touch-key-connected" that, if present, enables the touch property in the device and in the driver. The driver, itself, when "touch-key-connected" present, generates an input event that reports actions on the "phone" and on the "back" key: when the phone button is pressed or released: type EV_KEY code KEY_PHONE (169) value 1/0 (pressed or released) when the back button is pressed or released: type EV_KEY code KEY_BACK (158) value 1/0 (pressed or released) When discovering the deice, look for event name "sec_touchkey". Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
2016-12-14kmsg: add ioctl for kmsg* devices operating on buffersMarcin Niesluchowski
There is no possibility to clear additional kmsg buffers, get size of them or know what size should be passed to read file operation (too small size causes it to retrun -EINVAL). Add following ioctls which solve those issues: * KMSG_CMD_GET_BUF_SIZE * KMSG_CMD_GET_READ_SIZE_MAX * KMSG_CMD_CLEAR Change-Id: I7ee4c54495f6c4fd1458fd2998ffae0f3a8866c0 Signed-off-by: Marcin Niesluchowski <m.niesluchow@samsung.com>
2016-12-14kmsg: add ioctl for adding and deleting kmsg* devicesMarcin Niesluchowski
There is no possibility to add/delete kmsg* buffers from userspace. Adds following ioctl for main kmsg device adding and deleting additional kmsg devices: * KMSG_CMD_BUFFER_ADD * KMSG_CMD_BUFFER_DEL Change-Id: Ibc3c959957a545b09de4bbcb35533b690ba31fb5 Signed-off-by: Marcin Niesluchowski <m.niesluchow@samsung.com>
2016-12-14kmsg: add function for adding and deleting additional buffersMarcin Niesluchowski
Additional kmsg buffers should be created and deleted dynamically. Adding two functions * kmsg_sys_buffer_add() creates additional kmsg buffer returning minor * kmsg_sys_buffer_del() deletes one based on provided minor Change-Id: Ibb85543b830ecd186e8cf7ebdf560f72c0bba83c Signed-off-by: Marcin Niesluchowski <m.niesluchow@samsung.com>
2016-12-14kmsg: add additional buffers support to memory classMarcin Niesluchowski
Memory class does not support additional kmsg buffers. Add additional kmsg buffers support to: * devnode() callback of "mem" class * file operations of major "mem" character device Change-Id: I15b6c79435b4dc18422a9bd6836bd9c7a87ad60a Signed-off-by: Marcin Niesluchowski <m.niesluchow@samsung.com> Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
2016-12-14printk: guard the amount written per line by devkmsg_read()Tejun Heo
devkmsg_read() uses 8k buffer and assumes that the formatted output message won't overrun which seems safe given LOG_LINE_MAX, the current use of dict and the escaping method being used; however, we're planning to use devkmsg formatting wider and accounting for the buffer size properly isn't that complicated. This patch defines CONSOLE_EXT_LOG_MAX as 8192 and updates devkmsg_read() so that it limits output accordingly. Change-Id: Ic8579ddcd55294a38561e9e8b28449c067600db1 Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Kay Sievers <kay@vrfy.org> Cc: Petr Mladek <pmladek@suse.cz>
2016-12-14lsm: kdbus security hooksPaul Osmialowski
This is combination of work by Karol Lewandowski and Paul Moore on LSM hooks for kdbus. Originates from: git://git.infradead.org/users/pcmoore/selinux (branch: working-kdbus) commit: 7050f206a79564886938d0edc4e1e9da5972c72d https://github.com/lmctl/linux.git (branch: kdbus-lsm-v4.for-systemd-v212) commit: a9fe4c33b6e5ab25a243e0590df406aabb6add12 Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com> Signed-off-by: Paul Moore <pmoore@redhat.com> Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
2016-12-14kdbus: uapi: Fix kernel-doc for enum kdbus_send_flagsSergei Zviagintsev
Signed-off-by: Sergei Zviagintsev <sergei@s15v.net> Acked-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
2016-12-14kdbus: fix header guard nameLucas De Marchi
UAPI headers have a _UAPI_ as prefix, which is removed during headers_install. If it's put as a suffix it will not be removed and will be the only header with UAPI in the header guard macro. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
2016-12-14kdbus: add node and filesystem implementationDaniel Mack
kdbusfs is a filesystem that will expose a fresh kdbus domain context each time it is mounted. Per mount point, there will be a 'control' node, which can be used to create buses. fs.c contains the implementation of that pseudo-fs. Exported inodes of 'file' type have their i_fop set to either kdbus_handle_control_ops or kdbus_handle_ep_ops, depending on their type. The actual dispatching of file operations is done from handle.c node.c is an implementation of a kdbus object that has an id and children, organized in an R/B tree. The tree is used by the filesystem code for lookup and iterator functions, and to deactivate children once the parent is deactivated. Every inode exported by kdbusfs is backed by a kdbus_node, hence it is embedded in struct kdbus_ep, struct kdbus_bus and struct kdbus_domain. Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Djalal Harouni <tixxdz@opendz.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
2016-12-14kdbus: add uapi header fileDaniel Mack
This patch adds the header file which describes the low-level transport protocol used by various ioctls. The header file is located in include/uapi/linux/ as it is shared between kernel and userspace, and it only contains data structure definitions, enums and defines for constants. The low-level kernel API of kdbus is exposed through ioctls, employed on nodes exposed by kdbusfs. We've chosen a ioctl-based implementation over syscalls for various reaons: * The ioctls kdbus offers are completely specific to nodes exposed by kdbusfs and can not be applied to any other file descriptor in a system. * The file descriptors derived from opening nodes in kdbusfs can only be used for poll(), close() and the ioctls described in kdbus.h. * Not all systems will make use of kdbus eventually, and we want to make as many parts of the kernel optional at build time. * We want to build the kdbus code as module, which is impossible to do when implemented with syscalls. * The ioctl dispatching logic does not show up in our performance graphs; its overhead is negligible. * For development, being able to build, load and unload a separate module with a versioned name suffix is essential. Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Djalal Harouni <tixxdz@opendz.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
2016-12-14drm/exynos: add DRM_EXYNOS_GEM_MAP ioctlJoonyoung Shim
The commit d931589c01a2 ("drm/exynos: remove DRM_EXYNOS_GEM_MAP_OFFSET ioctl") removed it same with the ioctl that this patch adds. The reason that removed DRM_EXYNOS_GEM_MAP_OFFSET was we could use DRM_IOCTL_MODE_MAP_DUMB. Both did exactly same thing. Now we again will revive it as DRM_EXYNOS_GEM_MAP because of render node. DRM_IOCTL_MODE_MAP_DUMB isn't permitted in render node. Change-Id: I6900f89aa1f14ab06f56e257c4e77639cba8d5c7 Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
2016-12-14mfd: sec-core: Disable buck voltage reset on watchdog falling edgeKrzysztof Kozlowski
The WRSTBI bit (disabled by default but enabled by bootloader), when set, is responsible for resetting voltages to default values of certain bucks on falling edge of Warm Reset Input pin from AP. However on some boards (with S2MPS13) the pin is pulled down so any suspend will effectively trigger the reset of bucks supplying the power to the little and big cores. In the same time when resuming, these bucks must provide voltage greater or equal to voltage before suspend to match the frequency chosen by cpufreq. If voltage (default value of voltage after reset) is lower than one set by cpufreq before suspend, then system will hang during resuming. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14thermal: consistently use int for trip tempWei Ni
The commit 17e8351a7739 consistently use int for temperature, however it missed a few in trip temperature and thermal_core. In current codes, the trip->temperature used "unsigned long" and zone->temperature used"int", if the temperature is negative value, it will get wrong result when compare temperature with trip temperature. This patch can fix it. Signed-off-by: Wei Ni <wni@nvidia.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com> [backport from mainline to fix previous backported commit] Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14thermal: consistently use int for temperaturesSascha Hauer
The thermal code uses int, long and unsigned long for temperatures in different places. Using an unsigned type limits the thermal framework to positive temperatures without need. Also several drivers currently will report temperatures near UINT_MAX for temperatures below 0°C. This will probably immediately shut the machine down due to overtemperature if started below 0°C. 'long' is 64bit on several architectures. This is not needed since INT_MAX °mC is above the melting point of all known materials. Consistently use a plain 'int' for temperatures throughout the thermal code and the drivers. This only changes the places in the drivers where the temperature is passed around as pointer, when drivers internally use another type this is not changed. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Jean Delvare <jdelvare@suse.de> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Peter Feuerer <peter@piie.net> Cc: Punit Agrawal <punit.agrawal@arm.com> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: Jean Delvare <jdelvare@suse.de> Cc: Peter Feuerer <peter@piie.net> Cc: Heiko Stuebner <heiko@sntech.de> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: linux-acpi@vger.kernel.org Cc: platform-driver-x86@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-omap@vger.kernel.org Cc: linux-samsung-soc@vger.kernel.org Cc: Guenter Roeck <linux@roeck-us.net> Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Darren Hart <dvhart@infradead.org> Cc: lm-sensors@lm-sensors.org Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2016-12-14NFC: nci: export nci_core_reset and nci_core_initRobert Baldyga
Some drivers needs to have ability to reinit NCI core, for example after updating firmware in setup() of post_setup() callback. This patch makes nci_core_reset() and nci_core_init() functions public, to make it possible. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
2016-12-14NFC: nci: Add post_setup handlerRobert Baldyga
Some drivers require non-standard configuration after NCI_CORE_INIT request, because they need to know ndev->manufact_specific_info or ndev->manufact_id. This patch adds post_setup handler allowing to do such custom configuration. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
2016-12-14NFC: nci: Handle proprietary response and notificationsSamuel Ortiz
Allow for drivers to explicitly define handlers for each proprietary notifications and responses they expect to support. Reviewed-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2016-12-14NFC: nci: Add nci_prop_cmd allowing to send proprietary nci cmdChristophe Ricard
Handle allowing to send proprietary nci commands anywhere in the nci state machine. Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2016-12-14fimc-is: fix includes and make the code to compile on ARM64Marek Szyprowski
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14fimc-is: add code from arch/arm/mach-exynos and missing headersMarek Szyprowski
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14spi: backport spi driver from android-ll, now isp-spi worksMarek Szyprowski
remove spi isp dead code Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14clk: samsung: exynos5433: Add ISP/CAM IP gate clocksSylwester Nawrocki
clk: samsung: exynos5433: Add CLK_ISP_SPIx gate clocks clk: samsung: exynos5433: Add more clock definitions for gate clocks clk: samsung: exynos5433: Fix CAM0_NR_CLK macro definition value Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14clk: samsung: exynos5433: Fix typos in *_ISP_MPWM clock namesSylwester Nawrocki
Change-Id: I83ae4420ce171c58271d0a0222ef9bae3def831a Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14soc: samsung: pm_domain: Support pm_domain creation notification.Jonghwa Lee
For some drivers which is probed earlier than pm_domain creation, it provides a interface to get notification. Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2016-12-14arm64: dma-iommu: rebase dma-iommu to kernel 4.1Hyungwon Hwang
In Linux kernel 4.1, iommu_domain_alloc() is introduced.This patch rebases dma-iommu codes to make the driver use the function. Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
2016-12-14trace: ramdump: add to support ramdump mode for exynos5433sungguk.na
This patch adds to support ramdump mode for exynos5433. Change-Id: I7e833273315dab3116a5e6100c01f1f7ce965067 Signed-off-by: sungguk.na <sungguk.na@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14thermal: devfreq_cooling: Add generic devfreq cooling device implementaionChanwoo Choi
This patch add the generic devfreq cooling device based on devfreq framework. The devfreq device is used as cooling device. Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2016-12-14PM: devfreq: Add the prototype of update_devfreq() to exportChanwoo Choi
This patch add simply the protoptye of update_devfreq() to devfreq.h header file to export it. The some device driver (e.g., thermal cooling device) may use the update_devfreq() to update the range of supported frequency of devfreq device. Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2016-12-14soc: samsung: exynos-pmu: Support conditional reboot modeJonghwa Lee
Traditional exynos bootloader checks PMU's inform registers at booting to support various conditional reboot mode. Depends on the value of inform registers, the behavior after reboot would be varied. Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2016-12-14LOCAL / cpufreq: pass: Add nr_running data to load_table debugfs entryChanwoo Choi
This patch add 'nr_running' data to load_table debugfs entry. This data is used to judge current CPUs state. - /sys/kernel/debug/cpufreq/cpu0/load_table Time(ms) Old Freq(Hz) New Freq(Hz) NR_running CPU0 CPU1 1175715 200000 200000 54 15 9 1175802 200000 200000 261 72 54 1175900 200000 800000 214 96 64 1176005 800000 400000 195 29 37 1176100 400000 200000 205 42 35 1176200 200000 200000 288 93 66 1176302 200000 200000 193 61 88 1176400 200000 200000 204 65 75 1176570 200000 200000 223 27 17 1176695 200000 200000 0 2 1 1176830 200000 200000 0 4 3 1176900 200000 200000 100 17 22 1177000 200000 200000 228 60 90 1177100 200000 800000 257 96 83 1177200 800000 600000 194 59 50 1177300 600000 400000 168 29 56 1177410 400000 300000 181 38 55 1177500 300000 300000 118 37 75 1177750 300000 200000 165 16 25 1177800 200000 200000 100 22 15 Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2016-12-14LOCAL / sched: Add nr_running_cpumask() to get the number of running tasks ↵Chanwoo Choi
of per-cluster This patch adds the nr_running_cpumask() function to get the number of runing tasks of per-cluster. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2016-12-14LOCAL / cpufreq: stats: Add 'load_table' debugfs file to show accumulated ↵Chanwoo Choi
data of CPUs This patch add new 'load_table' debugfs file to show previous accumulated data of CPUs load as following path and add CPUFREQ_LOADCHECK notification to CPUFREQ_TRANSITION_NOTIFIER notifier chain. - /sys/kernel/debug/cpufreq/cpuX/load_table When governor calculates CPUs load on dbs_check_cpu(), governor send CPUFREQ_LOADCHECK notification with CPUs load, so that cpufreq_stats accumulates calculated CPUs load on 'load_table' storage. This debugfs file is used to judge the correct system state or determine suitable system resource according to current CPUs load on user-space. This debugfs file include following data: - Measurement point of time - CPU frequency - Per-CPU load Changes since v6: - Remove unnecessary memory free/allocation operation on cpufreq_stats_reset_debugfs() - Get correct index of cpu_debugfs[] array according to cpu number - Reset 'load_table' data when cpufreq governor is changed or updated because specific governor(e.g., performance/powersave) haven't used 'load_table; debugfs file. Changes since v5: - Determine index value of policy->cpu_debugfs[] according to cpumask_weight(policy->cpus) value - Bug fix, store 'policy->cpu' to 'freq->cpu' before notify CPUFREQ_LOADCHECK notification Changes since v4: - Reset the data of CPUs load when cpufreq governor is changed - Move code about creating debugfs directory to below first patch : [PATCH 1/2] cpufreq: Add debugfs directory for cpufreq Changes since v3: - Extend a range of accumulated data (10 ~ 1000) - Add unit information of time/freq and align 'Time' field as left for readability - Use CONFIG_CPU_FREQ_STAT depdendency instead of CONFIG_CPU_FREQ_STAT_DETATILS - Initialize load of offline CPUx as zero(0) - Create/remove debugfs root directory on cpufreq_stats_init/exit() because debugfs root is used on all CPUs. Changes since v2: - Code clean according to Viresh Kumar's comment - Show both old frequency and new frequency on 'load_table' debugfs file - Change debufs file patch as below old: /sys/kernel/debugfs/cpufreq/load_table new: /sys/kernel/debugfs/cpufreq/cpuX/load_table Changes since v1: - Set maximum storage size to save CPUs load on Kconfig - Use spinlock to synchronize read/write operation for CPUs load - Use local variable instead of global variable(struct cpufreq_freqs *freqs) - Use pointer of data structure to get correct size of data structure in sizeof() macro instead of structure name : sizeof(struct cpufreq_freqs) -> sizeof(*stat->load_table) - Change time unit from nanosecond to microsecond - Remove unnecessary memory copy Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2016-12-14LOCAL / cpufreq: Add debugfs directory for cpufreqChanwoo Choi
This patch create debugfs root directory and child directory according to the number of CPUs for CPUFreq as below debugfs directory path: - /sys/kernel/debug/cpufreq/cpuX If many CPUs share only one cpufreq policy, other CPUs(except for first CPU) create a symbolic link for debugfs directory of CPU0. - link: /sys/kernel/debug/cpufreq/cpu[1-(N-1)] -> /sys/kernel/debug/cpufreq/cpu0 And then cpufreq may need to create debugfs specific file below of debugfs directory of cpufreq. (e.g., /sys/kernel/debug/cpufreq/cpu0/load_table) Changes since v6: - Use 'policy->related_cpus' instead of 'policy->cpus' when getting the number of CPUs included in the same package - Get correct index of cpu_debugfs[] array according to cpu number - Refactoring cpufreq_move_debugfs_dir() / cpufreq_create_debugfs_symlink() - Use for_each_cpu() to support multi cluster instead of for_each_present_cpu() Changes since v5: - Refactoring patch v4 - Create again symbolic link of debugfs directory when first CPU dev is removed (In this case, many CPUs share only one cpufreq policy) Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2016-12-14drm/exynos: decon: fix the VCLK hold scheme at data underflowHyungwon Hwang
VCLK hold scheme must be set to make VCLK run and VDEN disable, when data underflow happens in case of MIPI command mode is being used. Incorrect setting can make image distorted when underflow occurs. Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
2016-12-14sii8620: cleaning of MHL related macrosAndrzej Hajda
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14sii8620: add support to RAP commandsAndrzej Hajda
Request Action Protocol is required to enable CBUS mode in MHL3. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14sii8620: MHL definition changesAndrzej Hajda
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14clk/samsung: added pclk_decon clockAndrzej Hajda
This gate clock is partially documented. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14drm/exynos/decon5433: fix interlace supportAndrzej Hajda
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14drm/exynos/decon5433: add hardware register definitionsAndrzej Hajda
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14clk: exynos5433: add defines for HDMI-PHY output clocksAndrzej Hajda
HDMI driver must re-parent respective muxes during HDMI-PHY on/off to HDMI-PHY output clocks. To reference those clocks their defines should be added. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14drm/exynos: decon: Add support for DECON-EXTAjay Kumar
* Modify DECON-INT driver to support DECON-EXT. * Add a table of porch values needed to set timing registers of DECON-EXT. * DECON-EXT supports only H/w Triggered COMMAND mode. * DECON-EXT supports only one DMA window(window 1), so modify all window management routines to support 2 windows of DECON-INT and 1 window of DECON-EXT. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> [k.kozlowski: rebased on 4.1] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14sii8620: add driverAndrzej Hajda
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> [k.kozlowski: rebased on 4.1] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / input: touchscreen: add mms128 touchscreen driverBeomho Seo
This patch is mms128 touchscreen driver. Signed-off-by: Beomho Seo <beomho.seo@samsung.com>