Merge branch 'for-next' into for-linus
[linux-block.git] / drivers / mfd / max14577.c
index d44ad6f337425a9223315465e73287a0d65a5f91..0e3731e9e9b59793e61c26bcd00f426932e735d7 100644 (file)
@@ -209,8 +209,7 @@ static const struct regmap_irq max14577_irqs[] = {
 static const struct regmap_irq_chip max14577_irq_chip = {
        .name                   = "max14577",
        .status_base            = MAX14577_REG_INT1,
-       .mask_base              = MAX14577_REG_INTMASK1,
-       .mask_invert            = true,
+       .unmask_base            = MAX14577_REG_INTMASK1,
        .num_regs               = 3,
        .irqs                   = max14577_irqs,
        .num_irqs               = ARRAY_SIZE(max14577_irqs),
@@ -239,8 +238,7 @@ static const struct regmap_irq max77836_muic_irqs[] = {
 static const struct regmap_irq_chip max77836_muic_irq_chip = {
        .name                   = "max77836-muic",
        .status_base            = MAX14577_REG_INT1,
-       .mask_base              = MAX14577_REG_INTMASK1,
-       .mask_invert            = true,
+       .unmask_base            = MAX14577_REG_INTMASK1,
        .num_regs               = 3,
        .irqs                   = max77836_muic_irqs,
        .num_irqs               = ARRAY_SIZE(max77836_muic_irqs),
@@ -255,7 +253,6 @@ static const struct regmap_irq_chip max77836_pmic_irq_chip = {
        .name                   = "max77836-pmic",
        .status_base            = MAX77836_PMIC_REG_TOPSYS_INT,
        .mask_base              = MAX77836_PMIC_REG_TOPSYS_INT_MASK,
-       .mask_invert            = false,
        .num_regs               = 1,
        .irqs                   = max77836_pmic_irqs,
        .num_irqs               = ARRAY_SIZE(max77836_pmic_irqs),
@@ -358,9 +355,9 @@ static void max77836_remove(struct max14577 *max14577)
        i2c_unregister_device(max14577->i2c_pmic);
 }
 
-static int max14577_i2c_probe(struct i2c_client *i2c,
-                             const struct i2c_device_id *id)
+static int max14577_i2c_probe(struct i2c_client *i2c)
 {
+       const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
        struct max14577 *max14577;
        struct max14577_platform_data *pdata = dev_get_platdata(&i2c->dev);
        struct device_node *np = i2c->dev.of_node;
@@ -480,7 +477,6 @@ static const struct i2c_device_id max14577_i2c_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, max14577_i2c_id);
 
-#ifdef CONFIG_PM_SLEEP
 static int max14577_suspend(struct device *dev)
 {
        struct i2c_client *i2c = to_i2c_client(dev);
@@ -513,17 +509,16 @@ static int max14577_resume(struct device *dev)
 
        return 0;
 }
-#endif /* CONFIG_PM_SLEEP */
 
-static SIMPLE_DEV_PM_OPS(max14577_pm, max14577_suspend, max14577_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(max14577_pm, max14577_suspend, max14577_resume);
 
 static struct i2c_driver max14577_i2c_driver = {
        .driver = {
                .name = "max14577",
-               .pm = &max14577_pm,
+               .pm = pm_sleep_ptr(&max14577_pm),
                .of_match_table = max14577_dt_match,
        },
-       .probe = max14577_i2c_probe,
+       .probe_new = max14577_i2c_probe,
        .remove = max14577_i2c_remove,
        .id_table = max14577_i2c_id,
 };