diff options
-rw-r--r-- | drivers/mfd/88pm860x-core.c | 7 | ||||
-rw-r--r-- | include/linux/mfd/88pm860x.h | 2 |
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 */ |