aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/sound/wm8994.txt18
-rw-r--r--drivers/mfd/wm8994-core.c9
2 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/sound/wm8994.txt b/Documentation/devicetree/bindings/sound/wm8994.txt
new file mode 100644
index 00000000000..7a7eb1e7bda
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/wm8994.txt
@@ -0,0 +1,18 @@
1WM1811/WM8994/WM8958 audio CODEC
2
3These devices support both I2C and SPI (configured with pin strapping
4on the board).
5
6Required properties:
7
8 - compatible : "wlf,wm1811", "wlf,wm8994", "wlf,wm8958"
9
10 - reg : the I2C address of the device for I2C, the chip select
11 number for SPI.
12
13Example:
14
15codec: wm8994@1a {
16 compatible = "wlf,wm8994";
17 reg = <0x1a>;
18};
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index 5d6ba132837..74d4746086c 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -581,6 +581,14 @@ static void wm8994_device_exit(struct wm8994 *wm8994)
581 kfree(wm8994); 581 kfree(wm8994);
582} 582}
583 583
584static const struct of_device_id wm8994_of_match[] = {
585 { .compatible = "wlf,wm1811", },
586 { .compatible = "wlf,wm8994", },
587 { .compatible = "wlf,wm8958", },
588 { }
589};
590MODULE_DEVICE_TABLE(of, wm8994_of_match);
591
584static int wm8994_i2c_probe(struct i2c_client *i2c, 592static int wm8994_i2c_probe(struct i2c_client *i2c,
585 const struct i2c_device_id *id) 593 const struct i2c_device_id *id)
586{ 594{
@@ -633,6 +641,7 @@ static struct i2c_driver wm8994_i2c_driver = {
633 .name = "wm8994", 641 .name = "wm8994",
634 .owner = THIS_MODULE, 642 .owner = THIS_MODULE,
635 .pm = &wm8994_pm_ops, 643 .pm = &wm8994_pm_ops,
644 .of_match_table = wm8994_of_match,
636 }, 645 },
637 .probe = wm8994_i2c_probe, 646 .probe = wm8994_i2c_probe,
638 .remove = wm8994_i2c_remove, 647 .remove = wm8994_i2c_remove,