diff options
Diffstat (limited to 'include/i2c.h')
-rw-r--r-- | include/i2c.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/i2c.h b/include/i2c.h index dea0644..83c6ec5 100644 --- a/include/i2c.h +++ b/include/i2c.h @@ -26,6 +26,8 @@ struct i2c_bus { int (*queue_req)(struct i2c_request *req); struct i2c_request *(*alloc_req)(struct i2c_bus *bus); void (*free_req)(struct i2c_request *req); + void (*set_req_timeout)(struct i2c_request *req, + uint64_t duration); }; /* @@ -80,6 +82,13 @@ static inline int i2c_queue_req(struct i2c_request *req) return req->bus->queue_req(req); } +static inline void i2c_set_req_timeout(struct i2c_request *req, + uint64_t duration) +{ + if (req->bus->set_req_timeout) + req->bus->set_req_timeout(req, duration); +} + /* P8 implementation details */ extern void p8_i2c_init(void); extern void p8_i2c_interrupt(uint32_t chip_id); |