summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2014-11-18power: charger-manager: Prevent ktimer's nsecs value exceeds its size.Jonghwa Lee1-1/+2
When charger-manager sets alarmtimer, it has used nanoseconds converted from polling period which is in milliseconds. However ktimer's nanoseconds is limited to represent as size of unsinged long type, and the previous use often exceeds its limitation. It fixes to divide target timer period into seconds part and remains in nanoseconds to prevent abnormal timer period is set. Change-Id: I7a5cad5569505c901a4822bbd7a4ad0fa149570b Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18input: keyboard: mcs_touchkey:Convert to devm_* managed functionsBeomho Seo1-16/+11
Tis patch use the devm_* managed functions to allocate resources. Change-Id: I9351869922b481a6791ca98f6dd3328d84424906 Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
2014-11-18misc: ice4_irda: Move firmware download function to workqueueJaewon Kim1-11/+20
This patch moves firmware download function to workqueue to reduce booting time. Change-Id: Idfa934b67494988a7de1f95f461dac41546cb2e5 Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
2014-11-18sensorhub: Move MCU firmware check to workqueueJaewon Kim2-28/+40
MCU firmware check process in ssp_probe() moves to workqueue to reduce booting time. And when driver try to check MCU revision, MCU is not ready to communicate. So, this patch uses delayed workqueue to wait MCU. Change-Id: I2a64d195fc4a7910884a6da03e9a0f8846c17ac3 Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
2014-11-18power: charger-manager: Add num_chargers variable to desc structure.Jonghwa Lee1-11/+10
To confirm NULL point exception and also follow the common convention of 'for loop' control, fix the driver to use scalar variable, 'num_chargers' when it retrieves the power_supply pointer array. Change-Id: Iab834cf93822b1a03419ca9933e82d6396cc0474 Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18power: charger-manager: Fix to use CHARGE_NOW/FULL property correctly.Jonghwa Lee1-52/+34
The POWER_SUPPLY_CHARGE_NOW/FULL property reflects battery's charges in uAh unit, but charger-manager has been used it wrongly. This patch makes it to use those propeties correctly and change to be optional. Change-Id: I68b3940a9388a095f47205207f1bc6bc863bd407 Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18power: charger-manager: Use power_supply_changed() not private uevent.Jonghwa Lee1-75/+6
Whenever battery status is changed, charger manager tries to trigger uevent through private interface. This patch modifies it to use power_supply_changed() since it belongs to power supply subsystem. Change-Id: I9f25664a2196745f3a303d57ded073f5eb604180 Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18power: charger-manager: Remove deprecated function, cm_notify_event().Jonghwa Lee1-190/+6
cm_notify_event() is introduced to get event associated with battery status externally, but no one had been used. Moreover it makes charger manager driver more complicated. This patch tries to drop the function and all data related to simplify the driver. Change-Id: I89d802f57a3005c9102e8d342318f2bf77ccce48 Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18power: charger-manager: Monitoring temperature becomes mandatory option.Jonghwa Lee2-59/+17
Monitoring battery temperature becomes mandatory for charger manager working. If there is no way to measure temperature, it stops probing and won't work. And also it will use thermal susbsystem inteface only to make driver simple. Change-Id: Idef5f8f29a104f5f51532c3321f6bebe887deb24 Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18power: charger-manager: Use alarmtimer for battery monitoring in suspend.Jonghwa Lee2-207/+82
To guerantee proper charing and managing batteries even in suspend, charger-manager has used rtc device with rtc framework interface. However, it is better to use alarmtimer for cleaner and more appropriate operation. This patch makes driver to use alamtimer for polling work in suspend and removes all deprecated codes related with using rtc interface. Change-Id: I0c84ccd62653b50fc9c9b687fddcaba7ea58e8ca Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18power: charger-manager: Rebase charger-manager up-to-date.Jonghwa Lee1-241/+199
Drop all local commits and adjust it to up-to-date version of mainline to make it easy to maintain. Change-Id: Id5dc3314afd6498e704bcc1bdebe2c226b8fa07c Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18hwmon: ntc_thermistor: Add ntc thermistor to thermal subsystem as a sensor.Jonghwa Lee2-0/+26
To get more comprehensive and integrated thermal management, it adds ntc thermistor to thermal framework as a thermal sensor. It's governed thermal susbsystem only if it is described in DT node. Otherwise, it just notifies temperature to userspace via sysfs as it used to be. Change-Id: Ie5b8948ca0cb567854905e0e9ea903ff7cdc1f4c Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18thermal: Bind cooling devices with the correct argumentsPunit Agrawal1-2/+2
When binding cooling devices to thermal zones created from the device tree the minimum and maximum cooling states are in the wrong order leading to failure to bind. Fix the order of cooling states in the call to thermal_zone_bind_cooling_device to fix this. Change-Id: I63c72736ca26ff5dd1cd9e051721c4c7f3d63af5 Cc:Zhang Rui <rui.zhang@intel.com> Signed-off-by: Punit Agrawal <punit.agrawal@arm.com> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2014-11-18thermal: Add braces around suspect codeStephen Boyd1-1/+2
It looks like this code is missing braces, otherwise the if statement shouldn't have been indented. Fix it. Change-Id: Ia5f7b1e784e79d58e0a68851f4ccc1a42565a247 Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2014-11-18thermal:samsung: fix compilation warningNaveen Krishna Chatradhi1-1/+1
This patch fixes a compilation warning. warning: passing argument 5 of 'thermal_zone_device_register' discards 'const' qualifier from pointer target type [enabled by default] include/linux/thermal.h:270:29: note: expected 'struct thermal_zone_device_ops *' but argument is of type 'const struct thermal_zone_device_ops *' Change-Id: Ide96bc2bb6a2c0c843e84811d9adaae97d8a191d Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2014-11-18thermal: introduce device tree parserEduardo Valentin5-1/+880
This patch introduces a device tree bindings for describing the hardware thermal behavior and limits. Also a parser to read and interpret the data and feed it in the thermal framework is presented. This patch introduces a thermal data parser for device tree. The parsed data is used to build thermal zones and thermal binding parameters. The output data can then be used to deploy thermal policies. This patch adds also documentation regarding this API and how to define tree nodes to use this infrastructure. Note that, in order to be able to have control on the sensor registration on the DT thermal zone, it was required to allow changing the thermal zone .get_temp callback. For this reason, this patch also removes the 'const' modifier from the .ops field of thermal zone devices. Change-Id: Iaecd480e8a5e21f0d3154cc9bf782bbfd051d40a Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
2014-11-18thermal: allow registering without .get_tempEduardo Valentin1-2/+8
This patch changes the thermal core driver to allow registration of thermal zones without the .get_temp callback. The idea behind this change is to allow lazy registration of sensor callbacks. The thermal zone will be disabled whenever the ops does not contain a .get_temp callback. The sysfs interface will be returning -EINVAL on any temperature read operation. Change-Id: Id58d2b558bc5a946dc7d712e28c2ed7cb90cc64b Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
2014-11-18mfd: max77686: Add registration of max77686-clk for control 32khz clock outputsInha Song1-0/+1
This patch add registration of max77686-clk for control 32khz clock outputs. Through this patch, the MAX77686 clock driver enabled and 32khz clocks can be controlled. Change-Id: I6e5edc081ba45c2ac45257084f12a5335a6a4cb2 Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18mfd: max14577: Add compatible string to max77836 charger's mfd cell.Jonghwa Lee1-1/+3
This patch add compatible string to max77836 charger's mfd cell to be acquired its device tree node. Change-Id: Ibf7e6cb855e4cc9c2735572c6bde939ab853da93 Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
2014-11-18power_supply: allow power supply devices registered w/o wakeup sourceZhang Rui1-2/+13
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-11-18power_supply: Add power_supply_get_by_phandleSebastian Reichel1-0/+26
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-11-18power_supply: Add power_supply notifierPali Rohár1-0/+18
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-11-18power_supply: Fix Oops from NULL pointer dereference from wakeup_source_activateShuah Khan1-6/+6
power_supply_register() calls device_init_wakeup() to register a wakeup source before initializing dev_name. As a result, device_wakeup_enable() end up registering wakeup source with a null name when wakeup_source_register() gets called with dev_name(dev) which is null at the time. When kernel is booted with wakeup_source_activate enabled, it will panic when the trace point code tries to dereference ws->name. Fixed the problem by moving up the kobject_set_name() call prior to accesses to dev_name(). Replaced kobject_set_name() with dev_set_name() which is the right interface to be called from drivers. Fixed the call to device_del() prior to device_add() in for wakeup_init_failed error handling code. Trace after the change: bash-2143 [003] d... 132.280697: wakeup_source_activate: BAT1 state=0x20001 kworker/3:2-1169 [003] d... 132.281305: wakeup_source_deactivate: BAT1 state=0x30000 Oops message: [ 819.769934] device: 'BAT1': device_add [ 819.770078] PM: Adding info for No Bus:BAT1 [ 819.770235] BUG: unable to handle kernel NULL pointer dereference at (null) [ 819.770435] IP: [<ffffffff813381c0>] skip_spaces+0x30/0x30 [ 819.770572] PGD 3efd90067 PUD 3eff61067 PMD 0 [ 819.770716] Oops: 0000 [#1] SMP [ 819.770829] Modules linked in: arc4 iwldvm mac80211 x86_pkg_temp_thermal coretemp kvm_intel joydev i915 kvm uvcvideo ghash_clmulni_intel videobuf2_vmalloc aesni_intel videobuf2_memops videobuf2_core aes_x86_64 ablk_helper cryptd videodev iwlwifi lrw rfcomm gf128mul glue_helper bnep btusb media bluetooth parport_pc hid_generic ppdev snd_hda_codec_hdmi drm_kms_helper snd_hda_codec_realtek cfg80211 drm tpm_infineon samsung_laptop snd_hda_intel usbhid snd_hda_codec hid snd_hwdep snd_pcm microcode snd_page_alloc snd_timer psmouse i2c_algo_bit lpc_ich tpm_tis video wmi mac_hid serio_raw ext2 lp parport r8169 mii [ 819.771802] CPU: 0 PID: 2167 Comm: bash Not tainted 3.12.0+ #25 [ 819.771876] Hardware name: SAMSUNG ELECTRONICS CO., LTD. 900X3C/900X3D/900X4C/900X4D/SAMSUNG_NP1234567890, BIOS P03AAC 07/12/2012 [ 819.772022] task: ffff88002e6ddcc0 ti: ffff8804015ca000 task.ti: ffff8804015ca000 [ 819.772119] RIP: 0010:[<ffffffff813381c0>] [<ffffffff813381c0>] skip_spaces+0x30/0x30 [ 819.772242] RSP: 0018:ffff8804015cbc70 EFLAGS: 00010046 [ 819.772310] RAX: 0000000000000003 RBX: ffff88040cfd6d40 RCX: 0000000000000018 [ 819.772397] RDX: 0000000000020001 RSI: 0000000000000000 RDI: 0000000000000000 [ 819.772484] RBP: ffff8804015cbcc0 R08: 0000000000000000 R09: ffff8803f0768d40 [ 819.772570] R10: ffffea001033b800 R11: 0000000000000000 R12: ffffffff81c519c0 [ 819.772656] R13: 0000000000020001 R14: 0000000000000000 R15: 0000000000020001 [ 819.772744] FS: 00007ff98309b740(0000) GS:ffff88041f200000(0000) knlGS:0000000000000000 [ 819.772845] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 819.772917] CR2: 0000000000000000 CR3: 00000003f59dc000 CR4: 00000000001407f0 [ 819.773001] Stack: [ 819.773030] ffffffff81114003 ffff8804015cbcb0 0000000000000000 0000000000000046 [ 819.773146] ffff880409757a18 ffff8803f065a160 0000000000000000 0000000000020001 [ 819.773273] 0000000000000000 0000000000000000 ffff8804015cbce8 ffffffff8143e388 [ 819.773387] Call Trace: [ 819.773434] [<ffffffff81114003>] ? ftrace_raw_event_wakeup_source+0x43/0xe0 [ 819.773520] [<ffffffff8143e388>] wakeup_source_report_event+0xb8/0xd0 [ 819.773595] [<ffffffff8143e3cd>] __pm_stay_awake+0x2d/0x50 [ 819.773724] [<ffffffff8153395c>] power_supply_changed+0x3c/0x90 [ 819.773795] [<ffffffff8153407c>] power_supply_register+0x18c/0x250 [ 819.773869] [<ffffffff813d8d18>] sysfs_add_battery+0x61/0x7b [ 819.773935] [<ffffffff813d8d69>] battery_notify+0x37/0x3f [ 819.774001] [<ffffffff816ccb7c>] notifier_call_chain+0x4c/0x70 [ 819.774071] [<ffffffff81073ded>] __blocking_notifier_call_chain+0x4d/0x70 [ 819.774149] [<ffffffff81073e26>] blocking_notifier_call_chain+0x16/0x20 [ 819.774227] [<ffffffff8109397a>] pm_notifier_call_chain+0x1a/0x40 [ 819.774316] [<ffffffff81095b66>] hibernate+0x66/0x1c0 [ 819.774407] [<ffffffff81093931>] state_store+0x71/0xa0 [ 819.774507] [<ffffffff81331d8f>] kobj_attr_store+0xf/0x20 [ 819.774613] [<ffffffff811f8618>] sysfs_write_file+0x128/0x1c0 [ 819.774735] [<ffffffff8118579d>] vfs_write+0xbd/0x1e0 [ 819.774841] [<ffffffff811861d9>] SyS_write+0x49/0xa0 [ 819.774939] [<ffffffff816d1052>] system_call_fastpath+0x16/0x1b [ 819.775055] Code: 89 f8 48 89 e5 f6 82 c0 a6 84 81 20 74 15 0f 1f 44 00 00 48 83 c0 01 0f b6 10 f6 82 c0 a6 84 81 20 75 f0 5d c3 66 0f 1f 44 00 00 <80> 3f 00 55 48 89 e5 74 15 48 89 f8 0f 1f 40 00 48 83 c0 01 80 [ 819.775760] RIP [<ffffffff813381c0>] skip_spaces+0x30/0x30 [ 819.775881] RSP <ffff8804015cbc70> [ 819.775949] CR2: 0000000000000000 [ 819.794175] ---[ end trace c4ef25127039952e ]--- Change-Id: I69c2ff4750e66344e28b7fed6f4bf3357614d77c Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Acked-by: Anton Vorontsov <anton@enomsg.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: stable@vger.kernel.org Signed-off-by: Anton Vorontsov <anton@enomsg.org>
2014-11-18power_supply: Prevent suspend until power supply events are processedZoran Markovic1-6/+32
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-11-18power_supply: Add of_node_put to fix refcountRhyland Klein1-0/+4
of_parse_phandle increments the refcount for a dt node before returning it. Add of_node_put where needed to properly decrement the refcount when we are done using a given node. Change-Id: I49584e6d17ba5cc7f431a8a0b193fcbc2b6a2f34 Signed-off-by: Rhyland Klein <rklein@nvidia.com> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
2014-11-18sensorhub: Add sensor position checkJaewon Kim1-9/+14
This patch adds sensor position check. MCU change axis accoring to position value. Change-Id: Iebcba7ed79a20990439b1940c9835c6b3869aa3f Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
2014-11-18drm/exynos: fimd: fix screen shaking issueInki Dae1-0/+19
This patch fixes the issue that the screen is shared once resume. The issue could be incurred when overlay registers are updated by win_commit while transmitting video data. So this patch makes win_commit function wait for vsync signal if fimd is still transmitting video data before updating overlay registers. Change-Id: Ia5efff85ccad91cd6e8ff7a5e167a883c8e8d4aa Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18thermal: samsung: Change calculation type from TWO_POINT_TRIMMING to ↵Chanwoo Choi1-1/+1
ONE_POINT_TRIMMING This patch changes the calculation type from TWO_POINT_TRIMMING to ONE_POINT_TRIMMING because some Exynos3250 don't support TWO_POINT_TRIMMING method. Change-Id: I04f76e6ca538b31687a1343535f40392a3a8b773 Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2014-11-18drm/exynos/ipp: add file checks for ioctlsAndrzej Hajda1-44/+22
Process should not have access to ipp nodes created by another process. The patch adds necessary checks. It also simplifies lookup for command node. Change-Id: If30f01d497a61792d0407821dfd7943075e49e48 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: remove file argument from node related functionsAndrzej Hajda1-8/+6
Since file pointer is preserved in c_node passing it as argument in node functions is redundant. Change-Id: I7a302822ab441a4a572962698c41be31bc360b03 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/fimc: fix source buffer registersAndrzej Hajda1-5/+8
FIMC in default mode of operation uses only one input buffer, but the driver used also second buffer, as a result only the first frame was processed correctly. The patch fixes it. Change-Id: I359cfbc5c80221904659848d09d3778094c6393f Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/fimc: simplify buffer queuingAndrzej Hajda1-49/+15
The patch removes redundant checks, redundant HW reads and simplifies code. Change-Id: Ieb4020ea24b3d648c0cab0b22f0b97d3dd956fa6 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/fimc: do not enable fimc twiceAndrzej Hajda1-4/+1
The patch removes redundant H/W activation. Change-Id: Ia8a465f8a31e735b403616f21f7594b29604a02e Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/fimc: avoid clearing overflow bitsAndrzej Hajda1-3/+0
Overflow bits shall be cleared by H/W. Change-Id: Ia8dfd96c9e78d24565a959a2e9c7ee770039ff91 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: remove events during command cleaningAndrzej Hajda1-78/+78
Events were removed only during stop command, as a result there were memory leaks if program prematurely exited. This patch fixes it. Change-Id: I763b05753eb6bebe7ac3dc74da76dd08b5972142 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: stop hardware before freeing memoryAndrzej Hajda1-9/+7
Memory shouldn't be freed when hardware is still running. Change-Id: I2ac15beee14bf3d952a15367bf2f4d1366445eac Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: replace work_struct casting with better constructsAndrzej Hajda4-8/+6
Type casting should be avoided if possible. In case of work_struct it can be simply replaced by reference to member field. Change-Id: I0bc76f41e3cf97ad5bd70ae89f01f092513feacf Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: clean memory nodes on command node cleaningAndrzej Hajda1-3/+9
The nodes should be removed before removing command node. Change-Id: Ib97b737c9578c912737827b666ab0d94395a5334 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: move nodes cleaning to separate functionAndrzej Hajda1-157/+127
The patch introduces ipp_clean_mem_nodes function which replaces redundant code. Additionally memory node function definitions are moved up to increase its visibility. Change-Id: I3143c773be9646f28f8f3c55b711e17e21f67a8a Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: free partially allocated resources on errorAndrzej Hajda1-39/+31
In case of allocation errors some already allocated buffers were not freed. The patch fixes it. Change-Id: I23447928fb497ad33324fc2affa430bd2de98122 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: remove unused field in command nodeAndrzej Hajda2-3/+0
Since command node have file pointer dev field became useless. Change-Id: I3ee97a701b9b032e329a59fcc0ed7c122440c9b7 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: remove only related commands on file closeAndrzej Hajda1-8/+2
On file close driver should remove only command nodes created via this file. Change-Id: I1063955f02af7f1cd456b5e31165fe64ed136788 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: move file reference from memory to command nodeAndrzej Hajda2-3/+4
Command node should contain file reference to distinguish commands created by different processes. Change-Id: I98938d16d323a5f83614ae87c84485f8fa4efc69 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: cancel works before command node cleanAndrzej Hajda1-0/+5
All pending works should be canceled prior to its removal. Change-Id: I6adaf0fcc447f3fdbed4dd8cfb873e1b5d1fdb84 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18drm/exynos/ipp: remove fake pm callbacksAndrzej Hajda1-51/+0
PM callbacks in ipp core do nothing, so the patch removes it. Change-Id: I3fd9eb622b7c29b956dcfeff390004e66ced7e9f Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-18upstream media: fix: au0828 call dvb core suspendMauro Carvalho Chehab1-21/+26
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=66cae53024c4 Upstream Author: Shuah Khan <shuah.kh@samsung.com> Original subject: [media] media: fix au0828 dvb suspend/resume to call dvb_frontend_suspend/resume au0828 doesn't resume correctly and TV tuning fails with xc_set_signal_source(0) failed message. Change au0828 dvb suspend and resume interfaces to suspend and resume frontend during suspend and resume respectively. dvb_frontend_suspend() suspends tuner and fe using tuner and fe ops. dvb_frontend_resume() resumes fe and tuner using fe and tuner ops ini before waking up the frontend. With this change HVR950Q suspend and resume work when system gets suspended when digital function is tuned to a channel and with active TV stream, and after resume it went right back to active TV stream. Change-Id: I84820422af70bea19cefe6d24f0f9bff5756637d Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-11-18s5p-mfc: Fix debug/error messages in s5p_mfc_init_hwKamil Debski1-2/+2
Fix debug and error messages in the initialization sequence of the MFC firmware. Change-Id: Ie77f24ba07823bd9d80921d07f9e703855f8e8c1 Reported-by: Zhaowei Yuan <zhaowei.yuan@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com>
2014-11-18dma: of: Remove restriction that #dma-cells can't be 0Lars-Peter Clausen1-7/+4
There is no sensible reason why #dma-cells shouldn't be allowed to be 0. It is completely up to the DMA controller how many additional parameters, besides the phandle, it needs to identify a channel. E.g. for DMA controller with only one channel or for DMA controllers which don't have a restriction on which channel can be used for which peripheral it completely legitimate to not require any additional parameters. Also fixes the following warning: drivers/dma/of-dma.c: In function 'of_dma_controller_register': drivers/dma/of-dma.c:67:7: warning: 'nbcells' may be used uninitialized in this function Change-Id: Ibf9738af3bac1d40a630d49b35f9e6450ea100b8 Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2014-11-18drm/exynos: scaler: add exynos drm sc driverHyungwon Hwang7-0/+2230
This patch adds exynos drm sc driver for Exynos 3250. Change-Id: Ia71c5354390e67494fd4887c8861a624d21e3839 Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
2014-11-18media: check status of dmxdev->exit in poll functions of demux&dvrChangbing Xiong1-1/+5
when usb-type tuner is pulled out, user applications did not close device's FD, and go on polling the device, we should return POLLERR directly. Change-Id: Id685db6f37c7a3f454e4a93234a38bb65dfc43d9 Signed-off-by: Changbing Xiong <cb.xiong@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>