diff --git a/[refs] b/[refs] index 2d2084157852..91e0abc0b4d6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 78302a194c0ddf4438e50e3f9b327a6dce6bc8fc +refs/heads/master: ca2cad6ae38ea0ff27a7a7a00bfaa571fbe9051f diff --git a/trunk/drivers/mfd/twl6040-core.c b/trunk/drivers/mfd/twl6040-core.c index 450a28fe8fc2..4ded9e7aa246 100644 --- a/trunk/drivers/mfd/twl6040-core.c +++ b/trunk/drivers/mfd/twl6040-core.c @@ -45,6 +45,20 @@ #define VIBRACTRL_MEMBER(reg) ((reg == TWL6040_REG_VIBCTLL) ? 0 : 1) #define TWL6040_NUM_SUPPLIES (2) +static bool twl6040_has_vibra(struct twl6040_platform_data *pdata, + struct device_node *node) +{ + if (pdata && pdata->vibra) + return true; + +#ifdef CONFIG_OF + if (of_find_node_by_name(node, "vibra")) + return true; +#endif + + return false; +} + int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg) { int ret; @@ -617,7 +631,7 @@ static int __devinit twl6040_probe(struct i2c_client *client, } children++; - if ((pdata && pdata->vibra) || of_find_node_by_name(node, "vibra")) { + if (twl6040_has_vibra(pdata, node)) { irq = twl6040->irq_base + TWL6040_IRQ_VIB; cell = &twl6040->cells[children];