diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-06-12 13:20:46 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-06-12 13:20:46 +0000 |
commit | bb6a54e26b38180a101aca2f956b7ee9771def3f (patch) | |
tree | 8ea6b002fb4c0dd7027536955894697da71ca903 /linux | |
parent | 960ec070b700b8d1500a796144fa389cea0dee89 (diff) | |
download | mediapointer-dvb-s2-bb6a54e26b38180a101aca2f956b7ee9771def3f.tar.gz mediapointer-dvb-s2-bb6a54e26b38180a101aca2f956b7ee9771def3f.tar.bz2 |
zoran: i2c structure templates clean-up
From: Jean Delvare <khali@linux-fr.org>
Clean up the use of structure templates in zoran_card. For one thing,
a real template is supposed to be read-only. And in some cases it's
more efficient to initialize the few fields we need individually.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/zoran_card.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/linux/drivers/media/video/zoran_card.c b/linux/drivers/media/video/zoran_card.c index 946dee4eb..c2f7e9a64 100644 --- a/linux/drivers/media/video/zoran_card.c +++ b/linux/drivers/media/video/zoran_card.c @@ -62,8 +62,6 @@ #include "zoran_device.h" #include "zoran_procfs.h" -#define I2C_NAME(x) (x)->name - extern const struct zoran_format zoran_formats[]; static int card[BUZ_MAX] = { -1, -1, -1, -1 }; @@ -812,7 +810,7 @@ clientunreg_unlock_and_return: return res; } -static struct i2c_algo_bit_data zoran_i2c_bit_data_template = { +static const struct i2c_algo_bit_data zoran_i2c_bit_data_template = { .setsda = zoran_i2c_setsda, .setscl = zoran_i2c_setscl, .getsda = zoran_i2c_getsda, @@ -821,24 +819,17 @@ static struct i2c_algo_bit_data zoran_i2c_bit_data_template = { .timeout = 100, }; -static struct i2c_adapter zoran_i2c_adapter_template = { - .name = "zr36057", - .id = I2C_HW_B_ZR36067, - .algo = NULL, - .client_register = zoran_i2c_client_register, - .client_unregister = zoran_i2c_client_unregister, -}; - static int zoran_register_i2c (struct zoran *zr) { memcpy(&zr->i2c_algo, &zoran_i2c_bit_data_template, sizeof(struct i2c_algo_bit_data)); zr->i2c_algo.data = zr; - memcpy(&zr->i2c_adapter, &zoran_i2c_adapter_template, - sizeof(struct i2c_adapter)); - strncpy(I2C_NAME(&zr->i2c_adapter), ZR_DEVNAME(zr), - sizeof(I2C_NAME(&zr->i2c_adapter)) - 1); + zr->i2c_adapter.id = I2C_HW_B_ZR36067; + zr->i2c_adapter.client_register = zoran_i2c_client_register; + zr->i2c_adapter.client_unregister = zoran_i2c_client_unregister; + strlcpy(zr->i2c_adapter.name, ZR_DEVNAME(zr), + sizeof(zr->i2c_adapter.name)); i2c_set_adapdata(&zr->i2c_adapter, zr); zr->i2c_adapter.algo_data = &zr->i2c_algo; zr->i2c_adapter.dev.parent = &zr->pci_dev->dev; |