mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 20:20:55 +07:00
mfd: Add codec resource into 88pm860x driver
Add codec IRQ resources that are used in 88pm860x codec driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
4b751cf5de
commit
2c36af7b57
@ -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[] = {
|
||||
PM8607_REG_RESOURCE(BUCK1, BUCK1),
|
||||
PM8607_REG_RESOURCE(BUCK2, BUCK2),
|
||||
@ -687,6 +724,13 @@ static void __devinit device_8607_init(struct pm860x_chip *chip,
|
||||
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;
|
||||
out_dev:
|
||||
mfd_remove_devices(chip->dev);
|
||||
|
Loading…
Reference in New Issue
Block a user