https://source.android.com/docs/security/bulletin/2024-06-01 CVE-2024-26926 * tag 'ASB-2024-06-05_11-5.4' of https://android.googlesource.com/kernel/common: ANDROID: ABI fixup for abi break in struct dst_ops BACKPORT: net: fix __dst_negative_advice() race UPSTREAM: selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior Revert "timers: Rename del_timer_sync() to timer_delete_sync()" Reapply "media: ttpci: fix two memleaks in budget_av_attach" Revert "media: rename VFL_TYPE_GRABBER to _VIDEO" Revert "media: media/pci: rename VFL_TYPE_GRABBER to _VIDEO" Revert "media: ttpci: fix two memleaks in budget_av_attach" Revert "net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv()" Revert "regmap: allow to define reg_update_bits for no bus configuration" Revert "regmap: Add bulk read/write callbacks into regmap_config" Revert "serial: max310x: fix IO data corruption in batched operations" Revert "geneve: make sure to pull inner header in geneve_rx()" Linux 5.4.274 firmware: meson_sm: fix to avoid potential NULL pointer dereference ip_gre: do not report erspan version on GRE interface erspan: Check IFLA_GRE_ERSPAN_VER is set. VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler() Bluetooth: btintel: Fixe build regression x86/alternative: Don't call text_poke() in lazy TLB mode drm/i915/gt: Reset queue_priority_hint on parking x86/mm/pat: fix VM_PAT handling in COW mappings virtio: reenable config if freezing device failed drm/vkms: call drm_atomic_helper_shutdown before drm_dev_put() tty: n_gsm: require CAP_NET_ADMIN to attach N_GSM0710 ldisc netfilter: nf_tables: discard table flag update with pending basechain deletion netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path netfilter: nf_tables: release batch on table validation from abort path netfilter: nf_tables: reject new basechain after table flag update fbmon: prevent division by zero in fb_videomode_from_videomode() fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2 usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined usb: typec: tcpci: add generic tcpci fallback compatible tools: iio: replace seekdir() in iio_generic_buffer ktest: force $buildonly = 1 for 'make_warnings_file' test type Input: allocate keycode for Display refresh rate toggle block: prevent division by zero in blk_rq_stat_sum() Revert "ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default" SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int drm/amd/display: Fix nanosec stat overflow media: sta2x11: fix irq handler cast isofs: handle CDs with bad root inode but good Joliet root directory scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc() sysv: don't call sb_bread() with pointers_lock held Input: synaptics-rmi4 - fail probing if memory allocation for "phys" fails Bluetooth: btintel: Fix null ptr deref in btintel_read_version btrfs: send: handle path ref underflow in header iterate_inode_ref() btrfs: export: handle invalid inode or root reference in btrfs_get_parent() btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks() tools/power x86_energy_perf_policy: Fix file leak in get_pkg_num() ionic: set adminq irq affinity arm64: dts: rockchip: fix rk3399 hdmi ports node arm64: dts: rockchip: fix rk3328 hdmi ports node panic: Flush kernel log buffer at the end VMCI: Fix memcpy() run-time warning in dg_dispatch_as_host() wifi: ath9k: fix LNA selection in ath_ant_try_scan() s390/entry: align system call table on 8 bytes x86/mce: Make sure to grab mce_sysfs_mutex in set_bank() ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone ata: sata_mv: Fix PCI device ID table declaration compilation warning scsi: mylex: Fix sysfs buffer lengths ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw net: ravb: Always process TX descriptor ring erspan: make sure erspan_base_hdr is present in skb->head erspan: Add type I version 0 support. init: open /initrd.image with O_LARGEFILE initramfs: switch initramfs unpacking to struct file based APIs fs: add a vfs_fchmod helper fs: add a vfs_fchown helper staging: vc04_services: fix information leak in create_component() staging: vc04_services: changen strncpy() to strscpy_pad() staging: mmal-vchiq: Fix client_component for 64 bit kernel staging: mmal-vchiq: Allocate and free components as required i40e: fix vf may be used uninitialized in this function warning ipv6: Fix infinite recursion in fib6_dump_done(). selftests: reuseaddr_conflict: add missing new line at the end of the output net: stmmac: fix rx queue priority assignment net/sched: act_skbmod: prevent kernel-infoleak bpf, sockmap: Prevent lock inversion deadlock in map delete elem netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get() netfilter: nf_tables: flush pending destroy work before exit_net release mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped." vfio/platform: Create persistent IRQ handlers vfio/pci: Create persistent INTx handler vfio: Introduce interface to flush virqfd inject workqueue vfio/pci: Lock external INTx masking ops vfio/pci: Disable auto-enable of exclusive INTx IRQ net/rds: fix possible cp null dereference netfilter: nf_tables: disallow timeout for anonymous sets Bluetooth: Fix TOCTOU in HCI debugfs implementation Bluetooth: hci_event: set the conn encrypted before conn establishes x86/cpufeatures: Add new word for scattered features r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d dm integrity: fix out-of-range warning tcp: properly terminate timers for kernel sockets ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa() nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet USB: core: Fix deadlock in usb_deauthorize_interface() scsi: lpfc: Correct size for wqe for memset() x86/cpu: Enable STIBP on AMD if Automatic IBRS is enabled scsi: qla2xxx: Fix command flush on cable pull usb: udc: remove warning when queue disabled ep usb: dwc2: gadget: LPM flow fix usb: dwc2: host: Fix ISOC flow in DDMA mode usb: dwc2: host: Fix hibernation flow usb: dwc2: host: Fix remote wakeup from hibernation scsi: core: Fix unremoved procfs host directory regression ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs usb: cdc-wdm: close race between read and workqueue mmc: core: Avoid negative index with array access mmc: core: Initialize mmc_blk_ioc_data exec: Fix NOMMU linux_binprm::exec in transfer_args_to_stack() wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes mm/migrate: set swap entry values of THP tail pages properly. mm/memory-failure: fix an incorrect use of tail pages vt: fix memory overlapping when deleting chars in the buffer bounds: support non-power-of-two CONFIG_NR_CPUS powerpc: xor_vmx: Add '-mhard-float' to CFLAGS efivarfs: Request at most 512 bytes for variable names perf/core: Fix reentry problem in perf_output_read_group() loop: loop_set_status_from_info() check before assignment loop: Check for overflow while configuring loop loop: Factor out configuring loop from status loop: Refactor loop_set_status() size calculation loop: Factor out setting loop device size loop: Remove sector_t truncation checks loop: Call loop_config_discard() only after new config is applied Revert "loop: Check for overflow while configuring loop" btrfs: allocate btrfs_ioctl_defrag_range_args on stack printk: Update @console_may_schedule in console_trylock_spinning() xen/events: close evtchn after mapping cleanup x86/speculation: Support intra-function call validation objtool: Add support for intra-function calls objtool: is_fentry_call() crashes if call has no destination fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion vt: fix unicode buffer corruption when deleting characters tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled usb: port: Don't try to peer unused USB ports based on location usb: gadget: ncm: Fix handling of zero block length packets USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform xfrm: Avoid clang fortify warning in copy_to_user_tmpl() netfilter: nf_tables: reject constant set with timeout netfilter: nf_tables: disallow anonymous set with timeout flag netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout comedi: comedi_test: Prevent timers rescheduling during deletion dm snapshot: fix lockup in dm_exception_table_exit ahci: asm1064: asm1166: don't limit reported ports ahci: asm1064: correct count of reported ports x86/CPU/AMD: Update the Zenbleed microcode revisions nilfs2: prevent kernel bug at submit_bh_wbc() nilfs2: use a more common logging style nilfs2: fix failure to detect DAT corruption in btree and direct mappings memtest: use {READ,WRITE}_ONCE in memory scanning drm/vc4: hdmi: do not return negative values from .get_modes() drm/imx/ipuv3: do not return negative values from .get_modes() drm/exynos: do not return negative values from .get_modes() s390/zcrypt: fix reference counting on zcrypt card objects soc: fsl: qbman: Use raw spinlock for cgr_lock soc: fsl: qbman: Add CGR update function soc: fsl: qbman: Add helper for sanity checking cgr ops soc: fsl: qbman: Always disable interrupts when taking cgr_lock ring-buffer: Fix full_waiters_pending in poll ring-buffer: Fix resetting of shortest_full vfio/platform: Disable virqfds on cleanup kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1 speakup: Fix 8bit characters from direct synth slimbus: core: Remove usage of the deprecated ida_simple_xx() API nvmem: meson-efuse: fix function pointer type mismatch firmware: meson_sm: Rework driver as a proper platform driver ext4: fix corruption during on-line resize hwmon: (amc6821) add of_match table mmc: core: Fix switch on gp3 partition dm-raid: fix lockdep waring in "pers->hot_add_disk" Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"" PCI/PM: Drain runtime-idle callbacks before driver removal PCI: Drop pci_device_remove() test of pci_dev->driver btrfs: fix off-by-one chunk length calculation at contains_pending_extent() fuse: don't unhash root mmc: tmio: avoid concurrent runs of mmc_request_done() PM: sleep: wakeirq: fix wake irq warning in system suspend USB: serial: cp210x: add pid/vid for TDK NC0110013M and MM0110113M USB: serial: option: add MeiG Smart SLM320 product USB: serial: cp210x: add ID for MGP Instruments PDS100 USB: serial: add device ID for VeriFone adapter USB: serial: ftdi_sio: add support for GMC Z216C Adapter IR-USB powerpc/fsl: Fix mfpmr build errors with newer binutils clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays PM: suspend: Set mem_sleep_current during kernel command line setup parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds parisc: Fix csum_ipv6_magic on 64-bit systems parisc: Fix csum_ipv6_magic on 32-bit systems parisc: Fix ip_fast_csum parisc: Do not hardcode registers in checksum functions mtd: rawnand: meson: fix scrambling mode value in command macro ubi: correct the calculation of fastmap size ubi: Check for too small LEB size in VTBL code ubifs: Set page uptodate in the correct place fat: fix uninitialized field in nostale filehandles ext4: correct best extent lstart adjustment logic selftests/mqueue: Set timeout to 180 seconds crypto: qat - resolve race condition during AER recovery crypto: qat - fix double free during reset sparc: vDSO: fix return value of __setup handler sparc64: NMI watchdog: fix return value of __setup handler KVM: Always flush async #PF workqueue when vCPU is being destroyed media: xc4000: Fix atomicity violation in xc4000_get_frequency serial: max310x: fix NULL pointer dereference in I2C instantiation arm: dts: marvell: Fix maxium->maxim typo in brownstone dts ARM: dts: mmp2-brownstone: Don't redeclare phandle references smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity() smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr() clk: qcom: gcc-sdm845: Add soft dependency on rpmhpd media: staging: ipu3-imgu: Set fields before media_entity_pads_init() wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach timers: Rename del_timer_sync() to timer_delete_sync() timers: Use del_timer_sync() even on UP timers: Update kernel-doc for various functions x86/bugs: Use sysfs_emit() x86/cpu: Support AMD Automatic IBRS Documentation/hw-vuln: Update spectre doc amdkfd: use calloc instead of kzalloc to avoid integer overflow Linux 5.4.273 regmap: Add missing map->bus check spi: spi-mt65xx: Fix NULL pointer access in interrupt handler bpf: report RCU QS in cpumap kthread rcu: add a helper to report consolidated flavor QS netfilter: nf_tables: do not compare internal table flags on updates ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add regulator nodes vcc-dram and vcc1v2 octeontx2-af: Use separate handlers for interrupts net/bnx2x: Prevent access to a freed page in page_pool hsr: Handle failures in module init rds: introduce acquire/release ordering in acquire/release_in_xmit() packet: annotate data-races around ignore_outgoing hsr: Fix uninit-value access in hsr_get_node() s390/vtime: fix average steal time calculation octeontx2-af: Use matching wake_up API variant in CGX command interface usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin staging: greybus: fix get_channel_from_mode() failure path serial: 8250_exar: Don't remove GPIO device on suspend rtc: mt6397: select IRQ_DOMAIN instead of depending on it kconfig: fix infinite loop when expanding a macro at the end of file tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT serial: max310x: fix syntax error in IRQ error message tty: vt: fix 20 vs 0x20 typo in EScsiignore afs: Revert "afs: Hide silly-rename files from userspace" NFS: Fix an off by one in root_nfs_cat() watchdog: stm32_iwdg: initialize default timeout net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr() scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn RDMA/device: Fix a race between mad_client and cm_client init scsi: csiostor: Avoid function pointer casts ALSA: usb-audio: Stop parsing channels bits when all channels are found. clk: Fix clk_core_get NULL dereference sparc32: Fix section mismatch in leon_pci_grpci backlight: lp8788: Fully initialize backlight_properties during probe backlight: lm3639: Fully initialize backlight_properties during probe backlight: da9052: Fully initialize backlight_properties during probe backlight: lm3630a: Don't set bl->props.brightness in get_brightness backlight: lm3630a: Initialize backlight_properties on init powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc. drm/msm/dpu: add division of drm_display_mode's hskew parameter powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip media: ttpci: fix two memleaks in budget_av_attach media: media/pci: rename VFL_TYPE_GRABBER to _VIDEO media: rename VFL_TYPE_GRABBER to _VIDEO media: v4l2-core: correctly validate video and metadata ioctls media: go7007: fix a memleak in go7007_load_encoder media: dvb-frontends: avoid stack overflow warnings with clang media: pvrusb2: fix uaf in pvr2_context_set_notify drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int() ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs mtd: rawnand: lpc32xx_mlc: fix irq handler prototype mtd: maps: physmap-core: fix flash size larger than 32-bit crypto: arm/sha - fix function cast warnings mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref drm/tegra: put drm_gem_object ref on error in tegra_fb_create clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister() PCI: Mark 3ware-9650SE Root Port Extended Tags as broken drm/mediatek: dsi: Fix DSI RGB666 formats and definitions clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times media: pvrusb2: fix pvr2_stream_callback casts media: pvrusb2: remove redundant NULL check media: go7007: add check of return value of go7007_read_addr() media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak perf stat: Avoid metric-only segv ALSA: seq: fix function cast warnings drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode() perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str() PCI: switchtec: Fix an error handling path in switchtec_pci_probe() quota: Fix rcu annotations of inode dquot pointers quota: Fix potential NULL pointer dereference quota: simplify drop_dquot_ref() clk: qcom: reset: Ensure write completion on reset de/assertion clk: qcom: reset: Commonize the de/assert functions clk: qcom: reset: support resetting multiple bits clk: qcom: reset: Allow specifying custom reset delay media: edia: dvbdev: fix a use-after-free media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity media: v4l2-tpg: fix some memleaks in tpg_alloc media: em28xx: annotate unchecked call to media_device_register() perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample() drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()' perf record: Fix possible incorrect free in record__switch_output() PCI/DPC: Print all TLP Prefixes, not just the first media: tc358743: register v4l2 async device only after successful setup dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA drm/rockchip: lvds: do not overwrite error code drm: Don't treat 0 as -1 in drm_fixp2int_ceil drm/rockchip: inno_hdmi: Fix video timing drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe() drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe() drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe() drm/tegra: dsi: Make use of the helper function dev_err_probe() gpu: host1x: mipi: Update tegra_mipi_request() to be node based drm/tegra: dsi: Add missing check for of_find_device_by_node dm: call the resume method on internal suspend dm raid: fix false positive for requeue needed during reshape nfp: flower: handle acti_netdevs allocation failure net/x25: fix incorrect parameter validation in the x25_getsockopt() function net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function udp: fix incorrect parameter validation in the udp_lib_getsockopt() function l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function net: hns3: fix port duplex configure error in IMP reset net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv() ipv6: fib6_rules: flush route cache when rule is changed bpf: Fix stackmap overflow check on 32-bit arches bpf: Fix hashtab overflow check on 32-bit arches sr9800: Add check for usbnet_get_endpoints Bluetooth: hci_core: Fix possible buffer overflow Bluetooth: Remove superfluous call to hci_conn_check_pending() igb: Fix missing time sync events igb: move PEROUT and EXTTS isr logic to separate functions mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function SUNRPC: fix some memleaks in gssx_dec_option_array x86, relocs: Ignore relocations in .notes section ACPI: scan: Fix device check notification handling ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address ARM: dts: imx6dl-yapp4: Move phy reset into switch node ARM: dts: arm: realview: Fix development chip ROM compatible value net: ena: Remove ena_select_queue net: ena: cosmetic: fix line break issues wifi: brcmsmac: avoid function pointer casts iommu/amd: Mark interrupt as managed bus: tegra-aconnect: Update dependency to ARCH_TEGRA ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit() arm64: dts: qcom: msm8996: Pad addresses arm64: dts: qcom: msm8996: Move regulator consumers to db820c arm64: dts: qcom: msm8996: Use node references in db820c arm64: dts: qcom: db820c: Move non-soc entries out of /soc bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly bpf: Factor out bpf_spin_lock into helpers. bpf: Add typecast to bpf helpers to help BTF generation arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer() net: blackhole_dev: fix build warning for ethh set but not used af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc(). sock_diag: annotate data-races around sock_diag_handlers[family] wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir() wifi: wilc1000: fix RCU usage in connect path wifi: wilc1000: fix declarations ordering wifi: b43: Disable QoS for bcm4331 wifi: b43: Stop correct queue in DMA worker when QoS is disabled b43: main: Fix use true/false for bool type wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled b43: dma: Fix use true/false for bool type variable wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev() timekeeping: Fix cross-timestamp interpolation for non-x86 timekeeping: Fix cross-timestamp interpolation corner case decision timekeeping: Fix cross-timestamp interpolation on counter wrap aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts fs/select: rework stack allocation hack for clang nbd: null check for nla_nest_start do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC Input: gpio_keys_polled - suppress deferred probe error for gpio ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet firewire: core: use long bus reset on gap count error Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security scsi: mpt3sas: Prevent sending diag_reset when the controller is ready btrfs: fix data race at btrfs_use_block_rsv() when accessing block reserve dm-verity, dm-crypt: align "struct bvec_iter" correctly block: sed-opal: handle empty atoms when parsing response parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check net/iucv: fix the allocation size of iucv_path_table array RDMA/mlx5: Relax DEVX access upon modify commands HID: multitouch: Add required quirk for Synaptics 0xcddc device MIPS: Clear Cause.BD in instruction_pointer_set x86/xen: Add some null pointer checking to smp.c ASoC: rt5645: Make LattePanda board DMI match more precise selftests: tls: use exact comparison in recv_partial io_uring: drop any code related to SCM_RIGHTS io_uring/unix: drop usage of io_uring socket UPSTREAM: arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts UPSTREAM: arm64: dts: qcom: add PDC interrupt controller for SDM845 Linux 5.4.272 arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts arm64: dts: qcom: add PDC interrupt controller for SDM845 serial: max310x: fix IO data corruption in batched operations serial: max310x: implement I2C support serial: max310x: make accessing revision id interface-agnostic regmap: Add bulk read/write callbacks into regmap_config regmap: allow to define reg_update_bits for no bus configuration serial: max310x: Unprepare and disable clock in error path getrusage: use sig->stats_lock rather than lock_task_sighand() getrusage: use __for_each_thread() getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand() getrusage: add the "signal_struct *sig" local variable y2038: rusage: use __kernel_old_timeval hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed hv_netvsc: use netif_is_bond_master() instead of open code hv_netvsc: Make netvsc/VF binding check both MAC and serial number Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU serial: max310x: prevent infinite while() loop in port startup serial: max310x: use a separate regmap for each port serial: max310x: use regmap methods for SPI batch operations serial: max310x: Make use of device properties serial: max310x: fail probe if clock crystal is unstable serial: max310x: Try to get crystal clock rate from property serial: max310x: Use devm_clk_get_optional() to get the input clock um: allow not setting extra rpaths in the linux binary selftests: mm: fix map_hugetlb failure on 64K page size systems netrom: Fix data-races around sysctl_net_busy_read netrom: Fix a data-race around sysctl_netrom_link_fails_count netrom: Fix a data-race around sysctl_netrom_routing_control netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size netrom: Fix a data-race around sysctl_netrom_transport_busy_delay netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries netrom: Fix a data-race around sysctl_netrom_transport_timeout netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser netrom: Fix a data-race around sysctl_netrom_default_path_quality netfilter: nf_conntrack_h323: Add protection for bmp length out of range netfilter: nft_ct: fix l3num expectations with inet pseudo family net/rds: fix WARNING in rds_conn_connect_if_down net/ipv6: avoid possible UAF in ip6_route_mpath_notify() net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink() geneve: make sure to pull inner header in geneve_rx() ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able net: lan78xx: fix runtime PM count underflow on link stop lan78xx: Fix race conditions in suspend/resume handling lan78xx: Fix partial packet errors on suspend/resume lan78xx: Add missing return code checks lan78xx: Fix white space and style issues Linux 5.4.271 gpio: 74x164: Enable output pins after registers are reset fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super cachefiles: fix memory leak in cachefiles_add_cache() x86/cpu/intel: Detect TME keyid bits before setting MTRR mask registers mmc: core: Fix eMMC initialization with 1-bit bus connection dmaengine: fsl-qdma: init irq after reg initialization dmaengine: fsl-qdma: fix SoC may hang on 16 byte unaligned read btrfs: dev-replace: properly validate device names wifi: nl80211: reject iftype change with mesh ID change gtp: fix use-after-free and null-ptr-deref in gtp_newlink() afs: Fix endless loop in directory parsing ALSA: Drop leftover snd-rtctimer stuff from Makefile power: supply: bq27xxx-i2c: Do not free non existing IRQ efi/capsule-loader: fix incorrect allocation size rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate() Bluetooth: Enforce validation on max value of connection interval Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST Bluetooth: Avoid potential use-after-free in hci_error_reset net: usb: dm9601: fix wrong return value in dm9601_mdio_read lan78xx: enable auto speed configuration for LAN7850 if no EEPROM is detected ipv6: fix potential "struct net" leak in inet6_rtm_getaddr() tun: Fix xdp_rxq_info's queue_index when detaching net: ip_tunnel: prevent perpetual headroom growth netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter ANDROID: GKI: update .xml file due to USB changes in 5.4.270 Revert "bpf: Add map and need_defer parameters to .map_fd_put_ptr()" Revert "hrtimer: Report offline hrtimer enqueue" Revert "drm/mipi-dsi: Fix detach call without attach" Linux 5.4.270 scripts/bpf: Fix xdp_md forward declaration typo fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio drm/syncobj: call drm_syncobj_fence_add_wait when WAIT_AVAILABLE flag is set drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3 netfilter: nf_tables: set dormant flag on hook register failure tls: stop recv() if initial process_rx_list gave us non-DATA tls: rx: drop pointless else after goto tls: rx: jump to a more appropriate label s390: use the correct count for __iowrite64_copy() packet: move from strlcpy with unused retval to strscpy ipv6: sr: fix possible use-after-free and null-ptr-deref afs: Increase buffer size in afs_update_volume_status() ipv6: properly combine dev_base_seq and ipv6.dev_addr_genid ipv4: properly combine dev_base_seq and ipv4.dev_addr_genid nouveau: fix function cast warnings scsi: jazz_esp: Only build if SCSI core is builtin bpf, scripts: Correct GPL license name scripts/bpf: teach bpf_helpers_doc.py to dump BPF helper definitions RDMA/srpt: fix function pointer cast warnings RDMA/srpt: Make debug output more detailed RDMA/bnxt_re: Return error for SRQ resize IB/hfi1: Fix a memleak in init_credit_return usb: roles: don't get/set_role() when usb_role_switch is unregistered usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs usb: cdns3: fix memory double free when handle zero packet usb: cdns3: fixed memory use after free at cdns3_gadget_ep_disable() ARM: ep93xx: Add terminator to gpiod_lookup_table l2tp: pass correct message length to ip6_append_data PCI/MSI: Prevent MSI hardware interrupt number truncation gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp() dm-crypt: don't modify the data when using authenticated encryption IB/hfi1: Fix sdma.h tx->num_descs off-by-one error PCI: tegra: Fix OF node reference leak PCI: tegra: Fix reporting GPIO error value arm64: dts: qcom: msm8916: Fix typo in pronto remoteproc node drm/amdgpu: Fix type of second parameter in trans_msg() callback iomap: Set all uptodate bits for an Uptodate page dm-integrity: don't modify bio's immutable bio_vec in integrity_metadata() x86/alternatives: Disable KASAN in apply_alternatives() drm/amdgpu: Check for valid number of registers to read Revert "drm/sun4i: dsi: Change the start delay calculation" ALSA: hda/realtek - Enable micmute LED on and HP system selftests/bpf: Avoid running unprivileged tests with alignment requirements net: bridge: clear bridge's private skb space on xmit spi: mt7621: Fix an error message in mt7621_spi_probe() pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups pinctrl: pinctrl-rockchip: Fix a bunch of kerneldoc misdemeanours tcp: add annotations around sk->sk_shutdown accesses tcp: return EPOLLOUT from tcp_poll only when notsent_bytes is half the limit tcp: factor out __tcp_close() helper pmdomain: renesas: r8a77980-sysc: CR7 must be always on s390/qeth: Fix potential loss of L3-IP@ in case of network issues virtio-blk: Ensure no requests in virtqueues before deleting vqs. firewire: core: send bus reset promptly on gap count error scsi: lpfc: Use unsigned type for num_sge hwmon: (coretemp) Enlarge per package core count limit nvmet-fc: abort command when there is no binding netfilter: conntrack: check SCTP_CID_SHUTDOWN_ACK for vtag setting in sctp_new ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616 nvmet-tcp: fix nvme tcp ida memory leak regulator: pwm-regulator: Add validity checks in continuous .get_voltage ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal() ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found() ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers ahci: asm1166: correct count of reported ports fbdev: sis: Error out if pixclock equals zero fbdev: savage: Error out if pixclock equals zero wifi: mac80211: fix race condition on enabling fast-xmit wifi: cfg80211: fix missing interfaces when dumping dmaengine: fsl-qdma: increase size of 'irq_name' dmaengine: shdma: increase size of 'dev_id' scsi: target: core: Add TMF to tmr_list handling sched/rt: Disallow writing invalid values to sched_rt_period_us sched/rt: Fix sysctl_sched_rr_timeslice intial value userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb nilfs2: replace WARN_ONs for invalid DAT metadata block requests memcg: add refcnt for pcpu stock to avoid UAF problem in drain_all_stock() sched/rt: sysctl_sched_rr_timeslice show default timeslice after reset net/sched: Retire dsmark qdisc net/sched: Retire ATM qdisc net/sched: Retire CBQ qdisc KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table() Linux 5.4.269 of: gpio unittest kfree() wrong object of: unittest: fix EXPECT text for gpio hog errors net: bcmgenet: Fix EEE implementation Revert "Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting"" netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval() lsm: new security_file_ioctl_compat() hook drm/msm/dsi: Enable runtime PM PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend() PM: runtime: add devm_pm_runtime_enable helper nilfs2: fix potential bug in end_buffer_async_write sched/membarrier: reduce the ability to hammer on sys_membarrier net: prevent mss overflow in skb_segment() netfilter: ipset: Missing gc cancellations fixed netfilter: ipset: fix performance regression in swap operation KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache mips: Fix max_mapnr being uninitialized on early stages arch, mm: remove stale mentions of DISCONIGMEM bus: moxtet: Add spi device table Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d" tracing: Inform kmemleak of saved_cmdlines allocation pmdomain: core: Move the unused cleanup to a _sync initcall can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER) irqchip/irq-brcmstb-l2: Add write memory barrier before exit nfp: flower: prevent re-adding mac index for bonded port nfp: use correct macro for LengthSelect in BAR config nilfs2: fix hang in nilfs_lookup_dirty_data_buffers() nilfs2: fix data corruption in dsync block recovery for small block sizes ALSA: hda/conexant: Add quirk for SWS JS201D mmc: slot-gpio: Allow non-sleeping GPIO ro x86/mm/ident_map: Use gbpages only where full GB page should be mapped. x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6 serial: max310x: improve crystal stable clock detection serial: max310x: set default value when reading clock ready bit ring-buffer: Clean ring_buffer_poll_wait() error return iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC staging: iio: ad5933: fix type mismatch regression tracing: Fix wasted memory in saved_cmdlines logic ext4: fix double-free of blocks due to wrong extents moved_len misc: fastrpc: Mark all sessions as invalid in cb_remove binder: signal epoll threads of self-work ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL xen-netback: properly sync TX responses nfc: nci: free rx_data_reassembly skb on NCI device cleanup kbuild: Fix changing ELF file type for output of gen_btf for big endian firewire: core: correct documentation of fw_csr_string() kernel API scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock" i2c: i801: Fix block process call transactions i2c: i801: Remove i801_set_block_buffer_mode usb: f_mass_storage: forbid async queue when shutdown happen USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT HID: wacom: Do not register input devices until after hid_hw_start HID: wacom: generic: Avoid reporting a serial of '0' to userspace mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again tracing/trigger: Fix to return error if failed to alloc snapshot i40e: Fix waiting for queues of all VSIs to be disabled MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work() spi: ppc4xx: Drop write-only variable of: unittest: Fix compile in the non-dynamic case of: unittest: add overlay gpio test to catch gpio hog problem btrfs: send: return EOPNOTSUPP on unknown flags btrfs: forbid deleting live subvol qgroup btrfs: forbid creating subvol qgroups netfilter: nft_set_rbtree: skip end interval element from gc net: stmmac: xgmac: fix a typo of register name in DPP safety handling net: stmmac: xgmac: use #define for string constants vhost: use kzalloc() instead of kmalloc() followed by memset() Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID hrtimer: Report offline hrtimer enqueue USB: serial: cp210x: add ID for IMST iM871A-USB USB: serial: option: add Fibocom FM101-GL variant USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e net/af_iucv: clean up a try_then_request_module() netfilter: nft_ct: reject direction for ct id netfilter: nft_compat: restrict match/target protocol to u16 netfilter: nft_compat: reject unused compat flag ppp_async: limit MRU to 64K tipc: Check the bearer type before calling tipc_udp_nl_bearer_add() rxrpc: Fix response to PING RESPONSE ACKs to a dead call inet: read sk->sk_family once in inet_recv_error() hwmon: (coretemp) Fix bogus core_id to attr name mapping hwmon: (coretemp) Fix out-of-bounds memory access hwmon: (aspeed-pwm-tacho) mutex for tach reading atm: idt77252: fix a memleak in open_card_ubr0 selftests: net: avoid just another constant wait net: stmmac: xgmac: fix handling of DPP safety error for DMA channels phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV phy: renesas: rcar-gen3-usb2: Fix returning wrong error code dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA bonding: remove print in bond_verify_device_path HID: apple: Add 2021 magic keyboard FN key mapping HID: apple: Swap the Fn and Left Control keys on Apple keyboards HID: apple: Add support for the 2021 Magic Keyboard net: sysfs: Fix /sys/class/net/<iface> path af_unix: fix lockdep positive in sk_diag_dump_icons() net: ipv4: fix a memleak in ip_setup_cork netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger llc: call sock_orphan() at release time ipv6: Ensure natural alignment of const ipv6 loopback and router addresses ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550() ixgbe: Refactor overtemp event handling ixgbe: Refactor returning internal error codes ixgbe: Remove non-inclusive language net: remove unneeded break scsi: isci: Fix an error code problem in isci_io_request_build() wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update perf: Fix the nr_addr_filters fix drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()' ceph: fix deadlock or deadcode of misusing dget() blk-mq: fix IO hang from sbitmap wakeup race virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings libsubcmd: Fix memory leak in uniq() PCI/AER: Decode Requester ID when no error info found fs/kernfs/dir: obey S_ISGID usb: hub: Replace hardcoded quirk value with BIT() macro PCI: switchtec: Fix stdev_release() crash after surprise hot remove PCI: Only override AMD USB controller if required mfd: ti_am335x_tscadc: Fix TI SoC dependencies i3c: master: cdns: Update maximum prescaler value for i2c clock um: net: Fix return type of uml_net_start_xmit() um: Don't use vfprintf() for os_info() um: Fix naming clash between UML and scheduler leds: trigger: panic: Don't register panic notifier if creating the trigger failed drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()' drm/amdgpu: Let KFD sync with VM fences clk: mmp: pxa168: Fix memory leak in pxa168_clk_init() clk: hi3620: Fix memory leak in hi3620_mmc_clk_init() drm/msm/dpu: Ratelimit framedone timeout msgs media: ddbridge: fix an error code problem in ddb_probe IB/ipoib: Fix mcast list locking drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time ALSA: hda: Intel: add HDA_ARL PCI ID support PCI: add INTEL_HDA_ARL to pci_ids.h media: rockchip: rga: fix swizzling for RGB formats media: stk1160: Fixed high volume of stk1160_dbg messages drm/mipi-dsi: Fix detach call without attach drm/framebuffer: Fix use of uninitialized variable drm/drm_file: fix use of uninitialized variable RDMA/IPoIB: Fix error code return in ipoib_mcast_join fast_dput(): handle underflows gracefully ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument f2fs: fix to check return value of f2fs_reserve_new_block() wifi: cfg80211: free beacon_ies when overridden from hidden BSS wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift() wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property md: Whenassemble the array, consult the superblock of the freshest device block: prevent an integer overflow in bvec_try_merge_hw_page ARM: dts: imx23/28: Fix the DMA controller node name ARM: dts: imx23-sansa: Use preferred i2c-gpios properties ARM: dts: imx27-apf27dev: Fix LED name ARM: dts: imx25/27: Pass timing0 ARM: dts: imx1: Fix sram node ARM: dts: imx27: Fix sram node ARM: dts: imx: Use flash@0,0 pattern ARM: dts: imx25/27-eukrea: Fix RTC node name ARM: dts: rockchip: fix rk3036 hdmi ports node scsi: libfc: Fix up timeout error in fc_fcp_rec_error() scsi: libfc: Don't schedule abort twice bpf: Add map and need_defer parameters to .map_fd_put_ptr() wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus() ARM: dts: imx7s: Fix nand-controller #size-cells ARM: dts: imx7s: Fix lcdif compatible ARM: dts: imx7d: Fix coresight funnel ports bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk PCI: Add no PM reset quirk for NVIDIA Spectrum devices scsi: lpfc: Fix possible file string name overflow when updating firmware selftests/bpf: Fix pyperf180 compilation failure with clang18 selftests/bpf: satisfy compiler by having explicit return in btf test wifi: rt2x00: restart beacon queue when hardware reset ext4: avoid online resizing failures due to oversized flex bg ext4: remove unnecessary check from alloc_flex_gd() ext4: unify the type of flexbg_size to unsigned int ext4: fix inconsistent between segment fstrim and full fstrim ecryptfs: Reject casefold directory inodes SUNRPC: Fix a suspicious RCU usage warning KVM: s390: fix setting of fpc register s390/ptrace: handle setting of fpc register correctly jfs: fix array-index-out-of-bounds in diNewExt rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock() afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*() crypto: stm32/crc32 - fix parsing list of devices pstore/ram: Fix crash when setting number of cpus to an odd number jfs: fix uaf in jfs_evict_inode jfs: fix array-index-out-of-bounds in dbAdjTree jfs: fix slab-out-of-bounds Read in dtSearch UBSAN: array-index-out-of-bounds in dtSplitRoot FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree ACPI: extlog: fix NULL pointer dereference check PNP: ACPI: fix fortify warning ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop audit: Send netlink ACK before setting connection in auditd_set regulator: core: Only increment use_count when enable_count changes perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel powerpc/lib: Validate size for vector operations powerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE powerpc/mm: Fix build failures due to arch_reserved_kernel_pages() powerpc: Fix build error due to is_valid_bugaddr() powerpc/mm: Fix null-pointer dereference in pgtable_cache_add x86/entry/ia32: Ensure s32 is sign extended to s64 tick/sched: Preserve number of idle sleeps across CPU hotplug events mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan spi: bcm-qspi: fix SFDP BFPT read by usig mspi read gpio: eic-sprd: Clear interrupt after set the interrupt type drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume drm/exynos: fix accidental on-stack copy of exynos_drm_plane drm/bridge: nxp-ptn3460: simplify some error checking drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking drm: Don't unref the same fb many times by mistake due to deadlock handling gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04 netfilter: nf_tables: reject QUEUE/DROP verdict parameters rbd: don't move requests to the running list on errors btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args btrfs: don't warn if discard range is not aligned to sector btrfs: tree-checker: fix inline ref size in error messages btrfs: ref-verify: free ref cache before clearing mount opt net: fec: fix the unhandled context fault from smmu fjes: fix memleaks in fjes_hw_setup netfilter: nf_tables: validate NFPROTO_* family netfilter: nf_tables: restrict anonymous set and map names to 16 bytes net/mlx5e: fix a double-free in arfs_create_groups net/mlx5: Use kfree(ft->g) in arfs_create_groups() net/mlx5: DR, Use the right GVMI number for drop action netlink: fix potential sleeping issue in mqueue_flush_file tcp: Add memory barrier to tcp_push() afs: Hide silly-rename files from userspace tracing: Ensure visibility when inserting an element into tracing_map net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv llc: Drop support for ETH_P_TR_802_2. llc: make llc_ui_sendmsg() more robust against bonding changes vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING net/smc: fix illegal rmb_desc access in SMC-D connection dump x86/CPU/AMD: Fix disabling XSAVES on AMD family 0x17 due to erratum powerpc: Use always instead of always-y in for crtsavres.o fs: move S_ISGID stripping into the vfs_*() helpers fs: add mode_strip_sgid() helper mtd: spinand: macronix: Fix MX35LFxGE4AD page size block: Remove special-casing of compound pages rename(): fix the locking of subdirectories ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path nouveau/vmm: don't set addr on the fail path to avoid warning mmc: core: Use mrq.sbc in close-ended ffu arm64: dts: qcom: sdm845: fix USB wakeup interrupt types parisc/firmware: Fix F-extend for PDC addresses rpmsg: virtio: Free driver_override when rpmsg_remove() hwrng: core - Fix page fault dead lock on mmap-ed hwrng PM: hibernate: Enforce ordering during image compression/decompression crypto: api - Disallow identical driver names ext4: allow for the last group to be marked as trimmed serial: sc16is7xx: add check for unsupported SPI modes during probe spi: introduce SPI_MODE_X_MASK macro serial: sc16is7xx: set safe default SPI clock frequency units: add the HZ macros units: change from 'L' to 'UL' units: Add Watt units include/linux/units.h: add helpers for kelvin to/from Celsius conversion PCI: mediatek: Clear interrupt status before dispatching handler Conflicts: include/linux/timer.h mm/memory-failure.c Change-Id: I4974903c79ecddc3d9225b0b723a30b6c83ef572
2040 lines
62 KiB
Plaintext
2040 lines
62 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Multifunction miscellaneous devices
|
|
#
|
|
|
|
if HAS_IOMEM
|
|
menu "Multifunction device drivers"
|
|
|
|
config MFD_CORE
|
|
tristate
|
|
select IRQ_DOMAIN
|
|
default n
|
|
|
|
config MFD_CS5535
|
|
tristate "AMD CS5535 and CS5536 southbridge core functions"
|
|
select MFD_CORE
|
|
depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
|
|
---help---
|
|
This is the core driver for CS5535/CS5536 MFD functions. This is
|
|
necessary for using the board's GPIO and MFGPT functionality.
|
|
|
|
config MFD_ALTERA_A10SR
|
|
bool "Altera Arria10 DevKit System Resource chip"
|
|
depends on ARCH_SOCFPGA && SPI_MASTER=y && OF
|
|
select REGMAP_SPI
|
|
select MFD_CORE
|
|
help
|
|
Support for the Altera Arria10 DevKit MAX5 System Resource chip
|
|
using the SPI interface. This driver provides common support for
|
|
accessing the external gpio extender (LEDs & buttons) and
|
|
power supply alarms (hwmon).
|
|
|
|
config MFD_ALTERA_SYSMGR
|
|
bool "Altera SOCFPGA System Manager"
|
|
depends on (ARCH_SOCFPGA || ARCH_STRATIX10) && OF
|
|
select MFD_SYSCON
|
|
help
|
|
Select this to get System Manager support for all Altera branded
|
|
SOCFPGAs. The SOCFPGA System Manager handles all SOCFPGAs by
|
|
using regmap_mmio accesses for ARM32 parts and SMC calls to
|
|
EL3 for ARM64 parts.
|
|
|
|
config MFD_ACT8945A
|
|
tristate "Active-semi ACT8945A"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
depends on I2C && OF
|
|
help
|
|
Support for the ACT8945A PMIC from Active-semi. This device
|
|
features three step-down DC/DC converters and four low-dropout
|
|
linear regulators, along with a complete ActivePath battery
|
|
charger.
|
|
|
|
config MFD_SUN4I_GPADC
|
|
tristate "Allwinner sunxi platforms' GPADC MFD driver"
|
|
select MFD_CORE
|
|
select REGMAP_MMIO
|
|
select REGMAP_IRQ
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
depends on !TOUCHSCREEN_SUN4I
|
|
help
|
|
Select this to get support for Allwinner SoCs (A10, A13 and A31) ADC.
|
|
This driver will only map the hardware interrupt and registers, you
|
|
have to select individual drivers based on this MFD to be able to use
|
|
the ADC or the thermal sensor. This will try to probe the ADC driver
|
|
sun4i-gpadc-iio and the hwmon driver iio_hwmon.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called sun4i-gpadc.
|
|
|
|
config MFD_AS3711
|
|
bool "AMS AS3711"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
depends on I2C=y
|
|
help
|
|
Support for the AS3711 PMIC from AMS
|
|
|
|
config MFD_AS3722
|
|
tristate "ams AS3722 Power Management IC"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
depends on I2C=y && OF
|
|
help
|
|
The ams AS3722 is a compact system PMU suitable for mobile phones,
|
|
tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
|
|
controllers, 11 LDOs, RTC, automatic battery, temperature and
|
|
over current monitoring, GPIOs, ADC and a watchdog.
|
|
|
|
config PMIC_ADP5520
|
|
bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
|
|
depends on I2C=y
|
|
help
|
|
Say yes here to add support for Analog Devices AD5520 and ADP5501,
|
|
Multifunction Power Management IC. This includes
|
|
the I2C driver and the core APIs _only_, you have to select
|
|
individual components like LCD backlight, LEDs, GPIOs and Kepad
|
|
under the corresponding menus.
|
|
|
|
config MFD_AAT2870_CORE
|
|
bool "AnalogicTech AAT2870"
|
|
select MFD_CORE
|
|
depends on I2C=y
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
help
|
|
If you say yes here you get support for the AAT2870.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config MFD_AT91_USART
|
|
tristate "AT91 USART Driver"
|
|
select MFD_CORE
|
|
depends on ARCH_AT91 || COMPILE_TEST
|
|
help
|
|
Select this to get support for AT91 USART IP. This is a wrapper
|
|
over at91-usart-serial driver and usart-spi-driver. Only one function
|
|
can be used at a time. The choice is done at boot time by the probe
|
|
function of this MFD driver according to a device tree property.
|
|
|
|
config MFD_ATMEL_FLEXCOM
|
|
tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
|
|
select MFD_CORE
|
|
depends on OF
|
|
help
|
|
Select this to get support for Atmel Flexcom. This is a wrapper
|
|
which embeds a SPI controller, a I2C controller and a USART. Only
|
|
one function can be used at a time. The choice is done at boot time
|
|
by the probe function of this MFD driver according to a device tree
|
|
property.
|
|
|
|
config MFD_ATMEL_HLCDC
|
|
tristate "Atmel HLCDC (High-end LCD Controller)"
|
|
select MFD_CORE
|
|
select REGMAP_MMIO
|
|
depends on OF
|
|
help
|
|
If you say yes here you get support for the HLCDC block.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config MFD_ATMEL_SMC
|
|
bool
|
|
select MFD_SYSCON
|
|
|
|
config MFD_BCM590XX
|
|
tristate "Broadcom BCM590xx PMUs"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Support for the BCM590xx PMUs from Broadcom
|
|
|
|
config MFD_BD9571MWV
|
|
tristate "ROHM BD9571MWV PMIC"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
depends on I2C
|
|
help
|
|
Support for the ROHM BD9571MWV PMIC, which contains single
|
|
voltage regulator, voltage sampling units, GPIO block and
|
|
watchdog block.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called bd9571mwv.
|
|
|
|
config MFD_AC100
|
|
tristate "X-Powers AC100"
|
|
select MFD_CORE
|
|
depends on SUNXI_RSB
|
|
help
|
|
If you say Y here you get support for the X-Powers AC100 audio codec
|
|
IC.
|
|
This driver include only the core APIs. You have to select individual
|
|
components like codecs or RTC under the corresponding menus.
|
|
|
|
config MFD_AXP20X
|
|
tristate
|
|
select MFD_CORE
|
|
select REGMAP_IRQ
|
|
|
|
config MFD_AXP20X_I2C
|
|
tristate "X-Powers AXP series PMICs with I2C"
|
|
select MFD_AXP20X
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
If you say Y here you get support for the X-Powers AXP series power
|
|
management ICs (PMICs) controlled with I2C.
|
|
This driver include only the core APIs. You have to select individual
|
|
components like regulators or the PEK (Power Enable Key) under the
|
|
corresponding menus.
|
|
|
|
Note on x86 this provides an ACPI OpRegion, so this must be 'y'
|
|
(builtin) and not a module, as the OpRegion must be available as
|
|
soon as possible. For the same reason the I2C bus driver options
|
|
I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.
|
|
|
|
config MFD_AXP20X_RSB
|
|
tristate "X-Powers AXP series PMICs with RSB"
|
|
select MFD_AXP20X
|
|
depends on SUNXI_RSB
|
|
help
|
|
If you say Y here you get support for the X-Powers AXP series power
|
|
management ICs (PMICs) controlled with RSB.
|
|
This driver include only the core APIs. You have to select individual
|
|
components like regulators or the PEK (Power Enable Key) under the
|
|
corresponding menus.
|
|
|
|
config MFD_CROS_EC_DEV
|
|
tristate "ChromeOS Embedded Controller multifunction device"
|
|
select MFD_CORE
|
|
depends on CROS_EC
|
|
default CROS_EC
|
|
help
|
|
Select this to get support for ChromeOS Embedded Controller
|
|
sub-devices. This driver will instantiate additional drivers such
|
|
as RTC, USBPD, etc. but you have to select the individual drivers.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called cros-ec-dev.
|
|
|
|
config MFD_MADERA
|
|
tristate "Cirrus Logic Madera codecs"
|
|
select MFD_CORE
|
|
select REGMAP
|
|
select REGMAP_IRQ
|
|
select MADERA_IRQ
|
|
select PINCTRL
|
|
select PINCTRL_MADERA
|
|
help
|
|
Support for the Cirrus Logic Madera platform audio codecs
|
|
|
|
config MFD_MADERA_I2C
|
|
tristate "Cirrus Logic Madera codecs with I2C"
|
|
depends on MFD_MADERA
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Support for the Cirrus Logic Madera platform audio SoC
|
|
core functionality controlled via I2C.
|
|
|
|
config MFD_MADERA_SPI
|
|
tristate "Cirrus Logic Madera codecs with SPI"
|
|
depends on MFD_MADERA
|
|
depends on SPI_MASTER
|
|
select REGMAP_SPI
|
|
help
|
|
Support for the Cirrus Logic Madera platform audio SoC
|
|
core functionality controlled via SPI.
|
|
|
|
config MFD_CS47L15
|
|
bool "Cirrus Logic CS47L15"
|
|
select PINCTRL_CS47L15
|
|
depends on MFD_MADERA
|
|
help
|
|
Support for Cirrus Logic CS47L15 Smart Codec
|
|
|
|
config MFD_CS47L35
|
|
bool "Cirrus Logic CS47L35"
|
|
select PINCTRL_CS47L35
|
|
depends on MFD_MADERA
|
|
help
|
|
Support for Cirrus Logic CS47L35 Smart Codec
|
|
|
|
config MFD_CS47L85
|
|
bool "Cirrus Logic CS47L85"
|
|
select PINCTRL_CS47L85
|
|
depends on MFD_MADERA
|
|
help
|
|
Support for Cirrus Logic CS47L85 Smart Codec
|
|
|
|
config MFD_CS47L90
|
|
bool "Cirrus Logic CS47L90/91"
|
|
select PINCTRL_CS47L90
|
|
depends on MFD_MADERA
|
|
help
|
|
Support for Cirrus Logic CS47L90 and CS47L91 Smart Codecs
|
|
|
|
config MFD_CS47L92
|
|
bool "Cirrus Logic CS47L92/93"
|
|
select PINCTRL_CS47L92
|
|
depends on MFD_MADERA
|
|
help
|
|
Support for Cirrus Logic CS42L92, CS47L92 and CS47L93 Smart Codecs
|
|
|
|
config MFD_ASIC3
|
|
bool "Compaq ASIC3"
|
|
depends on GPIOLIB && ARM
|
|
select MFD_CORE
|
|
---help---
|
|
This driver supports the ASIC3 multifunction chip found on many
|
|
PDAs (mainly iPAQ and HTC based ones)
|
|
|
|
config PMIC_DA903X
|
|
bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
|
|
depends on I2C=y
|
|
help
|
|
Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
|
|
ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
|
|
usually found on PXA processors-based platforms. This includes
|
|
the I2C driver and the core APIs _only_, you have to select
|
|
individual components like LCD backlight, voltage regulators,
|
|
LEDs and battery-charger under the corresponding menus.
|
|
|
|
config PMIC_DA9052
|
|
bool
|
|
select MFD_CORE
|
|
|
|
config MFD_DA9052_SPI
|
|
bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
|
|
select REGMAP_SPI
|
|
select REGMAP_IRQ
|
|
select PMIC_DA9052
|
|
depends on SPI_MASTER=y
|
|
help
|
|
Support for the Dialog Semiconductor DA9052 PMIC
|
|
when controlled using SPI. This driver provides common support
|
|
for accessing the device, additional drivers must be enabled in
|
|
order to use the functionality of the device.
|
|
|
|
config MFD_DA9052_I2C
|
|
bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select PMIC_DA9052
|
|
depends on I2C=y
|
|
help
|
|
Support for the Dialog Semiconductor DA9052 PMIC
|
|
when controlled using I2C. This driver provides common support
|
|
for accessing the device, additional drivers must be enabled in
|
|
order to use the functionality of the device.
|
|
|
|
config MFD_DA9055
|
|
bool "Dialog Semiconductor DA9055 PMIC Support"
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select MFD_CORE
|
|
depends on I2C=y
|
|
help
|
|
Say yes here for support of Dialog Semiconductor DA9055. This is
|
|
a Power Management IC. This driver provides common support for
|
|
accessing the device as well as the I2C interface to the chip itself.
|
|
Additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
This driver can be built as a module. If built as a module it will be
|
|
called "da9055"
|
|
|
|
config MFD_DA9062
|
|
tristate "Dialog Semiconductor DA9062/61 PMIC Support"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
depends on I2C
|
|
help
|
|
Say yes here for support for the Dialog Semiconductor DA9061 and
|
|
DA9062 PMICs.
|
|
This includes the I2C driver and core APIs.
|
|
Additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_DA9063
|
|
tristate "Dialog Semiconductor DA9063 PMIC Support"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
depends on I2C
|
|
help
|
|
Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
|
|
This includes the I2C driver and core APIs.
|
|
Additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_DA9150
|
|
tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
This adds support for the DA9150 integrated charger and fuel-gauge
|
|
chip. This driver provides common support for accessing the device.
|
|
Additional drivers must be enabled in order to use the specific
|
|
features of the device.
|
|
|
|
config MFD_DLN2
|
|
tristate "Diolan DLN2 support"
|
|
select MFD_CORE
|
|
depends on USB
|
|
help
|
|
This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
|
|
DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
|
|
etc. must be enabled in order to use the functionality of
|
|
the device.
|
|
|
|
config MFD_EXYNOS_LPASS
|
|
tristate "Samsung Exynos SoC Low Power Audio Subsystem"
|
|
depends on ARCH_EXYNOS || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP_MMIO
|
|
help
|
|
Select this option to enable support for Samsung Exynos Low Power
|
|
Audio Subsystem.
|
|
|
|
config MFD_MC13XXX
|
|
tristate
|
|
depends on (SPI_MASTER || I2C)
|
|
select MFD_CORE
|
|
select REGMAP_IRQ
|
|
help
|
|
Enable support for the Freescale MC13783 and MC13892 PMICs.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config MFD_MC13XXX_SPI
|
|
tristate "Freescale MC13783 and MC13892 SPI interface"
|
|
depends on SPI_MASTER
|
|
select REGMAP_SPI
|
|
select MFD_MC13XXX
|
|
help
|
|
Select this if your MC13xxx is connected via an SPI bus.
|
|
|
|
config MFD_MC13XXX_I2C
|
|
tristate "Freescale MC13892 I2C interface"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select MFD_MC13XXX
|
|
help
|
|
Select this if your MC13xxx is connected via an I2C bus.
|
|
|
|
config MFD_MXS_LRADC
|
|
tristate "Freescale i.MX23/i.MX28 LRADC"
|
|
depends on ARCH_MXS || COMPILE_TEST
|
|
select MFD_CORE
|
|
select STMP_DEVICE
|
|
help
|
|
Say yes here to build support for the Low Resolution
|
|
Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28
|
|
processors. This driver provides common support for accessing the
|
|
device, additional drivers must be enabled in order to use the
|
|
functionality of the device:
|
|
mxs-lradc-adc for ADC readings
|
|
mxs-lradc-ts for touchscreen support
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
called mxs-lradc.
|
|
|
|
config MFD_MX25_TSADC
|
|
tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
|
|
select REGMAP_MMIO
|
|
depends on (SOC_IMX25 && OF) || COMPILE_TEST
|
|
help
|
|
Enable support for the integrated Touchscreen and ADC unit of the
|
|
i.MX25 processors. They consist of a conversion queue for general
|
|
purpose ADC and a queue for Touchscreens.
|
|
|
|
config MFD_HI6421_PMIC
|
|
tristate "HiSilicon Hi6421 PMU/Codec IC"
|
|
depends on OF
|
|
select MFD_CORE
|
|
select REGMAP_MMIO
|
|
help
|
|
Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
|
|
functions, such as regulators, RTC, codec, Coulomb counter, etc.
|
|
This driver includes core APIs _only_. You have to select
|
|
individul components like voltage regulators under corresponding
|
|
menus in order to enable them.
|
|
We communicate with the Hi6421 via memory-mapped I/O.
|
|
|
|
config MFD_HI655X_PMIC
|
|
tristate "HiSilicon Hi655X series PMU/Codec IC"
|
|
depends on ARCH_HISI || COMPILE_TEST
|
|
depends on OF
|
|
select MFD_CORE
|
|
select REGMAP_MMIO
|
|
select REGMAP_IRQ
|
|
help
|
|
Select this option to enable Hisilicon hi655x series pmic driver.
|
|
|
|
config HTC_PASIC3
|
|
tristate "HTC PASIC3 LED/DS1WM chip support"
|
|
select MFD_CORE
|
|
help
|
|
This core driver provides register access for the LED/DS1WM
|
|
chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
|
|
HTC Magician devices, respectively. Actual functionality is
|
|
handled by the leds-pasic3 and ds1wm drivers.
|
|
|
|
config HTC_I2CPLD
|
|
bool "HTC I2C PLD chip support"
|
|
depends on I2C=y && GPIOLIB
|
|
help
|
|
If you say yes here you get support for the supposed CPLD
|
|
found on omap850 HTC devices like the HTC Wizard and HTC Herald.
|
|
This device provides input and output GPIOs through an I2C
|
|
interface to one or more sub-chips.
|
|
|
|
config MFD_INTEL_QUARK_I2C_GPIO
|
|
tristate "Intel Quark MFD I2C GPIO"
|
|
depends on PCI
|
|
depends on X86
|
|
depends on COMMON_CLK
|
|
select MFD_CORE
|
|
help
|
|
This MFD provides support for I2C and GPIO that exist only
|
|
in a single PCI device. It splits the 2 IO devices to
|
|
their respective IO driver.
|
|
The GPIO exports a total amount of 8 interrupt-capable GPIOs.
|
|
|
|
config LPC_ICH
|
|
tristate "Intel ICH LPC"
|
|
depends on PCI
|
|
select MFD_CORE
|
|
help
|
|
The LPC bridge function of the Intel ICH provides support for
|
|
many functional units. This driver provides needed support for
|
|
other drivers to control these functions, currently GPIO and
|
|
watchdog.
|
|
|
|
config LPC_SCH
|
|
tristate "Intel SCH LPC"
|
|
depends on PCI
|
|
select MFD_CORE
|
|
help
|
|
LPC bridge function of the Intel SCH provides support for
|
|
System Management Bus and General Purpose I/O.
|
|
|
|
config INTEL_SOC_PMIC
|
|
bool "Support for Crystal Cove PMIC"
|
|
depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
|
|
depends on X86 || COMPILE_TEST
|
|
depends on I2C_DESIGNWARE_PLATFORM=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Select this option to enable support for Crystal Cove PMIC
|
|
on some Intel SoC systems. The PMIC provides ADC, GPIO,
|
|
thermal, charger and related power management functions
|
|
on these systems.
|
|
|
|
This option is a bool as it provides an ACPI OpRegion which must be
|
|
available before any devices using it are probed. This option also
|
|
causes the designware-i2c driver to be builtin for the same reason.
|
|
|
|
config INTEL_SOC_PMIC_BXTWC
|
|
tristate "Support for Intel Broxton Whiskey Cove PMIC"
|
|
depends on INTEL_PMC_IPC
|
|
select MFD_CORE
|
|
select REGMAP_IRQ
|
|
help
|
|
Select this option to enable support for Whiskey Cove PMIC
|
|
on Intel Broxton systems. The PMIC provides ADC, GPIO,
|
|
thermal, charger and related power management functions
|
|
on these systems.
|
|
|
|
config INTEL_SOC_PMIC_CHTWC
|
|
bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
|
|
depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
|
|
depends on X86 || COMPILE_TEST
|
|
depends on I2C_DESIGNWARE_PLATFORM=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Select this option to enable support for the Intel Cherry Trail
|
|
Whiskey Cove PMIC found on some Intel Cherry Trail systems.
|
|
|
|
This option is a bool as it provides an ACPI OpRegion which must be
|
|
available before any devices using it are probed. This option also
|
|
causes the designware-i2c driver to be builtin for the same reason.
|
|
|
|
config INTEL_SOC_PMIC_CHTDC_TI
|
|
tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC"
|
|
depends on GPIOLIB
|
|
depends on I2C
|
|
depends on ACPI
|
|
depends on X86
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Select this option for supporting Dollar Cove (TI version) PMIC
|
|
device that is found on some Intel Cherry Trail systems.
|
|
|
|
config INTEL_SOC_PMIC_MRFLD
|
|
tristate "Support for Intel Merrifield Basin Cove PMIC"
|
|
depends on GPIOLIB
|
|
depends on ACPI
|
|
depends on INTEL_SCU_IPC
|
|
select MFD_CORE
|
|
select REGMAP_IRQ
|
|
help
|
|
Select this option for supporting Basin Cove PMIC device
|
|
that is found on Intel Merrifield systems.
|
|
|
|
config MFD_INTEL_LPSS
|
|
tristate
|
|
select COMMON_CLK
|
|
select MFD_CORE
|
|
|
|
config MFD_INTEL_LPSS_ACPI
|
|
tristate "Intel Low Power Subsystem support in ACPI mode"
|
|
select MFD_INTEL_LPSS
|
|
depends on X86 && ACPI
|
|
help
|
|
This driver supports Intel Low Power Subsystem (LPSS) devices such as
|
|
I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
|
|
PCH) in ACPI mode.
|
|
|
|
config MFD_INTEL_LPSS_PCI
|
|
tristate "Intel Low Power Subsystem support in PCI mode"
|
|
select MFD_INTEL_LPSS
|
|
depends on X86 && PCI
|
|
help
|
|
This driver supports Intel Low Power Subsystem (LPSS) devices such as
|
|
I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
|
|
PCH) in PCI mode.
|
|
|
|
config MFD_INTEL_MSIC
|
|
bool "Intel MSIC"
|
|
depends on INTEL_SCU_IPC
|
|
select MFD_CORE
|
|
help
|
|
Select this option to enable access to Intel MSIC (Avatele
|
|
Passage) chip. This chip embeds audio, battery, GPIO, etc.
|
|
devices used in Intel Medfield platforms.
|
|
|
|
config MFD_IPAQ_MICRO
|
|
bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
|
|
depends on SA1100_H3100 || SA1100_H3600
|
|
select MFD_CORE
|
|
help
|
|
Select this to get support for the Microcontroller found in
|
|
the Compaq iPAQ handheld computers. This is an Atmel
|
|
AT90LS8535 microcontroller flashed with a special iPAQ
|
|
firmware using the custom protocol implemented in this driver.
|
|
|
|
config MFD_JANZ_CMODIO
|
|
tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
|
|
select MFD_CORE
|
|
depends on PCI
|
|
help
|
|
This is the core driver for the Janz CMOD-IO PCI MODULbus
|
|
carrier board. This device is a PCI to MODULbus bridge which may
|
|
host many different types of MODULbus daughterboards, including
|
|
CAN and GPIO controllers.
|
|
|
|
config MFD_KEMPLD
|
|
tristate "Kontron module PLD device"
|
|
select MFD_CORE
|
|
help
|
|
This is the core driver for the PLD (Programmable Logic Device) found
|
|
on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
|
|
device may provide functions like watchdog, GPIO, UART and I2C bus.
|
|
|
|
The following modules are supported:
|
|
* COMe-bBD#
|
|
* COMe-bBL6
|
|
* COMe-bHL6
|
|
* COMe-bSL6
|
|
* COMe-bIP#
|
|
* COMe-bKL6
|
|
* COMe-bPC2 (ETXexpress-PC)
|
|
* COMe-bSC# (ETXexpress-SC T#)
|
|
* COMe-cAL6
|
|
* COMe-cBL6
|
|
* COMe-cBT6
|
|
* COMe-cBW6
|
|
* COMe-cCT6
|
|
* COMe-cDC2 (microETXexpress-DC)
|
|
* COMe-cHL6
|
|
* COMe-cKL6
|
|
* COMe-cPC2 (microETXexpress-PC)
|
|
* COMe-cSL6
|
|
* COMe-mAL10
|
|
* COMe-mBT10
|
|
* COMe-mCT10
|
|
* COMe-mTT10 (nanoETXexpress-TT)
|
|
* ETX-OH
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called kempld-core.
|
|
|
|
config MFD_88PM800
|
|
tristate "Marvell 88PM800"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select MFD_CORE
|
|
help
|
|
This supports for Marvell 88PM800 Power Management IC.
|
|
This includes the I2C driver and the core APIs _only_, you have to
|
|
select individual components like voltage regulators, RTC and
|
|
battery-charger under the corresponding menus.
|
|
|
|
config MFD_88PM805
|
|
tristate "Marvell 88PM805"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select MFD_CORE
|
|
help
|
|
This supports for Marvell 88PM805 Power Management IC. This includes
|
|
the I2C driver and the core APIs _only_, you have to select individual
|
|
components like codec device, headset/Mic device under the
|
|
corresponding menus.
|
|
|
|
config MFD_88PM860X
|
|
bool "Marvell 88PM8606/88PM8607"
|
|
depends on I2C=y
|
|
select REGMAP_I2C
|
|
select MFD_CORE
|
|
help
|
|
This supports for Marvell 88PM8606/88PM8607 Power Management IC.
|
|
This includes the I2C driver and the core APIs _only_, you have to
|
|
select individual components like voltage regulators, RTC and
|
|
battery-charger under the corresponding menus.
|
|
|
|
config MFD_MAX14577
|
|
tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select IRQ_DOMAIN
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX14577 and
|
|
MAX77836 Micro-USB ICs with battery charger.
|
|
This driver provides common support for accessing the device;
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_MAX77620
|
|
bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
|
|
depends on I2C=y
|
|
depends on OF || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select IRQ_DOMAIN
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX77620 and
|
|
MAX20024 which are Power Management IC with General purpose pins,
|
|
RTC, regulators, clock generator, watchdog etc. This driver
|
|
provides common support for accessing the device; additional drivers
|
|
must be enabled in order to use the functionality of the device.
|
|
|
|
config MFD_MAX77650
|
|
tristate "Maxim MAX77650/77651 PMIC Support"
|
|
depends on I2C
|
|
depends on OF || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Say Y here to add support for Maxim Semiconductor MAX77650 and
|
|
MAX77651 Power Management ICs. This is the core multifunction
|
|
driver for interacting with the device. The module name is
|
|
'max77650'. Additional drivers can be enabled in order to use
|
|
the following functionalities of the device: GPIO, regulator,
|
|
charger, LED, onkey.
|
|
|
|
config MFD_MAX77686
|
|
tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
|
|
depends on I2C
|
|
depends on OF || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select IRQ_DOMAIN
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX77686 and
|
|
MAX77802 which are Power Management IC with an RTC on chip.
|
|
This driver provides common support for accessing the device;
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_MAX77693
|
|
tristate "Maxim Semiconductor MAX77693 PMIC Support"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX77693.
|
|
This is a companion Power Management IC with Flash, Haptic, Charger,
|
|
and MUIC(Micro USB Interface Controller) controls on chip.
|
|
This driver provides common support for accessing the device;
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_MAX77843
|
|
bool "Maxim Semiconductor MAX77843 PMIC Support"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX77843.
|
|
This is companion Power Management IC with LEDs, Haptic, Charger,
|
|
Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
|
|
This driver provides common support for accessing the device;
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_MAX8907
|
|
tristate "Maxim Semiconductor MAX8907 PMIC Support"
|
|
select MFD_CORE
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX8907. This is
|
|
a Power Management IC. This driver provides common support for
|
|
accessing the device; additional drivers must be enabled in order
|
|
to use the functionality of the device.
|
|
|
|
config MFD_MAX8925
|
|
bool "Maxim Semiconductor MAX8925 PMIC Support"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX8925. This is
|
|
a Power Management IC. This driver provides common support for
|
|
accessing the device, additional drivers must be enabled in order
|
|
to use the functionality of the device.
|
|
|
|
config MFD_MAX8997
|
|
bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select IRQ_DOMAIN
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX8997/8966.
|
|
This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
|
|
MUIC controls on chip.
|
|
This driver provides common support for accessing the device;
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_MAX8998
|
|
bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select IRQ_DOMAIN
|
|
help
|
|
Say yes here to add support for Maxim Semiconductor MAX8998 and
|
|
National Semiconductor LP3974. This is a Power Management IC.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
config MFD_MT6397
|
|
tristate "MediaTek MT6397 PMIC Support"
|
|
select MFD_CORE
|
|
select IRQ_DOMAIN
|
|
help
|
|
Say yes here to add support for MediaTek MT6397 PMIC. This is
|
|
a Power Management IC. This driver provides common support for
|
|
accessing the device; additional drivers must be enabled in order
|
|
to use the functionality of the device.
|
|
|
|
config MFD_MENF21BMC
|
|
tristate "MEN 14F021P00 Board Management Controller Support"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
help
|
|
Say yes here to add support for the MEN 14F021P00 BMC
|
|
which is a Board Management Controller connected to the I2C bus.
|
|
The device supports multiple sub-devices like LED, HWMON and WDT.
|
|
This driver provides common support for accessing the devices;
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the BMC device.
|
|
|
|
This driver can also be built as a module. If so the module
|
|
will be called menf21bmc.
|
|
|
|
config EZX_PCAP
|
|
bool "Motorola EZXPCAP Support"
|
|
depends on SPI_MASTER
|
|
help
|
|
This enables the PCAP ASIC present on EZX Phones. This is
|
|
needed for MMC, TouchScreen, Sound, USB, etc..
|
|
|
|
config MFD_CPCAP
|
|
tristate "Support for Motorola CPCAP"
|
|
depends on SPI
|
|
depends on OF || COMPILE_TEST
|
|
select REGMAP_SPI
|
|
select REGMAP_IRQ
|
|
help
|
|
Say yes here if you want to include driver for CPCAP.
|
|
It is used on many Motorola phones and tablets as a PMIC.
|
|
At least Motorola Droid 4 is known to use CPCAP.
|
|
|
|
config MFD_VIPERBOARD
|
|
tristate "Nano River Technologies Viperboard"
|
|
select MFD_CORE
|
|
depends on USB
|
|
default n
|
|
help
|
|
Say yes here if you want support for Nano River Technologies
|
|
Viperboard.
|
|
There are mfd cell drivers available for i2c master, adc and
|
|
both gpios found on the board. The spi part does not yet
|
|
have a driver.
|
|
You need to select the mfd cell drivers separately.
|
|
The drivers do not support all features the board exposes.
|
|
|
|
config MFD_RETU
|
|
tristate "Nokia Retu and Tahvo multi-function device"
|
|
select MFD_CORE
|
|
depends on I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Retu and Tahvo are a multi-function devices found on Nokia
|
|
Internet Tablets (770, N800 and N810).
|
|
|
|
config MFD_PCF50633
|
|
tristate "NXP PCF50633"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here if you have NXP PCF50633 chip on your board.
|
|
This core driver provides register access and IRQ handling
|
|
facilities, and registers devices for the various functions
|
|
so that function-specific drivers can bind to them.
|
|
|
|
config PCF50633_ADC
|
|
tristate "NXP PCF50633 ADC"
|
|
depends on MFD_PCF50633
|
|
help
|
|
Say yes here if you want to include support for ADC in the
|
|
NXP PCF50633 chip.
|
|
|
|
config PCF50633_GPIO
|
|
tristate "NXP PCF50633 GPIO"
|
|
depends on MFD_PCF50633
|
|
help
|
|
Say yes here if you want to include support GPIO for pins on
|
|
the PCF50633 chip.
|
|
|
|
config UCB1400_CORE
|
|
tristate "Philips UCB1400 Core driver"
|
|
depends on AC97_BUS
|
|
depends on GPIOLIB
|
|
help
|
|
This enables support for the Philips UCB1400 core functions.
|
|
The UCB1400 is an AC97 audio codec.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ucb1400_core.
|
|
|
|
config MFD_PM8XXX
|
|
tristate "Qualcomm PM8xxx PMIC chips driver"
|
|
depends on (ARM || HEXAGON || COMPILE_TEST)
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select MFD_CORE
|
|
select REGMAP
|
|
help
|
|
If you say yes to this option, support will be included for the
|
|
built-in PM8xxx PMIC chips.
|
|
|
|
This is required if your board has a PM8xxx and uses its features,
|
|
such as: MPPs, GPIOs, regulators, interrupts, and PWM.
|
|
|
|
Say M here if you want to include support for PM8xxx chips as a
|
|
module. This will build a module called "pm8xxx-core".
|
|
|
|
config MFD_I2C_PMIC
|
|
tristate "QTI I2C PMIC support"
|
|
depends on I2C && OF
|
|
select IRQ_DOMAIN
|
|
select REGMAP_I2C
|
|
select MFD_CORE
|
|
help
|
|
This enables support for controlling Qualcomm Technologies, Inc.
|
|
PMICs over I2C. The driver controls interrupts, and provides register
|
|
access for all of the device's peripherals. Some QTI PMIC chips
|
|
support communication over both I2C and SPMI.
|
|
|
|
config MFD_QCOM_RPM
|
|
tristate "Qualcomm Resource Power Manager (RPM)"
|
|
depends on ARCH_QCOM && OF
|
|
help
|
|
If you say yes to this option, support will be included for the
|
|
Resource Power Manager system found in the Qualcomm 8660, 8960 and
|
|
8064 based devices.
|
|
|
|
This is required to access many regulators, clocks and bus
|
|
frequencies controlled by the RPM on these devices.
|
|
|
|
Say M here if you want to include support for the Qualcomm RPM as a
|
|
module. This will build a module called "qcom_rpm".
|
|
|
|
config MFD_SPMI_PMIC
|
|
tristate "Qualcomm SPMI PMICs"
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
depends on OF
|
|
depends on SPMI
|
|
select REGMAP_SPMI
|
|
help
|
|
This enables support for the Qualcomm SPMI PMICs.
|
|
These PMICs are currently used with the Snapdragon 800 series of
|
|
SoCs. Note, that this will only be useful paired with descriptions
|
|
of the independent functions as children nodes in the device tree.
|
|
|
|
Say M here if you want to include support for the SPMI PMIC
|
|
series as a module. The module will be called "qcom-spmi-pmic".
|
|
|
|
config MFD_RDC321X
|
|
tristate "RDC R-321x southbridge"
|
|
select MFD_CORE
|
|
depends on PCI
|
|
help
|
|
Say yes here if you want to have support for the RDC R-321x SoC
|
|
southbridge which provides access to GPIOs and Watchdog using the
|
|
southbridge PCI device configuration space.
|
|
|
|
config MFD_RT5033
|
|
tristate "Richtek RT5033 Power Management IC"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
This driver provides for the Richtek RT5033 Power Management IC,
|
|
which includes the I2C driver and the Core APIs. This driver provides
|
|
common support for accessing the device. The device supports multiple
|
|
sub-devices like charger, fuel gauge, flash LED, current source,
|
|
LDO and Buck.
|
|
|
|
config MFD_RC5T583
|
|
bool "Ricoh RC5T583 Power Management system device"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
Select this option to get support for the RICOH583 Power
|
|
Management system device.
|
|
This driver provides common support for accessing the device
|
|
through i2c interface. The device supports multiple sub-devices
|
|
like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
|
|
Additional drivers must be enabled in order to use the
|
|
different functionality of the device.
|
|
|
|
config MFD_RK808
|
|
tristate "Rockchip RK805/RK808/RK809/RK817/RK818 Power Management Chip"
|
|
depends on I2C && OF
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
If you say yes here you get support for the RK805, RK808, RK809,
|
|
RK817 and RK818 Power Management chips.
|
|
This driver provides common support for accessing the device
|
|
through I2C interface. The device supports multiple sub-devices
|
|
including interrupts, RTC, LDO & DCDC regulators, and onkey.
|
|
|
|
config MFD_RN5T618
|
|
tristate "Ricoh RN5T567/618 PMIC"
|
|
depends on I2C
|
|
depends on OF
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to add support for the Ricoh RN5T567,
|
|
RN5T618, RC5T619 PMIC.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config MFD_SEC_CORE
|
|
tristate "SAMSUNG Electronics PMIC Series Support"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
Support for the Samsung Electronics PMIC devices coming
|
|
usually along with Samsung Exynos SoC chipset.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called sec-core.
|
|
Have in mind that important core drivers (like regulators) depend
|
|
on this driver so building this as a module might require proper
|
|
initial ramdisk or might not boot up as well in certain scenarios.
|
|
|
|
config MFD_SI476X_CORE
|
|
tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
This is the core driver for the SI476x series of AM/FM
|
|
radio. This MFD driver connects the radio-si476x V4L2 module
|
|
and the si476x audio codec.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called si476x-core.
|
|
|
|
config MFD_SM501
|
|
tristate "Silicon Motion SM501"
|
|
depends on HAS_DMA
|
|
---help---
|
|
This is the core driver for the Silicon Motion SM501 multimedia
|
|
companion chip. This device is a multifunction device which may
|
|
provide numerous interfaces including USB host controller, USB gadget,
|
|
asynchronous serial ports, audio functions, and a dual display video
|
|
interface. The device may be connected by PCI or local bus with
|
|
varying functions enabled.
|
|
|
|
config MFD_SM501_GPIO
|
|
bool "Export GPIO via GPIO layer"
|
|
depends on MFD_SM501 && GPIOLIB
|
|
---help---
|
|
This option uses the gpio library layer to export the 64 GPIO
|
|
lines on the SM501. The platform data is used to supply the
|
|
base number for the first GPIO line to register.
|
|
|
|
config MFD_SKY81452
|
|
tristate "Skyworks Solutions SKY81452"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
This is the core driver for the Skyworks SKY81452 backlight and
|
|
voltage regulator device.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called sky81452.
|
|
|
|
config MFD_SMSC
|
|
bool "SMSC ECE1099 series chips"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
If you say yes here you get support for the
|
|
ece1099 chips from SMSC.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called smsc.
|
|
|
|
config MFD_SC27XX_PMIC
|
|
tristate "Spreadtrum SC27xx PMICs"
|
|
depends on ARCH_SPRD || COMPILE_TEST
|
|
depends on SPI_MASTER
|
|
select MFD_CORE
|
|
select REGMAP_SPI
|
|
select REGMAP_IRQ
|
|
help
|
|
This enables support for the Spreadtrum SC27xx PMICs with SPI
|
|
interface. The SC27xx series PMICs integrate power management,
|
|
audio codec, battery management and user interface support
|
|
function (such as RTC, Typec, indicator and so on) in a single chip.
|
|
|
|
This driver provides common support for accessing the SC27xx PMICs,
|
|
and it also adds the irq_chip parts for handling the PMIC chip events.
|
|
|
|
config ABX500_CORE
|
|
bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
|
|
default y if ARCH_U300 || ARCH_U8500 || COMPILE_TEST
|
|
help
|
|
Say yes here if you have the ABX500 Mixed Signal IC family
|
|
chips. This core driver expose register access functions.
|
|
Functionality specific drivers using these functions can
|
|
remain unchanged when IC changes. Binding of the functions to
|
|
actual register access is done by the IC core driver.
|
|
|
|
config AB3100_CORE
|
|
bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
|
|
depends on I2C=y && ABX500_CORE
|
|
select MFD_CORE
|
|
default y if ARCH_U300
|
|
help
|
|
Select this to enable the AB3100 Mixed Signal IC core
|
|
functionality. This connects to a AB3100 on the I2C bus
|
|
and expose a number of symbols needed for dependent devices
|
|
to read and write registers and subscribe to events from
|
|
this multi-functional IC. This is needed to use other features
|
|
of the AB3100 such as battery-backed RTC, charging control,
|
|
LEDs, vibrator, system power and temperature, power management
|
|
and ALSA sound.
|
|
|
|
config AB3100_OTP
|
|
tristate "ST-Ericsson AB3100 OTP functions"
|
|
depends on AB3100_CORE
|
|
default y if AB3100_CORE
|
|
help
|
|
Select this to enable the AB3100 Mixed Signal IC OTP (one-time
|
|
programmable memory) support. This exposes a sysfs file to read
|
|
out OTP values.
|
|
|
|
config AB8500_CORE
|
|
bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
|
|
depends on ABX500_CORE && MFD_DB8500_PRCMU
|
|
select POWER_SUPPLY
|
|
select MFD_CORE
|
|
select IRQ_DOMAIN
|
|
help
|
|
Select this option to enable access to AB8500 power management
|
|
chip. This connects to U8500 either on the SSP/SPI bus (deprecated
|
|
since hardware version v1.0) or the I2C bus via PRCMU. It also adds
|
|
the irq_chip parts for handling the Mixed Signal chip events.
|
|
This chip embeds various other multimedia funtionalities as well.
|
|
|
|
config AB8500_DEBUG
|
|
bool "Enable debug info via debugfs"
|
|
depends on AB8500_GPADC && DEBUG_FS
|
|
default y if DEBUG_FS
|
|
help
|
|
Select this option if you want debug information using the debug
|
|
filesystem, debugfs.
|
|
|
|
config AB8500_GPADC
|
|
bool "ST-Ericsson AB8500 GPADC driver"
|
|
depends on AB8500_CORE && REGULATOR_AB8500
|
|
default y
|
|
help
|
|
AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
|
|
|
|
config MFD_DB8500_PRCMU
|
|
bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
|
|
depends on UX500_SOC_DB8500
|
|
select MFD_CORE
|
|
help
|
|
Select this option to enable support for the DB8500 Power Reset
|
|
and Control Management Unit. This is basically an autonomous
|
|
system controller running an XP70 microprocessor, which is accessed
|
|
through a register map.
|
|
|
|
config MFD_STMPE
|
|
bool "STMicroelectronics STMPE"
|
|
depends on (I2C=y || SPI_MASTER=y)
|
|
depends on OF
|
|
select MFD_CORE
|
|
help
|
|
Support for the STMPE family of I/O Expanders from
|
|
STMicroelectronics.
|
|
|
|
Currently supported devices are:
|
|
|
|
STMPE811: GPIO, Touchscreen, ADC
|
|
STMPE1601: GPIO, Keypad
|
|
STMPE1801: GPIO, Keypad
|
|
STMPE2401: GPIO, Keypad
|
|
STMPE2403: GPIO, Keypad
|
|
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device. Currently available sub drivers are:
|
|
|
|
GPIO: stmpe-gpio
|
|
Keypad: stmpe-keypad
|
|
Touchscreen: stmpe-ts
|
|
ADC: stmpe-adc
|
|
|
|
menu "STMicroelectronics STMPE Interface Drivers"
|
|
depends on MFD_STMPE
|
|
|
|
config STMPE_I2C
|
|
bool "STMicroelectronics STMPE I2C Interface"
|
|
depends on I2C=y
|
|
default y
|
|
help
|
|
This is used to enable I2C interface of STMPE
|
|
|
|
config STMPE_SPI
|
|
bool "STMicroelectronics STMPE SPI Interface"
|
|
depends on SPI_MASTER
|
|
help
|
|
This is used to enable SPI interface of STMPE
|
|
endmenu
|
|
|
|
config MFD_STA2X11
|
|
bool "STMicroelectronics STA2X11"
|
|
depends on STA2X11
|
|
select MFD_CORE
|
|
select REGMAP_MMIO
|
|
|
|
config MFD_SUN6I_PRCM
|
|
bool "Allwinner A31 PRCM controller"
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
select MFD_CORE
|
|
help
|
|
Support for the PRCM (Power/Reset/Clock Management) unit available
|
|
in A31 SoC.
|
|
|
|
config MFD_SYSCON
|
|
bool "System Controller Register R/W Based on Regmap"
|
|
select REGMAP_MMIO
|
|
help
|
|
Select this option to enable accessing system control registers
|
|
via regmap.
|
|
|
|
config MFD_DAVINCI_VOICECODEC
|
|
tristate
|
|
select MFD_CORE
|
|
select REGMAP_MMIO
|
|
|
|
config MFD_TI_AM335X_TSCADC
|
|
tristate "TI ADC / Touch Screen chip support"
|
|
depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP
|
|
select REGMAP_MMIO
|
|
help
|
|
If you say yes here you get support for Texas Instruments series
|
|
of Touch Screen /ADC chips.
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ti_am335x_tscadc.
|
|
|
|
config MFD_DM355EVM_MSP
|
|
bool "TI DaVinci DM355 EVM microcontroller"
|
|
depends on I2C=y && MACH_DAVINCI_DM355_EVM
|
|
help
|
|
This driver supports the MSP430 microcontroller used on these
|
|
boards. MSP430 firmware manages resets and power sequencing,
|
|
inputs from buttons and the IR remote, LEDs, an RTC, and more.
|
|
|
|
config MFD_LP3943
|
|
tristate "TI/National Semiconductor LP3943 MFD Driver"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
Support for the TI/National Semiconductor LP3943.
|
|
This driver consists of GPIO and PWM drivers.
|
|
With these functionalities, it can be used for LED string control or
|
|
general usage such like a GPIO controller and a PWM controller.
|
|
|
|
config MFD_LP8788
|
|
bool "TI LP8788 Power Management Unit Driver"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select IRQ_DOMAIN
|
|
help
|
|
TI LP8788 PMU supports regulators, battery charger, RTC,
|
|
ADC, backlight driver and current sinks.
|
|
|
|
config MFD_TI_LMU
|
|
tristate "TI Lighting Management Unit driver"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to enable support for TI LMU chips.
|
|
TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and
|
|
LM36274. It consists of backlight, LED and regulator driver.
|
|
It provides consistent device controls for lighting functions.
|
|
|
|
config MFD_OMAP_USB_HOST
|
|
bool "TI OMAP USBHS core and TLL driver"
|
|
depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
|
|
default y
|
|
help
|
|
This is the core driver for the OAMP EHCI and OHCI drivers.
|
|
This MFD driver does the required setup functionalities for
|
|
OMAP USB Host drivers.
|
|
|
|
config MFD_PALMAS
|
|
bool "TI Palmas series chips"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
depends on I2C=y
|
|
help
|
|
If you say yes here you get support for the Palmas
|
|
series of PMIC chips from Texas Instruments.
|
|
|
|
config TPS6105X
|
|
tristate "TI TPS61050/61052 Boost Converters"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select REGULATOR
|
|
select MFD_CORE
|
|
select REGULATOR_FIXED_VOLTAGE
|
|
help
|
|
This option enables a driver for the TP61050/TPS61052
|
|
high-power "white LED driver". This boost converter is
|
|
sometimes used for other things than white LEDs, and
|
|
also contains a GPIO pin.
|
|
|
|
config TPS65010
|
|
tristate "TI TPS6501x Power Management chips"
|
|
depends on I2C && GPIOLIB
|
|
default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
|
|
help
|
|
If you say yes here you get support for the TPS6501x series of
|
|
Power Management chips. These include voltage regulators,
|
|
lithium ion/polymer battery charging, and other features that
|
|
are often used in portable devices like cell phones and cameras.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tps65010.
|
|
|
|
config TPS6507X
|
|
tristate "TI TPS6507x Power Management / Touch Screen chips"
|
|
select MFD_CORE
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the TPS6507x series of
|
|
Power Management / Touch Screen chips. These include voltage
|
|
regulators, lithium ion/polymer battery charging, touch screen
|
|
and other features that are often used in portable devices.
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tps6507x.
|
|
|
|
config MFD_TPS65086
|
|
tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
|
|
select MFD_CORE
|
|
select REGMAP
|
|
select REGMAP_IRQ
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the TPS65086 series of
|
|
Power Management chips.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config TPS65911_COMPARATOR
|
|
tristate
|
|
|
|
config MFD_TPS65090
|
|
bool "TI TPS65090 Power Management chips"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
If you say yes here you get support for the TPS65090 series of
|
|
Power Management chips.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config MFD_TPS65217
|
|
tristate "TI TPS65217 Power Management / White LED chips"
|
|
depends on I2C && OF
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select IRQ_DOMAIN
|
|
help
|
|
If you say yes here you get support for the TPS65217 series of
|
|
Power Management / White LED chips.
|
|
These include voltage regulators, lithium ion/polymer battery
|
|
charger, wled and other features that are often used in portable
|
|
devices.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tps65217.
|
|
|
|
config MFD_TPS68470
|
|
bool "TI TPS68470 Power Management / LED chips"
|
|
depends on ACPI && PCI && I2C=y
|
|
depends on I2C_DESIGNWARE_PLATFORM=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
If you say yes here you get support for the TPS68470 series of
|
|
Power Management / LED chips.
|
|
|
|
These include voltage regulators, LEDs and other features
|
|
that are often used in portable devices.
|
|
|
|
This option is a bool as it provides an ACPI operation
|
|
region, which must be available before any of the devices
|
|
using this are probed. This option also configures the
|
|
designware-i2c driver to be built-in, for the same reason.
|
|
|
|
config MFD_TI_LP873X
|
|
tristate "TI LP873X Power Management IC"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
If you say yes here then you get support for the LP873X series of
|
|
Power Management Integrated Circuits (PMIC).
|
|
These include voltage regulators, thermal protection, configurable
|
|
General Purpose Outputs (GPO) that are used in portable devices.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called lp873x.
|
|
|
|
config MFD_TI_LP87565
|
|
tristate "TI LP87565 Power Management IC"
|
|
depends on I2C && OF
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
If you say yes here then you get support for the LP87565 series of
|
|
Power Management Integrated Circuits (PMIC).
|
|
These include voltage regulators, thermal protection, configurable
|
|
General Purpose Outputs (GPO) that are used in portable devices.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called lp87565.
|
|
|
|
config MFD_TPS65218
|
|
tristate "TI TPS65218 Power Management chips"
|
|
depends on I2C && OF
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
If you say yes here you get support for the TPS65218 series of
|
|
Power Management chips.
|
|
These include voltage regulators, gpio and other features
|
|
that are often used in portable devices.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tps65218.
|
|
|
|
config MFD_TPS6586X
|
|
bool "TI TPS6586x Power Management chips"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
If you say yes here you get support for the TPS6586X series of
|
|
Power Management chips.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tps6586x.
|
|
|
|
config MFD_TPS65910
|
|
bool "TI TPS65910 Power Management chip"
|
|
depends on I2C=y
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select IRQ_DOMAIN
|
|
help
|
|
if you say yes here you get support for the TPS65910 series of
|
|
Power Management chips.
|
|
|
|
config MFD_TPS65912
|
|
tristate
|
|
select MFD_CORE
|
|
select REGMAP
|
|
select REGMAP_IRQ
|
|
|
|
config MFD_TPS65912_I2C
|
|
tristate "TI TPS65912 Power Management chip with I2C"
|
|
select MFD_TPS65912
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the TPS65912 series of
|
|
PM chips with I2C interface.
|
|
|
|
config MFD_TPS65912_SPI
|
|
tristate "TI TPS65912 Power Management chip with SPI"
|
|
select MFD_TPS65912
|
|
select REGMAP_SPI
|
|
depends on SPI_MASTER
|
|
help
|
|
If you say yes here you get support for the TPS65912 series of
|
|
PM chips with SPI interface.
|
|
|
|
config MFD_TPS80031
|
|
bool "TI TPS80031/TPS80032 Power Management chips"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
help
|
|
If you say yes here you get support for the Texas Instruments
|
|
TPS80031/ TPS80032 Fully Integrated Power Management with Power
|
|
Path and Battery Charger. The device provides five configurable
|
|
step-down converters, 11 general purpose LDOs, USB OTG Module,
|
|
ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
|
|
Power Path from USB, 32K clock generator.
|
|
|
|
config TWL4030_CORE
|
|
bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
|
|
depends on I2C=y
|
|
select IRQ_DOMAIN
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here if you have TWL4030 / TWL6030 family chip on your board.
|
|
This core driver provides register access and IRQ handling
|
|
facilities, and registers devices for the various functions
|
|
so that function-specific drivers can bind to them.
|
|
|
|
These multi-function chips are found on many OMAP2 and OMAP3
|
|
boards, providing power management, RTC, GPIO, keypad, a
|
|
high speed USB OTG transceiver, an audio codec (on most
|
|
versions) and many other features.
|
|
|
|
config TWL4030_POWER
|
|
bool "TI TWL4030 power resources"
|
|
depends on TWL4030_CORE && ARM
|
|
help
|
|
Say yes here if you want to use the power resources on the
|
|
TWL4030 family chips. Most of these resources are regulators,
|
|
which have a separate driver; some are control signals, such
|
|
as clock request handshaking.
|
|
|
|
This driver uses board-specific data to initialize the resources
|
|
and load scripts controlling which resources are switched off/on
|
|
or reset when a sleep, wakeup or warm reset event occurs.
|
|
|
|
config MFD_TWL4030_AUDIO
|
|
bool "TI TWL4030 Audio"
|
|
depends on TWL4030_CORE
|
|
select MFD_CORE
|
|
default n
|
|
|
|
config TWL6040_CORE
|
|
bool "TI TWL6040 audio codec"
|
|
depends on I2C=y
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
default n
|
|
help
|
|
Say yes here if you want support for Texas Instruments TWL6040 audio
|
|
codec.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device (audio, vibra).
|
|
|
|
config MENELAUS
|
|
bool "TI TWL92330/Menelaus PM chip"
|
|
depends on I2C=y && ARCH_OMAP2
|
|
help
|
|
If you say yes here you get support for the Texas Instruments
|
|
TWL92330/Menelaus Power Management chip. This include voltage
|
|
regulators, Dual slot memory card transceivers, real-time clock
|
|
and other features that are often used in portable devices like
|
|
cell phones and PDAs.
|
|
|
|
config MFD_WL1273_CORE
|
|
tristate "TI WL1273 FM radio"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
default n
|
|
help
|
|
This is the core driver for the TI WL1273 FM radio. This MFD
|
|
driver connects the radio-wl1273 V4L2 module and the wl1273
|
|
audio codec.
|
|
|
|
config MFD_LM3533
|
|
tristate "TI/National Semiconductor LM3533 Lighting Power chip"
|
|
depends on I2C
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to enable support for National Semiconductor / TI
|
|
LM3533 Lighting Power chips.
|
|
|
|
This driver provides common support for accessing the device;
|
|
additional drivers must be enabled in order to use the LED,
|
|
backlight or ambient-light-sensor functionality of the device.
|
|
|
|
config MFD_TIMBERDALE
|
|
tristate "Timberdale FPGA"
|
|
select MFD_CORE
|
|
depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
|
|
---help---
|
|
This is the core driver for the timberdale FPGA. This device is a
|
|
multifunction device which exposes numerous platform devices.
|
|
|
|
The timberdale FPGA can be found on the Intel Atom development board
|
|
for in-vehicle infontainment, called Russellville.
|
|
|
|
config MFD_TC3589X
|
|
bool "Toshiba TC35892 and variants"
|
|
depends on I2C=y
|
|
depends on OF
|
|
select MFD_CORE
|
|
help
|
|
Support for the Toshiba TC35892 and variants I/O Expander.
|
|
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config MFD_TMIO
|
|
bool
|
|
default n
|
|
|
|
config MFD_T7L66XB
|
|
bool "Toshiba T7L66XB"
|
|
depends on ARM && HAVE_CLK
|
|
select MFD_CORE
|
|
select MFD_TMIO
|
|
help
|
|
Support for Toshiba Mobile IO Controller T7L66XB
|
|
|
|
config MFD_TC6387XB
|
|
bool "Toshiba TC6387XB"
|
|
depends on ARM && HAVE_CLK
|
|
select MFD_CORE
|
|
select MFD_TMIO
|
|
help
|
|
Support for Toshiba Mobile IO Controller TC6387XB
|
|
|
|
config MFD_TC6393XB
|
|
bool "Toshiba TC6393XB"
|
|
depends on ARM && HAVE_CLK
|
|
select GPIOLIB
|
|
select MFD_CORE
|
|
select MFD_TMIO
|
|
help
|
|
Support for Toshiba Mobile IO Controller TC6393XB
|
|
|
|
config MFD_TQMX86
|
|
tristate "TQ-Systems IO controller TQMX86"
|
|
select MFD_CORE
|
|
help
|
|
Say yes here to enable support for various functions of the
|
|
TQ-Systems IO controller and watchdog device, found on their
|
|
ComExpress CPU modules.
|
|
|
|
config MFD_VX855
|
|
tristate "VIA VX855/VX875 integrated south bridge"
|
|
depends on PCI
|
|
select MFD_CORE
|
|
help
|
|
Say yes here to enable support for various functions of the
|
|
VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
|
|
and/or vx855_gpio drivers for this to do anything useful.
|
|
|
|
config MFD_LOCHNAGAR
|
|
bool "Cirrus Logic Lochnagar Audio Development Board"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
depends on I2C=y && OF
|
|
help
|
|
Support for Cirrus Logic Lochnagar audio development board.
|
|
|
|
config MFD_ARIZONA
|
|
select REGMAP
|
|
select REGMAP_IRQ
|
|
select MFD_CORE
|
|
bool
|
|
|
|
config MFD_ARIZONA_I2C
|
|
tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
|
|
select MFD_ARIZONA
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
help
|
|
Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
|
|
audio SoC core functionality controlled via I2C.
|
|
|
|
config MFD_ARIZONA_SPI
|
|
tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
|
|
select MFD_ARIZONA
|
|
select REGMAP_SPI
|
|
depends on SPI_MASTER
|
|
help
|
|
Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
|
|
audio SoC core functionality controlled via SPI.
|
|
|
|
config MFD_CS47L24
|
|
bool "Cirrus Logic CS47L24 and WM1831"
|
|
depends on MFD_ARIZONA
|
|
help
|
|
Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
|
|
|
|
config MFD_WM5102
|
|
bool "Wolfson Microelectronics WM5102"
|
|
depends on MFD_ARIZONA
|
|
help
|
|
Support for Wolfson Microelectronics WM5102 low power audio SoC
|
|
|
|
config MFD_WM5110
|
|
bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
|
|
depends on MFD_ARIZONA
|
|
help
|
|
Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
|
|
low power audio SoC
|
|
|
|
config MFD_WM8997
|
|
bool "Wolfson Microelectronics WM8997"
|
|
depends on MFD_ARIZONA
|
|
help
|
|
Support for Wolfson Microelectronics WM8997 low power audio SoC
|
|
|
|
config MFD_WM8998
|
|
bool "Wolfson Microelectronics WM8998"
|
|
depends on MFD_ARIZONA
|
|
help
|
|
Support for Wolfson Microelectronics WM8998 low power audio SoC
|
|
|
|
config MFD_WM8400
|
|
bool "Wolfson Microelectronics WM8400"
|
|
select MFD_CORE
|
|
depends on I2C=y
|
|
select REGMAP_I2C
|
|
help
|
|
Support for the Wolfson Microelecronics WM8400 PMIC and audio
|
|
CODEC. This driver provides common support for accessing
|
|
the device, additional drivers must be enabled in order to use
|
|
the functionality of the device.
|
|
|
|
config MFD_WM831X
|
|
bool
|
|
|
|
config MFD_WM831X_I2C
|
|
bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
|
|
select MFD_CORE
|
|
select MFD_WM831X
|
|
select REGMAP_I2C
|
|
select IRQ_DOMAIN
|
|
depends on I2C=y
|
|
help
|
|
Support for the Wolfson Microelecronics WM831x and WM832x PMICs
|
|
when controlled using I2C. This driver provides common support
|
|
for accessing the device, additional drivers must be enabled in
|
|
order to use the functionality of the device.
|
|
|
|
config MFD_WM831X_SPI
|
|
bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
|
|
select MFD_CORE
|
|
select MFD_WM831X
|
|
select REGMAP_SPI
|
|
select IRQ_DOMAIN
|
|
depends on SPI_MASTER
|
|
help
|
|
Support for the Wolfson Microelecronics WM831x and WM832x PMICs
|
|
when controlled using SPI. This driver provides common support
|
|
for accessing the device, additional drivers must be enabled in
|
|
order to use the functionality of the device.
|
|
|
|
config MFD_WM8350
|
|
bool
|
|
|
|
config MFD_WM8350_I2C
|
|
bool "Wolfson Microelectronics WM8350 with I2C"
|
|
select MFD_WM8350
|
|
select REGMAP_I2C
|
|
depends on I2C=y
|
|
help
|
|
The WM8350 is an integrated audio and power management
|
|
subsystem with watchdog and RTC functionality for embedded
|
|
systems. This option enables core support for the WM8350 with
|
|
I2C as the control interface. Additional options must be
|
|
selected to enable support for the functionality of the chip.
|
|
|
|
config MFD_WM8994
|
|
tristate "Wolfson Microelectronics WM8994"
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
depends on I2C
|
|
help
|
|
The WM8994 is a highly integrated hi-fi CODEC designed for
|
|
smartphone applications. As well as audio functionality it
|
|
has on board GPIO and regulator functionality which is
|
|
supported via the relevant subsystems. This driver provides
|
|
core support for the WM8994, in order to use the actual
|
|
functionaltiy of the device other drivers must be enabled.
|
|
|
|
config MFD_WM97xx
|
|
tristate "Wolfson Microelectronics WM97xx"
|
|
select MFD_CORE
|
|
select REGMAP_AC97
|
|
select AC97_BUS_COMPAT
|
|
depends on AC97_BUS_NEW
|
|
help
|
|
The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC
|
|
designed for smartphone applications. As well as audio functionality
|
|
it has on board GPIO and a touchscreen functionality which is
|
|
supported via the relevant subsystems. This driver provides core
|
|
support for the WM97xx, in order to use the actual functionaltiy of
|
|
the device other drivers must be enabled.
|
|
|
|
config MFD_STW481X
|
|
tristate "Support for ST Microelectronics STw481x"
|
|
depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
|
|
select REGMAP_I2C
|
|
select MFD_CORE
|
|
help
|
|
Select this option to enable the STw481x chip driver used
|
|
in various ST Microelectronics and ST-Ericsson embedded
|
|
Nomadik series.
|
|
|
|
config MFD_ROHM_BD718XX
|
|
tristate "ROHM BD71837 Power Management IC"
|
|
depends on I2C=y
|
|
depends on OF
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select MFD_CORE
|
|
help
|
|
Select this option to get support for the ROHM BD71837
|
|
Power Management ICs. BD71837 is designed to power processors like
|
|
NXP i.MX8. It contains 8 BUCK outputs and 7 LDOs, voltage monitoring
|
|
and emergency shut down as well as 32,768KHz clock output.
|
|
|
|
config MFD_ROHM_BD70528
|
|
tristate "ROHM BD70528 Power Management IC"
|
|
depends on I2C=y
|
|
depends on OF
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select MFD_CORE
|
|
help
|
|
Select this option to get support for the ROHM BD70528 Power
|
|
Management IC. BD71837 is general purpose single-chip power
|
|
management IC for battery-powered portable devices. It contains
|
|
3 ultra-low current consumption buck converters, 3 LDOs and 2 LED
|
|
drivers. Also included are 4 GPIOs, a real-time clock (RTC), a 32kHz
|
|
crystal oscillator, high-accuracy VREF for use with an external ADC,
|
|
10 bits SAR ADC for battery temperature monitor and 1S battery
|
|
charger.
|
|
|
|
config MFD_STM32_LPTIMER
|
|
tristate "Support for STM32 Low-Power Timer"
|
|
depends on (ARCH_STM32 && OF) || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP
|
|
select REGMAP_MMIO
|
|
help
|
|
Select this option to enable STM32 Low-Power Timer driver
|
|
used for PWM, IIO Trigger, IIO Encoder and Counter. Shared
|
|
resources are also dealt with here.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called stm32-lptimer.
|
|
|
|
config MFD_STM32_TIMERS
|
|
tristate "Support for STM32 Timers"
|
|
depends on (ARCH_STM32 && OF) || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP
|
|
select REGMAP_MMIO
|
|
help
|
|
Select this option to enable STM32 timers driver used
|
|
for PWM and IIO Timer. This driver allow to share the
|
|
registers between the others drivers.
|
|
|
|
config MFD_STPMIC1
|
|
tristate "Support for STPMIC1 PMIC"
|
|
depends on (I2C=y && OF)
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
select MFD_CORE
|
|
help
|
|
Support for ST Microelectronics STPMIC1 PMIC. STPMIC1 has power on
|
|
key, watchdog and regulator functionalities which are supported via
|
|
the relevant subsystems. This driver provides core support for the
|
|
STPMIC1. In order to use the actual functionaltiy of the device other
|
|
drivers must be enabled.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called stpmic1.
|
|
|
|
config MFD_STMFX
|
|
tristate "Support for STMicroelectronics Multi-Function eXpander (STMFX)"
|
|
depends on I2C
|
|
depends on OF || COMPILE_TEST
|
|
select MFD_CORE
|
|
select REGMAP_I2C
|
|
help
|
|
Support for the STMicroelectronics Multi-Function eXpander.
|
|
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the functionality
|
|
of the device.
|
|
|
|
menu "Multimedia Capabilities Port drivers"
|
|
depends on ARCH_SA1100
|
|
|
|
config MCP
|
|
tristate
|
|
|
|
# Interface drivers
|
|
config MCP_SA11X0
|
|
tristate "Support SA11x0 MCP interface"
|
|
depends on ARCH_SA1100
|
|
select MCP
|
|
|
|
# Chip drivers
|
|
config MCP_UCB1200
|
|
tristate "Support for UCB1200 / UCB1300"
|
|
depends on MCP_SA11X0
|
|
select MCP
|
|
|
|
config MCP_UCB1200_TS
|
|
tristate "Touchscreen interface support"
|
|
depends on MCP_UCB1200 && INPUT
|
|
|
|
endmenu
|
|
|
|
config MFD_VEXPRESS_SYSREG
|
|
bool "Versatile Express System Registers"
|
|
depends on VEXPRESS_CONFIG && GPIOLIB && !ARCH_USES_GETTIMEOFFSET
|
|
default y
|
|
select CLKSRC_MMIO
|
|
select GPIO_GENERIC_PLATFORM
|
|
select MFD_CORE
|
|
select MFD_SYSCON
|
|
help
|
|
System Registers are the platform configuration block
|
|
on the ARM Ltd. Versatile Express board.
|
|
|
|
config RAVE_SP_CORE
|
|
tristate "RAVE SP MCU core driver"
|
|
depends on SERIAL_DEV_BUS
|
|
select CRC_CCITT
|
|
help
|
|
Select this to get support for the Supervisory Processor
|
|
device found on several devices in RAVE line of hardware.
|
|
|
|
config MFD_WCD
|
|
tristate "Support for WCD93xx driver core functions"
|
|
select MFD_CORE
|
|
help
|
|
Select this to get support for MFD CORE enabled for WCD
|
|
audio Multifunctional device. Audio MFD core functions
|
|
are used to register the WCD9335 series of codec.
|
|
This driver include only the core APIs. You have to select
|
|
individual drivers separately to enable the codec functionality.
|
|
|
|
endmenu
|
|
endif
|