mfd: Read CUST_ID from the wm8994 device

Read CUST_ID from the device and log it for diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Mark Brown 2012-05-07 10:03:22 +01:00 committed by Samuel Ortiz
parent b7b142d9fc
commit cc7a727941
3 changed files with 8 additions and 3 deletions

View File

@ -500,7 +500,8 @@ static __devinit int wm8994_device_init(struct wm8994 *wm8994, int irq)
ret); ret);
goto err_enable; goto err_enable;
} }
wm8994->revision = ret; wm8994->revision = ret & WM8994_CHIP_REV_MASK;
wm8994->cust_id = (ret & WM8994_CUST_ID_MASK) >> WM8994_CUST_ID_SHIFT;
switch (wm8994->type) { switch (wm8994->type) {
case WM8994: case WM8994:
@ -553,8 +554,8 @@ static __devinit int wm8994_device_init(struct wm8994 *wm8994, int irq)
break; break;
} }
dev_info(wm8994->dev, "%s revision %c\n", devname, dev_info(wm8994->dev, "%s revision %c CUST_ID %02x\n", devname,
'A' + wm8994->revision); 'A' + wm8994->revision, wm8994->cust_id);
switch (wm8994->type) { switch (wm8994->type) {
case WM1811: case WM1811:

View File

@ -57,6 +57,7 @@ struct wm8994 {
enum wm8994_type type; enum wm8994_type type;
int revision; int revision;
int cust_id;
struct device *dev; struct device *dev;
struct regmap *regmap; struct regmap *regmap;

View File

@ -2212,6 +2212,9 @@
/* /*
* R256 (0x100) - Chip Revision * R256 (0x100) - Chip Revision
*/ */
#define WM8994_CUST_ID_MASK 0xFF00 /* CUST_ID - [15:8] */
#define WM8994_CUST_ID_SHIFT 8 /* CUST_ID - [15:8] */
#define WM8994_CUST_ID_WIDTH 8 /* CUST_ID - [15:8] */
#define WM8994_CHIP_REV_MASK 0x000F /* CHIP_REV - [3:0] */ #define WM8994_CHIP_REV_MASK 0x000F /* CHIP_REV - [3:0] */
#define WM8994_CHIP_REV_SHIFT 0 /* CHIP_REV - [3:0] */ #define WM8994_CHIP_REV_SHIFT 0 /* CHIP_REV - [3:0] */
#define WM8994_CHIP_REV_WIDTH 4 /* CHIP_REV - [3:0] */ #define WM8994_CHIP_REV_WIDTH 4 /* CHIP_REV - [3:0] */