.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | /* |
---|
2 | 3 | * i2c-smbus.h - SMBus extensions to the I2C protocol |
---|
3 | 4 | * |
---|
4 | | - * Copyright (C) 2010 Jean Delvare <jdelvare@suse.de> |
---|
5 | | - * |
---|
6 | | - * This program is free software; you can redistribute it and/or modify |
---|
7 | | - * it under the terms of the GNU General Public License as published by |
---|
8 | | - * the Free Software Foundation; either version 2 of the License, or |
---|
9 | | - * (at your option) any later version. |
---|
10 | | - * |
---|
11 | | - * This program is distributed in the hope that it will be useful, |
---|
12 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
13 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
14 | | - * GNU General Public License for more details. |
---|
15 | | - * |
---|
16 | | - * You should have received a copy of the GNU General Public License |
---|
17 | | - * along with this program; if not, write to the Free Software |
---|
18 | | - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
---|
19 | | - * MA 02110-1301 USA. |
---|
| 5 | + * Copyright (C) 2010-2019 Jean Delvare <jdelvare@suse.de> |
---|
20 | 6 | */ |
---|
21 | 7 | |
---|
22 | 8 | #ifndef _LINUX_I2C_SMBUS_H |
---|
.. | .. |
---|
29 | 15 | |
---|
30 | 16 | /** |
---|
31 | 17 | * i2c_smbus_alert_setup - platform data for the smbus_alert i2c client |
---|
32 | | - * @alert_edge_triggered: whether the alert interrupt is edge (1) or level (0) |
---|
33 | | - * triggered |
---|
34 | 18 | * @irq: IRQ number, if the smbus_alert driver should take care of interrupt |
---|
35 | 19 | * handling |
---|
36 | 20 | * |
---|
37 | 21 | * If irq is not specified, the smbus_alert driver doesn't take care of |
---|
38 | 22 | * interrupt handling. In that case it is up to the I2C bus driver to either |
---|
39 | 23 | * handle the interrupts or to poll for alerts. |
---|
40 | | - * |
---|
41 | | - * If irq is specified then it it crucial that alert_edge_triggered is |
---|
42 | | - * properly set. |
---|
43 | 24 | */ |
---|
44 | 25 | struct i2c_smbus_alert_setup { |
---|
45 | 26 | int irq; |
---|
46 | 27 | }; |
---|
47 | 28 | |
---|
48 | | -struct i2c_client *i2c_setup_smbus_alert(struct i2c_adapter *adapter, |
---|
49 | | - struct i2c_smbus_alert_setup *setup); |
---|
| 29 | +struct i2c_client *i2c_new_smbus_alert_device(struct i2c_adapter *adapter, |
---|
| 30 | + struct i2c_smbus_alert_setup *setup); |
---|
50 | 31 | int i2c_handle_smbus_alert(struct i2c_client *ara); |
---|
51 | 32 | |
---|
52 | 33 | #if IS_ENABLED(CONFIG_I2C_SMBUS) && IS_ENABLED(CONFIG_OF) |
---|
.. | .. |
---|
57 | 38 | return 0; |
---|
58 | 39 | } |
---|
59 | 40 | #endif |
---|
| 41 | +#if IS_ENABLED(CONFIG_I2C_SMBUS) && IS_ENABLED(CONFIG_I2C_SLAVE) |
---|
| 42 | +struct i2c_client *i2c_new_slave_host_notify_device(struct i2c_adapter *adapter); |
---|
| 43 | +void i2c_free_slave_host_notify_device(struct i2c_client *client); |
---|
| 44 | +#else |
---|
| 45 | +static inline struct i2c_client *i2c_new_slave_host_notify_device(struct i2c_adapter *adapter) |
---|
| 46 | +{ |
---|
| 47 | + return ERR_PTR(-ENOSYS); |
---|
| 48 | +} |
---|
| 49 | +static inline void i2c_free_slave_host_notify_device(struct i2c_client *client) |
---|
| 50 | +{ |
---|
| 51 | +} |
---|
| 52 | +#endif |
---|
| 53 | + |
---|
| 54 | +#if IS_ENABLED(CONFIG_I2C_SMBUS) && IS_ENABLED(CONFIG_DMI) |
---|
| 55 | +void i2c_register_spd(struct i2c_adapter *adap); |
---|
| 56 | +#else |
---|
| 57 | +static inline void i2c_register_spd(struct i2c_adapter *adap) { } |
---|
| 58 | +#endif |
---|
60 | 59 | |
---|
61 | 60 | #endif /* _LINUX_I2C_SMBUS_H */ |
---|