|
23 | 23 | #include <linux/regmap.h> |
24 | 24 | #include "sec-core.h" |
25 | 25 |
|
| 26 | +static const struct resource s5m8767_rtc_resources[] = { |
| 27 | + DEFINE_RES_IRQ_NAMED(S5M8767_IRQ_RTCA1, "alarm"), |
| 28 | +}; |
| 29 | + |
26 | 30 | static const struct mfd_cell s5m8767_devs[] = { |
27 | 31 | MFD_CELL_NAME("s5m8767-pmic"), |
28 | | - MFD_CELL_NAME("s5m-rtc"), |
| 32 | + MFD_CELL_RES("s5m-rtc", s5m8767_rtc_resources), |
29 | 33 | MFD_CELL_OF("s5m8767-clk", NULL, NULL, 0, 0, "samsung,s5m8767-clk"), |
30 | 34 | }; |
31 | 35 |
|
32 | 36 | static const struct mfd_cell s2dos05_devs[] = { |
33 | 37 | MFD_CELL_NAME("s2dos05-regulator"), |
34 | 38 | }; |
35 | 39 |
|
| 40 | +static const struct resource s2mpg10_rtc_resources[] = { |
| 41 | + DEFINE_RES_IRQ_NAMED(S2MPG10_IRQ_RTCA0, "alarm"), |
| 42 | +}; |
| 43 | + |
36 | 44 | static const struct mfd_cell s2mpg10_devs[] = { |
37 | 45 | MFD_CELL_NAME("s2mpg10-meter"), |
38 | 46 | MFD_CELL_NAME("s2mpg10-regulator"), |
39 | | - MFD_CELL_NAME("s2mpg10-rtc"), |
| 47 | + MFD_CELL_RES("s2mpg10-rtc", s2mpg10_rtc_resources), |
40 | 48 | MFD_CELL_OF("s2mpg10-clk", NULL, NULL, 0, 0, "samsung,s2mpg10-clk"), |
41 | 49 | MFD_CELL_OF("s2mpg10-gpio", NULL, NULL, 0, 0, "samsung,s2mpg10-gpio"), |
42 | 50 | }; |
43 | 51 |
|
| 52 | +static const struct resource s2mps11_rtc_resources[] = { |
| 53 | + DEFINE_RES_IRQ_NAMED(S2MPS11_IRQ_RTCA0, "alarm"), |
| 54 | +}; |
| 55 | + |
44 | 56 | static const struct mfd_cell s2mps11_devs[] = { |
45 | 57 | MFD_CELL_NAME("s2mps11-regulator"), |
46 | | - MFD_CELL_NAME("s2mps14-rtc"), |
| 58 | + MFD_CELL_RES("s2mps14-rtc", s2mps11_rtc_resources), |
47 | 59 | MFD_CELL_OF("s2mps11-clk", NULL, NULL, 0, 0, "samsung,s2mps11-clk"), |
48 | 60 | }; |
49 | 61 |
|
| 62 | +static const struct resource s2mps14_rtc_resources[] = { |
| 63 | + DEFINE_RES_IRQ_NAMED(S2MPS14_IRQ_RTCA0, "alarm"), |
| 64 | +}; |
| 65 | + |
50 | 66 | static const struct mfd_cell s2mps13_devs[] = { |
51 | 67 | MFD_CELL_NAME("s2mps13-regulator"), |
52 | | - MFD_CELL_NAME("s2mps13-rtc"), |
| 68 | + MFD_CELL_RES("s2mps13-rtc", s2mps14_rtc_resources), |
53 | 69 | MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"), |
54 | 70 | }; |
55 | 71 |
|
56 | 72 | static const struct mfd_cell s2mps14_devs[] = { |
57 | 73 | MFD_CELL_NAME("s2mps14-regulator"), |
58 | | - MFD_CELL_NAME("s2mps14-rtc"), |
| 74 | + MFD_CELL_RES("s2mps14-rtc", s2mps14_rtc_resources), |
59 | 75 | MFD_CELL_OF("s2mps14-clk", NULL, NULL, 0, 0, "samsung,s2mps14-clk"), |
60 | 76 | }; |
61 | 77 |
|
62 | 78 | static const struct mfd_cell s2mps15_devs[] = { |
63 | 79 | MFD_CELL_NAME("s2mps15-regulator"), |
64 | | - MFD_CELL_NAME("s2mps15-rtc"), |
| 80 | + MFD_CELL_RES("s2mps15-rtc", s2mps14_rtc_resources), |
65 | 81 | MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"), |
66 | 82 | }; |
67 | 83 |
|
68 | 84 | static const struct mfd_cell s2mpa01_devs[] = { |
69 | 85 | MFD_CELL_NAME("s2mpa01-pmic"), |
70 | | - MFD_CELL_NAME("s2mps14-rtc"), |
| 86 | + MFD_CELL_RES("s2mps14-rtc", s2mps14_rtc_resources), |
71 | 87 | }; |
72 | 88 |
|
73 | 89 | static const struct mfd_cell s2mpu02_devs[] = { |
74 | 90 | MFD_CELL_NAME("s2mpu02-regulator"), |
75 | 91 | }; |
76 | 92 |
|
| 93 | +static const struct resource s2mpu05_rtc_resources[] = { |
| 94 | + DEFINE_RES_IRQ_NAMED(S2MPU05_IRQ_RTCA0, "alarm"), |
| 95 | +}; |
| 96 | + |
77 | 97 | static const struct mfd_cell s2mpu05_devs[] = { |
78 | 98 | MFD_CELL_NAME("s2mpu05-regulator"), |
79 | | - MFD_CELL_NAME("s2mps15-rtc"), |
| 99 | + MFD_CELL_RES("s2mps15-rtc", s2mpu05_rtc_resources), |
80 | 100 | }; |
81 | 101 |
|
82 | 102 | static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) |
@@ -220,7 +240,7 @@ int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, |
220 | 240 | sec_pmic->device_type); |
221 | 241 | } |
222 | 242 | ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, |
223 | | - NULL, 0, NULL); |
| 243 | + NULL, 0, regmap_irq_get_domain(sec_pmic->irq_data)); |
224 | 244 | if (ret) |
225 | 245 | return ret; |
226 | 246 |
|
|
0 commit comments