Source
116
116
117
117
lp3943->regmap = devm_regmap_init_i2c(cl, &lp3943_regmap_config);
118
118
if (IS_ERR(lp3943->regmap))
119
119
return PTR_ERR(lp3943->regmap);
120
120
121
121
lp3943->pdata = dev_get_platdata(dev);
122
122
lp3943->dev = dev;
123
123
lp3943->mux_cfg = lp3943_mux_cfg;
124
124
i2c_set_clientdata(cl, lp3943);
125
125
126
-
return mfd_add_devices(dev, -1, lp3943_devs, ARRAY_SIZE(lp3943_devs),
127
-
NULL, 0, NULL);
128
-
}
129
-
130
-
static int lp3943_remove(struct i2c_client *cl)
131
-
{
132
-
struct lp3943 *lp3943 = i2c_get_clientdata(cl);
133
-
134
-
mfd_remove_devices(lp3943->dev);
135
-
return 0;
126
+
return devm_mfd_add_devices(dev, -1, lp3943_devs,
127
+
ARRAY_SIZE(lp3943_devs),
128
+
NULL, 0, NULL);
136
129
}
137
130
138
131
static const struct i2c_device_id lp3943_ids[] = {
139
132
{ "lp3943", 0 },
140
133
{ }
141
134
};
142
135
MODULE_DEVICE_TABLE(i2c, lp3943_ids);
143
136
144
137
#ifdef CONFIG_OF
145
138
static const struct of_device_id lp3943_of_match[] = {
146
139
{ .compatible = "ti,lp3943", },
147
140
{ }
148
141
};
149
142
MODULE_DEVICE_TABLE(of, lp3943_of_match);
150
143
#endif
151
144
152
145
static struct i2c_driver lp3943_driver = {
153
146
.probe = lp3943_probe,
154
-
.remove = lp3943_remove,
155
147
.driver = {
156
148
.name = "lp3943",
157
149
.of_match_table = of_match_ptr(lp3943_of_match),
158
150
},
159
151
.id_table = lp3943_ids,
160
152
};
161
153
162
154
module_i2c_driver(lp3943_driver);
163
155
164
156
MODULE_DESCRIPTION("LP3943 MFD Core Driver");