Merge 4.9.270 into android-4.9-q
Linux 4.9.270
* Bluetooth: SMP: Fail if remote and local public keys are identical
net/bluetooth/smp.c
video: hgafb: correctly handle card detect failure during probe
iio: tsl2583: Fix division by a zero lux_val
* tty: vt: always invoke vc->vc_sw->con_resize callback
drivers/tty/vt/vt.c
* vt: Fix character height handling with VT_RESIZEX
drivers/tty/vt/vt_ioctl.c
include/linux/console_struct.h
vgacon: Record video mode changes with VT_RESIZEX
video: hgafb: fix potential NULL pointer dereference
qlcnic: Add null check after calling netdev_alloc_skb
leds: lp5523: check return value of lp5xx_read and jump to cleanup code
net: rtlwifi: properly check for alloc_workqueue() failure
net: stmicro: handle clk_prepare() failure during init
ethernet: sun: niu: fix missing checks of niu_pci_eeprom_read()
Revert "niu: fix missing checks of niu_pci_eeprom_read"
Revert "qlcnic: Avoid potential NULL pointer dereference"
Revert "rtlwifi: fix a potential NULL pointer dereference"
cdrom: gdrom: initialize global variable at init time
cdrom: gdrom: deallocate struct gdrom_unit fields in remove_gdrom
Revert "gdrom: fix a memory leak bug"
* Revert "ecryptfs: replace BUG_ON with error handling code"
fs/ecryptfs/crypto.c
Revert "video: imsttfb: fix potential NULL pointer dereferences"
Revert "hwmon: (lm80) fix a missing check of bus read in lm80 probe"
Revert "leds: lp5523: fix a missing check of return value of lp55xx_read"
Revert "net: stmicro: fix a missing check of clk_prepare"
Revert "video: hgafb: fix potential NULL pointer dereference"
dm snapshot: fix crash with transient storage and zero chunk size
xen-pciback: reconfigure also from backend watch handler
rapidio: handle create_workqueue() failure
Revert "rapidio: fix a NULL pointer dereference when create_workqueue() fails"
Revert "ALSA: sb8: add a check for request_region"
* ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro
sound/firewire/Kconfig
* ALSA: usb-audio: Validate MS endpoint descriptors
sound/usb/midi.c
ALSA: line6: Fix racy initialization of LINE6 MIDI
cifs: fix memory leak in smb2_copychunk_range
* ptrace: make ptrace() fail if the tracee changed its pid unexpectedly
kernel/ptrace.c
scsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword()
RDMA/rxe: Clear all QP fields if creation failed
openrisc: Fix a memory leak
Merge 4.9.269 into android-4.9-q
Linux 4.9.269
* ipv6: remove extra dev_hold() for fallback tunnels
net/ipv6/ip6_tunnel.c
net/ipv6/ip6_vti.c
net/ipv6/sit.c
* xhci: Do not use GFP_KERNEL in (potentially) atomic context
drivers/usb/host/xhci.c
* ip6_tunnel: sit: proper dev_{hold|put} in ndo_[un]init methods
net/ipv6/ip6_tunnel.c
* sit: proper dev_{hold|put} in ndo_[un]init methods
net/ipv6/sit.c
lib: stackdepot: turn depot_lock spinlock to raw_spinlock
ALSA: hda: generic: change the DAC ctl name for LO+SPK or LO+HP
ceph: fix fscache invalidation
um: Mark all kernel symbols as local
Input: silead - add workaround for x86 BIOS-es which bring the chip up in a stuck state
ACPI / hotplug / PCI: Fix reference count leak in enable_slot()
isdn: capi: fix mismatched prototypes
cxgb4: Fix the -Wmisleading-indentation warning
usb: sl811-hcd: improve misleading indentation
kgdb: fix gcc-11 warning on indentation
extcon: adc-jack: Fix incompatible pointer type warning
x86/msr: Fix wr/rdmsr_safe_regs_on_cpu() prototypes
clk: exynos7: Mark aclk_fsys1_200 as critical
* netfilter: conntrack: Make global sysctls readonly in non-init netns
net/netfilter/nf_conntrack_standalone.c
* kobject_uevent: remove warning in init_uevent_argv()
lib/kobject_uevent.c
* dm ioctl: fix out of bounds array access when no devices
drivers/md/dm-ioctl.c
thermal/core/fair share: Lock the thermal zone while looping over instances
MIPS: Avoid handcoded DIVU in `__div64_32' altogether
MIPS: Avoid DIVU in `__div64_32' is result would be zero
MIPS: Reinstate platform `__div64_32' handler
* FDDI: defxx: Make MMIO the configuration default except for EISA
drivers/net/fddi/Kconfig
KVM: x86: Cancel pvclock_gtod_work on module removal
* usb: core: hub: fix race condition about TRSMRCY of resume
drivers/usb/core/hub.c
usb: dwc2: Fix gadget DMA unmap direction
* usb: xhci: Increase timeout for HC halt
drivers/usb/host/xhci-ext-caps.h
ACPI: scan: Fix a memory leak in an error handling path
usb: fotg210-hcd: Fix an error message
iio: proximity: pulsedlight: Fix rumtime PM imbalance on error
squashfs: fix divide error in calculate_skip()
powerpc/64s: Fix crashes when toggling entry flush barrier
ARC: entry: fix off-by-one error in syscall number validation
kernel: kexec_file: fix error return code of kexec_calculate_store_digests()
ksm: fix potential missing rmap_item for stable_node
mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts()
khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate()
drm/radeon: Fix off-by-one power_state index heap overwrite
sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b
NFSv4.2 fix handling of sr_eof in SEEK's reply
pNFS/flexfiles: fix incorrect size check in decode_nfs_fh()
NFS: Deal correctly with attribute generation counter overflow
NFSv4.2: Always flush out writes in nfs42_proc_fallocate()
ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook
* PCI: Release OF node in pci_scan_device()'s error path
drivers/pci/probe.c
* f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
fs/f2fs/inline.c
ASoC: rt286: Make RT286_SET_GPIO_* readable and writable
net: ethernet: mtk_eth_soc: fix RX VLAN offload
powerpc/iommu: Annotate nested lock for lockdep
wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join
wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt
powerpc/pseries: Stop calling printk in rtas_stop_self()
samples/bpf: Fix broken tracex1 due to kprobe argument change
ASoC: rt286: Generalize support for ALC3263 codec
sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
kconfig: nconf: stop endless search loops
selftests: Set CC to clang in lib.mk if LLVM is set
cuse: prevent clone
mac80211: clear the beacon's CRC after channel switch
* ip6_vti: proper dev_{hold|put} in ndo_[un]init methods
net/ipv6/ip6_vti.c
* Bluetooth: initialize skb_queue_head at l2cap_chan_create()
net/bluetooth/l2cap_core.c
* Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default
net/bluetooth/l2cap_core.c
ALSA: rme9652: don't disable if not enabled
ALSA: hdspm: don't disable if not enabled
ALSA: hdsp: don't disable if not enabled
net: stmmac: Set FIFO sizes for ipq806x
tipc: convert dest node's address to network order
fs: dlm: fix debugfs dump
* Revert "fdt: Properly handle "no-map" field in the memory region"
drivers/of/fdt.c
* Revert "of/fdt: Make sure no-map does not remove already reserved regions"
drivers/of/fdt.c
sctp: delay auto_asconf init until binding the first addr
Revert "net/sctp: fix race condition in sctp_destroy_sock"
kfifo: fix ternary sign extension bugs
net:nfc:digital: Fix a double free in digital_tg_recv_dep_req
net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send
powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add')
ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices
net: davinci_emac: Fix incorrect masking of tx and rx error channel
RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails
vsock/vmci: log once the failed queue pair allocation
mwl8k: Fix a double Free in mwl8k_probe_hw
i2c: sh7760: fix IRQ error path
powerpc/pseries: extract host bridge from pci_bus prior to bus removal
MIPS: pci-legacy: stop using of_pci_range_to_resource
i2c: sh7760: add IRQ check
i2c: jz4780: add IRQ check
i2c: emev2: add IRQ check
i2c: cadence: add IRQ check
net: thunderx: Fix unintentional sign extension issue
mt7601u: fix always true expression
mac80211: bail out if cipher schemes are invalid
powerpc: iommu: fix build when neither PCI or IBMVIO is set
powerpc/perf: Fix PMU constraint check for EBB events
liquidio: Fix unintented sign extension of a left shift of a u16
* ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls
sound/usb/card.c
sound/usb/quirks.c
sound/usb/usbaudio.h
nfc: pn533: prevent potential memory corruption
* ALSA: core: remove redundant spin_lock pair in snd_card_disconnect
sound/core/init.c
powerpc/prom: Mark identical_pvr_fixup as __init
net: lapbether: Prevent racing when checking whether the netif is running
perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars
* HID: plantronics: Workaround for double volume key presses
drivers/hid/hid-ids.h
drivers/hid/hid-plantronics.c
include/linux/hid.h
x86/events/amd/iommu: Fix sysfs type mismatch
HSI: core: fix resource leaks in hsi_add_client_from_dt()
scsi: sni_53c710: Add IRQ check
scsi: sun3x_esp: Add IRQ check
scsi: jazz_esp: Add IRQ check
clk: uniphier: Fix potential infinite loop
media: dvb-usb-remote: fix dvb_usb_nec_rc_key_to_event type mismatch
scsi: fcoe: Fix mismatched fcoe_wwn_from_mac declaration
ata: libahci_platform: fix IRQ check
sata_mv: add IRQ checks
pata_ipx4xx_cf: fix IRQ check
pata_arasan_cf: fix IRQ check
media: m88rs6000t: avoid potential out-of-bounds reads on arrays
media: omap4iss: return error code when omap4iss_get() failed
media: vivid: fix assignment of dev->fbuf_out_flags
ttyprintk: Add TTY hangup callback.
Drivers: hv: vmbus: Increase wait time for VMbus unload
x86/platform/uv: Fix !KEXEC build failure
* firmware: qcom-scm: Fix QCOM_SCM configuration
drivers/firmware/Kconfig
* tty: fix return value for unsupported ioctls
drivers/tty/tty_io.c
include/linux/tty_driver.h
* tty: actually undefine superseded ASYNC flags
include/uapi/linux/tty_flags.h
USB: cdc-acm: fix unprivileged TIOCCSERIAL
usb: gadget: r8a66597: Add missing null check on return from platform_get_resource
crypto: qat - Fix a double free in adf_create_ring
staging: greybus: uart: fix unprivileged TIOCCSERIAL
staging: rtl8192u: Fix potential infinite loop
mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init
crypto: qat - fix error path in adf_isr_resource_alloc()
bus: qcom: Put child node before return
mtd: require write permissions for locking and badblock ioctls
fotg210-udc: Complete OUT requests on short packets
fotg210-udc: Don't DMA more than the buffer can take
fotg210-udc: Mask GRP2 interrupts we don't handle
fotg210-udc: Remove a dubious condition leading to fotg210_done
fotg210-udc: Fix EP0 IN requests bigger than two packets
fotg210-udc: Fix DMA on EP0 for length > max packet size
crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init
crypto: qat - don't release uninitialized resources
usb: gadget: pch_udc: Check for DMA mapping error
usb: gadget: pch_udc: Check if driver is present before calling ->setup()
usb: gadget: pch_udc: Replace cpu_to_le32() by lower_32_bits()
serial: stm32: fix incorrect characters on console
ARM: dts: exynos: correct PMIC interrupt trigger level on Snow
ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250
memory: gpmc: fix out of bounds read and dereference on gpmc_cs[]
usb: gadget: pch_udc: Revert d3cb25a121 completely
ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices
ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries
ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries
ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries
ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries
drm/radeon: fix copy of uninitialized variable back to userspace
* cfg80211: scan: drop entry from hidden_list on overflow
net/wireless/scan.c
ipw2x00: potential buffer overflow in libipw_wx_set_encodeext()
md: md_open returns -EBUSY when entering racing area
md: factor out a mddev_find_locked helper from mddev_find
md-cluster: fix use-after-free issue when removing rdev
* tracing: Restructure trace_clock_global() to never block
kernel/trace/trace_clock.c
* tracing: Map all PIDs to command lines
kernel/trace/trace.c
* tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline()
kernel/trace/trace.c
* tracing: Treat recording comm for idle task as a success
kernel/trace/trace.c
misc: vmw_vmci: explicitly initialize vmci_datagram payload
misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct
misc: lis3lv02d: Fix false-positive WARN on various HP models
FDDI: defxx: Bail out gracefully with unassigned PCI resource for CSR
net/nfc: fix use-after-free llcp_sock_bind/connect
* bluetooth: eliminate the potential race condition when removing the HCI controller
net/bluetooth/hci_request.c
hsr: use netdev_err() instead of WARN_ONCE()
* Bluetooth: verify AMP hci_chan before amp_destroy
include/net/bluetooth/hci_core.h
net/bluetooth/hci_event.c
* dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails
drivers/md/dm-rq.c
dm space map common: fix division bug in sm_ll_find_free_block()
dm persistent data: packed struct should have an aligned() attribute too
* usb: gadget/function/f_fs string table fix for multiple languages
drivers/usb/gadget/function/f_fs.c
* usb: gadget: Fix double free of device descriptor pointers
drivers/usb/gadget/config.c
usb: gadget: dummy_hcd: fix gpf in gadget_setup
* media: dvbdev: Fix memory leak in dvb_media_device_free()
drivers/media/dvb-core/dvbdev.c
* ext4: fix error code in ext4_commit_super
fs/ext4/super.c
* ext4: fix check to prevent false positive report of incorrect used inodes
fs/ext4/ialloc.c
ftrace: Handle commands when closing set_ftrace_filter file
* Revert 337f13046f ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op")
kernel/futex.c
jffs2: check the validity of dstlen in jffs2_zlib_compress()
powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h
powerpc/eeh: Fix EEH handling for hugepages in ioremap space.
jffs2: Fix kasan slab-out-of-bounds problem
NFSv4: Don't discard segments marked for return in _pnfs_return_layout()
openvswitch: fix stack OOB read while fragmenting IPv4 packets
* arm64/vdso: Discard .note.gnu.property sections in vDSO
arch/arm64/kernel/vdso/vdso.lds.S
ALSA: sb: Fix two use after free in snd_sb_qsound_build
ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer
scsi: libfc: Fix a format specifier
scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response
drm/amdgpu: fix NULL pointer dereference
drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal
media: gscpa/stv06xx: fix memory leak
media: dvb-usb: fix memory leak in dvb_usb_adapter_init
media: i2c: adv7842: fix possible use-after-free in adv7842_remove()
media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove()
media: adv7604: fix possible use-after-free in adv76xx_remove()
power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove()
power: supply: generic-adc-battery: fix possible use-after-free in gab_remove()
clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return
media: em28xx: fix memory leak
scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg()
scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats()
power: supply: Use IRQF_ONESHOT
media: gspca/sq905.c: fix uninitialized variable
media: media/saa7164: fix saa7164_encoder_register() memory leak bugs
extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged
media: ite-cir: check for receive overflow
scsi: target: pscsi: Fix warning in pscsi_complete_cmd()
btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s
phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove()
intel_th: Consistency and off-by-one fix
spi: omap-100k: Fix reference leak to master
spi: dln2: Fix reference leak to master
x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS)
* PCI: PM: Do not read power state in pci_enable_device_flags()
drivers/pci/pci.c
* usb: xhci: Fix port minor revision
drivers/usb/host/xhci-mem.c
* usb: dwc3: gadget: Ignore EP queue requests during bus reset
drivers/usb/dwc3/gadget.c
usb: gadget: uvc: add bInterval checking for HS mode
staging: wimax/i2400m: fix byte-order issue
* fbdev: zero-fill colormap in fbcmap.c
drivers/video/fbdev/core/fbcmap.c
btrfs: fix metadata extent leak after failure to create subvolume
* mmc: core: Set read only for SD cards with permanent write protect bit
drivers/mmc/core/sd.c
* mmc: core: Do a power cycle when the CMD11 fails
drivers/mmc/core/core.c
* ecryptfs: fix kernel panic with null dev_name
fs/ecryptfs/main.c
arm64: dts: mt8173: fix property typo of 'phys' in dsi node
ACPI: custom_method: fix a possible memory leak
ACPI: custom_method: fix potential use-after-free issue
s390/disassembler: increase ebpf disasm buffer size
platform/x86: thinkpad_acpi: Correct thermal sensor allocation
* USB: Add reset-resume quirk for WD19's Realtek Hub
drivers/usb/core/quirks.c
* USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet
drivers/usb/core/quirks.c
* ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX
sound/usb/quirks-table.h
iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd()
* net: usb: ax88179_178a: initialize local variables before use
drivers/net/usb/ax88179_178a.c
Bug: 189791081
Change-Id: Icfd08a4c79a6563b6e98de8a9295114e919fc8f3
Signed-off-by: Lucas Wei <lucaswei@google.com>
commit 8a522bf2d4f788306443d36b26b54f0aedcdfdbe upstream.
This patch fixes the incompatible warning of extcon-adc-jack.c driver
when calling devm_extcon_dev_allocate().
Signed-off-by: Peter Foley <pefoley2@pefoley.com>
[cw00.choi: Modify the patch title and descritpion]
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
extcon-gpio driver currently doesn't support passing the platfroom data via
device tree, we are adding this support so extcon-gpio driver can be used
with platforms using the DT from platform data. We are also fixing the
issue where we were passing the supported_cable incorrect way to
extcon_dev_allocate() API.
Change-Id: I035c2f6c43d6c5140bc9a3088da7c1b3f2f108f1
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
This patch removes the usage of extcon_set_state() because it uses the bit
masking to change the state of external connectors. The extcon framework
should handle the state by extcon_set/get_cable_state_() with extcon id.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
adding suspend and resume funtionality for extcon-adc-jack
driver to configure system wake up for extcon events,
also adding support to enable/disable system wakeup
through flag wakeup_source based on platform requirement.
Signed-off-by: Venkat Reddy Talla <vreddytalla@nvidia.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This patch fixes the minor coding style about indentation and removes the
unused fields from struct gpio_extcon_platform_data.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
The commit 2a9de9c0 ("extcon: Use the unique id for external connector instead
of string") defines the unique id of each external connector to identify the
type of external connector instead of string name. So, devm_extcon_dev_allocate()
should include the second parameter (unsigned int *supported_cable). This patch
adds the supported_cable parameter which is passed by platform data.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This patch uses the unique id to identify the type of external connector instead
of string name. The string name have the many potential issues. So, this patch
defines the 'extcon' enumeration which includes all supported external connector
on EXTCON subsystem. If new external connector is necessary, the unique id of
new connector have to be added in 'extcon' enumeration. There are current
supported external connector in 'enum extcon' as following:
enum extcon {
EXTCON_NONE = 0x0,
/* USB external connector */
EXTCON_USB = 0x1,
EXTCON_USB_HOST = 0x2,
/* Charger external connector */
EXTCON_TA = 0x10,
EXTCON_FAST_CHARGER = 0x11,
EXTCON_SLOW_CHARGER = 0x12,
EXTCON_CHARGE_DOWNSTREAM = 0x13,
/* Audio and video external connector */
EXTCON_LINE_IN = 0x20,
EXTCON_LINE_OUT = 0x21,
EXTCON_MICROPHONE = 0x22,
EXTCON_HEADPHONE = 0x23,
EXTCON_HDMI = 0x30,
EXTCON_MHL = 0x31,
EXTCON_DVI = 0x32,
EXTCON_VGA = 0x33,
EXTCON_SPDIF_IN = 0x34,
EXTCON_SPDIF_OUT = 0x35,
EXTCON_VIDEO_IN = 0x36,
EXTCON_VIDEO_OUT = 0x37,
/* Miscellaneous external connector */
EXTCON_DOCK = 0x50,
EXTCON_JIG = 0x51,
EXTCON_MECHANICAL = 0x52,
EXTCON_END,
};
For example in extcon-arizona.c:
To use unique id removes the potential issue about handling
the inconsistent name of external connector with string.
- Previously, use the string to register the type of arizona jack connector
static const char *arizona_cable[] = {
"Mechanical",
"Microphone",
"Headphone",
"Line-out",
};
- Newly, use the unique id to register the type of arizona jack connector
static const enum extcon arizona_cable[] = {
EXTCON_MECHANICAL,
EXTCON_MICROPHONE,
EXTCON_HEADPHONE,
EXTCON_LINE_OUT,
EXTCON_NONE,
};
And this patch modify the prototype of extcon_{get|set}_cable_state_() which
uses the 'enum extcon id' instead of 'cable_index'. Because although one more
extcon drivers support USB cable, each extcon driver might has the differnt
'cable_index' for USB cable. All extcon drivers can use the unique id number
for same external connector with modified extcon_{get|set}_cable_state_().
- Previously, use 'cable_index' on these functions:
extcon_get_cable_state_(struct extcon_dev*, int cable_index)
extcon_set_cable_state_(struct extcon_dev*, int cable_index, bool state)
-Newly, use 'enum extcon id' on these functions:
extcon_get_cable_state_(struct extcon_dev*, enum extcon id)
extcon_set_cable_state_(struct extcon_dev*, enum extcon id, bool state)
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Acked-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[arnd: Report the build break about drivers/usb/phy/phy-tahvo.c after using the
unique id for external connector insteadf of string]
Reported-by: Arnd Bergmann <arnd@arndb.de>
[dan.carpenter: Report the build warning of extcon_{set|get}_cable_state_()]
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
This patch fixes following minor cleanup:
- Order the include files in alphabetical order.
- Fix description of state_off in extcon_gpio.h
- Add a descrition for check_on_resume in extcon_gpio.h
Signed-off-by: George Cherian <george.cherian@ti.com>
[Modify the name/description of patch to keep standary codiyg style by Chanwoo Choi]
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This patch move sm5502.h header file from 'include/linux/extcon' to
'driver/extcon' because sm5502.h is used for driver/extcon/extcon-sm5502.c.
and remove duplicate license description.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This patch changes internal hardware DP_CON/DM_CON switch according to
cable type. The SM5502 MUIC device can set hardware switch as following:
- OPEN (not connected state) / USB / UART / AUDIO
Also, this patch set VBUSIN switch according to cable type.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This patch add new SM5502 MUIC(Micro-USB Interface Controller) device by using
EXTCON subsystem. The extcon-sm5502 driver is capable of identifying the type
of the external power source and attached accessory. An external power sources,
such as Deticated Charger or a standard USB port, are able to charge the battery
in the smart phone via the connector.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This patch move simply OF helper function to extcon core and change function
name as following:
- of_extcon_get_extcon_dev() -> extcon_get_edev_by_phandle()
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Felipe Balbi <balbi@ti.com>
This patch add 'gpio_active_low' field to 'struct gpio_extcon_data'
to check whether gpio active state is 1(high) or 0(low).
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Added an API of_extcon_get_extcon_dev() to be used by drivers to get
extcon device in the case of dt boot (this can be used instead of
extcon_get_extcon_dev()).
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
External connector devices that decides connection information based on
ADC values may use adc-jack device driver. The user simply needs to
provide a table of adc range and connection states. Then, extcon
framework will automatically notify others.
Changes in V1:
added Lars-Peter Clausen suggested changes:
Using macros to get rid of boiler plate code such as devm_kzalloc
and module_platform_driver.Other changes suggested are related to
coding guidelines.
Changes in V2:
Removed some unnecessary checks and changed the way we are un-regitering
extcon and freeing the irq while removing.
Changes in V3:
Renamed the files to comply with extcon naming.
Changes in V4:
Added the cancel_work_sync during removing of driver.
Changes in V5:
Added the dependency of IIO in Kconfig.
Changes in V6:
Some nitpicks related to naming.
Changes in this version:
V6 patch version patch broke the build:
ERROR: "extcon_cable_name" [drivers/extcon/extcon-adc-jack.ko] undefined!
Fixed it in this version.
Acked-by: Jonathan Cameron <jic23@kernel.org>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: anish kumar <anish.singh@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
External connector devices that decides connection information based on
ADC values may use adc-jack device driver. The user simply needs to
provide a table of adc range and connection states. Then, extcon
framework will automatically notify others.
Changes in V1:
added Lars-Peter Clausen suggested changes:
Using macros to get rid of boiler plate code such as devm_kzalloc
and module_platform_driver.Other changes suggested are related to
coding guidelines.
Changes in V2:
Removed some unnecessary checks and changed the way we are un-regitering
extcon and freeing the irq while removing.
Changes in V3:
Renamed the files to comply with extcon naming.
Changes in V4:
Added the cancel_work_sync during removing of driver.
Changes in V5:
Added the dependency of IIO in Kconfig.
Changes in V6:
Some nitpicks related to naming.
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: anish kumar <anish.singh@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The generic GPIO extcon driver (an external connector device based on
GPIO control) and imported from Android kernel.
switch: switch class and GPIO drivers. (splitted)
Author: Mike Lockwood <lockwood@android.com>
switch: gpio: Don't call request_irq with interrupts disabled
Author: Arve Hjønnevåg <arve@android.com>
switch_gpio: Add missing #include <linux/interrupt.h>
Author: Mike Lockwood <lockwood@android.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
--
Changed from v7:
- Style updates mentioned by Stephen Boyd and Mark Brown
Changed from v5:
- Splitted at v5 from the main extcon patch.
- Added debounce time for irq handlers.
- Use request_any_context_irq instead of request_irq
- User needs to specify irq flags for GPIO interrupts (was fixed to
IRQF_TRIGGER_LOW before)
- Use module_platform_driver().
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>