aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mfd/88pm860x-core.c7
-rw-r--r--include/linux/mfd/88pm860x.h2
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c
index 4db10a150369..20895e7a99c9 100644
--- a/drivers/mfd/88pm860x-core.c
+++ b/drivers/mfd/88pm860x-core.c
@@ -645,10 +645,13 @@ static void __devinit device_8607_init(struct pm860x_chip *chip,
645 dev_err(chip->dev, "Failed to read CHIP ID: %d\n", ret); 645 dev_err(chip->dev, "Failed to read CHIP ID: %d\n", ret);
646 goto out; 646 goto out;
647 } 647 }
648 if ((ret & PM8607_VERSION_MASK) == PM8607_VERSION) 648 switch (ret & PM8607_VERSION_MASK) {
649 case 0x40:
650 case 0x50:
649 dev_info(chip->dev, "Marvell 88PM8607 (ID: %02x) detected\n", 651 dev_info(chip->dev, "Marvell 88PM8607 (ID: %02x) detected\n",
650 ret); 652 ret);
651 else { 653 break;
654 default:
652 dev_err(chip->dev, "Failed to detect Marvell 88PM8607. " 655 dev_err(chip->dev, "Failed to detect Marvell 88PM8607. "
653 "Chip ID: %02x\n", ret); 656 "Chip ID: %02x\n", ret);
654 goto out; 657 goto out;
diff --git a/include/linux/mfd/88pm860x.h b/include/linux/mfd/88pm860x.h
index bfd23bef7363..4db1fbd8969e 100644
--- a/include/linux/mfd/88pm860x.h
+++ b/include/linux/mfd/88pm860x.h
@@ -138,7 +138,7 @@ enum {
138 PM8607_ID_RG_MAX, 138 PM8607_ID_RG_MAX,
139}; 139};
140 140
141#define PM8607_VERSION (0x40) /* 8607 chip ID */ 141/* 8607 chip ID is 0x40 or 0x50 */
142#define PM8607_VERSION_MASK (0xF0) /* 8607 chip ID mask */ 142#define PM8607_VERSION_MASK (0xF0) /* 8607 chip ID mask */
143 143
144/* Interrupt Registers */ 144/* Interrupt Registers */