diff options
Diffstat (limited to 'drivers/mfd/88pm860x-core.c')
-rw-r--r-- | drivers/mfd/88pm860x-core.c | 92 |
1 files changed, 63 insertions, 29 deletions
diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index d09918cf1b15..220c79afe0bf 100644 --- a/drivers/mfd/88pm860x-core.c +++ b/drivers/mfd/88pm860x-core.c | |||
@@ -21,40 +21,73 @@ | |||
21 | 21 | ||
22 | #define INT_STATUS_NUM 3 | 22 | #define INT_STATUS_NUM 3 |
23 | 23 | ||
24 | static struct resource io_parent = { | ||
25 | .start = 0, | ||
26 | .end = 0xffffffff, | ||
27 | .flags = IORESOURCE_IO, | ||
28 | }; | ||
29 | |||
24 | static struct resource bk_resources[] __devinitdata = { | 30 | static struct resource bk_resources[] __devinitdata = { |
25 | {PM8606_BACKLIGHT1, PM8606_BACKLIGHT1, "backlight-0", IORESOURCE_IO,}, | 31 | {PM8606_BACKLIGHT1, PM8606_BACKLIGHT1, "backlight-0", IORESOURCE_IO, |
26 | {PM8606_BACKLIGHT2, PM8606_BACKLIGHT2, "backlight-1", IORESOURCE_IO,}, | 32 | &io_parent,}, |
27 | {PM8606_BACKLIGHT3, PM8606_BACKLIGHT3, "backlight-2", IORESOURCE_IO,}, | 33 | {PM8606_BACKLIGHT2, PM8606_BACKLIGHT2, "backlight-1", IORESOURCE_IO, |
34 | &io_parent,}, | ||
35 | {PM8606_BACKLIGHT3, PM8606_BACKLIGHT3, "backlight-2", IORESOURCE_IO, | ||
36 | &io_parent,}, | ||
28 | }; | 37 | }; |
29 | 38 | ||
30 | static struct resource led_resources[] __devinitdata = { | 39 | static struct resource led_resources[] __devinitdata = { |
31 | {PM8606_LED1_RED, PM8606_LED1_RED, "led0-red", IORESOURCE_IO,}, | 40 | {PM8606_LED1_RED, PM8606_LED1_RED, "led0-red", IORESOURCE_IO, |
32 | {PM8606_LED1_GREEN, PM8606_LED1_GREEN, "led0-green", IORESOURCE_IO,}, | 41 | &io_parent,}, |
33 | {PM8606_LED1_BLUE, PM8606_LED1_BLUE, "led0-blue", IORESOURCE_IO,}, | 42 | {PM8606_LED1_GREEN, PM8606_LED1_GREEN, "led0-green", IORESOURCE_IO, |
34 | {PM8606_LED2_RED, PM8606_LED2_RED, "led1-red", IORESOURCE_IO,}, | 43 | &io_parent,}, |
35 | {PM8606_LED2_GREEN, PM8606_LED2_GREEN, "led1-green", IORESOURCE_IO,}, | 44 | {PM8606_LED1_BLUE, PM8606_LED1_BLUE, "led0-blue", IORESOURCE_IO, |
36 | {PM8606_LED2_BLUE, PM8606_LED2_BLUE, "led1-blue", IORESOURCE_IO,}, | 45 | &io_parent,}, |
46 | {PM8606_LED2_RED, PM8606_LED2_RED, "led1-red", IORESOURCE_IO, | ||
47 | &io_parent,}, | ||
48 | {PM8606_LED2_GREEN, PM8606_LED2_GREEN, "led1-green", IORESOURCE_IO, | ||
49 | &io_parent,}, | ||
50 | {PM8606_LED2_BLUE, PM8606_LED2_BLUE, "led1-blue", IORESOURCE_IO, | ||
51 | &io_parent,}, | ||
37 | }; | 52 | }; |
38 | 53 | ||
39 | static struct resource regulator_resources[] __devinitdata = { | 54 | static struct resource regulator_resources[] __devinitdata = { |
40 | {PM8607_ID_BUCK1, PM8607_ID_BUCK1, "buck-1", IORESOURCE_IO,}, | 55 | {PM8607_ID_BUCK1, PM8607_ID_BUCK1, "buck-1", IORESOURCE_IO, |
41 | {PM8607_ID_BUCK2, PM8607_ID_BUCK2, "buck-2", IORESOURCE_IO,}, | 56 | &io_parent,}, |
42 | {PM8607_ID_BUCK3, PM8607_ID_BUCK3, "buck-3", IORESOURCE_IO,}, | 57 | {PM8607_ID_BUCK2, PM8607_ID_BUCK2, "buck-2", IORESOURCE_IO, |
43 | {PM8607_ID_LDO1, PM8607_ID_LDO1, "ldo-01", IORESOURCE_IO,}, | 58 | &io_parent,}, |
44 | {PM8607_ID_LDO2, PM8607_ID_LDO2, "ldo-02", IORESOURCE_IO,}, | 59 | {PM8607_ID_BUCK3, PM8607_ID_BUCK3, "buck-3", IORESOURCE_IO, |
45 | {PM8607_ID_LDO3, PM8607_ID_LDO3, "ldo-03", IORESOURCE_IO,}, | 60 | &io_parent,}, |
46 | {PM8607_ID_LDO4, PM8607_ID_LDO4, "ldo-04", IORESOURCE_IO,}, | 61 | {PM8607_ID_LDO1, PM8607_ID_LDO1, "ldo-01", IORESOURCE_IO, |
47 | {PM8607_ID_LDO5, PM8607_ID_LDO5, "ldo-05", IORESOURCE_IO,}, | 62 | &io_parent,}, |
48 | {PM8607_ID_LDO6, PM8607_ID_LDO6, "ldo-06", IORESOURCE_IO,}, | 63 | {PM8607_ID_LDO2, PM8607_ID_LDO2, "ldo-02", IORESOURCE_IO, |
49 | {PM8607_ID_LDO7, PM8607_ID_LDO7, "ldo-07", IORESOURCE_IO,}, | 64 | &io_parent,}, |
50 | {PM8607_ID_LDO8, PM8607_ID_LDO8, "ldo-08", IORESOURCE_IO,}, | 65 | {PM8607_ID_LDO3, PM8607_ID_LDO3, "ldo-03", IORESOURCE_IO, |
51 | {PM8607_ID_LDO9, PM8607_ID_LDO9, "ldo-09", IORESOURCE_IO,}, | 66 | &io_parent,}, |
52 | {PM8607_ID_LDO10, PM8607_ID_LDO10, "ldo-10", IORESOURCE_IO,}, | 67 | {PM8607_ID_LDO4, PM8607_ID_LDO4, "ldo-04", IORESOURCE_IO, |
53 | {PM8607_ID_LDO11, PM8607_ID_LDO11, "ldo-11", IORESOURCE_IO,}, | 68 | &io_parent,}, |
54 | {PM8607_ID_LDO12, PM8607_ID_LDO12, "ldo-12", IORESOURCE_IO,}, | 69 | {PM8607_ID_LDO5, PM8607_ID_LDO5, "ldo-05", IORESOURCE_IO, |
55 | {PM8607_ID_LDO13, PM8607_ID_LDO13, "ldo-13", IORESOURCE_IO,}, | 70 | &io_parent,}, |
56 | {PM8607_ID_LDO14, PM8607_ID_LDO14, "ldo-14", IORESOURCE_IO,}, | 71 | {PM8607_ID_LDO6, PM8607_ID_LDO6, "ldo-06", IORESOURCE_IO, |
57 | {PM8607_ID_LDO15, PM8607_ID_LDO15, "ldo-15", IORESOURCE_IO,}, | 72 | &io_parent,}, |
73 | {PM8607_ID_LDO7, PM8607_ID_LDO7, "ldo-07", IORESOURCE_IO, | ||
74 | &io_parent,}, | ||
75 | {PM8607_ID_LDO8, PM8607_ID_LDO8, "ldo-08", IORESOURCE_IO, | ||
76 | &io_parent,}, | ||
77 | {PM8607_ID_LDO9, PM8607_ID_LDO9, "ldo-09", IORESOURCE_IO, | ||
78 | &io_parent,}, | ||
79 | {PM8607_ID_LDO10, PM8607_ID_LDO10, "ldo-10", IORESOURCE_IO, | ||
80 | &io_parent,}, | ||
81 | {PM8607_ID_LDO11, PM8607_ID_LDO11, "ldo-11", IORESOURCE_IO, | ||
82 | &io_parent,}, | ||
83 | {PM8607_ID_LDO12, PM8607_ID_LDO12, "ldo-12", IORESOURCE_IO, | ||
84 | &io_parent,}, | ||
85 | {PM8607_ID_LDO13, PM8607_ID_LDO13, "ldo-13", IORESOURCE_IO, | ||
86 | &io_parent,}, | ||
87 | {PM8607_ID_LDO14, PM8607_ID_LDO14, "ldo-14", IORESOURCE_IO, | ||
88 | &io_parent,}, | ||
89 | {PM8607_ID_LDO15, PM8607_ID_LDO15, "ldo-15", IORESOURCE_IO, | ||
90 | &io_parent,}, | ||
58 | }; | 91 | }; |
59 | 92 | ||
60 | static struct resource touch_resources[] __devinitdata = { | 93 | static struct resource touch_resources[] __devinitdata = { |
@@ -91,11 +124,12 @@ static struct resource charger_resources[] __devinitdata = { | |||
91 | }; | 124 | }; |
92 | 125 | ||
93 | static struct resource preg_resources[] __devinitdata = { | 126 | static struct resource preg_resources[] __devinitdata = { |
94 | {PM8606_ID_PREG, PM8606_ID_PREG, "preg", IORESOURCE_IO,}, | 127 | {PM8606_ID_PREG, PM8606_ID_PREG, "preg", IORESOURCE_IO, |
128 | &io_parent,}, | ||
95 | }; | 129 | }; |
96 | 130 | ||
97 | static struct resource rtc_resources[] __devinitdata = { | 131 | static struct resource rtc_resources[] __devinitdata = { |
98 | {PM8607_IRQ_RTC, PM8607_IRQ_RTC, "rtc", IORESOURCE_IRQ,}, | 132 | {PM8607_IRQ_RTC, PM8607_IRQ_RTC, "rtc", IORESOURCE_IRQ, &io_parent,}, |
99 | }; | 133 | }; |
100 | 134 | ||
101 | static struct mfd_cell bk_devs[] = { | 135 | static struct mfd_cell bk_devs[] = { |