Commit 697894b9 authored by Pavel Machek's avatar Pavel Machek Committed by Lee Jones

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: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 7891d375
...@@ -148,34 +148,21 @@ TI_LMU_DATA(lm3633, LM3633_MAX_REG); ...@@ -148,34 +148,21 @@ TI_LMU_DATA(lm3633, LM3633_MAX_REG);
TI_LMU_DATA(lm3695, LM3695_MAX_REG); TI_LMU_DATA(lm3695, LM3695_MAX_REG);
TI_LMU_DATA(lm3697, LM3697_MAX_REG); TI_LMU_DATA(lm3697, LM3697_MAX_REG);
static const struct of_device_id ti_lmu_of_match[] = {
{ .compatible = "ti,lm3532", .data = &lm3532_data },
{ .compatible = "ti,lm3631", .data = &lm3631_data },
{ .compatible = "ti,lm3632", .data = &lm3632_data },
{ .compatible = "ti,lm3633", .data = &lm3633_data },
{ .compatible = "ti,lm3695", .data = &lm3695_data },
{ .compatible = "ti,lm3697", .data = &lm3697_data },
{ }
};
MODULE_DEVICE_TABLE(of, ti_lmu_of_match);
static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id) static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id)
{ {
struct device *dev = &cl->dev; struct device *dev = &cl->dev;
const struct of_device_id *match;
const struct ti_lmu_data *data; const struct ti_lmu_data *data;
struct regmap_config regmap_cfg; struct regmap_config regmap_cfg;
struct ti_lmu *lmu; struct ti_lmu *lmu;
int ret; int ret;
match = of_match_device(ti_lmu_of_match, dev);
if (!match)
return -ENODEV;
/* /*
* Get device specific data from of_match table. * Get device specific data from of_match table.
* This data is defined by using TI_LMU_DATA() macro. * This data is defined by using TI_LMU_DATA() macro.
*/ */
data = (struct ti_lmu_data *)match->data; data = of_device_get_match_data(dev);
if (!data)
return -ENODEV;
lmu = devm_kzalloc(dev, sizeof(*lmu), GFP_KERNEL); lmu = devm_kzalloc(dev, sizeof(*lmu), GFP_KERNEL);
if (!lmu) if (!lmu)
...@@ -223,6 +210,17 @@ static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id) ...@@ -223,6 +210,17 @@ static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id)
data->num_cells, NULL, 0, NULL); data->num_cells, NULL, 0, NULL);
} }
static const struct of_device_id ti_lmu_of_match[] = {
{ .compatible = "ti,lm3532", .data = &lm3532_data },
{ .compatible = "ti,lm3631", .data = &lm3631_data },
{ .compatible = "ti,lm3632", .data = &lm3632_data },
{ .compatible = "ti,lm3633", .data = &lm3633_data },
{ .compatible = "ti,lm3695", .data = &lm3695_data },
{ .compatible = "ti,lm3697", .data = &lm3697_data },
{ }
};
MODULE_DEVICE_TABLE(of, ti_lmu_of_match);
static const struct i2c_device_id ti_lmu_ids[] = { static const struct i2c_device_id ti_lmu_ids[] = {
{ "lm3532", LM3532 }, { "lm3532", LM3532 },
{ "lm3631", LM3631 }, { "lm3631", LM3631 },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment