summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2014-10-07power_supply: allow power supply devices registered w/o wakeup sourceZhang Rui1-0/+2
Currently, all the power supply devices are registered with wakeup source, this results in that every power_supply_changed() invocation brings the system out of suspend-to-freeze state. This is overkill as some device drivers, e.g. ACPI battery driver, have the ability to check the device status and wake up the system from sleeping only when necessary. Thus introduce a new API which allows device to be registered w/o wakeup source. Change-Id: If0ea9720c9c2161e3a33db0988bcd464b79f2b91 Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-10-07power_supply: Add power_supply_get_by_phandleSebastian Reichel1-0/+8
Add method to get power supply by device tree phandle. Change-Id: I486cb12098d96a0c0b1a930b194dd899fb5a61c8 Signed-off-by: Sebastian Reichel <sre@debian.org> Reviewed-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
2014-10-07power_supply: Add power_supply notifierPali Rohár1-0/+8
This patch adds a notifier chain to the power_supply, this helps drivers in other subsystem to listen to changes in power supply subsystem. This would help to take some actions in those drivers on changing the power supply properties. One such scenario is to increase/decrease system performance based on the battery capacity/voltage. Another scenario is to adjust the h/w peak current detection voltage/current thresholds based on battery voltage/capacity. The notifier helps drivers to listen to changes in power_suppy susbystem without polling the power_supply properties Change-Id: I06d5b614d1ad836826f87f24791c94d2fa6c4aa6 Signed-off-by: Jenny TC <jenny.tc@intel.com> Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Acked-by: Jenny TC <jenny.tc@intel.com> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
2014-10-07power_supply: Prevent suspend until power supply events are processedZoran Markovic1-0/+3
This patch, originally authored by Arve Hjonnevag and Todd Poynor, prevents the system from entering suspend mode until the power supply plug, unplug, or any other change of state event is fully processed. This guarantees that the screen lights up and displays the battery charging state. The implementation uses the power supply wakeup_source object. Change-Id: I541e6a5d0567f2a731f14abc16fda30256ae93fe Cc: David Woodhouse <dwmw2@infradead.org> Cc: Arve Hjonnevag <arve@android.com> Cc: Todd Poynor <toddpoynor@google.com> Cc: John Stultz <john.stultz@linaro.org> Signed-off-by: Zoran Markovic <zoran.markovic@linaro.org> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
2014-09-04drm/exynos: scaler: add exynos drm sc driverHyungwon Hwang1-3/+67
This patch adds exynos drm sc driver for Exynos 3250. Change-Id: Ia71c5354390e67494fd4887c8861a624d21e3839 Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
2014-08-29of: Add common FDT machine revision related functionBeomho Seo1-0/+1
Some device depentent mchine revision. So this patch add get machine revision function. Machine revision get from device tree. If device tree haven't 'revision' property, function return zero. Change-Id: Ide2bdd314db334643e5acaabf31d8abc133a51dc Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
2014-08-20Merge "drm: fimc: support ipp dynamic color range" into tizenInki Dae1-0/+10
2014-08-20drm: fimc: support ipp dynamic color rangeDonghwa Lee1-0/+10
This patch support dynamic range for color space conversion. COLOR_RANGE_LIMITED: selects narrow -> Y(16 to 235), Cb/Cr(16 to 240) COLOR_RANGE_FULL: selects wide -> Y/Cb/Cr(0 to 255), Wide default Change-Id: I7bb62883b497b5b6869108247cc33b09c07f470e Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
2014-08-19cpufreq: stats: Add 'load_table' debugfs file to show accumulated data of CPUsChanwoo Choi1-0/+6
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 Change-Id: I14e68196360a3ec00a36e7357b8c73c887abddce Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
2014-08-19cpufreq: Add debugfs directory for cpufreqChanwoo Choi1-0/+2
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) Change-Id: Ibd84118e6dd3b1e3bc624e1871d39425c99b1673 Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
2014-08-19drm: fimd: support display writeback modeDonghwa Lee1-0/+11
This patch supports exynos drm display writeback mode that clone the screen with fimd like below. FIMD----->FIMC H/W---->MEMORY Change-Id: I8172ec6ee157e2e48a23b9776e11543c33716dc5 Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
2014-08-14of: introduce common FDT machine related functionsRob Herring1-0/+5
Introduce common of_flat_dt_match_machine and of_flat_dt_get_machine_name functions to unify architectures' handling of machine level model and compatible properties. Several architectures match the root compatible string with an arch specific list of machine descriptors duplicating the same search algorithm. Create a common implementation with a simple architecture specific hook to iterate over each machine's match table. Change-Id: I77acb5c560e2b08591c37b57d5d87023aa3fbe91 Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Grant Likely <grant.likely@linaro.org>
2014-08-13clk: Support for clock parents and rates assigned from device treeSylwester Nawrocki1-0/+20
This patch adds helper functions to configure clock parents and rates as specified through 'assigned-clock-parents', 'assigned-clock-rates' DT properties for a clock provider or clock consumer device. The helpers are now being called by the bus code for the platform, I2C and SPI busses, before the driver probing and also in the clock core after registration of a clock provider. Change-Id: I96d98c9c9d576fcbf0dfc90d1cc75feb9fdf97cb Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> [s.nawrocki@samsung.com: backported to v3.10] Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mike Turquette <mturquette@linaro.org>
2014-08-12Bluetooth: add hci event notificationSeung-Woo Kim2-0/+3
WORKAROUND: Temporary workaround for bluetooth enable. For specific hci events, operations are needed. So this patch adds event notification and its notifier registration. Change-Id: I6f8fe0b3b90c12d7f4fe35823d25b9fbdcd98d06 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-08-12net: rfkill-gpio: add host wake and wake pinsSeung-Woo Kim1-0/+4
WORKAROUND: Temporary workaround for bluetooth enable. The wake pin is used for waking up the hw and host wake pin is used for waking up host processor during sleep. Additionally, This patch add reset-gpio property and devm_gpio_request_one function. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> [This patch rebased by Beomho Seo] Signed-off-by: Beomho Seo <beomho.seo@samsung.com> Change-Id: Ibb2f74cae6e1d11ae84172d0f49a10563fc57e7f
2014-08-08ASoC: ymu831: Add Yamaha YMU831 codec supportInha Song1-0/+1
Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-08-08local/input: touchscreen: mms128: code clean and open/close callbackBeomho Seo1-7/+0
This patch codeclean and add callback function. - Add open/close callback function. - Remove code about unused configuration, function and enum. Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
2014-08-08regulator: max14577: Add support for MAX77836 regulatorsKrzysztof Kozlowski1-2/+2
Add support for MAX77836 chipset and its additional two LDO regulators. These LDO regulators are controlled by the PMIC block with additional regmap (different I2C slave address). The MAX77836 charger and safeout regulators are almost identical to MAX14577. The registers layout is the same, except values for charger's current. The patch adds simple mapping between device type and supported current by the charger regulator. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Mark Brown <broonie@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-08-08power: charger-manager: Notify chainging of battery soc to userJonghwa Lee1-0/+7
Some system might want to notice changing of battery soc, so this patch makes charger-manager to trigger uevent whenver battery soc changes. It is configurable operation via setting flag, 'cm-poll-batt-soc', in dt. Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-08-08sensorhub: add sensorhub driverJaewon Kim1-0/+38
This patch add sensorhub driver to communicate MCU called sensorhub. It require firmware driver for MCU. Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
2014-08-08usb: gadget: slp: add mtp functionChanho Park2-0/+84
This code is based on linux-3.4-exynos. I've only run a simple copy test from host to target. Signed-off-by: Chanho Park <chanho61.park@samsung.com>
2014-08-08input: touchscreen: add mms128 touchscreen controller driver.Beomho Seo1-0/+42
This patch add melfas mms128 touchscreen controller driver. Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
2014-08-08pm_qos: Add PM_QOS_CPU_FREQUENCY pm_qos to guarantee required CPU frequencyChanwoo Choi1-0/+5
This patch add PM_QOS_CPU_FREQUENCY to quarantee required CPU frequency. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2014-08-08pm_qos: Add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus ↵Chanwoo Choi1-0/+6
frequency This patch add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus frequency. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2014-08-08mfd: max14577: Add max14577/max77836 MFD driver to support muic/charger deviceChanwoo Choi2-0/+521
This patch add max14577/max77836 core/irq driver to support MUIC(Micro USB IC) device and fuelgague device and support irq domain method to control internal interrupt of max14577/max77836 device. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2014-08-08mfd: sec-core: Add support for S2MPS14Krzysztof Kozlowski6-55/+338
Add support for S2MPS14 PMIC device to the MFD sec-core driver. The S2MPS14 is similar to S2MPS11 but it has fewer regulators, two clocks instead of three and a little different registers layout. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2014-08-08clk: samsung: exynos3250: Add clocks using common clock frameworkTomasz Figa1-0/+354
This patch add new the clock drvier of Exynos3250 SoC based on Cortex-A7 using common clock framework. The CMU (Clock Management Unit) of Exynos3250 control PLLs(Phase Locked Loops) and generate system clocks for CPU, buses, and function clocks for individual IPs. The CMU of Exynos3250 includes following clock doamins: - CPU block for Cortex-A7 MPCore processor - LEFTBUS/RIGHTBUS block - TOP block for G3D/MFC/LCD0/ISP/CAM/FSYS/MFC/PERIL/PERIR Signed-off-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Karol Wrona <k.wrona@samsung.com> Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
2014-08-08drm/exynos: fimd: support LCD I80 interfaceYoungJun Cho1-1/+2
To support MIPI command mode based I80 interface panel, FIMD should do followings: - Sets LCD I80 interface timings configuration. - Uses "lcd_sys" as an IRQ resource and sets relevant IRQ configuration. - Sets LCD block configuration for I80 interface. - Sets ideal(pixel) clock is 2 times faster than the original one to generate frame done IRQ prior to the next TE signal. - Implements trigger feature that transfers image data if there is page flip request, and implements TE handler to call trigger function. Change-Id: I3a620a40e4d9c03a2d41b61ffb6cc7c43e782d1f Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Acked-by: Inki Dae <inki.dae@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-08-08drm/exynos: add TE handler to support LCD I80 interfaceYoungJun Cho1-0/+8
To support LCD I80 interface, the panel should generates Tearing Effect synchronization signal between MCU and FB to display video images. And the display controller should trigger to transfer video image at this signal. So the panel receives the TE IRQ, then calls this handler chains to notify it to the display controller. Change-Id: Ie60112b9b135bb8a1b05a01fedcd62bd65fc59cd Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Acked-by: Inki Dae <inki.dae@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-08-08netfilter: x_tables: lightweight process control group matchingDaniel Borkmann2-0/+12
It would be useful e.g. in a server or desktop environment to have a facility in the notion of fine-grained "per application" or "per application group" firewall policies. Probably, users in the mobile, embedded area (e.g. Android based) with different security policy requirements for application groups could have great benefit from that as well. For example, with a little bit of configuration effort, an admin could whitelist well-known applications, and thus block otherwise unwanted "hard-to-track" applications like [1] from a user's machine. Blocking is just one example, but it is not limited to that, meaning we can have much different scenarios/policies that netfilter allows us than just blocking, e.g. fine grained settings where applications are allowed to connect/send traffic to, application traffic marking/conntracking, application-specific packet mangling, and so on. Implementation of PID-based matching would not be appropriate as they frequently change, and child tracking would make that even more complex and ugly. Cgroups would be a perfect candidate for accomplishing that as they associate a set of tasks with a set of parameters for one or more subsystems, in our case the netfilter subsystem, which, of course, can be combined with other cgroup subsystems into something more complex if needed. As mentioned, to overcome this constraint, such processes could be placed into one or multiple cgroups where different fine-grained rules can be defined depending on the application scenario, while e.g. everything else that is not part of that could be dropped (or vice versa), thus making life harder for unwanted processes to communicate to the outside world. So, we make use of cgroups here to track jobs and limit their resources in terms of iptables policies; in other words, limiting, tracking, etc what they are allowed to communicate. In our case we're working on outgoing traffic based on which local socket that originated from. Also, one doesn't even need to have an a-prio knowledge of the application internals regarding their particular use of ports or protocols. Matching is *extremly* lightweight as we just test for the sk_classid marker of sockets, originating from net_cls. net_cls and netfilter do not contradict each other; in fact, each construct can live as standalone or they can be used in combination with each other, which is perfectly fine, plus it serves Tejun's requirement to not introduce a new cgroups subsystem. Through this, we result in a very minimal and efficient module, and don't add anything except netfilter code. One possible, minimal usage example (many other iptables options can be applied obviously): 1) Configuring cgroups if not already done, e.g.: mkdir /sys/fs/cgroup/net_cls mount -t cgroup -o net_cls net_cls /sys/fs/cgroup/net_cls mkdir /sys/fs/cgroup/net_cls/0 echo 1 > /sys/fs/cgroup/net_cls/0/net_cls.classid (resp. a real flow handle id for tc) 2) Configuring netfilter (iptables-nftables), e.g.: iptables -A OUTPUT -m cgroup ! --cgroup 1 -j DROP 3) Running applications, e.g.: ping 208.67.222.222 <pid:1799> echo 1799 > /sys/fs/cgroup/net_cls/0/tasks 64 bytes from 208.67.222.222: icmp_seq=44 ttl=49 time=11.9 ms [...] ping 208.67.220.220 <pid:1804> ping: sendmsg: Operation not permitted [...] echo 1804 > /sys/fs/cgroup/net_cls/0/tasks 64 bytes from 208.67.220.220: icmp_seq=89 ttl=56 time=19.0 ms [...] Of course, real-world deployments would make use of cgroups user space toolsuite, or own custom policy daemons dynamically moving applications from/to various cgroups. [1] http://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-biondi/bh-eu-06-biondi-up.pdf Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Cc: Tejun Heo <tj@kernel.org> Cc: cgroups@vger.kernel.org Acked-by: Li Zefan <lizefan@huawei.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> [backport from upstream commit 82a37132f300ea53bdcd812917af5a6329ec80c3] Signed-off-by: Przemyslaw Kedzierski <p.kedzierski@samsung.com> Change-Id: Iac82ecef5b31a50f52ad9329bdd0403c667f154d
2014-08-08usb: gadget: f_fs: resurect usb_functionfs_descs_head structureMichal Nazarewicz1-0/+7
Even though usb_functionfs_descs_head structure is now deprecated, it has been used by some user space tools. Its removel in commit [ac8dde1: “Add flags to descriptors block”] was an oversight leading to build breakage for such tools. Bring it back so that old user space tools can still be build without problems on newer kernel versions. Reported-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Reported-by: Krzysztof Opasiak <k.opasiak@samsung.com> Cc: <stable@vger.kernel.org> # 3.14 Signed-off-by: Michal Nazarewicz <mina86@mina86.com> Commit taken from linux-usb mailing list. Not merged yet but required to fix build of FFS apps. Change-Id: I90fc3786f043aca9463e255ad9900c2d341fd17b Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
2014-08-08usb: gadget: f_fs: Add flags to descriptors blockMichal Nazarewicz1-19/+30
This reworks the way SuperSpeed descriptors are added and instead of having a magic after full and high speed descriptors, it reworks the whole descriptors block to include a flags field which lists which descriptors are present and makes future extensions possible. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> Signed-off-by: Felipe Balbi <balbi@ti.com> [backport from upstream commit 410b1f0e1c86443c57dc70d78db7aec193c79787] Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-id: I410b1f0e1c86443c57dc70d78db7aec193c79787
2014-08-08usb: gadget: f_fs: Add support for SuperSpeed ModeManu Gautam1-0/+5
Allow userspace to pass SuperSpeed descriptors and handle them in the driver accordingly. This change doesn't modify existing desc_header and thereby keeps the ABI changes backward compatible i.e. existing userspace drivers compiled with old header (functionfs.h) would continue to work with the updated kernel. Signed-off-by: Manu Gautam <mgautam@codeaurora.org> Acked-by: Michal Nazarewicz <mina86@mina86.com> Signed-off-by: Felipe Balbi <balbi@ti.com> [backport from upstream commit 8d4e897bd0150fab594a871484e554472ee01452] Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-id: I8d4e897bd0150fab594a871484e554472ee01452
2014-08-08upstream: [media] adv7604: Add missing include to linux/types.hLars-Peter Clausen1-0/+2
The file is using u8 which is defined in linux/types.h. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] v4l: Add support for DV timings ioctls on subdev nodesLaurent Pinchart1-1/+6
Validate the pad field in the core code whenever specified. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] v4l: Improve readability by not wrapping ioctl number ↵Laurent Pinchart1-20/+13
#define's Wrapping the #define's at a 80 columns boundary just obfuscates the code. Don't do that. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] v4l: Add pad-level DV timings subdev operationsLaurent Pinchart2-2/+12
The dv_timings_cap and enum_dv_timings subdev operations are implemented at the device level, but apply to pads. Create new variants of those operations at the pad level. The device level variants will be removed once all drivers are ported to the pad level DT timings operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] v4l: subdev: Move [gs]_std operation to video opsLaurent Pinchart1-3/+3
The g_std and s_std operations are video-related, move them to the video ops where they belong. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Conflicts: include/media/v4l2-subdev.h
2014-08-08upstream: [media] v4l: Add source change eventArun Kumar K2-0/+12
This event indicates that the video device has encountered a source parameter change during runtime. This can typically be a resolution change detected by a video decoder OR a format change detected by an input connector. This needs to be nofified to the userspace and the application may be expected to reallocate buffers before proceeding. The application can subscribe to events on a specific pad or input port which it is interested in. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] vb2: stop_streaming should return voidHans Verkuil1-1/+1
The vb2 core ignores any return code from the stop_streaming op. And there really isn't anything it can do anyway in case of an error. So change the return type to void and update any drivers that implement it. The int return gave drivers the idea that this operation could actually fail, but that's really not the case. The pwc amd sdr-msi3101 drivers both had this construction: if (mutex_lock_interruptible(&s->v4l2_lock)) return -ERESTARTSYS; This has been updated to just call mutex_lock(). The stop_streaming op expects this to really stop streaming and I very much doubt this will work reliably if stop_streaming just returns without really stopping the DMA. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Pawel Osciak <pawel@osciak.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Conflicts: Documentation/video4linux/v4l2-pci-skeleton.c drivers/staging/media/msi3101/sdr-msi3101.c
2014-08-08upstream: [media] vb2: Add videobuf2-dvb supportHans Verkuil1-0/+58
With the new vb2_thread_start/stop core code it is very easy to implement videobuf2-dvb. This should simplify converting existing videobuf drivers to vb2. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] vb2: add thread supportHans Verkuil1-0/+32
In order to implement vb2 DVB support you need to be able to start a kernel thread that queues and dequeues buffers, calling a callback function for every buffer. This patch adds support for that. It's based on drivers/media/v4l2-core/videobuf-dvb.c, but with all the DVB specific stuff stripped out, thus making it much more generic. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] vb2: add vb2_fileio_is_active and check it more oftenHans Verkuil1-0/+17
Added a vb2_fileio_is_active inline function that returns true if fileio is in progress. Check for this too in mmap() (you don't want apps mmap()ing buffers used by fileio) and expbuf() (same reason). In addition drivers should be able to check for this in queue_setup() to return an error if an attempt is made to read() or write() with V4L2_FIELD_ALTERNATE being configured. This is illegal (there is no way to pass the TOP/BOTTOM information around using file I/O). However, in order to be able to check for this the init_fileio function needs to set q->fileio early on, before the buffers are allocated. So switch to using internal functions (__reqbufs, vb2_internal_qbuf and vb2_internal_streamon) to skip the fileio check. Well, that's why the internal functions were created... Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Pawel Osciak <pawel@osciak.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] rc-core: split dev->s_filterDavid Härdeman1-2/+4
Overloading dev->s_filter to do two different functions (set wakeup filters and generic hardware filters) makes it impossible to tell what the hardware actually supports, so create a separate dev->s_wakeup_filter and make the distinction explicit. Signed-off-by: David Härdeman <david@hardeman.nu> Acked-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] omap24xx/tcm825x: move to staging for future removalHans Verkuil1-305/+0
The omap24xx driver and the tcm825x sensor driver are the only two remaining drivers to still use the old deprecated v4l2-int-device API. Nobody maintains these drivers anymore. But unfortunately the v4l2-int-device API is used by out-of-tree drivers (MXC platform). This is a very bad situation since as long as this deprecated API stays in the kernel there is no reason for those out-of-tree drivers to convert. This patch moves v4l2-int-device and the two drivers that depend on it to staging in preparation for their removal. If someone would be interested in getting these drivers to work, then start with this since it's not very far from the state where they used to work: <URL:http://vihersipuli.retiisi.org.uk/cgi-bin/gitweb.cgi?p=~sailus/linux-omap/.git;a=summary> The branch is n800-cam. Porting to up-to-date APIs can then be done. David might have done some work in that area, so check with him first. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Sakari Ailus <sakari.ailus@iki.fi> Cc: David Cohen <dacohen@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Conflicts: drivers/staging/media/Kconfig drivers/staging/media/Makefile
2014-08-08upstream: [media] v4l: rename v4l2_format_sdr to v4l2_sdr_formatAntti Palosaari1-3/+3
Rename v4l2_format_sdr to v4l2_sdr_format in order to keep it in line with other formats. Reported-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] rc: add wakeup_protocols sysfs fileJames Hogan1-0/+3
Add a wakeup_protocols sysfs file which controls the new rc_dev::enabled_protocols[RC_FILTER_WAKEUP], which is the mask of protocols that are used for the wakeup filter. A new RC driver callback change_wakeup_protocol() is called to change the wakeup protocol mask. Signed-off-by: James Hogan <james.hogan@imgtec.com> Reviewed-by: Antti Seppälä <a.seppala@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Conflicts: Documentation/ABI/testing/sysfs-class-rc Documentation/DocBook/media/v4l/remote_controllers.xml
2014-08-08upstream: [media] rc: add allowed/enabled wakeup protocol masksJames Hogan1-8/+24
Only a single allowed and enabled protocol mask currently exists in struct rc_dev, however to support a separate wakeup filter protocol two of each are needed, ideally as an array. Therefore make both rc_dev::allowed_protos and rc_dev::enabled_protocols arrays, update all users to reference the first element (RC_FILTER_NORMAL), and add a couple more helper functions for drivers to use for setting the allowed and enabled wakeup protocols. We also rename allowed_protos to allowed_protocols while we're at it, which is more consistent with enabled_protocols. Signed-off-by: James Hogan <james.hogan@imgtec.com> Reviewed-by: Antti Seppälä <a.seppala@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] lm3646: add new dual LED Flash driverDaniel Jeong1-0/+87
This patch adds the driver for the LM3646, dual LED Flash driver. The LM3646 has two 1.5A sync. boost converter with dual white current source. It is controlled via an I2C compatible interface. Each flash brightness, torch brightness and enable/disable can be controlled. Under voltage, input voltage monitor and thermal threshhold Faults are added. Please refer the datasheet http://www.ti.com/lit/ds/snvs962/snvs962.pdf Signed-off-by: Daniel Jeong <gshark.jeong@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-08upstream: [media] media: i2c: add driver for dual LED Flash, lm3560Daniel Jeong1-0/+97
Adds the driver for the LM3560, dual LED Flash The LM3560 has two 1A constant current driver for high current white LEDs. It is controlled via an I2C compatible interface(up to 400kHz). Each flash brightness, torch brightness and enable/disable can be controlled independantly, but flash timeout and operation mode are shared. Signed-off-by: Daniel Jeong <gshark.jeong@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>