Commit 2c36af7b authored by Haojian Zhuang's avatar Haojian Zhuang Committed by Samuel Ortiz

mfd: Add codec resource into 88pm860x driver

Add codec IRQ resources that are used in 88pm860x codec driver.
Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@marvell.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 4b751cf5
...@@ -158,6 +158,43 @@ static struct mfd_cell onkey_devs[] = { ...@@ -158,6 +158,43 @@ static struct mfd_cell onkey_devs[] = {
}, },
}; };
static struct resource codec_resources[] = {
{
/* Headset microphone insertion or removal */
.name = "micin",
.start = PM8607_IRQ_MICIN,
.end = PM8607_IRQ_MICIN,
.flags = IORESOURCE_IRQ,
}, {
/* Hook-switch press or release */
.name = "hook",
.start = PM8607_IRQ_HOOK,
.end = PM8607_IRQ_HOOK,
.flags = IORESOURCE_IRQ,
}, {
/* Headset insertion or removal */
.name = "headset",
.start = PM8607_IRQ_HEADSET,
.end = PM8607_IRQ_HEADSET,
.flags = IORESOURCE_IRQ,
}, {
/* Audio short */
.name = "audio-short",
.start = PM8607_IRQ_AUDIO_SHORT,
.end = PM8607_IRQ_AUDIO_SHORT,
.flags = IORESOURCE_IRQ,
},
};
static struct mfd_cell codec_devs[] = {
{
.name = "88pm860x-codec",
.num_resources = ARRAY_SIZE(codec_resources),
.resources = &codec_resources[0],
.id = -1,
},
};
static struct resource regulator_resources[] = { static struct resource regulator_resources[] = {
PM8607_REG_RESOURCE(BUCK1, BUCK1), PM8607_REG_RESOURCE(BUCK1, BUCK1),
PM8607_REG_RESOURCE(BUCK2, BUCK2), PM8607_REG_RESOURCE(BUCK2, BUCK2),
...@@ -687,6 +724,13 @@ static void __devinit device_8607_init(struct pm860x_chip *chip, ...@@ -687,6 +724,13 @@ static void __devinit device_8607_init(struct pm860x_chip *chip,
goto out_dev; goto out_dev;
} }
ret = mfd_add_devices(chip->dev, 0, &codec_devs[0],
ARRAY_SIZE(codec_devs),
&codec_resources[0], 0);
if (ret < 0) {
dev_err(chip->dev, "Failed to add codec subdev\n");
goto out_dev;
}
return; return;
out_dev: out_dev:
mfd_remove_devices(chip->dev); mfd_remove_devices(chip->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment