Files
kernel/include/linux
David Brownell 9c1600eda4 i2c: Add i2c_board_info and i2c_new_device()
This provides partial support for new-style I2C driver binding.  It builds
on "struct i2c_board_info" declarations that identify I2C devices on a given
board.  This is needed on systems with I2C devices that can't be fully probed
and/or autoconfigured, such as many embedded Linux configurations where the
way a given I2C device is wired may affect how it must be used.

There are two models for declaring such devices:

 * LATE -- using a public function i2c_new_device().  This lets modules
   declare I2C devices found *AFTER* a given I2C adapter becomes available.
   
   For example, a PCI card could create adapters giving access to utility
   chips on that card, and this would be used to associate those chips with
   those adapters.

 * EARLY -- from arch_initcall() level code, using a non-exported function
   i2c_register_board_info().  This copies the declarations *BEFORE* such
   an i2c_adapter becomes available, arranging that i2c_new_device() will
   be called later when i2c-core registers the relevant i2c_adapter.

   For example, arch/.../.../board-*.c files would declare the I2C devices
   along with their platform data, and I2C devices would behave much like
   PNPACPI devices.  (That is, both enumerate from board-specific tables.)

To match the exported i2c_new_device(), the previously-private function
i2c_unregister_device() is now exported.

Pending later patches using these new APIs, this is effectively a NOP.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2007-05-01 23:26:31 +02:00
..
2006-12-04 02:00:22 -05:00
2007-02-20 17:10:15 -08:00
2006-12-08 08:28:39 -08:00
2006-12-07 08:39:20 -08:00
2006-12-08 08:28:39 -08:00
2007-01-30 08:26:45 -08:00
2007-02-20 17:10:14 -08:00
2007-04-27 10:57:31 -07:00
2006-12-07 08:39:25 -08:00
2007-04-27 10:57:34 -07:00
2007-02-09 17:39:36 -05:00
2007-02-11 11:18:07 -08:00
2007-02-01 16:17:06 -08:00
2007-03-27 09:05:15 -07:00
2006-12-07 08:39:32 -08:00
2006-12-10 09:55:41 -08:00
2007-04-28 11:01:07 -04:00
2007-04-19 14:56:12 +02:00
2007-01-08 19:49:54 +00:00
2007-04-07 10:03:43 -07:00
2007-02-13 22:09:01 +01:00
2006-12-10 21:21:29 +01:00
2007-04-25 22:30:01 -07:00
2007-04-25 22:29:10 -07:00
2007-04-25 22:24:41 -07:00
2007-04-25 22:29:10 -07:00
2006-12-07 08:39:47 -08:00
2006-12-07 08:39:47 -08:00
2006-12-07 08:39:47 -08:00
2007-03-01 14:53:38 -08:00
2006-12-08 08:28:57 -08:00
2007-04-25 22:25:52 -07:00
2007-04-30 16:40:39 -07:00
2007-04-30 16:40:40 -07:00
2007-02-16 14:37:06 +00:00
2007-04-25 22:29:49 -07:00
2007-03-04 11:12:42 +02:00
2007-02-17 19:17:37 +01:00
2007-03-01 14:53:35 -08:00
2007-03-12 16:31:50 -07:00
2007-01-23 00:34:54 -05:00
2007-03-16 19:25:05 -07:00
2007-02-09 08:06:14 -08:00
2007-03-12 16:31:50 -07:00
2007-04-28 14:15:58 -04:00
2007-03-27 08:55:47 +02:00
2007-04-17 16:36:26 -07:00
2007-04-30 16:40:41 -07:00
2007-02-11 10:51:28 -08:00
2006-12-04 02:00:36 -05:00
2007-01-11 18:18:21 -08:00
2007-02-11 10:51:28 -08:00
2006-12-22 08:55:49 -08:00
2006-12-10 09:55:40 -08:00
2007-04-27 10:46:51 -07:00
2006-12-07 08:39:35 -08:00
2006-12-13 09:05:49 -08:00
2007-02-20 17:10:14 -08:00
2007-02-20 17:10:14 -08:00
2007-02-12 09:48:41 -08:00
2007-02-11 10:51:18 -08:00
2007-02-20 17:10:13 -08:00
2007-02-07 14:03:19 +11:00
2007-02-16 08:13:57 -08:00
2007-02-16 08:13:56 -08:00
2007-03-05 07:57:51 -08:00
2006-12-15 08:47:51 -08:00
2007-02-11 10:51:25 -08:00
2007-02-11 11:18:05 -08:00
2007-04-28 21:20:32 -07:00