V4L/DVB (8046): zoran: i2c structure templates clean-up
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>
This commit is contained in:
parent
9fdd9caf44
commit
6275163e3d
|
@ -59,8 +59,6 @@
|
||||||
#include "zoran_device.h"
|
#include "zoran_device.h"
|
||||||
#include "zoran_procfs.h"
|
#include "zoran_procfs.h"
|
||||||
|
|
||||||
#define I2C_NAME(x) (x)->name
|
|
||||||
|
|
||||||
extern const struct zoran_format zoran_formats[];
|
extern const struct zoran_format zoran_formats[];
|
||||||
|
|
||||||
static int card[BUZ_MAX] = { -1, -1, -1, -1 };
|
static int card[BUZ_MAX] = { -1, -1, -1, -1 };
|
||||||
|
@ -809,7 +807,7 @@ clientunreg_unlock_and_return:
|
||||||
return res;
|
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,
|
.setsda = zoran_i2c_setsda,
|
||||||
.setscl = zoran_i2c_setscl,
|
.setscl = zoran_i2c_setscl,
|
||||||
.getsda = zoran_i2c_getsda,
|
.getsda = zoran_i2c_getsda,
|
||||||
|
@ -818,24 +816,17 @@ static struct i2c_algo_bit_data zoran_i2c_bit_data_template = {
|
||||||
.timeout = 100,
|
.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
|
static int
|
||||||
zoran_register_i2c (struct zoran *zr)
|
zoran_register_i2c (struct zoran *zr)
|
||||||
{
|
{
|
||||||
memcpy(&zr->i2c_algo, &zoran_i2c_bit_data_template,
|
memcpy(&zr->i2c_algo, &zoran_i2c_bit_data_template,
|
||||||
sizeof(struct i2c_algo_bit_data));
|
sizeof(struct i2c_algo_bit_data));
|
||||||
zr->i2c_algo.data = zr;
|
zr->i2c_algo.data = zr;
|
||||||
memcpy(&zr->i2c_adapter, &zoran_i2c_adapter_template,
|
zr->i2c_adapter.id = I2C_HW_B_ZR36067;
|
||||||
sizeof(struct i2c_adapter));
|
zr->i2c_adapter.client_register = zoran_i2c_client_register;
|
||||||
strncpy(I2C_NAME(&zr->i2c_adapter), ZR_DEVNAME(zr),
|
zr->i2c_adapter.client_unregister = zoran_i2c_client_unregister;
|
||||||
sizeof(I2C_NAME(&zr->i2c_adapter)) - 1);
|
strlcpy(zr->i2c_adapter.name, ZR_DEVNAME(zr),
|
||||||
|
sizeof(zr->i2c_adapter.name));
|
||||||
i2c_set_adapdata(&zr->i2c_adapter, zr);
|
i2c_set_adapdata(&zr->i2c_adapter, zr);
|
||||||
zr->i2c_adapter.algo_data = &zr->i2c_algo;
|
zr->i2c_adapter.algo_data = &zr->i2c_algo;
|
||||||
zr->i2c_adapter.dev.parent = &zr->pci_dev->dev;
|
zr->i2c_adapter.dev.parent = &zr->pci_dev->dev;
|
||||||
|
|
Loading…
Reference in New Issue