mfd: arizona: Allow building arizona MFD-core as module
authorHans de Goede <hdegoede@redhat.com>
Fri, 21 May 2021 13:50:23 +0000 (15:50 +0200)
committerLee Jones <lee.jones@linaro.org>
Wed, 2 Jun 2021 09:50:04 +0000 (10:50 +0100)
commit33d550701b915938bd35ca323ee479e52029adf2
tree2377d26e661cf175dc8651b0496da2f44224f8d2
parentf94c780172b397756da82c3de98f3965d34a2b94
mfd: arizona: Allow building arizona MFD-core as module

There is no reason why the arizona core,irq and codec model specific
regmap bits cannot be build as a module. All they do is export symbols
which are used by the arizona-spi/i2c and arizona-codec modules, which
themselves can be built as module.

Change the Kconfig and Makefile arizona bits so that the arizona MFD-core
can be built as a module.

This is especially useful on x86 platforms with a WM5102 codec, this
allows the arizona MFD driver necessary for the WM5102 codec to be
enabled in generic distro-kernels without growing the base kernel-image
size.

Note this also adds an explicit "depends on MFD_ARIZONA" to all the
arizona codec Kconfig options. The codec drivers use functions from mfd
arizona-core. These new depends are necessary to disallow the codec
drivers being builtin when the arizona-core is build as a module,
otherwise we end up with missing symbol errors when building vmlinuz.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/Kconfig
drivers/mfd/Makefile
drivers/mfd/arizona-core.c
sound/soc/codecs/Kconfig