aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/stmpe-i2c.c1
-rw-r--r--drivers/mfd/stmpe-spi.c1
-rw-r--r--drivers/mfd/stmpe.c20
3 files changed, 20 insertions, 2 deletions
diff --git a/drivers/mfd/stmpe-i2c.c b/drivers/mfd/stmpe-i2c.c
index 0a4365902e3..b11d33b1c89 100644
--- a/drivers/mfd/stmpe-i2c.c
+++ b/drivers/mfd/stmpe-i2c.c
@@ -71,6 +71,7 @@ static int __devexit stmpe_i2c_remove(struct i2c_client *i2c)
71} 71}
72 72
73static const struct i2c_device_id stmpe_i2c_id[] = { 73static const struct i2c_device_id stmpe_i2c_id[] = {
74 { "stmpe610", STMPE610 },
74 { "stmpe811", STMPE811 }, 75 { "stmpe811", STMPE811 },
75 { "stmpe1601", STMPE1601 }, 76 { "stmpe1601", STMPE1601 },
76 { "stmpe2401", STMPE2401 }, 77 { "stmpe2401", STMPE2401 },
diff --git a/drivers/mfd/stmpe-spi.c b/drivers/mfd/stmpe-spi.c
index 53efce4fe29..46963a5d569 100644
--- a/drivers/mfd/stmpe-spi.c
+++ b/drivers/mfd/stmpe-spi.c
@@ -109,6 +109,7 @@ static int __devexit stmpe_spi_remove(struct spi_device *spi)
109} 109}
110 110
111static const struct spi_device_id stmpe_spi_id[] = { 111static const struct spi_device_id stmpe_spi_id[] = {
112 { "stmpe610", STMPE610 },
112 { "stmpe811", STMPE811 }, 113 { "stmpe811", STMPE811 },
113 { "stmpe1601", STMPE1601 }, 114 { "stmpe1601", STMPE1601 },
114 { "stmpe2401", STMPE2401 }, 115 { "stmpe2401", STMPE2401 },
diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
index 83bacde6a7c..67ff3dc5bb4 100644
--- a/drivers/mfd/stmpe.c
+++ b/drivers/mfd/stmpe.c
@@ -321,7 +321,7 @@ static struct mfd_cell stmpe_keypad_cell = {
321}; 321};
322 322
323/* 323/*
324 * Touchscreen (STMPE811) 324 * Touchscreen (STMPE811 or STMPE610)
325 */ 325 */
326 326
327static struct resource stmpe_ts_resources[] = { 327static struct resource stmpe_ts_resources[] = {
@@ -346,7 +346,7 @@ static struct mfd_cell stmpe_ts_cell = {
346}; 346};
347 347
348/* 348/*
349 * STMPE811 349 * STMPE811 or STMPE610
350 */ 350 */
351 351
352static const u8 stmpe811_regs[] = { 352static const u8 stmpe811_regs[] = {
@@ -417,6 +417,21 @@ static struct stmpe_variant_info stmpe811 = {
417 .get_altfunc = stmpe811_get_altfunc, 417 .get_altfunc = stmpe811_get_altfunc,
418}; 418};
419 419
420/* Similar to 811, except number of gpios */
421static struct stmpe_variant_info stmpe610 = {
422 .name = "stmpe610",
423 .id_val = 0x0811,
424 .id_mask = 0xffff,
425 .num_gpios = 6,
426 .af_bits = 1,
427 .regs = stmpe811_regs,
428 .blocks = stmpe811_blocks,
429 .num_blocks = ARRAY_SIZE(stmpe811_blocks),
430 .num_irqs = STMPE811_NR_INTERNAL_IRQS,
431 .enable = stmpe811_enable,
432 .get_altfunc = stmpe811_get_altfunc,
433};
434
420/* 435/*
421 * STMPE1601 436 * STMPE1601
422 */ 437 */
@@ -651,6 +666,7 @@ static struct stmpe_variant_info stmpe2403 = {
651}; 666};
652 667
653static struct stmpe_variant_info *stmpe_variant_info[] = { 668static struct stmpe_variant_info *stmpe_variant_info[] = {
669 [STMPE610] = &stmpe610,
654 [STMPE811] = &stmpe811, 670 [STMPE811] = &stmpe811,
655 [STMPE1601] = &stmpe1601, 671 [STMPE1601] = &stmpe1601,
656 [STMPE2401] = &stmpe2401, 672 [STMPE2401] = &stmpe2401,