diff options
author | Jean Delvare <khali@linux-fr.org> | 2009-05-13 16:48:50 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-16 18:21:11 -0300 |
commit | c668f32dca105d876e51862a003a302fa61e4ae4 (patch) | |
tree | 5a71742ecd4e6a1c48f77977e5e2f6d129ffb566 /drivers/media/video/cx231xx/cx231xx-i2c.c | |
parent | 1df8e9861cf9fac5737ccb61c7f7fefa77711d40 (diff) | |
download | kernel_samsung_smdk4412-c668f32dca105d876e51862a003a302fa61e4ae4.zip kernel_samsung_smdk4412-c668f32dca105d876e51862a003a302fa61e4ae4.tar.gz kernel_samsung_smdk4412-c668f32dca105d876e51862a003a302fa61e4ae4.tar.bz2 |
V4L/DVB (11844): ir-kbd-i2c: Switch to the new-style device binding model
Let card drivers probe for IR receiver devices and instantiate them if
found. Ultimately it would be better if we could stop probing
completely, but I suspect this won't be possible for all card types.
There's certainly room for cleanups. For example, some drivers are
sharing I2C adapter IDs, so they also had to share the list of I2C
addresses being probed for an IR receiver. Now that each driver
explicitly says which addresses should be probed, maybe some addresses
can be dropped from some drivers.
Also, the special cases in saa7134-i2c should probably be handled on a
per-board basis. This would be more efficient and less risky than always
probing extra addresses on all boards. I'll give it a try later.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx231xx/cx231xx-i2c.c')
-rw-r--r-- | drivers/media/video/cx231xx/cx231xx-i2c.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/cx231xx/cx231xx-i2c.c b/drivers/media/video/cx231xx/cx231xx-i2c.c index b4a03d8..ac4099a 100644 --- a/drivers/media/video/cx231xx/cx231xx-i2c.c +++ b/drivers/media/video/cx231xx/cx231xx-i2c.c @@ -537,6 +537,9 @@ int cx231xx_i2c_register(struct cx231xx_i2c *bus) if (0 == bus->i2c_rc) { if (i2c_scan) cx231xx_do_i2c_scan(dev, &bus->i2c_client); + + /* Instantiate the IR receiver device, if present */ + cx231xx_register_i2c_ir(dev); } else cx231xx_warn("%s: i2c bus %d register FAILED\n", dev->name, bus->nr); |