314 Commits

Author SHA1 Message Date
Nathan Chancellor
fec6c1de0c Merge 4.4.211 into android-msm-wahoo-4.4
Changes in 4.4.211: (77 commits)
        hidraw: Return EPOLLOUT from hidraw_poll
        HID: hidraw: Fix returning EPOLLOUT from hidraw_poll
        HID: hidraw, uhid: Always report EPOLLOUT
        rsi: add fix for crash during assertions
        cfg80211/mac80211: make ieee80211_send_layer2_update a public function
        mac80211: Do not send Layer 2 Update frame before authorization
        media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in zr364xx_vidioc_querycap
        p54usb: Fix race between disconnect and firmware loading
        ALSA: line6: Fix write on zero-sized buffer
        ALSA: line6: Fix memory leak at line6_init_pcm() error path
        mm/page_alloc.c: calculate 'available' memory in a separate function
        xen: let alloc_xenballooned_pages() fail if not enough memory free
        wimax: i2400: fix memory leak
        wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle
        ext4: fix use-after-free race with debug_want_extra_isize
        ext4: add more paranoia checking in ext4_expand_extra_isize handling
        dccp: Fix memleak in __feat_register_sp
        rtc: mt6397: fix alarm register overwrite
        iommu: Remove device link to group on failure
        gpio: Fix error message on out-of-range GPIO in lookup table
        hsr: reset network header when supervision frame is created
        cifs: Adjust indentation in smb2_open_file
        RDMA/srpt: Report the SCSI residual to the initiator
        scsi: enclosure: Fix stale device oops with hot replug
        scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI
        platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
        iio: imu: adis16480: assign bias value only if operation succeeded
        mei: fix modalias documentation
        clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume
        compat_ioctl: handle SIOCOUTQNSD
        tty: serial: imx: use the sg count from dma_map_sg
        tty: serial: pch_uart: correct usage of dma_unmap_sg
        media: exynos4-is: Fix recursive locking in isp_video_release()
        spi: atmel: fix handling of cs_change set on non-last xfer
        rtlwifi: Remove unnecessary NULL check in rtl_regd_init
        rtc: msm6242: Fix reading of 10-hour digit
        rseq/selftests: Turn off timeout setting
        hexagon: work around compiler crash
        ocfs2: call journal flush to mark journal as empty after journal recovery when mount
        ALSA: seq: Fix racy access for queue timer in proc read
        Fix built-in early-load Intel microcode alignment
        block: fix an integer overflow in logical block size
        USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx
        USB: serial: opticon: fix control-message timeouts
        USB: serial: suppress driver bind attributes
        USB: serial: ch341: handle unbound port at reset_resume
        USB: serial: io_edgeport: add missing active-port sanity check
        USB: serial: quatech2: handle unbound ports
        scsi: mptfusion: Fix double fetch bug in ioctl
        usb: core: hub: Improved device recognition on remote wakeup
        x86/efistub: Disable paging at mixed mode entry
        mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio()
        net: stmmac: 16KB buffer must be 16 byte aligned
        net: stmmac: Enable 16KB buffer size
        USB: serial: io_edgeport: use irqsave() in USB's complete callback
        USB: serial: io_edgeport: handle unbound ports on URB completion
        USB: serial: keyspan: handle unbound ports
        scsi: fnic: use kernel's '%pM' format option to print MAC
        scsi: fnic: fix invalid stack access
        arm64: dts: agilex/stratix10: fix pmu interrupt numbers
        netfilter: fix a use-after-free in mtype_destroy()
        batman-adv: Fix DAT candidate selection on little endian systems
        macvlan: use skb_reset_mac_header() in macvlan_queue_xmit()
        r8152: add missing endpoint sanity check
        tcp: fix marked lost packets not being retransmitted
        net: usb: lan78xx: limit size of local TSO packets
        xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk
        cw1200: Fix a signedness bug in cw1200_load_firmware()
        cfg80211: check for set_wiphy_params
        scsi: esas2r: unlock on error in esas2r_nvram_read_direct()
        scsi: qla4xxx: fix double free bug
        scsi: bnx2i: fix potential use after free
        scsi: target: core: Fix a pr_debug() argument
        scsi: core: scsi_trace: Use get_unaligned_be*()
        perf probe: Fix wrong address verification
        regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id
        Linux 4.4.211

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	net/wireless/util.c
2020-01-23 00:38:58 -07:00
Stephan Gerhold
fbac2e2d25 regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id
commit 458ea3ad033fc86e291712ce50cbe60c3428cf30 upstream.

Those regulators are not actually supported by the AB8500 regulator
driver. There is no ab8500_regulator_info for them and no entry in
ab8505_regulator_match.

As such, they cannot be registered successfully, and looking them
up in ab8505_regulator_match causes an out-of-bounds array read.

Fixes: 547f384f33 ("regulator: ab8500: add support for ab8505")
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20191106173125.14496-2-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-23 08:18:41 +01:00
Nathan Chancellor
5634273c61 Merge 4.4.207 into android-msm-wahoo-4.4
Changes in 4.4.207: (163 commits)
        x86/apic/32: Avoid bogus LDR warnings
        usb: gadget: u_serial: add missing port entry locking
        tty: serial: msm_serial: Fix flow control
        x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect
        serial: serial_core: Perform NULL checks for break_ctl ops
        serial: ifx6x60: add missed pm_runtime_disable
        autofs: fix a leak in autofs_expire_indirect()
        NFC: nxp-nci: Fix NULL pointer dereference after I2C communication error
        Input: cyttsp4_core - fix use after free bug
        ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed()
        rsxx: add missed destroy_workqueue calls in remove
        net: ep93xx_eth: fix mismatch of request_mem_region in remove
        serial: core: Allow processing sysrq at port unlock time
        iwlwifi: mvm: Send non offchannel traffic via AP sta
        ARM: 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+
        extcon: max8997: Fix lack of path setting in USB device mode
        clk: rockchip: fix rk3188 sclk_smc gate data
        clk: rockchip: fix rk3188 sclk_mac_lbtest parameter ordering
        dlm: fix missing idr_destroy for recover_idr
        MIPS: SiByte: Enable ZONE_DMA32 for LittleSur
        scsi: zfcp: drop default switch case which might paper over missing case
        pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues
        Staging: iio: adt7316: Fix i2c data reading, set the data field
        regulator: Fix return value of _set_load() stub
        MIPS: OCTEON: octeon-platform: fix typing
        math-emu/soft-fp.h: (_FP_ROUND_ZERO) cast 0 to void to fix warning
        rtc: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()'
        rtc: dt-binding: abx80x: fix resistance scale
        ARM: dts: exynos: Use Samsung SoC specific compatible for DWC2 module
        dmaengine: coh901318: Fix a double-lock bug
        dmaengine: coh901318: Remove unused variable
        ACPI: fix acpi_find_child_device() invocation in acpi_preset_companion()
        dma-mapping: fix return type of dma_set_max_seg_size()
        altera-stapl: check for a null key before strcasecmp'ing it
        serial: imx: fix error handling in console_setup
        i2c: imx: don't print error message on probe defer
        dlm: NULL check before kmem_cache_destroy is not needed
        nfsd: fix a warning in __cld_pipe_upcall()
        ARM: OMAP1/2: fix SoC name printing
        net/x25: fix called/calling length calculation in x25_parse_address_block
        net/x25: fix null_x25_address handling
        ARM: dts: mmp2: fix the gpio interrupt cell number
        tcp: fix off-by-one bug on aborting window-probing socket
        modpost: skip ELF local symbols during section mismatch check
        kbuild: fix single target build for external module
        ARM: dts: pxa: clean up USB controller nodes
        dlm: fix invalid cluster name warning
        powerpc/math-emu: Update macros from GCC
        MIPS: OCTEON: cvmx_pko_mem_debug8: use oldest forward compatible definition
        nfsd: Return EPERM, not EACCES, in some SETATTR cases
        mlx4: Use snprintf instead of complicated strcpy
        ARM: dts: sunxi: Fix PMU compatible strings
        sched/fair: Scale bandwidth quota and period without losing quota/period ratio precision
        fuse: verify nlink
        fuse: verify attributes
        ALSA: pcm: oss: Avoid potential buffer overflows
        Input: goodix - add upside-down quirk for Teclast X89 tablet
        CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks
        CIFS: Fix SMB2 oplock break processing
        tty: vt: keyboard: reject invalid keycodes
        can: slcan: Fix use-after-free Read in slcan_open
        jbd2: Fix possible overflow in jbd2_log_space_left()
        drm/i810: Prevent underflow in ioctl
        KVM: x86: do not modify masked bits of shared MSRs
        KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES
        crypto: crypto4xx - fix double-free in crypto4xx_destroy_sdr
        crypto: user - fix memory leak in crypto_report
        spi: atmel: Fix CS high support
        RDMA/qib: Validate ->show()/store() callbacks before calling them
        thermal: Fix deadlock in thermal thermal_zone_device_check
        KVM: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332)
        appletalk: Fix potential NULL pointer dereference in unregister_snap_client
        appletalk: Set error code if register_snap_client failed
        ALSA: hda - Fix pending unsol events at shutdown
        sched/core: Allow putting thread_info into task_struct
        sched/core: Add try_get_task_stack() and put_task_stack()
        sched/core, x86: Make struct thread_info arch specific again
        fs/proc: Stop reporting eip and esp in /proc/PID/stat
        fs/proc: Report eip/esp in /prod/PID/stat for coredumping
        proc: fix coredump vs read /proc/*/stat race
        fs/proc/array.c: allow reporting eip/esp for all coredumping threads
        usb: gadget: configfs: Fix missing spin_lock_init()
        usb: Allow USB device to be warm reset in suspended state
        staging: rtl8188eu: fix interface sanity check
        staging: rtl8712: fix interface sanity check
        staging: gigaset: fix general protection fault on probe
        staging: gigaset: fix illegal free on probe errors
        staging: gigaset: add endpoint-type sanity check
        xhci: Increase STS_HALT timeout in xhci_suspend()
        iio: humidity: hdc100x: fix IIO_HUMIDITYRELATIVE channel reporting
        USB: atm: ueagle-atm: add missing endpoint check
        USB: idmouse: fix interface sanity checks
        USB: serial: io_edgeport: fix epic endpoint lookup
        USB: adutux: fix interface sanity check
        usb: core: urb: fix URB structure initialization function
        usb: mon: Fix a deadlock in usbmon between mmap and read
        mtd: spear_smi: Fix Write Burst mode
        virtio-balloon: fix managed page counts when migrating pages between zones
        btrfs: check page->mapping when loading free space cache
        btrfs: Remove btrfs_bio::flags member
        rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address
        rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer
        rtlwifi: rtl8192de: Fix missing enable interrupt flag
        lib: raid6: fix awk build warnings
        workqueue: Fix spurious sanity check failures in destroy_workqueue()
        workqueue: Fix pwq ref leak in rescuer_thread()
        ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report
        blk-mq: avoid sysfs buffer overflow with too many CPU cores
        cgroup: pids: use atomic64_t for pids->limit
        ar5523: check NULL before memcpy() in ar5523_cmd()
        media: bdisp: fix memleak on release
        media: radio: wl1273: fix interrupt masking on release
        cpuidle: Do not unset the driver if it is there already
        ACPI: OSL: only free map once in osl.c
        ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data()
        ACPI: PM: Avoid attaching ACPI PM domain to certain devices
        pinctrl: samsung: Fix device node refcount leaks in S3C24xx wakeup controller init
        pinctrl: samsung: Fix device node refcount leaks in init code
        powerpc: Allow 64bit VDSO __kernel_sync_dicache to work across ranges >4GB
        video/hdmi: Fix AVI bar unpack
        quota: Check that quota is not dirty before release
        quota: fix livelock in dquot_writeback_dquots
        scsi: zfcp: trace channel log even for FCP command responses
        usb: xhci: only set D3hot for pci device
        xhci: Fix memory leak in xhci_add_in_port()
        xhci: make sure interrupts are restored to correct state
        iio: adis16480: Add debugfs_reg_access entry
        Btrfs: fix negative subv_writers counter and data space leak after buffered write
        scsi: lpfc: Cap NPIV vports to 256
        e100: Fix passing zero to 'PTR_ERR' warning in e100_load_ucode_wait
        x86/MCE/AMD: Turn off MC4_MISC thresholding on all family 0x15 models
        ARM: dts: omap3-tao3530: Fix incorrect MMC card detection GPIO polarity
        pinctrl: samsung: Fix device node refcount leaks in S3C64xx wakeup controller init
        scsi: qla2xxx: Fix DMA unmap leak
        scsi: qla2xxx: Fix qla24xx_process_bidir_cmd()
        scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value
        powerpc: Fix vDSO clock_getres()
        mm/shmem.c: cast the type of unmap_start to u64
        blk-mq: make sure that line break can be printed
        workqueue: Fix missing kfree(rescuer) in destroy_workqueue()
        sunrpc: fix crash when cache_head become valid before update
        kernel/module.c: wakeup processes in module_wq on module unload
        net: bridge: deny dev_set_mac_address() when unregistering
        tcp: md5: fix potential overestimation of TCP option space
        tipc: fix ordering of tipc module init and exit routine
        inet: protect against too small mtu values.
        tcp: fix rejected syncookies due to stale timestamps
        tcp: tighten acceptance of ACKs not matching a child socket
        tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE()
        net: ethernet: ti: cpsw: fix extra rx interrupt
        PCI: Fix Intel ACS quirk UPDCR register address
        PCI/MSI: Fix incorrect MSI-X masking on resume
        xtensa: fix TLB sanity checker
        CIFS: Respect O_SYNC and O_DIRECT flags during reconnect
        ARM: dts: s3c64xx: Fix init order of clock providers
        ARM: tegra: Fix FLOW_CTLR_HALT register clobbering by tegra_resume()
        vfio/pci: call irq_bypass_unregister_producer() before freeing irq
        dm btree: increase rebalance threshold in __rebalance2()
        drm/radeon: fix r1xx/r2xx register checker for POT textures
        xhci: fix USB3 device initiated resume race with roothub autosuspend
        net: stmmac: use correct DMA buffer size in the RX descriptor
        net: stmmac: don't stop NAPI processing when dropping a packet
        Linux 4.4.207

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	include/linux/thread_info.h
2019-12-24 13:20:07 -07:00
Mark Brown
ad2cfd2e1a regulator: Fix return value of _set_load() stub
[ Upstream commit f1abf67217de91f5cd3c757ae857632ca565099a ]

The stub implementation of _set_load() returns a mode value which is
within the bounds of valid return codes for success (the documentation
just says that failures are negative error codes) but not sensible or
what the actual implementation does.  Fix it to just return 0.

Reported-by: Cheng-Yi Chiang <cychiang@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-21 10:34:31 +01:00
Kiran Gunda
473bc7a324 regulator: qpnp-labibb: Add support for notifier callback
Some drivers (e.g. OLEDB) would need to know about LAB_VREG_OK
status from the LABIBB module. Hence, add support for the
notifier callback so that required drivers can be notified about
LAB_VREG_OK status.

Change-Id: Ib60c94c7557ee6ffb7595dee5bd268bb76faaf6e
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2017-02-22 15:43:07 +05:30
David Collins
b2f04129ca regulator: qpnp-regulator: correct various coding style issues
Correct warnings flagged by checkpatch.  In particular, modify
the following:

 - Use octal file permissions instead of symbolic.

 - Add 'const' to type of struct of_device_id variables.

 - Remove unnecessary out-of-memory error messages.

 - Change variables of type 'unsigned' to 'unsigned int'.

 - Restructure conditionals to avoid else after return/break.

 - Remove 'return' from the end of void functions.

 - Join strings that are wrapped across two lines.

 - Remove ';' from the end of a macro definition.

 - Update the REGULATOR_QPNP Kconfig entry and the device tree
   documentation to use the name: 'Qualcomm Technologies, Inc.'

Change-Id: I9f2cde58929ae57667366bb886e65154d36dfd3d
Signed-off-by: David Collins <collinsd@codeaurora.org>
2017-02-03 12:18:57 -08:00
Tirupathi Reddy
23603a7dc4 regulator: cpr3: support LDO handling for different LDO types
An LDO300 regulator is used by the GPU rail on msmfalcon. This LDO
is CPR managed and uses a different configuration/control scheme
compared to Kryo LDO. Add support for this LDO in the CPR3 framework.

CRs-Fixed: 1068294
Change-Id: Ia45152fe211f2ece1028c5cb978beebda86faba3
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2016-12-12 13:33:56 +05:30
Devesh Jhunjhunwala
54b0cb4a1e regulator: msm: Add snapshot of the stub regulator driver
This is a snapshot of the Documentation and header file for
the stub regulator driver as of msm-3.18 kernel commit:
2642c0adc79c06c0f3225da0177e910a1cea8cb5 ("Merge "ARM: dts:
msm: Add support for truly 720p command mode panel on msmgold"")

Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
2016-03-23 20:09:42 -07:00
David Collins
40456168db regulator: core: put debugfs consumer handle when unregistering a regulator
Ensure that regulator_put() is called on the core debugfs
consumer pointer for a given regulator when the debugfs interface
is no longer needed.  This includes inside of the
regulator_unregister() function as well as in the error return
path of rdev_init_debugfs().

Change-Id: I10563ae1716f31bdc5840d22633fdbfe278330f1
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-01 12:22:37 -08:00
David Collins
9fbac0b19d regulator: core: add regulator_list_corner_voltage function
Introduce a regulator_list_corner_voltage function for consumers
that need to know the maximum absolute voltage that may be
physically configured when a regulator is operating at a given
voltage corner.

Change-Id: Ide7a0b502796774fcad01f5cb5679f0938c72f96
Signed-off-by: David Collins <collinsd@codeaurora.org>
[adharmap: fixed merge conflicts]
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>

Conflicts:
	include/linux/regulator/consumer.h
2016-03-01 12:22:36 -08:00
Osvaldo Banuelos
db58e9bdc3 regulator: core: fix regulator bypass logic
Since the regulator debugfs consumer does not call
regulator_allow_bypass() on its regulator handles, regulators
will not be placed on bypass mode even if all other consumers
request for this. Fix this by introducing an open offset count
that can be used to selectively disregard the debugfs consumer.
Also, introduce a debugfs file to allow or disallow bypass
mode on each regulator by leveraging on the new open offset count.

Change-Id: If12534dac5e6b1c82acac9b5250137b4f816b922
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
2016-03-01 12:22:36 -08:00
David Collins
9a5aec1c92 regulator: Call proxy-consumer functions for each regulator registered
Add a call to regulator_proxy_consumer_register() at the end of
regulator_register() and a call to
regulator_proxy_consumer_unregister() at the beginning of
regulator_unregister().  These calls ensure that proxy consumer
features may be used by any type of regulator regardless of the
driver supporting it.

Change-Id: Ia70da1df47042fa673c42f389136557f868d19a3
Signed-off-by: David Collins <collinsd@codeaurora.org>
[abhimany: resolve trivial merge conflicts]
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[adharmap: resolve trivial merge conflicts]
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:36 -08:00
Justin Paupore
001d62d43e regulator: Add regulator_bulk_set_voltage
Add a convenience API to set the voltage on multiple consumers
stored in a struct regulator_bulk_data[] in one API call.

Change-Id: Iaeb5ba8c357a66f1401fb1e142bb03904e8e9c7c
Signed-off-by: Justin Paupore <jpaupore@codeaurora.org>
2016-03-01 12:22:35 -08:00
David Collins
01f8ba7f67 regulator: add notifier event for regulator enable
Add a notifier event which is triggered when a regulator is
enabled.  This can be used by a driver which must configure the
hardware state whenever a given supply is enabled even if some
other consumer was responsible for enabling the supply.

Change-Id: Ic8363308b64953451dd01756e1bfdc2a64527096
Signed-off-by: David Collins <collinsd@codeaurora.org>
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[osvaldob: resolve trivial merge conflicts]
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
[adharmap: 0x100 was taken by PRE_VOLTAGE_CHANGE use 0x1000 for ENABLE]
2016-03-01 12:22:34 -08:00
Abhijeet Dharmapurikar
77dd355971 qpnp: Add snapshot of some qpnp, regulator and charger drivers
This snapshot is taken as of msm-3.18 commit
9da4ddc (Merge "clk: msm: clock-gcc: Associate gfx rail
voting with gfx3d branch")

Change-Id: Idd2f467f1f1863a156d1757589dfe78158f0e43f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:31 -08:00
Sascha Hauer
5abe4f223e regulator: introduce min_dropout_uV
Many voltage Regulators need a input voltage that is higher than the
output voltage. Allow to specify a minimum dropout voltage which will
be used later to find the best input voltage for regulators.

[Changed uv to uV for consistency and legibility -- broonie]

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-16 17:57:33 +01:00
Mark Brown
aaa9b649d0 Merge remote-tracking branches 'regulator/topic/qcom-smd', 'regulator/topic/qcom-spmi', 'regulator/topic/rk808', 'regulator/topic/stub' and 'regulator/topic/tol' into regulator-next 2015-08-30 14:40:11 +01:00
Mark Brown
3e683126f4 Merge remote-tracking branches 'regulator/topic/mt6311', 'regulator/topic/ocp', 'regulator/topic/owner', 'regulator/topic/pfuze100' and 'regulator/topic/pwm' into regulator-next 2015-08-30 14:39:48 +01:00
Viresh Kumar
30f93ca832 regulator: core: Define regulator_set_voltage_triplet()
Voltage tolerance isn't necessarily same on both sides of the target
voltage and regulator_set_voltage_tol() wouldn't be suitable in such
cases.

Add another routine regulator_set_voltage_triplet(), which accepts
target, min and max voltages as arguments.

This first tries to set the voltage between the target voltage and the
upper limit, then fall back on the full range. The idea behind this is
to set regulator's voltage as close to the target voltage, as possible.

Based on regulator_set_voltage_tol().

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-17 12:54:01 -07:00
Stephen Boyd
3a003baeec regulator: Add over current protection (OCP) support
Some regulators can automatically shut down when they detect an
over current event. Add an op (set_over_current_protection) and a
DT property + constraint to support this capability.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-24 18:28:46 +01:00
Henry Chen
8766018b6e regulator: mt6311: Add support for mt6311 regulator
Add regulator support for mt6311.
It has 2 regulaotrs - Buck and LDO, provide the related buck/ldo voltage
data to the driver, and creates the regulator_desc table. Supported
operations for Buck are enabled/disabled and voltage change, only
enabled/disabled for LDO.

Signed-off-by: Henry Chen <henryc.chen@mediatek.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-24 12:30:49 +01:00
James Ban
7bd3935432 regulator: da9211: support da9215
This is a patch for supporting da9215 buck converter.

Signed-off-by: James Ban <james.ban.opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-13 19:11:24 +01:00
Suzuki K. Poulose
5127e31a6c regulator: Add missing dummy definition for regulator_list_voltage
Fixes a build break when CONFIG_REGULATOR is not selected.

e.g, on linux-next - 07102015:

drivers/clk/tegra/clk-dfll.c: In function ‘find_lut_index_for_rate’:
drivers/clk/tegra/clk-dfll.c:691:3: error: implicit declaration of function ‘regulator_list_voltage’ [-Werror=implicit-function-declaration]
    if (regulator_list_voltage(td->vdd_reg, td->i2c_lut[i]) == uv)
    ^
   CC      drivers/clocksource/mmio.o
   CC      fs/proc/softirqs.o
cc1: some warnings being treated as errors
make[3]: *** [drivers/clk/tegra/clk-dfll.o] Error 1
make[2]: *** [drivers/clk/tegra] Error 2
make[1]: *** [drivers/clk] Error 2
make[1]: *** Waiting for unfinished jobs....

This should be pushed to 4.2 as we have the issue in 4.2-rc1, just that
nobody uses it without the REGULATOR(yet).

Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-10 19:45:47 +01:00
Mark Brown
733ada000f Merge remote-tracking branches 'regulator/topic/of', 'regulator/topic/pwm', 'regulator/topic/qcom' and 'regulator/topic/soft-start' into regulator-next 2015-06-22 11:19:56 +01:00
Mark Brown
0460a368ea Merge remote-tracking branches 'regulator/topic/lp8755', 'regulator/topic/max14577', 'regulator/topic/max77693', 'regulator/topic/max77843' and 'regulator/topic/max8973' into regulator-next 2015-06-22 11:19:55 +01:00
Stephen Boyd
c751ad0dd6 regulator: Add docbook for soft start
The docbook for these members is missing. Add them.

Warning(include/linux/regulator/machine.h:147): No description
found for parameter 'soft_start'
Warning(include/linux/regulator/driver.h:197): No description
found for parameter 'set_soft_start'

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-15 09:10:32 +01:00
Stephen Boyd
36e4f839de regulator: Add input current limit support
Some regulators can limit their input current (typically annotated
as ilim). Add an op (set_input_current_limit) and a DT property +
constraint to support this.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-12 13:18:02 +01:00
Stephen Boyd
57f66b7886 regulator: Add soft start support
Some regulators support a "soft start" feature where the voltage
ramps up slowly when the regulator is enabled. Add an op
(set_soft_start) and a DT property + constraint to support this.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-12 13:16:57 +01:00
Stephen Boyd
23c779b9f9 regulator: Add pull down support
Some regulators need to be configured to pull down a resistor
when the regulator is disabled. Add an op (set_pull_down) and a
DT property + constraint to support this.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-12 13:09:43 +01:00
Stephen Boyd
22a10bca28 regulator: Add system_load constraint
Some regulators have a fixed load that isn't captured by
consumers that the kernel knows about. Add a constraint to
support this.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-12 13:05:11 +01:00
Laxman Dewangan
69eb0980ab regulator: max8973: add mechanism to enable/disable through GPIO
MAX8973 supports the voltage output enable/disable through its EN
pin. This EN pin can be connected through GPIO from host processor.
Add support to provide GPIO number from platform/DT and if it is
valid GPIO then enable external control default.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 13:47:33 +01:00
Mark Brown
bea3672833 Merge remote-tracking branches 'regulator/topic/mode', 'regulator/topic/notifier', 'regulator/topic/palmas', 'regulator/topic/qcom' and 'regulator/topic/stw481x' into regulator-next 2015-04-10 19:16:03 +01:00
Mark Brown
3984c9da45 Merge remote-tracking branches 'regulator/topic/dbx500', 'regulator/topic/load-op', 'regulator/topic/max77693' and 'regulator/topic/max8660' into regulator-next 2015-04-10 19:16:02 +01:00
Mark Brown
e5073849f9 Merge remote-tracking branches 'regulator/topic/act8865', 'regulator/topic/arizona-ldo1', 'regulator/topic/arizona-micsupp' and 'regulator/topic/da9211' into regulator-next 2015-04-10 19:16:00 +01:00
Mark Brown
5fc31b43d5 Merge remote-tracking branch 'regulator/topic/core' into regulator-next 2015-04-10 19:15:59 +01:00
Bjorn Andersson
6261b06de5 regulator: Defer lookup of supply to regulator_get
Instead of resolving regulator supplies during registration move this to
the time of a consumer retrieving a handle. The benefit is that it's
possible for one driver to register regulators with internal
dependencies out of order.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-01 21:19:44 +01:00
Axel Lin
cf39284d41 regulator: Fix documentation for regmap in the config
dev_get_regulator() does not exist, fix the typo.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-03-18 11:42:30 +00:00
Bjorn Andersson
ae6e808f15 regulator: Drop temporary regulator_set_optimum_mode wrapper
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-03-09 18:33:04 +00:00
Bjorn Andersson
e39ce48f53 regulator: Rename regulator_set_optimum_mode
Rename the regulator_set_optimum_mode() function regulator_set_load() to
better represent what's going on.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-03-09 18:32:25 +00:00
Zubair Lutfullah Kakakhel
df3a950e4e regulator: act8865: Add act8600 support
This patch adds act8600 support to the act8865 driver.

VBUS and USB charger supported by this chip can be added later

Tested on MIPS Creator CI20

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-03-06 19:43:28 +00:00
Charles Keepax
046db763aa regulator: core: Add devres versions of notifier registration
Add devm_regulator_register_notifier, this adds the resource against the
device for the consumer supply we are registering the notifier for. There
seem to be few use-cases where this wouldn't be the users intention and
this ensures the notifiers will always be removed at the correct time.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-03-05 16:42:14 +00:00
Geert Uytterhoeven
5c9e719691 regulator: core: Fix space before TAB
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-24 17:20:00 +09:00
Bjorn Andersson
8f4490e096 regulator: core: Introduce set_load op
Expose the requested load directly to the regulator implementation for
hardware that does not support the normal enum based set_mode().

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-23 23:16:00 +09:00
Mark Brown
ffe167b0f2 Merge remote-tracking branches 'regulator/topic/max8649', 'regulator/topic/mode', 'regulator/topic/mt6397', 'regulator/topic/pfuze100' and 'regulator/topic/qcom-rpm' into regulator-next 2015-02-08 11:16:27 +08:00
Mark Brown
30c5c53042 Merge remote-tracking branches 'regulator/topic/axp20x', 'regulator/topic/da9211' and 'regulator/topic/fan53555' into regulator-next 2015-02-08 11:16:23 +08:00
Mark Brown
fca8e13f50 Merge remote-tracking branch 'regulator/topic/dt-cb' into regulator-next 2015-02-08 11:16:22 +08:00
Krzysztof Kozlowski
509102760d regulator: Fix build breakage on !REGULATOR
Add missing stubs for regulator_suspend_prepare() and
regulator_suspend_finish() to fix exynos_defconfig build without
REGULATOR:

arch/arm/mach-exynos/built-in.o: In function `exynos_suspend_finish':
arch/arm/mach-exynos/suspend.c:537: undefined reference to `regulator_suspend_finish'
arch/arm/mach-exynos/built-in.o: In function `exynos_suspend_prepare':
arch/arm/mach-exynos/suspend.c:520: undefined reference to `regulator_suspend_prepare'
make: *** [vmlinux] Error 1

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reported-by: Joerg Roedel <joro@8bytes.org>
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-04 11:22:21 +00:00
James Ban
8c7dd8bce0 regulator: da9211: Add gpio control for enable/disable of buck
This is a patch for adding gpio control about enable/disable of buck.

Signed-off-by: James Ban <james.ban.opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-28 17:38:14 +00:00
James Ban
076c3b8e03 regulator: da9211: fix unmatched of_node
This is a patch for fixing unmatched of_node.

Signed-off-by: James Ban <james.ban.opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-16 11:47:59 +00:00
Robin Gong
e5a7a72cd5 regulator: pfuze100-regulator: add pfuze3000 support
Add pfuze3000 chip support.

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-09 12:22:18 +00:00