Lines Matching full:alert
21 struct work_struct alert; member
22 struct i2c_client *ara; /* Alert response address */
51 if (driver->alert) { in smbus_do_alert()
53 driver->alert(client, data->type, data->data); in smbus_do_alert()
56 dev_warn(&client->dev, "no driver alert()!\n"); in smbus_do_alert()
60 dev_dbg(&client->dev, "alert with no driver\n"); in smbus_do_alert()
68 /* Same as above, but call back all drivers with alert handler */
86 if (driver->alert) in smbus_do_alert_force()
87 driver->alert(client, data->type, data->data); in smbus_do_alert_force()
95 * The alert IRQ handler needs to hand work off to a task which can issue
100 struct i2c_smbus_alert *alert = d; in smbus_alert() local
104 ara = alert->ara; in smbus_alert()
129 /* Notify driver for the device which issued the alert */ in smbus_alert()
133 * If we read the same address more than once, and the alert in smbus_alert()
136 * time calling the alert handlers of all devices connected to in smbus_alert()
140 * Note: This assumes that a driver with alert handler handles in smbus_alert()
141 * the alert properly and clears it if necessary. in smbus_alert()
156 struct i2c_smbus_alert *alert; in smbalert_work() local
158 alert = container_of(work, struct i2c_smbus_alert, alert); in smbalert_work()
160 smbus_alert(0, alert); in smbalert_work()
168 struct i2c_smbus_alert *alert; in smbalert_probe() local
172 alert = devm_kzalloc(&ara->dev, sizeof(struct i2c_smbus_alert), in smbalert_probe()
174 if (!alert) in smbalert_probe()
186 INIT_WORK(&alert->alert, smbalert_work); in smbalert_probe()
187 alert->ara = ara; in smbalert_probe()
193 "smbus_alert", alert); in smbalert_probe()
198 i2c_set_clientdata(ara, alert); in smbalert_probe()
207 struct i2c_smbus_alert *alert = i2c_get_clientdata(ara); in smbalert_remove() local
209 cancel_work_sync(&alert->alert); in smbalert_remove()
228 * i2c_handle_smbus_alert - Handle an SMBus alert
233 * handler. It will schedule the alert work, in turn calling the
234 * corresponding I2C device driver's alert function.
241 struct i2c_smbus_alert *alert = i2c_get_clientdata(ara); in i2c_handle_smbus_alert() local
243 return schedule_work(&alert->alert); in i2c_handle_smbus_alert()