| .. | .. |
|---|
| 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 */ |
|---|