Skip to content

Commit

Permalink
Platform: x86: chromeos_laptop - Add support for probing devices
Browse files Browse the repository at this point in the history
This will allow support for devices that may appear at more than
one i2c address at boot time. The specific example is the atmel_mxt touch
devices, which may appear at a different address if it comes up
in bootloader mode.

Signed-off-by: Benson Leung <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
  • Loading branch information
bleungatchromium authored and Matthew Garrett committed Feb 27, 2013
1 parent 8e1ad4c commit bcaf089
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions drivers/platform/x86/chromeos_laptop.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,26 @@ static int __init find_i2c_adapter_num(enum i2c_adapter_type type)
return adapter->nr;
}

/*
* Takes a list of addresses in addrs as such :
* { addr1, ... , addrn, I2C_CLIENT_END };
* add_probed_i2c_device will use i2c_new_probed_device
* and probe for devices at all of the addresses listed.
* Returns NULL if no devices found.
* See Documentation/i2c/instantiating-devices for more information.
*/
static __init struct i2c_client *add_probed_i2c_device(
const char *name,
enum i2c_adapter_type type,
struct i2c_board_info *info,
const unsigned short *addrs)
{
return __add_probed_i2c_device(name,
find_i2c_adapter_num(type),
info,
addrs);
}

/*
* Probes for a device at a single address, the one provided by
* info->addr.
Expand Down

0 comments on commit bcaf089

Please sign in to comment.