struct i2c_board_info
Prev | Chapter 30. I2C and SMBus Subsystem | Next

## Name

struct i2c_board_info — template for device creation

## Synopsis

    struct i2c_board_info {
      char driver_name[KOBJ_NAME_LEN];
      char type[I2C_NAME_SIZE];
      unsigned short flags;
      unsigned short addr;
      void * platform_data;
      int irq;
    };

## Members

driver_name[KOBJ_NAME_LEN]

  identifies the driver to be bound to the device

type[I2C_NAME_SIZE]

  optional chip type information, 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

irq

  stored in i2c_client.irq

## Description

I2C doesn't actually support hardware probing, although controllers and devices may be able to use I2C_SMBUS_QUICK to tell whether or not there's 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 “new style” I2C drivers. For mainboards this is done statically using `i2c_register_board_info`; bus numbers identify adapters that aren't yet available. For add-on boards, `i2c_new_device` does this dynamically with the adapter already known.

Prev | Up | Next
struct i2c_client | Home | I2C_BOARD_INFO