diff options
author | Pavel Machek <pavel@ucw.cz> | 2018-09-11 17:06:50 -0400 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2018-10-23 03:58:34 -0400 |
commit | 697894b9b8478764d59e1e1ae6caa4e9dd11eb51 (patch) | |
tree | 60b9d19602e0c2a4e8f3bcd0ba160cac607e7481 /drivers | |
parent | 7891d37509cca01f383e8349831ee0adc0724e77 (diff) |
mfd: ti-lmu: Use of_device_get_match_data() helper
Replace of_match_device() with of_device_get_match_data(), which
slightly decreases lines of code and allows to move the DT table
next to the I2C table.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mfd/ti-lmu.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/drivers/mfd/ti-lmu.c b/drivers/mfd/ti-lmu.c index 2ee09d099832..37d0bdb291c3 100644 --- a/drivers/mfd/ti-lmu.c +++ b/drivers/mfd/ti-lmu.c | |||
@@ -148,34 +148,21 @@ TI_LMU_DATA(lm3633, LM3633_MAX_REG); | |||
148 | TI_LMU_DATA(lm3695, LM3695_MAX_REG); | 148 | TI_LMU_DATA(lm3695, LM3695_MAX_REG); |
149 | TI_LMU_DATA(lm3697, LM3697_MAX_REG); | 149 | TI_LMU_DATA(lm3697, LM3697_MAX_REG); |
150 | 150 | ||
151 | static const struct of_device_id ti_lmu_of_match[] = { | ||
152 | { .compatible = "ti,lm3532", .data = &lm3532_data }, | ||
153 | { .compatible = "ti,lm3631", .data = &lm3631_data }, | ||
154 | { .compatible = "ti,lm3632", .data = &lm3632_data }, | ||
155 | { .compatible = "ti,lm3633", .data = &lm3633_data }, | ||
156 | { .compatible = "ti,lm3695", .data = &lm3695_data }, | ||
157 | { .compatible = "ti,lm3697", .data = &lm3697_data }, | ||
158 | { } | ||
159 | }; | ||
160 | MODULE_DEVICE_TABLE(of, ti_lmu_of_match); | ||
161 | |||
162 | static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id) | 151 | static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id) |
163 | { | 152 | { |
164 | struct device *dev = &cl->dev; | 153 | struct device *dev = &cl->dev; |
165 | const struct of_device_id *match; | ||
166 | const struct ti_lmu_data *data; | 154 | const struct ti_lmu_data *data; |
167 | struct regmap_config regmap_cfg; | 155 | struct regmap_config regmap_cfg; |
168 | struct ti_lmu *lmu; | 156 | struct ti_lmu *lmu; |
169 | int ret; | 157 | int ret; |
170 | 158 | ||
171 | match = of_match_device(ti_lmu_of_match, dev); | ||
172 | if (!match) | ||
173 | return -ENODEV; | ||
174 | /* | 159 | /* |
175 | * Get device specific data from of_match table. | 160 | * Get device specific data from of_match table. |
176 | * This data is defined by using TI_LMU_DATA() macro. | 161 | * This data is defined by using TI_LMU_DATA() macro. |
177 | */ | 162 | */ |
178 | data = (struct ti_lmu_data *)match->data; | 163 | data = of_device_get_match_data(dev); |
164 | if (!data) | ||
165 | return -ENODEV; | ||
179 | 166 | ||
180 | lmu = devm_kzalloc(dev, sizeof(*lmu), GFP_KERNEL); | 167 | lmu = devm_kzalloc(dev, sizeof(*lmu), GFP_KERNEL); |
181 | if (!lmu) | 168 | if (!lmu) |
@@ -223,6 +210,17 @@ static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id) | |||
223 | data->num_cells, NULL, 0, NULL); | 210 | data->num_cells, NULL, 0, NULL); |
224 | } | 211 | } |
225 | 212 | ||
213 | static const struct of_device_id ti_lmu_of_match[] = { | ||
214 | { .compatible = "ti,lm3532", .data = &lm3532_data }, | ||
215 | { .compatible = "ti,lm3631", .data = &lm3631_data }, | ||
216 | { .compatible = "ti,lm3632", .data = &lm3632_data }, | ||
217 | { .compatible = "ti,lm3633", .data = &lm3633_data }, | ||
218 | { .compatible = "ti,lm3695", .data = &lm3695_data }, | ||
219 | { .compatible = "ti,lm3697", .data = &lm3697_data }, | ||
220 | { } | ||
221 | }; | ||
222 | MODULE_DEVICE_TABLE(of, ti_lmu_of_match); | ||
223 | |||
226 | static const struct i2c_device_id ti_lmu_ids[] = { | 224 | static const struct i2c_device_id ti_lmu_ids[] = { |
227 | { "lm3532", LM3532 }, | 225 | { "lm3532", LM3532 }, |
228 | { "lm3631", LM3631 }, | 226 | { "lm3631", LM3631 }, |