.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Core driver for TI TPS65090 PMIC family |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. |
---|
5 | | - |
---|
6 | | - * This program is free software; you can redistribute it and/or modify it |
---|
7 | | - * under the terms and conditions of the GNU General Public License, |
---|
8 | | - * version 2, as published by the Free Software Foundation. |
---|
9 | | - |
---|
10 | | - * This program is distributed in the hope it will be useful, but WITHOUT |
---|
11 | | - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
---|
12 | | - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
---|
13 | | - * more details. |
---|
14 | | - |
---|
15 | | - * You should have received a copy of the GNU General Public License |
---|
16 | | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
| 6 | + * |
---|
| 7 | + * Author: Venu Byravarasu <vbyravarasu@nvidia.com> |
---|
17 | 8 | */ |
---|
18 | 9 | |
---|
19 | 10 | #include <linux/interrupt.h> |
---|
20 | 11 | #include <linux/irq.h> |
---|
21 | 12 | #include <linux/kernel.h> |
---|
22 | | -#include <linux/module.h> |
---|
| 13 | +#include <linux/init.h> |
---|
23 | 14 | #include <linux/mutex.h> |
---|
24 | 15 | #include <linux/slab.h> |
---|
25 | 16 | #include <linux/i2c.h> |
---|
.. | .. |
---|
171 | 162 | { .compatible = "ti,tps65090",}, |
---|
172 | 163 | {}, |
---|
173 | 164 | }; |
---|
174 | | -MODULE_DEVICE_TABLE(of, tps65090_of_match); |
---|
175 | 165 | #endif |
---|
176 | 166 | |
---|
177 | 167 | static int tps65090_i2c_probe(struct i2c_client *client, |
---|
.. | .. |
---|
236 | 226 | return ret; |
---|
237 | 227 | } |
---|
238 | 228 | |
---|
239 | | -static int tps65090_i2c_remove(struct i2c_client *client) |
---|
240 | | -{ |
---|
241 | | - struct tps65090 *tps65090 = i2c_get_clientdata(client); |
---|
242 | | - |
---|
243 | | - mfd_remove_devices(tps65090->dev); |
---|
244 | | - if (client->irq) |
---|
245 | | - regmap_del_irq_chip(client->irq, tps65090->irq_data); |
---|
246 | | - |
---|
247 | | - return 0; |
---|
248 | | -} |
---|
249 | 229 | |
---|
250 | 230 | static const struct i2c_device_id tps65090_id_table[] = { |
---|
251 | 231 | { "tps65090", 0 }, |
---|
252 | 232 | { }, |
---|
253 | 233 | }; |
---|
254 | | -MODULE_DEVICE_TABLE(i2c, tps65090_id_table); |
---|
255 | 234 | |
---|
256 | 235 | static struct i2c_driver tps65090_driver = { |
---|
257 | 236 | .driver = { |
---|
258 | 237 | .name = "tps65090", |
---|
| 238 | + .suppress_bind_attrs = true, |
---|
259 | 239 | .of_match_table = of_match_ptr(tps65090_of_match), |
---|
260 | 240 | }, |
---|
261 | 241 | .probe = tps65090_i2c_probe, |
---|
262 | | - .remove = tps65090_i2c_remove, |
---|
263 | 242 | .id_table = tps65090_id_table, |
---|
264 | 243 | }; |
---|
265 | 244 | |
---|
.. | .. |
---|
268 | 247 | return i2c_add_driver(&tps65090_driver); |
---|
269 | 248 | } |
---|
270 | 249 | subsys_initcall(tps65090_init); |
---|
271 | | - |
---|
272 | | -static void __exit tps65090_exit(void) |
---|
273 | | -{ |
---|
274 | | - i2c_del_driver(&tps65090_driver); |
---|
275 | | -} |
---|
276 | | -module_exit(tps65090_exit); |
---|
277 | | - |
---|
278 | | -MODULE_DESCRIPTION("TPS65090 core driver"); |
---|
279 | | -MODULE_AUTHOR("Venu Byravarasu <vbyravarasu@nvidia.com>"); |
---|
280 | | -MODULE_LICENSE("GPL v2"); |
---|