summaryrefslogtreecommitdiff
path: root/drivers/base (follow)
Commit message (Collapse)AuthorAge
* regmap: improve debugfs interface to dump specific addressesAbhijeet Dharmapurikar2016-05-11
| | | | | | | | | | | | | | | | | | | | The current method of cat-ing register file dumps the entire address space. One can use dd command to dump a subrange within the address space. However one needs to know the string length of each line which is derived from max address, the character length of each register entry and the format. Provide simple means to dump a range by allowing user to specify the start address and the count of registers. When the data is read convert the dump address to a starting position in the file. Similarly if the file offset goes beyond the dump range return 0 to indicate that the data is already dumped. Also provide means to write to a register address. CRs-Fixed: 1001770 Change-Id: I3466ce89007d127151f6760328edad116d679db8 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* regmap: spmi: Fix regmap_spmi_ext_read in multi-byte caseJack Pham2016-04-18
| | | | | | | | | | | | | Specifically for the case of reads that use the Extended Register Read Long command, a multi-byte read operation is broken up into 8-byte chunks. However the call to spmi_ext_register_readl() is incorrectly passing 'val_size', which if greater than 8 will always fail. The argument should instead be 'len'. CRs-Fixed: 1002440 Change-Id: I2eb9f1e11f97cf7eeee4314616bc5d06443c8920 Fixes: c9afbb05a9ff ("regmap: spmi: support base and extended register spaces") Signed-off-by: Jack Pham <jackp@codeaurora.org>
* ASoc: soundwire: add null check before using mapMeng Wang2016-03-25
| | | | | | | | | Pointer map returned from dev_get_name may be null. Add null check before derefering. CRs-Fixed: 985337 Change-Id: I952ae63e9b909dde763b3024d90fe4553e852860 Signed-off-by: Meng Wang <mwang@codeaurora.org>
* firmware_class: fix direct firmware loading API supportDavid Keitel2016-03-23
| | | | | | | | | | | | The direct firmware class API support original relied on the destination address to determine which file operations to link to the data binary file. Since the 4.4 kernel version, this was changed to an attribute group. Fix this by adding a direct firmware API attribute group and appropriately assign it when necessary. Signed-off-by: David Keitel <dkeitel@codeaurora.org>
* regmap: Add multi register write support for soundwireSudheer Papothi2016-03-23
| | | | | | | | | | regcache sync can call multi register write to sync multiple register writes to hardware in one transaction. Change enables support from soundwire framework to sync multiple registers in one transaction. Change-Id: Iafe35bf9b8987fb7214efff0d7d4ae3e0a6a4072 Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* regmap: call regmap_raw_multi_reg_write from regcache syncSudheer Papothi2016-03-23
| | | | | | | | | | Call regmap_raw_multi_reg_write API from regcache sync to sync multiple registers to the hardware if bus interface supports multi register write. This change will help in reducing the latency for syncing the registers to the hardware. Change-Id: I94d19434dc7465434f10db9f7bd62fcc8246d845 Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* PM / QoS: Free the memory allocated during add requestSrinivas Rao L2016-03-23
| | | | | | | | | Allocated memory is not getting freed in remove request. This change is to free the memory allocated to avoid memory leaks. Change-Id: I1225d492b7f58f8bda2621ec0bb2bd201d8dee6c Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
* mm/memblock: fix a race between search and removeShiraz Hashim2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | no-map-fixup feature for dma-removed reserve region does a late memblock remove. This late removal is a slight deviation from conventional memblock flow. That leads to a race between pfn_valid->memblock_search, and memblock_remove. To fix this, use a read seqlock in memblock_search, which would ensure minimum overhead in search path. And export two APIs to let code doing late memblock remove apply write seqlock. write seqlock would ensure that search retries if the list is updated concurrently. The two exported APIs which should be called before and after modifying memblock regions, late in boot, are - memblock_region_resize_late_begin - memblock_region_resize_late_end The code to alter memblock regions should be guarded by these APIs. CRs-fixed: 967728 Change-Id: I6a10c3e980002048aafeaf829a16119848c6a099 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
* Merge remote-tracking branch 'lsk-44/linux-linaro-lsk-v4.4' into 44rc2David Keitel2016-03-23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lsk-44/linux-linaro-lsk-v4.4: Linux 4.4.3 modules: fix modparam async_probe request module: wrapper for symbol name. itimers: Handle relative timers with CONFIG_TIME_LOW_RES proper posix-timers: Handle relative timers with CONFIG_TIME_LOW_RES proper timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper prctl: take mmap sem for writing to protect against others xfs: log mount failures don't wait for buffers to be released Revert "xfs: clear PF_NOFREEZE for xfsaild kthread" xfs: inode recovery readahead can race with inode buffer creation libxfs: pack the agfl header structure so XFS_AGFL_SIZE is correct ovl: setattr: check permissions before copy-up ovl: root: copy attr ovl: check dentry positiveness in ovl_cleanup_whiteouts() ovl: use a minimal buffer in ovl_copy_xattr ovl: allow zero size xattr futex: Drop refcount if requeue_pi() acquired the rtmutex devm_memremap_release(): fix memremap'd addr handling ipc/shm: handle removed segments gracefully in shm_mmap() intel_scu_ipcutil: underflow in scu_reg_access() mm,thp: khugepaged: call pte flush at the time of collapse dump_stack: avoid potential deadlocks radix-tree: fix oops after radix_tree_iter_retry drivers/hwspinlock: fix race between radix tree insertion and lookup radix-tree: fix race in gang lookup MAINTAINERS: return arch/sh to maintained state, with new maintainers memcg: only free spare array when readers are done numa: fix /proc/<pid>/numa_maps for hugetlbfs on s390 fs/hugetlbfs/inode.c: fix bugs in hugetlb_vmtruncate_list() scripts/bloat-o-meter: fix python3 syntax error dma-debug: switch check from _text to _stext m32r: fix m32104ut_defconfig build fail xhci: Fix list corruption in urb dequeue at host removal Revert "xhci: don't finish a TD if we get a short-transfer event mid TD" iommu/vt-d: Clear PPR bit to ensure we get more page request interrupts iommu/vt-d: Fix 64-bit accesses to 32-bit DMAR_GSTS_REG iommu/vt-d: Fix mm refcounting to hold mm_count not mm_users iommu/amd: Correct the wrong setting of alias DTE in do_attach iommu/vt-d: Don't skip PCI devices when disabling IOTLB Input: vmmouse - fix absolute device registration string_helpers: fix precision loss for some inputs Input: i8042 - add Fujitsu Lifebook U745 to the nomux list Input: elantech - mark protocols v2 and v3 as semi-mt mm: fix regression in remap_file_pages() emulation mm: replace vma_lock_anon_vma with anon_vma_lock_read/write mm: fix mlock accouting libnvdimm: fix namespace object confusion in is_uuid_busy() mm: soft-offline: check return value in second __get_any_page() call perf kvm record/report: 'unprocessable sample' error while recording/reporting guest data KVM: PPC: Fix ONE_REG AltiVec support KVM: PPC: Fix emulation of H_SET_DABR/X on POWER8 KVM: arm/arm64: Fix reference to uninitialised VGIC arm64: dma-mapping: fix handling of devices registered before arch_initcall ARM: OMAP2+: Fix ppa_zero_params and ppa_por_params for rodata ARM: OMAP2+: Fix save_secure_ram_context for rodata ARM: OMAP2+: Fix l2dis_3630 for rodata ARM: OMAP2+: Fix l2_inv_api_params for rodata ARM: OMAP2+: Fix wait_dll_lock_timed for rodata ARM: dts: at91: sama5d4ek: add phy address and IRQ for macb0 ARM: dts: at91: sama5d4 xplained: fix phy0 IRQ type ARM: dts: at91: sama5d4: fix instance id of DBGU ARM: dts: at91: sama5d4 xplained: properly mux phy interrupt ARM: dts: omap5-board-common: enable rtc and charging of backup battery ARM: dts: Fix omap5 PMIC control lines for RTC writes ARM: dts: Fix wl12xx missing clocks that cause hangs ARM: nomadik: fix up SD/MMC DT settings ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz() ARM: 8519/1: ICST: try other dividends than 1 arm64: mm: avoid calling apply_to_page_range on empty range ARM: mvebu: remove duplicated regulator definition in Armada 388 GP powerpc/ioda: Set "read" permission when "write" is set powerpc/powernv: Fix stale PE primary bus powerpc/eeh: Fix stale cached primary bus powerpc/eeh: Fix PE location code SUNRPC: Fixup socket wait for memory udf: Check output buffer length when converting name to CS0 udf: Prevent buffer overrun with multi-byte characters udf: limit the maximum number of indirect extents in a row pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn nfs: Fix race in __update_open_stateid() pNFS/flexfiles: Fix an Oopsable typo in ff_mirror_match_fh() NFS: Fix attribute cache revalidation cifs: fix erroneous return value cifs_dbg() outputs an uninitialized buffer in cifs_readdir() cifs: fix race between call_async() and reconnect() cifs: Ratelimit kernel log messages iio: inkern: fix a NULL dereference on error iio: pressure: mpl115: fix temperature offset sign iio: light: acpi-als: Report data as processed iio: dac: mcp4725: set iio name property in sysfs iio: add IIO_TRIGGER dependency to STK8BA50 iio: add HAS_IOMEM dependency to VF610_ADC iio-light: Use a signed return type for ltr501_match_samp_freq() iio:adc:ti_am335x_adc Fix buffered mode by identifying as software buffer. iio: adis_buffer: Fix out-of-bounds memory access scsi: fix soft lockup in scsi_remove_target() on module removal SCSI: Add Marvell Console to VPD blacklist scsi_dh_rdac: always retry MODE SELECT on command lock violation drivers/scsi/sg.c: mark VMA as VM_IO to prevent migration SCSI: fix crashes in sd and sr runtime PM iscsi-target: Fix potential dead-lock during node acl delete scsi: add Synology to 1024 sector blacklist klist: fix starting point removed bug in klist iterators tracepoints: Do not trace when cpu is offline tracing: Fix freak link error caused by branch tracer perf tools: tracepoint_error() can receive e=NULL, robustify it tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines ptrace: use fsuid, fsgid, effective creds for fs access checks Btrfs: fix direct IO requests not reporting IO error to user space Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl Btrfs: fix page reading in extent_same ioctl leading to csum errors Btrfs: fix invalid page accesses in extent_same (dedup) ioctl btrfs: properly set the termination value of ctx->pos in readdir Revert "btrfs: clear PF_NOFREEZE in cleaner_kthread()" Btrfs: fix fitrim discarding device area reserved for boot loader's use btrfs: handle invalid num_stripes in sys_array ext4: don't read blocks from disk after extents being swapped ext4: fix potential integer overflow ext4: fix scheduling in atomic on group checksum failure serial: omap: Prevent DoS using unprivileged ioctl(TIOCSRS485) serial: 8250_pci: Add Intel Broadwell ports tty: Add support for PCIe WCH382 2S multi-IO card pty: make sure super_block is still valid in final /dev/tty close pty: fix possible use after free of tty->driver_data staging/speakup: Use tty_ldisc_ref() for paste kworker phy: twl4030-usb: Fix unbalanced pm_runtime_enable on module reload phy: twl4030-usb: Relase usb phy on unload ALSA: seq: Fix double port list deletion ALSA: seq: Fix leak of pool buffer at concurrent writes ALSA: pcm: Fix rwsem deadlock for non-atomic PCM stream ALSA: hda - Cancel probe work instead of flush at remove x86/mm: Fix vmalloc_fault() to handle large pages properly x86/uaccess/64: Handle the caching of 4-byte nocache copies properly in __copy_user_nocache() x86/uaccess/64: Make the __copy_user_nocache() assembly code more readable x86/mm/pat: Avoid truncation when converting cpa->numpages to address x86/mm: Fix types used in pgprot cacheability flags translations Linux 4.4.2 HID: multitouch: fix input mode switching on some Elan panels mm, vmstat: fix wrong WQ sleep when memory reclaim doesn't make any progress zsmalloc: fix migrate_zspage-zs_free race condition zram: don't call idr_remove() from zram_remove() zram: try vmalloc() after kmalloc() zram/zcomp: use GFP_NOIO to allocate streams rtlwifi: rtl8821ae: Fix 5G failure when EEPROM is incorrectly encoded rtlwifi: rtl8821ae: Fix errors in parameter initialization crypto: marvell/cesa - fix test in mv_cesa_dev_dma_init() crypto: atmel-sha - remove calls of clk_prepare() from atomic contexts crypto: atmel-sha - fix atmel_sha_remove() crypto: algif_skcipher - Do not set MAY_BACKLOG on the async path crypto: algif_skcipher - Do not dereference ctx without socket lock crypto: algif_skcipher - Do not assume that req is unchanged crypto: user - lock crypto_alg_list on alg dump EVM: Use crypto_memneq() for digest comparisons crypto: algif_hash - wait for crypto_ahash_init() to complete crypto: shash - Fix has_key setting crypto: chacha20-ssse3 - Align stack pointer to 64 bytes crypto: caam - make write transactions bufferable on PPC platforms crypto: algif_skcipher - sendmsg SG marking is off by one crypto: algif_skcipher - Load TX SG list after waiting crypto: crc32c - Fix crc32c soft dependency crypto: algif_skcipher - Fix race condition in skcipher_check_key crypto: algif_hash - Fix race condition in hash_check_key crypto: af_alg - Forbid bind(2) when nokey child sockets are present crypto: algif_skcipher - Remove custom release parent function crypto: algif_hash - Remove custom release parent function crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path ahci: Intel DNV device IDs SATA libata: disable forced PORTS_IMPL for >= AHCI 1.3 crypto: algif_skcipher - Add key check exception for cipher_null crypto: skcipher - Add crypto_skcipher_has_setkey crypto: algif_hash - Require setkey before accept(2) crypto: hash - Add crypto_ahash_has_setkey crypto: algif_skcipher - Add nokey compatibility path crypto: af_alg - Add nokey compatibility path crypto: af_alg - Fix socket double-free when accept fails crypto: af_alg - Disallow bind/setkey/... after accept(2) crypto: algif_skcipher - Require setkey before accept(2) sched: Fix crash in sched_init_numa() ext4 crypto: add missing locking for keyring_key access iommu/io-pgtable-arm: Ensure we free the final level on teardown tty: Fix unsafe ldisc reference via ioctl(TIOCGETD) tty: Retry failed reopen if tty teardown in-progress tty: Wait interruptibly for tty lock on reopen n_tty: Fix unsafe reference to "other" ldisc usb: xhci: apply XHCI_PME_STUCK_QUIRK to Intel Broxton-M platforms usb: xhci: handle both SSIC ports in PME stuck quirk usb: phy: msm: fix error handling in probe. usb: cdc-acm: send zero packet for intel 7260 modem usb: cdc-acm: handle unlinked urb in acm read callback USB: option: fix Cinterion AHxx enumeration USB: serial: option: Adding support for Telit LE922 USB: cp210x: add ID for IAI USB to RS485 adaptor USB: serial: ftdi_sio: add support for Yaesu SCU-18 cable usb: hub: do not clear BOS field during reset device USB: visor: fix null-deref at probe USB: serial: visor: fix crash on detecting device without write_urbs ASoC: rt5645: fix the shift bit of IN1 boost saa7134-alsa: Only frees registered sound cards ALSA: dummy: Implement timer backend switching more safely ALSA: hda - Fix bad dereference of jack object ALSA: hda - Fix speaker output from VAIO AiO machines Revert "ALSA: hda - Fix noise on Gigabyte Z170X mobo" ALSA: hda - Fix static checker warning in patch_hdmi.c ALSA: hda - Add fixup for Mac Mini 7,1 model ALSA: timer: Fix race between stop and interrupt ALSA: timer: Fix wrong instance passed to slave callbacks ALSA: timer: Fix race at concurrent reads ALSA: timer: Fix link corruption due to double start or stop ALSA: timer: Fix leftover link at closing ALSA: timer: Code cleanup ALSA: seq: Fix lockdep warnings due to double mutex locks ALSA: seq: Fix race at closing in virmidi driver ALSA: seq: Fix yet another races among ALSA timer accesses ASoC: dpcm: fix the BE state on hw_free ALSA: pcm: Fix potential deadlock in OSS emulation ALSA: hda/realtek - Support Dell headset mode for ALC225 ALSA: hda/realtek - Support headset mode for ALC225 ALSA: hda/realtek - New codec support of ALC225 ALSA: rawmidi: Fix race at copying & updating the position ALSA: rawmidi: Remove kernel WARNING for NULL user-space buffer check ALSA: rawmidi: Make snd_rawmidi_transmit() race-free ALSA: seq: Degrade the error message for too many opens ALSA: seq: Fix incorrect sanity check at snd_seq_oss_synth_cleanup() ALSA: dummy: Disable switching timer backend via sysfs ALSA: compress: Disable GET_CODEC_CAPS ioctl for some architectures ALSA: hda - disable dynamic clock gating on Broxton before reset ALSA: Add missing dependency on CONFIG_SND_TIMER ALSA: bebob: Use a signed return type for get_formation_index ALSA: usb-audio: avoid freeing umidi object twice ALSA: usb-audio: Add native DSD support for PS Audio NuWave DAC ALSA: usb-audio: Fix OPPO HA-1 vendor ID ALSA: usb-audio: Add quirk for Microsoft LifeCam HD-6000 ALSA: usb-audio: Fix TEAC UD-501/UD-503/NT-503 usb delay hrtimer: Handle remaining time proper for TIME_LOW_RES md/raid: only permit hot-add of compatible integrity profiles media: i2c: Don't export ir-kbd-i2c module alias parisc: Fix __ARCH_SI_PREAMBLE_SIZE parisc: Protect huge page pte changes with spinlocks printk: do cond_resched() between lines while outputting to consoles tracing/stacktrace: Show entire trace if passed in function not found tracing: Fix stacktrace skip depth in trace_buffer_unlock_commit_regs() PCI: Fix minimum allocation address overwrite PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD mtd: nand: assign reasonable default name for NAND drivers wlcore/wl12xx: spi: fix NULL pointer dereference (Oops) wlcore/wl12xx: spi: fix oops on firmware load ocfs2/dlm: clear refmap bit of recovery lock while doing local recovery cleanup ocfs2/dlm: ignore cleaning the migration mle that is inuse ALSA: hda - Implement loopback control switch for Realtek and other codecs block: fix bio splitting on max sectors base/platform: Fix platform drivers with no probe callback HID: usbhid: fix recursive deadlock ocfs2: NFS hangs in __ocfs2_cluster_lock due to race with ocfs2_unblock_lock block: split bios to max possible length NFSv4.1/pnfs: Fixup an lo->plh_block_lgets imbalance in layoutreturn crypto: sun4i-ss - add missing statesize Linux 4.4.1 arm64: kernel: fix architected PMU registers unconditional access arm64: kernel: enforce pmuserenr_el0 initialization and restore arm64: mm: ensure that the zero page is visible to the page table walker arm64: Clear out any singlestep state on a ptrace detach operation powerpc/module: Handle R_PPC64_ENTRY relocations scripts/recordmcount.pl: support data in text section on powerpc powerpc: Make {cmp}xchg* and their atomic_ versions fully ordered powerpc: Make value-returning atomics fully ordered powerpc/tm: Check for already reclaimed tasks batman-adv: Drop immediate orig_node free function batman-adv: Drop immediate batadv_hard_iface free function batman-adv: Drop immediate neigh_ifinfo free function batman-adv: Drop immediate batadv_neigh_node free function batman-adv: Drop immediate batadv_orig_ifinfo free function batman-adv: Avoid recursive call_rcu for batadv_nc_node batman-adv: Avoid recursive call_rcu for batadv_bla_claim team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid net/mlx5_core: Fix trimming down IRQ number bridge: fix lockdep addr_list_lock false positive splat ipv6: update skb->csum when CE mark is propagated net: bpf: reject invalid shifts phonet: properly unshare skbs in phonet_rcv() dwc_eth_qos: Fix dma address for multi-fragment skbs bonding: Prevent IPv6 link local address on enslaved devices net: preserve IP control block during GSO segmentation udp: disallow UFO for sockets with SO_NO_CHECK option net: pktgen: fix null ptr deref in skb allocation sched,cls_flower: set key address type when present tcp_yeah: don't set ssthresh below 2 ipv6: tcp: add rcu locking in tcp_v6_send_synack() net: sctp: prevent writes to cookie_hmac_alg from accessing invalid memory vxlan: fix test which detect duplicate vxlan iface unix: properly account for FDs passed over unix sockets xhci: refuse loading if nousb is used usb: core: lpm: fix usb3_hardware_lpm sysfs node USB: cp210x: add ID for ELV Marble Sound Board 1 rtlwifi: fix memory leak for USB device ASoC: compress: Fix compress device direction check ASoC: wm5110: Fix PGA clear when disabling DRE ALSA: timer: Handle disconnection more safely ALSA: hda - Flush the pending probe work at remove ALSA: hda - Fix missing module loading with model=generic option ALSA: hda - Fix bass pin fixup for ASUS N550JX ALSA: control: Avoid kernel warnings from tlv ioctl with numid 0 ALSA: hrtimer: Fix stall by hrtimer_cancel() ALSA: pcm: Fix snd_pcm_hw_params struct copy in compat mode ALSA: seq: Fix snd_seq_call_port_info_ioctl in compat mode ALSA: hda - Add fixup for Dell Latitidue E6540 ALSA: timer: Fix double unlink of active_list ALSA: timer: Fix race among timer ioctls ALSA: hda - fix the headset mic detection problem for a Dell laptop ALSA: timer: Harden slave timer list handling ALSA: usb-audio: Fix mixer ctl regression of Native Instrument devices ALSA: hda - Fix white noise on Dell Latitude E5550 ALSA: seq: Fix race at timer setup and close ALSA: usb-audio: Avoid calling usb_autopm_put_interface() at disconnect ALSA: seq: Fix missing NULL check at remove_events ioctl ALSA: hda - Fixup inverted internal mic for Lenovo E50-80 ALSA: usb: Add native DSD support for Oppo HA-1 x86/mm: Improve switch_mm() barrier comments x86/mm: Add barriers and document switch_mm()-vs-flush synchronization x86/boot: Double BOOT_HEAP_SIZE to 64KB x86/reboot/quirks: Add iMac10,1 to pci_reboot_dmi_table[] kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL KVM: x86: correctly print #AC in traces KVM: x86: expose MSR_TSC_AUX to userspace x86/xen: don't reset vcpu_info on a cancelled suspend KEYS: Fix keyring ref leak in join_session_keyring() Conflicts: arch/arm64/kernel/perf_event.c drivers/scsi/sd.c sound/core/compress_offload.c Change-Id: I9f77fe42aaae249c24cd6e170202110ab1426878 Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
| * base/platform: Fix platform drivers with no probe callbackMartin Wilck2016-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 25cad69f21f5532d99e2ee73c8ab6512bcab614c upstream. Since b8b2c7d845d5, platform_drv_probe() is called for all platform devices. If drv->probe is NULL, and dev_pm_domain_attach() fails, platform_drv_probe() will return the error code from dev_pm_domain_attach(). This causes real_probe() to enter the "probe_failed" path and set dev->driver to NULL. Before b8b2c7d845d5, real_probe() would assume success if both dev->bus->probe and drv->probe were missing. As a result, a device and driver could be "bound" together just by matching their names; this doesn't work any more after b8b2c7d845d5. This may cause problems later for certain usage of platform_driver_register() and platform_device_register_simple(). I observed a panic while loading the tpm_tis driver with parameter "force=1" (i.e. registering tpm_tis as a platform driver), because tpm_tis_init's assumption that the device returned by platform_device_register_simple() was bound didn't hold any more (tpmm_chip_alloc() dereferences chip->pdev->driver, causing panic). This patch restores the previous (4.3.0 and earlier) behavior of platform_drv_probe() in the case when the associated platform driver has no "probe" function. Fixes: b8b2c7d845d5 ("base/platform: assert that dev_pm_domain callbacks are called unconditionally") Signed-off-by: Martin Wilck <Martin.Wilck@ts.fujitsu.com> Cc: Martin Fuzzey <mfuzzey@parkeon.com> Acked-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | regmap: Provide access to regmap_raw_multi_reg_write APISudheer Papothi2016-03-23
| | | | | | | | | | | | | | | | | | Regcache sync can call multi reg write to sync to hardware using regmap_raw_multi_reg_write API. Provide access to regmap_raw_multi_reg_write API to call from regcache sync. Change-Id: I2240cd090e7485efb6dd82fd2dd8f8b1fc8a0d85 Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* | regmap: Add soundwire bus supportSudheer Papothi2016-03-23
| | | | | | | | | | | | | | | | Add soundwire bus support to regmap. This change enables codec drivers using soundwire hardware interface to use regmap interface for register read/write functionality. Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* | sched: Add tunables for static cpu and cluster costOlav Haugan2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Add per-cpu tunable to set the extra cost to use a CPU that is idle. Add the same for a cluster. Change-Id: I4aa53f3c42c963df7abc7480980f747f0413d389 Signed-off-by: Olav Haugan <ohaugan@codeaurora.org> [joonwoop@codeaurora.org: omitted changes for qhmp*.[c,h] stripped out CONFIG_SCHED_QHMP in drivers/base/cpu.c and include/linux/sched.h] Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* | sched: Update the wakeup placement logic for fair and rt tasksSyed Rameez Mustafa2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the fair sched class, update the select_best_cpu() policy to do power based placement. The hope is to minimize the voltage at which the CPU runs. While RT tasks already do power based placement, their placement preference has to now take into account the power cost of all tasks on a given CPU. Also remove the check for sched_boost since sched_boost no longer intends to elevate all tasks to the highest capacity cluster. Change-Id: Ic6a7625c97d567254d93b94cec3174a91727cb87 Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
* | sched: Per-cpu prefer_idle flagSrivatsa Vaddagiri2016-03-23
| | | | | | | | | | | | | | | | | | | | Remove the global sysctl_sched_prefer_idle flag and replace it with a per-cpu prefer_idle flag. The per-cpu flag is expected to same for all cpus in a cluster. It thus provides convenient means to disable packing in one cluster while allowing packing in another cluster. Change-Id: Ie4cc73bb1a55b4eac5697be38e558546161faca1 Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
* | sched: Packing support until a frequency thresholdSrivatsa Vaddagiri2016-03-23
| | | | | | | | | | | | | | | | | | | | Add another dimension for task packing based on frequency. This patch adds a per-cpu tunable, rq->mostly_idle_freq, which when set will result in tasks being packed on a single cpu in cluster as long as cluster frequency is less than set threshold. Change-Id: I318e9af6c8788ddf5dfcda407d621449ea5343c0 Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
* | sched: per-cpu mostly_idle thresholdSrivatsa Vaddagiri2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sched_mostly_idle_load and sched_mostly_idle_nr_run knobs help pack tasks on cpus to some extent. In some cases, it may be desirable to have different packing limits for different cpus. For example, pack to a higher limit on high-performance cpus compared to power-efficient cpus. This patch removes the global mostly_idle tunables and makes them per-cpu, thus letting task packing behavior to be controlled in a fine-grained manner. Change-Id: Ifc254cda34b928eae9d6c342ce4c0f64e531e6c2 Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
* | firmware_class: Don't fail request_firmware if we're not using a bufferVikram Mulukutla2016-03-22
| | | | | | | | | | | | | | | | | | A check that the intermediate firmware actually contains data is performed before returning from request_firmware. Perform this check only if we're actually using the intermediate buffer. Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | firmware_class: Add an additional path to fw_path listDeepak Katragadda2016-03-22
| | | | | | | | | | | | | | | | Add an additional path, /firmware/image to the list of fw paths that request_firmware looks into for the firmware images. Change-Id: I4b9164f222bf0a8546072de97838bf9d49dd8252 Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | firmware_class: Change print levels for some warningsDeepak Katragadda2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when _request_firmware() fails to find the firmware from the default /lib location, a couple of error messages are printed denoting the same. Change the print level for these messages from dev_warn to dev_dbg as it is fairly common to have the user-space helper loading the firmware for us. Change-Id: I5e06b3785f58e85eda45d32130b9acbc75cd2c0a Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org> [vmulukut: adjusted for upstream changes] Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | firmware_class: Correct a null check in firmware_direct_readVikram Mulukutla2016-03-22
| | | | | | | | | | | | | | | | Don't use the fw pointer before performing the null check on it. Change-Id: I303f71681647e2acb0b7e340b8f8580436cfb19d Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | firmware_class: Include a size argument in unmap_fw_memVikram Mulukutla2016-03-22
| | | | | | | | | | | | | | | | | | Some implementations may need to know the size of a region allocated by map_fw_mem in the context of the unmap_fw_mem callback. Add this as an argument to the callback signature. Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | firmware_class: Allow private data in [unmap|map]_fw_memVikram Mulukutla2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some callers of request_firmware_direct may need additional context to be able to map firmware memory. Allow private data to be passed in with request_firmware_direct, and send this data along with the [unmap|map]_fw_mem callbacks. Change-Id: I05a15eb46cc663a4476b784e30e80182a28e10c3 Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> [joshc: dropped PIL portions, fixed trivial conflict in firmware.h due to API rename] Signed-off-by: Josh Cartwright <joshc@codeaurora.org> [vmulukut: adjusted for upstream merge conflicts] Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | firmware_class: Introduce the request_firmware_direct APIVikram Mulukutla2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On devices with low memory, using request_firmware on rather large firmware images results in a memory usage penalty that might be unaffordable. Introduce a new API that allows the firmware image to be directly loaded to a destination address without using any intermediate buffer. Change-Id: I51b55dd9044ea669e2126a3f908028850bf76325 Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> [joshc: renamed request_firmware_direct to request_firmware_into_buf, avoiding namespace conflict] Signed-off-by: Josh Cartwright <joshc@codeaurora.org> [vmulukut: upstream merge conflict fixups] Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> [dkeitel: upstream merge conflict fixups] Signed-off-by: David Keitel <dkeitel@codeaurora.org>
* | firmware_class: Provide infrastructure to make fw caching optionalVikram Mulukutla2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some low memory systems with complex peripherals cannot afford to have the relatively large firmware images taking up valuable memory during suspend and resume. Change the internal implementation of firmware_class to disallow caching based on a configurable option. In the near future, variants of request_firmware will take advantage of this configurability. Change-Id: I44be7ce3b308b642fb018086def99fcb800a1109 Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> [joshc: reworked to use opt_flags instead of 'nocache' bool in fw_desc] Signed-off-by: Josh Cartwright <joshc@codeaurora.org> [vmulukut: adjusted for upstream additions to opt_flags] Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | firmware_class: Introduce a firmware descriptor structureVikram Mulukutla2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a firmware descriptor structure that makes it easier to pass around various configuration options in the internal implementation of firmware_class. Change-Id: I5c1da222bccd568fabb26da5baccaa4035331efd Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> [joshc: reworked to make use of upstream's opt_flags member] Signed-off-by: Josh Cartwright <joshc@codeaurora.org> [vmulukut: adjusted for upstream changes to opt_flags] Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> [dkeitel: resolved merge conflicts] Signed-off-by: David Keitel <dkeitel@codeaurora.org>
* | dma_removed: Substitute __GFP_WAIT with upstream gfpflags_allow_blocking()Rohit Vaswani2016-03-22
| | | | | | | | Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
* | drivers: dma-removed: introduce no-map-fixupShiraz Hashim2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some use cases, it is not known beforehand, how much removed (carve-out) region size must be reserved. Hence the reserved region size might need to be adjusted to support varying use cases. In such cases maintaining different device tree configurations to support varying carve-out region size is difficult. Introduce an optional device tree property, to reserved-memory, "no-map-fixup" which works in tandem with "removed-dma-pool" compatibility that tries to shrink and adjust the removed area on very first successful allocation. At end of which it returns the additional (unused) pages from the region back to the system. Point to note is this that this adjustment is done on very first allocation and thereafter the region size is big enough only to support maximum of first allocation request size. This fixup is attempted only once upon first allocation and never after that. Clients can allocate and free from this region as any other dma region. As the description suggests this type of region is specific to certain special needs and is not to be used for common use cases. Change-Id: I31f49d6bd957814bc2ef3a94910425b820ccc739 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
* | drivers: dma-removed: use memset_io for ioremap regionShiraz Hashim2016-03-22
| | | | | | | | | | | | | | | | | | Using memset generates unaligned access exception for device type memory on armv8, hence use memset_io for ioremap region. Change-Id: I26c82d4bed20f1c163953680aa200c95842d3f21 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
* | drivers: dma-removed: fix data type to hold base addressShiraz Hashim2016-03-22
| | | | | | | | | | | | | | | | removed_region->base should be phy_addr_t type as it directly holds physical memory address. Fix it. Change-Id: I80d49d209cf0f319b7a468697387d23e6bcb1b98 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
* | common: dma-mapping: Store page array in vm_structLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 54329ac (common: dma-mapping: introduce common remapping functions) factored out common code for remapping arrays of pages. The code before the refactor relied on setting area->pages with the array of mapped pages for easy access later. The refactor dropped this, breaking parts of the ARM DMA API. Fix this by setting the page array in the same place. Change-Id: Ie4d085132f350db29eb2aca67156c25b5e842903 Reported-by: Mitchel Humpherys <mitchelh@codeaurora.org> Signed-off-by: Laura Abbott <lauraa@codeaurora.org> Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | common: dma-mapping: make dma_common_contiguous_remap more robustLiam Mark2016-03-22
| | | | | | | | | | | | | | | | | | | | | | Large allocations can result in the dma_common_contiguous_remap call not being able to succeed because it can't find enough contiguous memory to setup the mapping. Make dma_common_contiguous_remap more robust by using vmalloc as a fallback. Change-Id: I12ca710b4c24f4ef24bc33a0d1d4922196fb7492 Signed-off-by: Liam Mark <lmark@codeaurora.org>
* | drivers: dma-removed: align size firstShiraz Hashim2016-03-22
| | | | | | | | | | | | | | | | Align size first and then find required number of bits and order out of it. Change-Id: I9b12fb45e5c1ff79e24fe7584cd23923b1a88c87 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
* | drivers: Add dma removed opsLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | The current DMA coherent pool assumes that there is a kernel mapping at all times for hte entire pool. This may not be what we want for the entire times. Add the dma_removed ops to support this use case. Change-Id: Ie4f1e9bdf57b79699fa8fa7e7a6087e6d88ebbfa Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | dma-mapping: Add dma_remap functionsLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | After getting an allocation from dma_alloc_coherent, there may be cases where it is neccessary to remap the handle into the CPU's address space (e.g. no CPU side mapping was requested at allocation time but now one is needed). Add APIs to bring a handle into the CPU address space again. Signed-off-by: Laura Abbott <lauraa@codeaurora.org> [imaund@codeaurora.org: resolved context conflicts and added support for remap 'no_warn' argument] Signed-off-by: Ian Maund <imaund@codeaurora.org>
* | dd: Invoke one probe retry cycle after every initcall levelVikram Mulukutla2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drivers that are registered at an initcall level may have to wait until late_init before the probe deferral mechanism can retry their probe functions. It is possible that their dependencies were resolved much earlier, in some cases even before the next initcall level. Invoke one probe retry cycle at every _sync initcall level, allowing these drivers to be probed earlier. A real world example of how this change helps follows. On the MSM8974, there are 3 devices that need to be probed in order for the display driver to be able to probe and bring up a display panel. These are the gdsc_mdss (a regulator device), the mmsscc-dsi device (a display clock controller), and the dsipllcc device (a PLL controller). Here is a kernel log that shows these devices probing in the wrong order: [0.503253] mmsscc-dsi fd8c0000.qcom,mmsscc-dsi: Failed to get pixel source. -- [1] [0.505210] dsipllcc fd8c0000.qcom,dsipllcc: Failed to get MDSS GDSC -- [2] [0.523264] gdsc_mdss: no parameters -- [3] Only gdsc_mdss successfully probed at 0.52 seconds. Now without _this_ change, the current probe deferral mechanism results in the devices probing at or after late_init: [9.196006] dsipllcc fd8c0000.qcom,dsipllcc: Registered DSI PLL clocks. -- [2] [9.357440] mmsscc-dsi fd8c0000.qcom,mmsscc-dsi: Registered MMSSCC DSI clocks. -- [1] Thus the display can only be brought up after 9.35 seconds. However, by allowing a probe retry after each initcall level, this number reduces drastically: [0.608252] dsipllcc fd8c0000.qcom,dsipllcc: Registered DSI PLL clocks. -- [2] [0.613758] mmsscc-dsi fd8c0000.qcom,mmsscc-dsi: Registered MMSSCC DSI clocks.-- [1] Thus the display can be brought up just after 0.61 seconds. Change-Id: I83d8ac89e591e89e27934c0402449437b61b2124 Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | QoS: Modify data structures and function arguments for scalability.Praveen Chidambaram2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QoS add requests uses a handle to the priority list that is used internally to save the request, but this does not extend well. Also, dev_pm_qos structure definition seems to use a list object directly. The 'derivative' relationship seems to be broken. Use pm_qos_request objects instead of passing around the protected priority list object. Change-Id: Ie4c9c22dd4ea13265fe01f080ba68cf77d9d484d Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org> [mattw@codeaurora.org: resolve context conflicts and extend struct modifications to additional affected users] Signed-off-by: Matt Wagantall <mattw@codeaurora.org> Conflicts: include/linux/pm_qos.h
* | spmi: regmap: enable userspace writesAbhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | | | | | | | Being able to write to spmi registers via userspace is required for quick debug and development. Enable it. The regmap framework uses dev_name to create debugfs dir names. So update the spmi devices to have proper names. Change-Id: I8a5da203b212df9a7f1410e3fcf6ee7b429856b6 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | wakeup: Add the guard condition for len in pm_get_active_wakeup_sourcesRuchi Kandoi2016-02-16
| | | | | | | | | | | | | | Check if the len is not greater than maximum to prevent buffer overflow. Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com> Change-Id: I575b0a72bb5448b68353408d71fa8b83420c9088
* | wakeup: Add last wake up source logging for suspend abort reason.Ruchi Kandoi2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | There is a possibility that a wakeup source event is received after the device prepares to suspend which might cause the suspend to abort. This patch adds the functionality of reporting the last active wakeup source which is currently not active but caused the suspend to abort reason via the /sys/kernel/power/last_wakeup_reason file. Change-Id: I1760d462f497b33e425f5565cb6cff5973932ec3 Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
* | power: Adds functionality to log the last suspend abort reason.Ruchi Kandoi2016-02-16
| | | | | | | | | | | | | | | | | | Extends the last_resume_reason to log suspend abort reason. The abort reasons will have "Abort:" appended at the start to distinguish itself from the resume reason. Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com> Change-Id: I3207f1844e3d87c706dfc298fb10e1c648814c5f
* | drivers: power: Add watchdog timer to catch drivers which lockup during suspend.Benoit Goby2016-02-16
|/ | | | | | | | | | | | | | Rather than hard-lock the kernel, dump the suspend thread stack and BUG() when a driver takes too long to suspend. The timeout is set to 12 seconds to be longer than the usbhid 10 second timeout. Exclude from the watchdog the time spent waiting for children that are resumed asynchronously and time every device, whether or not they resumed synchronously. Change-Id: Ifd211c06b104860c2fee6eecfe0d61774aa4508a Original-author: San Mehat <san@google.com> Signed-off-by: Benoit Goby <benoit@android.com>
*---. Merge branches 'powercap', 'pm-cpufreq' and 'pm-domains'Rafael J. Wysocki2015-12-14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * powercap: powercap / RAPL: fix BIOS lock check * pm-cpufreq: cpufreq: intel_pstate: Minor cleanup for FRAC_BITS cpufreq: tegra: add regulator dependency for T124 * pm-domains: PM / Domains: Allow runtime PM callbacks to be re-used during system PM
| | | * PM / Domains: Allow runtime PM callbacks to be re-used during system PMUlf Hansson2015-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A runtime PM centric subsystem/driver may typically use the runtime PM helpers, pm_runtime_force_suspend|resume() in the system PM path. This means the genpd's runtime PM callbacks might be invoked even when runtime PM has been disabled for the device. To properly cope with these and similar scenarios when these helper functions are used, change genpd to skip validating and measuring the device PM QOS latency. This is needed because otherwise genpd may prevent the device to be put into low power state. If this occurs during system PM, it causes the sequence to be aborted as a device's system PM callback returns -EBUSY. Fixes: ba2bbfbf6307 (PM / Domains: Remove intermediate states from the power off sequence) Reported-by: Cao Minh Hiep <cm-hiep@jinso.co.jp> Reported-by: Harunaga <nx-truong@jinso.co.jp> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Cc: 4.3+ <stable@vger.kernel.org> # 4.3+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
* | | | drivers/base/memory.c: prohibit offlining of memory blocks with missing sectionsSeth Jennings2015-12-12
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit bdee237c0343 ("x86: mm: Use 2GB memory block size on large-memory x86-64 systems") and 982792c782ef ("x86, mm: probe memory block size for generic x86 64bit") introduced large block sizes for x86. This made it possible to have multiple sections per memory block where previously, there was a only every one section per block. Since blocks consist of contiguous ranges of section, there can be holes in the blocks where sections are not present. If one attempts to offline such a block, a crash occurs since the code is not designed to deal with this. This patch is a quick fix to gaurd against the crash by not allowing blocks with non-present sections to be offlined. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=107781 Signed-off-by: Seth Jennings <sjennings@variantweb.net> Reported-by: Andrew Banman <abanman@sgi.com> Cc: Daniel J Blueman <daniel@numascale.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Greg KH <greg@kroah.com> Cc: Russ Anderson <rja@sgi.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branches 'pm-domains' and 'pm-cpufreq'Rafael J. Wysocki2015-12-04
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | * pm-domains: PM / Domains: Fix bad of_node_put() in failure paths of genpd_dev_pm_attach() PM / Domains: Validate cases of a non-bound driver in genpd governor * pm-cpufreq: cpufreq: use last policy after online for drivers with ->setpolicy
| * | PM / Domains: Fix bad of_node_put() in failure paths of genpd_dev_pm_attach()Eric Anholt2015-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It looks like these meant to be unreffing the of_parse_phandle_with_args() node, since the error paths above it don't do of_node_put. That function returns a new ref in pd_args.np, though, not a new ref on dev->of_node. Also, it would have leaked the ref in the success case. Fixes "ERROR: Bad of_node_put()" on bcm2835 in the -EPROBE_DEFER case. Fixes: aa42240ab254 (PM / Domains: Add generic OF-based PM domain look-up) Signed-off-by: Eric Anholt <eric@anholt.net> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Kevin Hilman <khilman@linaro.org> Cc: 3.18+ <stable@vger.kernel.org> # 3.18+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| * | PM / Domains: Validate cases of a non-bound driver in genpd governorUlf Hansson2015-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently genpd removed the requirement of a having a driver bound for its attached devices to allow genpd to power off. That change should also have removed a corresponding validation in the governor, let's correct that. Fixes: 298cd0f08801 (PM / Domains: Remove dev->driver check for runtime) Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
* | | Merge branch 'pm-sleep'Rafael J. Wysocki2015-11-20
|\ \ \ | | | | | | | | | | | | | | | | * pm-sleep: PM / wakeirq: check that wake IRQ is valid before accepting it
| * | | PM / wakeirq: check that wake IRQ is valid before accepting itDmitry Torokhov2015-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check that IRQ number passed to dev_pm_set_wake_irq() and dev_pm_set_dedicated_wake_irq() is valid (not negative) before accepting it. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>