# SPDX-License-Identifier: GPL-2.0
# Generic register map support.  There are no user servicable options here,
# this is an API intended to be used by other kernel subsystems.  These
# subsystems should select the appropriate symbols.

config REGMAP
	default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_W1 || REGMAP_AC97 || REGMAP_MMIO || REGMAP_IRQ || REGMAP_SOUNDWIRE || REGMAP_SCCB || REGMAP_I3C)
	select IRQ_DOMAIN if REGMAP_IRQ
	bool

config REGCACHE_COMPRESSED
	select LZO_COMPRESS
	select LZO_DECOMPRESS
	bool

config REGMAP_AC97
	tristate

config REGMAP_I2C
	tristate
	depends on I2C

config REGMAP_SLIMBUS
	tristate
	depends on SLIMBUS

config REGMAP_SPI
	tristate
	depends on SPI

config REGMAP_SPMI
	tristate
	depends on SPMI

config REGMAP_W1
	tristate
	depends on W1

config REGMAP_MMIO
	tristate

config REGMAP_IRQ
	bool

config REGMAP_SOUNDWIRE
	tristate
	depends on SOUNDWIRE

config REGMAP_SCCB
	tristate
	depends on I2C

config REGMAP_I3C
	tristate
	depends on I3C
