Blame view
include/linux/i2c-algo-bit.h
2.18 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* ------------------------------------------------------------------------- */ /* i2c-algo-bit.h i2c driver algorithms for bit-shift adapters */ /* ------------------------------------------------------------------------- */ /* Copyright (C) 1995-99 Simon G. Vogl This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* ------------------------------------------------------------------------- */ |
121e70b69 include files: co... |
20 |
/* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi> and even |
1da177e4c Linux-2.6.12-rc2 |
21 |
Frodo Looijaard <frodol@dds.nl> */ |
1da177e4c Linux-2.6.12-rc2 |
22 23 24 25 26 |
#ifndef _LINUX_I2C_ALGO_BIT_H #define _LINUX_I2C_ALGO_BIT_H /* --- Defines for bit-adapters --------------------------------------- */ /* |
438d6c2c0 i2c: Whitespace c... |
27 |
* This struct contains the hw-dependent functions of bit-style adapters to |
1da177e4c Linux-2.6.12-rc2 |
28 |
* manipulate the line states, and to init any hw-specific features. This is |
438d6c2c0 i2c: Whitespace c... |
29 |
* only used if you have more than one hw-type of adapter running. |
1da177e4c Linux-2.6.12-rc2 |
30 31 32 33 34 35 36 |
*/ struct i2c_algo_bit_data { void *data; /* private data for lowlevel routines */ void (*setsda) (void *data, int state); void (*setscl) (void *data, int state); int (*getsda) (void *data); int (*getscl) (void *data); |
0a9c14751 i2c-algo-bit: Add... |
37 38 |
int (*pre_xfer) (struct i2c_adapter *); void (*post_xfer) (struct i2c_adapter *); |
1da177e4c Linux-2.6.12-rc2 |
39 40 |
/* local settings */ |
424ed67c7 i2c-algo-bit: Imp... |
41 42 43 44 |
int udelay; /* half clock cycle time in us, minimum 2 us for fast-mode I2C, minimum 5 us for standard-mode I2C and SMBus, maximum 50 us for SMBus */ |
1da177e4c Linux-2.6.12-rc2 |
45 46 |
int timeout; /* in jiffies */ }; |
1da177e4c Linux-2.6.12-rc2 |
47 |
int i2c_bit_add_bus(struct i2c_adapter *); |
0f3b48385 i2c-algo-bit: Add... |
48 |
int i2c_bit_add_numbered_bus(struct i2c_adapter *); |
1da177e4c Linux-2.6.12-rc2 |
49 50 |
#endif /* _LINUX_I2C_ALGO_BIT_H */ |