1. NAME▲
struct_i2c_board_info - template for device creation
2. SYNOPSIS ▲
struct
i2c_board_info {
char
type[I2C_NAME_SIZE];
unsigned
short
flags;
unsigned
short
addr;
void
*
platform_data;
struct
dev_archdata *
archdata;
struct
device_node *
of_node;
struct
acpi_dev_node acpi_node;
int
irq;
}
;
3. MEMBERS ▲
type[I2C_NAME_SIZE]
chip type, to initialize i2c_client.name
flags
to initialize i2c_client.flags
addr
stored in i2c_client.addr
platform_data
stored in i2c_client.dev.platform_data
archdata
copied into i2c_client.dev.archdata
of_node
pointer to OpenFirmware device node
acpi_node
ACPI device node
irq
stored in i2c_client.irq
4. DESCRIPTION ▲
I2C doesnAqt actually support hardware probing, although controllers and devices may be able to use I2C_SMBUS_QUICK to tell whether or not thereAqs a device at a given address. Drivers commonly need more information than that, such as chip type, configuration, associated IRQ, and so on.
i2c_board_info is used to build tables of information listing I2C devices that are present. This information is used to grow the driver model tree. For mainboards this is done statically using i2c_register_board_info; bus numbers identify adapters that arenAqt yet available. For add-on boards, i2c_new_device does this dynamically with the adapter already known.
5. COPYRIGHT ▲