diff -urN linux-2.4.27-i2c-287/drivers/acorn/char/i2c.c linux-2.4.27-i2c-287-full/drivers/acorn/char/i2c.c --- linux-2.4.27-i2c-287/drivers/acorn/char/i2c.c Mon Jan 5 16:36:40 2004 +++ linux-2.4.27-i2c-287-full/drivers/acorn/char/i2c.c Fri Aug 13 21:41:56 2004 @@ -265,13 +265,13 @@ } static struct i2c_algo_bit_data ioc_data = { - setsda: ioc_setsda, - setscl: ioc_setscl, - getsda: ioc_getsda, - getscl: ioc_getscl, - udelay: 80, - mdelay: 80, - timeout: 100 + .setsda = ioc_setsda, + .setscl = ioc_setscl, + .getsda = ioc_getsda, + .getscl = ioc_getscl, + .udelay = 80, + .mdelay = 80, + .timeout = 100, }; static int ioc_client_reg(struct i2c_client *client) @@ -304,11 +304,12 @@ } static struct i2c_adapter ioc_ops = { - name: "IOC/IOMD", - id: I2C_HW_B_IOC, - algo_data: &ioc_data, - client_register: ioc_client_reg, - client_unregister: ioc_client_unreg + .owner = THIS_MODULE, + .name = "IOC/IOMD", + .id = I2C_HW_B_IOC, + .algo_data = &ioc_data, + .client_register = ioc_client_reg, + .client_unregister = ioc_client_unreg, }; static int __init i2c_ioc_init(void) diff -urN linux-2.4.27-i2c-287/drivers/acorn/char/pcf8583.c linux-2.4.27-i2c-287-full/drivers/acorn/char/pcf8583.c --- linux-2.4.27-i2c-287/drivers/acorn/char/pcf8583.c Tue Jan 7 15:50:29 2003 +++ linux-2.4.27-i2c-287-full/drivers/acorn/char/pcf8583.c Fri Aug 13 21:41:56 2004 @@ -23,13 +23,13 @@ static unsigned short normal_addr[] = { 0x50, I2C_CLIENT_END }; static struct i2c_client_address_data addr_data = { - normal_i2c: normal_addr, - normal_i2c_range: ignore, - probe: ignore, - probe_range: ignore, - ignore: ignore, - ignore_range: ignore, - force: ignore, + .normal_i2c = normal_addr, + .normal_i2c_range = ignore, + .probe = ignore, + .probe_range = ignore, + .ignore = ignore, + .ignore_range = ignore, + .force = ignore, }; #define DAT(x) ((unsigned int)(x->data)) @@ -50,6 +50,7 @@ return -ENOMEM; strcpy(c->name, "PCF8583"); + c->name = THIS_MODULE; c->id = pcf8583_driver.id; c->flags = 0; c->addr = addr; @@ -225,12 +226,13 @@ } static struct i2c_driver pcf8583_driver = { - name: "PCF8583", - id: I2C_DRIVERID_PCF8583, - flags: I2C_DF_NOTIFY, - attach_adapter: pcf8583_probe, - detach_client: pcf8583_detach, - command: pcf8583_command + .owner = THIS_MODULE, + .name = "PCF8583", + .id = I2C_DRIVERID_PCF8583, + .flags = I2C_DF_NOTIFY, + .attach_adapter = pcf8583_probe, + .detach_client = pcf8583_detach, + .command = pcf8583_command, }; static __init int pcf8583_init(void) diff -urN linux-2.4.27-i2c-287/drivers/i2c/Config.in linux-2.4.27-i2c-287-full/drivers/i2c/Config.in --- linux-2.4.27-i2c-287/drivers/i2c/Config.in Sat Apr 17 23:05:49 2004 +++ linux-2.4.27-i2c-287-full/drivers/i2c/Config.in Fri Aug 13 21:42:02 2004 @@ -12,6 +12,9 @@ dep_tristate ' Philips style parallel port adapter' CONFIG_I2C_PHILIPSPAR $CONFIG_I2C_ALGOBIT $CONFIG_PARPORT dep_tristate ' ELV adapter' CONFIG_I2C_ELV $CONFIG_I2C_ALGOBIT dep_tristate ' Velleman K8000 adapter' CONFIG_I2C_VELLEMAN $CONFIG_I2C_ALGOBIT + if [ "$CONFIG_ARCH_SA1100" = "y" ]; then + dep_tristate 'SA1100 I2C Adapter' CONFIG_I2C_FRODO $CONFIG_I2C_ALGOBIT + fi dep_tristate ' NatSemi SCx200 I2C using GPIO pins' CONFIG_SCx200_I2C $CONFIG_SCx200_GPIO $CONFIG_I2C_ALGOBIT if [ "$CONFIG_SCx200_I2C" != "n" ]; then int ' GPIO pin used for SCL' CONFIG_SCx200_I2C_SCL 12 @@ -38,10 +41,10 @@ dep_tristate ' Embedded Planet RPX Lite/Classic support' CONFIG_I2C_RPXLITE $CONFIG_I2C_ALGO8XX fi fi - if [ "$CONFIG_405" = "y" ]; then - dep_tristate 'PPC 405 I2C Algorithm' CONFIG_I2C_PPC405_ALGO $CONFIG_I2C - if [ "$CONFIG_I2C_PPC405_ALGO" != "n" ]; then - dep_tristate ' PPC 405 I2C Adapter' CONFIG_I2C_PPC405_ADAP $CONFIG_I2C_PPC405_ALGO + if [ "$CONFIG_IBM_OCP" = "y" ]; then + dep_tristate 'IBM on-chip I2C Algorithm' CONFIG_I2C_IBM_OCP_ALGO $CONFIG_I2C + if [ "$CONFIG_I2C_IBM_OCP_ALGO" != "n" ]; then + dep_tristate ' IBM on-chip I2C Adapter' CONFIG_I2C_IBM_OCP_ADAP $CONFIG_I2C_IBM_OCP_ALGO fi fi diff -urN linux-2.4.27-i2c-287/drivers/i2c/Makefile linux-2.4.27-i2c-287-full/drivers/i2c/Makefile --- linux-2.4.27-i2c-287/drivers/i2c/Makefile Fri Jan 16 11:26:13 2004 +++ linux-2.4.27-i2c-287-full/drivers/i2c/Makefile Fri Aug 13 21:42:02 2004 @@ -6,7 +6,7 @@ export-objs := i2c-core.o i2c-algo-bit.o i2c-algo-pcf.o \ i2c-algo-ite.o i2c-algo-sibyte.o i2c-algo-sgi.o \ - i2c-proc.o + i2c-proc.o i2c-algo-8xx.o i2c-algo-ibm_ocp.o obj-$(CONFIG_I2C) += i2c-core.o obj-$(CONFIG_I2C_CHARDEV) += i2c-dev.o @@ -14,10 +14,16 @@ obj-$(CONFIG_I2C_PHILIPSPAR) += i2c-philips-par.o obj-$(CONFIG_I2C_ELV) += i2c-elv.o obj-$(CONFIG_I2C_VELLEMAN) += i2c-velleman.o +obj-$(CONFIG_I2C_FRODO) += i2c-frodo.o obj-$(CONFIG_I2C_ALGOPCF) += i2c-algo-pcf.o obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o +obj-$(CONFIG_I2C_PCFEPP) += i2c-pcf-epp.o obj-$(CONFIG_ITE_I2C_ALGO) += i2c-algo-ite.o obj-$(CONFIG_ITE_I2C_ADAP) += i2c-adap-ite.o +obj-$(CONFIG_I2C_ALGO8XX) += i2c-algo-8xx.o +obj-$(CONFIG_I2C_RPXLITE) += i2c-rpx.o +obj-$(CONFIG_I2C_IBM_OCP_ALGO) += i2c-algo-ibm_ocp.o +obj-$(CONFIG_I2C_IBM_OCP_ADAP) += i2c-adap-ibm_ocp.o obj-$(CONFIG_I2C_PROC) += i2c-proc.o obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o obj-$(CONFIG_SCx200_ACB) += scx200_acb.o diff -urN linux-2.4.27-i2c-287/drivers/i2c/i2c-adap-ite.c linux-2.4.27-i2c-287-full/drivers/i2c/i2c-adap-ite.c --- linux-2.4.27-i2c-287/drivers/i2c/i2c-adap-ite.c Fri Jan 16 11:26:13 2004 +++ linux-2.4.27-i2c-287-full/drivers/i2c/i2c-adap-ite.c Fri Aug 13 21:42:02 2004 @@ -194,22 +194,6 @@ } -static void iic_ite_inc_use(struct i2c_adapter *adap) -{ -#ifdef MODULE - MOD_INC_USE_COUNT; -#endif -} - - -static void iic_ite_dec_use(struct i2c_adapter *adap) -{ -#ifdef MODULE - MOD_DEC_USE_COUNT; -#endif -} - - /* ------------------------------------------------------------------------ * Encapsulate the above functions in the correct operations structure. * This is only done when more than one hardware adapter is supported. @@ -225,14 +209,13 @@ }; static struct i2c_adapter iic_ite_ops = { - "ITE IIC adapter", - I2C_HW_I_IIC, - NULL, - &iic_ite_data, - iic_ite_inc_use, - iic_ite_dec_use, - iic_ite_reg, - iic_ite_unreg, + .owner = THIS_MODULE, + .name = "ITE IIC adapter", + .id = I2C_HW_I_IIC, + .algo = NULL, + .algo_data = &iic_ite_data, + .client_register = iic_ite_reg, + .client_unregieter = iic_ite_unreg, }; /* Called when the module is loaded. This function starts the diff -urN linux-2.4.27-i2c-287/drivers/i2c/i2c-algo-ite.c linux-2.4.27-i2c-287-full/drivers/i2c/i2c-algo-ite.c --- linux-2.4.27-i2c-287/drivers/i2c/i2c-algo-ite.c Fri Jan 16 11:26:13 2004 +++ linux-2.4.27-i2c-287-full/drivers/i2c/i2c-algo-ite.c Fri Aug 13 21:42:02 2004 @@ -741,14 +741,12 @@ /* -----exported algorithm data: ------------------------------------- */ static struct i2c_algorithm iic_algo = { - "ITE IIC algorithm", - I2C_ALGO_IIC, - iic_xfer, /* master_xfer */ - NULL, /* smbus_xfer */ - NULL, /* slave_xmit */ - NULL, /* slave_recv */ - algo_control, /* ioctl */ - iic_func, /* functionality */ + .owner = THIS_MODULE, + .name = "ITE IIC algorithm", + .id = I2C_ALGO_IIC, + .master_xfer = iic_xfer, + .algo_control = algo_control, + .functionality = iic_func, }; @@ -779,10 +777,6 @@ adap->retries = 3; /* be replaced by defines */ adap->flags = 0; -#ifdef MODULE - MOD_INC_USE_COUNT; -#endif - i2c_add_adapter(adap); iic_init(iic_adap); @@ -815,9 +809,6 @@ return res; DEB2(printk("i2c-algo-ite: adapter unregistered: %s\n",adap->name)); -#ifdef MODULE - MOD_DEC_USE_COUNT; -#endif return 0; } diff -urN linux-2.4.27-i2c-287/drivers/i2c/i2c-algo-sgi.c linux-2.4.27-i2c-287-full/drivers/i2c/i2c-algo-sgi.c --- linux-2.4.27-i2c-287/drivers/i2c/i2c-algo-sgi.c Fri Jan 16 11:26:13 2004 +++ linux-2.4.27-i2c-287-full/drivers/i2c/i2c-algo-sgi.c Fri Aug 13 21:42:02 2004 @@ -158,6 +158,7 @@ } static struct i2c_algorithm sgi_algo = { + .owner = THIS_MODULE, .name = "SGI algorithm", .id = I2C_ALGO_SGI, .master_xfer = sgi_xfer, diff -urN linux-2.4.27-i2c-287/drivers/i2c/i2c-algo-sibyte.c linux-2.4.27-i2c-287-full/drivers/i2c/i2c-algo-sibyte.c --- linux-2.4.27-i2c-287/drivers/i2c/i2c-algo-sibyte.c Sun Aug 24 19:40:12 2003 +++ linux-2.4.27-i2c-287-full/drivers/i2c/i2c-algo-sibyte.c Fri Aug 13 21:42:02 2004 @@ -136,14 +136,15 @@ /* -----exported algorithm data: ------------------------------------- */ static struct i2c_algorithm i2c_sibyte_algo = { - "SiByte algorithm", - I2C_ALGO_SIBYTE, - NULL, /* master_xfer */ - smbus_xfer, /* smbus_xfer */ - NULL, /* slave_xmit */ - NULL, /* slave_recv */ - algo_control, /* ioctl */ - bit_func, /* functionality */ + .owner = THIS_MODULE, + .name = "SiByte algorithm", + .id = I2C_ALGO_SIBYTE, + .master_xfer = NULL, + .smbus_xfer = smbus_xfer, + .slave_xmit = NULL, + .slave_recv = NULL, + .algo_control = algo_control, + .functionality = bit_func, }; /* @@ -181,9 +182,6 @@ printk("\n"); } -#ifdef MODULE - MOD_INC_USE_COUNT; -#endif i2c_add_adapter(i2c_adap); return 0; @@ -197,9 +195,6 @@ if ((res = i2c_del_adapter(adap)) < 0) return res; -#ifdef MODULE - MOD_DEC_USE_COUNT; -#endif return 0; } diff -urN linux-2.4.27-i2c-287/drivers/i2c/i2c-keywest.c linux-2.4.27-i2c-287-full/drivers/i2c/i2c-keywest.c --- linux-2.4.27-i2c-287/drivers/i2c/i2c-keywest.c Fri Jan 16 11:26:14 2004 +++ linux-2.4.27-i2c-287-full/drivers/i2c/i2c-keywest.c Fri Aug 13 21:42:02 2004 @@ -411,25 +411,14 @@ I2C_FUNC_SMBUS_BLOCK_DATA; } -static void -keywest_inc(struct i2c_adapter *adapter) -{ - MOD_INC_USE_COUNT; -} - -static void -keywest_dec(struct i2c_adapter *adapter) -{ - MOD_DEC_USE_COUNT; -} - /* For now, we only handle combined mode (smbus) */ static struct i2c_algorithm keywest_algorithm = { - name: "Keywest i2c", - id: I2C_ALGO_SMBUS, - smbus_xfer: keywest_smbus_xfer, - master_xfer: keywest_xfer, - functionality: keywest_func, + .owner = THIS_MODULE, + .name = "Keywest i2c", + .id = I2C_ALGO_SMBUS, + .smbus_xfer = keywest_smbus_xfer, + .master_xfer = keywest_xfer, + .functionality = keywest_func, }; @@ -526,14 +515,13 @@ struct keywest_chan* chan = &iface->channels[i]; u8 addr; + chan->adapter.owner = THIS_MODULE; sprintf(chan->adapter.name, "%s %d", np->parent->name, i); chan->iface = iface; chan->chan_no = i; chan->adapter.id = I2C_ALGO_SMBUS; chan->adapter.algo = &keywest_algorithm; chan->adapter.algo_data = NULL; - chan->adapter.inc_use = keywest_inc; - chan->adapter.dec_use = keywest_dec; chan->adapter.client_register = NULL; chan->adapter.client_unregister = NULL; chan->adapter.data = chan; diff -urN linux-2.4.27-i2c-287/drivers/i2c/i2c-max1617.c linux-2.4.27-i2c-287-full/drivers/i2c/i2c-max1617.c --- linux-2.4.27-i2c-287/drivers/i2c/i2c-max1617.c Sun Aug 24 19:40:12 2003 +++ linux-2.4.27-i2c-287-full/drivers/i2c/i2c-max1617.c Fri Aug 13 21:42:02 2004 @@ -67,18 +67,15 @@ static int max1617_probe(struct i2c_adapter *adap); static int max1617_detach(struct i2c_client *device); static int max1617_command(struct i2c_client *device, unsigned int cmd, void *arg); -static void max1617_inc_use(struct i2c_client *device); -static void max1617_dec_use(struct i2c_client *device); struct i2c_driver i2c_driver_max1617 = { - name: IF_NAME, - id: I2C_DRIVERID_MAX1617, - flags: I2C_DF_NOTIFY, - attach_adapter: max1617_probe, - detach_client: max1617_detach, - command: max1617_command, - inc_use: max1617_inc_use, - dec_use: max1617_dec_use + .owner = THIS_MODULE, + .name = IF_NAME, + .id = I2C_DRIVERID_MAX1617, + .flags = I2C_DF_NOTIFY, + .attach_adapter = max1617_probe, + .detach_client = max1617_detach, + .command = max1617_command, }; \ static int max1617_read(struct i2c_client *client, unsigned char subaddr) @@ -184,20 +181,6 @@ static int max1617_command(struct i2c_client *device, unsigned int cmd, void *arg) { return 0; -} - -static void max1617_inc_use(struct i2c_client *client) -{ -#ifdef MODULE - MOD_INC_USE_COUNT; -#endif -} - -static void max1617_dec_use(struct i2c_client *client) -{ -#ifdef MODULE - MOD_DEC_USE_COUNT; -#endif } void i2c_max1617_init(void) diff -urN linux-2.4.27-i2c-287/drivers/i2c/i2c-sibyte.c linux-2.4.27-i2c-287-full/drivers/i2c/i2c-sibyte.c --- linux-2.4.27-i2c-287/drivers/i2c/i2c-sibyte.c Sun Aug 24 19:40:12 2003 +++ linux-2.4.27-i2c-287-full/drivers/i2c/i2c-sibyte.c Fri Aug 13 21:42:02 2004 @@ -38,48 +38,30 @@ return 0; } -static void sibyte_inc_use(struct i2c_adapter *adap) -{ -#ifdef MODULE - MOD_INC_USE_COUNT; -#endif -} - -static void sibyte_dec_use(struct i2c_adapter *adap) -{ -#ifdef MODULE - MOD_DEC_USE_COUNT; -#endif -} - static struct i2c_algo_sibyte_data sibyte_board_data[2] = { { NULL, 0, (void *)(KSEG1+A_SMB_BASE(0)) }, { NULL, 1, (void *)(KSEG1+A_SMB_BASE(1)) } }; static struct i2c_adapter sibyte_board_adapter[2] = { - { - name: "SiByte SMBus 0", - id: I2C_HW_SIBYTE, - algo: NULL, - algo_data: &sibyte_board_data[0], - inc_use: sibyte_inc_use, - dec_use: sibyte_dec_use, - client_register: sibyte_reg, - client_unregister: sibyte_unreg, - client_count: 0 - } , - { - name: "SiByte SMBus 1", - id: I2C_HW_SIBYTE, - algo: NULL, - algo_data: &sibyte_board_data[1], - inc_use: sibyte_inc_use, - dec_use: sibyte_dec_use, - client_register: sibyte_reg, - client_unregister: sibyte_unreg, - client_count: 0 - } + { + .owner = THIS_MODULE, + .name = "SiByte SMBus 0", + .id = I2C_HW_SIBYTE, + .algo = NULL, + .algo_data = &sibyte_board_data[0], + .client_register = sibyte_reg, + .client_unregister = sibyte_unreg, + } , + { + .owner = THIS_MODULE, + .name = "SiByte SMBus 1", + .id = I2C_HW_SIBYTE, + .algo = NULL, + .algo_data = &sibyte_board_data[1], + .client_register = sibyte_reg, + .client_unregister = sibyte_unreg, + } }; int __init i2c_sibyte_init(void) diff -urN linux-2.4.27-i2c-287/drivers/i2c/scx200_acb.c linux-2.4.27-i2c-287-full/drivers/i2c/scx200_acb.c --- linux-2.4.27-i2c-287/drivers/i2c/scx200_acb.c Tue Apr 22 03:04:31 2003 +++ linux-2.4.27-i2c-287-full/drivers/i2c/scx200_acb.c Fri Aug 13 21:42:02 2004 @@ -408,22 +408,13 @@ return 0; } -static void scx200_acb_inc_use(struct i2c_adapter *adapter) -{ - MOD_INC_USE_COUNT; -} - -static void scx200_acb_dec_use(struct i2c_adapter *adapter) -{ - MOD_DEC_USE_COUNT; -} - /* For now, we only handle combined mode (smbus) */ static struct i2c_algorithm scx200_acb_algorithm = { - name: "NatSemi SCx200 ACCESS.bus", - id: I2C_ALGO_SMBUS, - smbus_xfer: scx200_acb_smbus_xfer, - functionality: scx200_acb_func, + .owner = THIS_MODULE, + .name = "NatSemi SCx200 ACCESS.bus", + .id = I2C_ALGO_SMBUS, + .smbus_xfer = scx200_acb_smbus_xfer, + .functionality = scx200_acb_func, }; struct scx200_acb_iface *scx200_acb_list; @@ -479,11 +470,10 @@ memset(iface, 0, sizeof(*iface)); adapter = &iface->adapter; adapter->data = iface; + adapter->owner = THIS_MODULE; sprintf(adapter->name, "SCx200 ACB%d", index); adapter->id = I2C_ALGO_SMBUS; adapter->algo = &scx200_acb_algorithm; - adapter->inc_use = scx200_acb_inc_use; - adapter->dec_use = scx200_acb_dec_use; adapter->client_register = scx200_acb_reg; adapter->client_unregister = scx200_acb_unreg; diff -urN linux-2.4.27-i2c-287/drivers/i2c/scx200_i2c.c linux-2.4.27-i2c-287-full/drivers/i2c/scx200_i2c.c --- linux-2.4.27-i2c-287/drivers/i2c/scx200_i2c.c Tue Apr 22 03:04:31 2003 +++ linux-2.4.27-i2c-287-full/drivers/i2c/scx200_i2c.c Fri Aug 13 21:42:02 2004 @@ -76,16 +76,6 @@ return 0; } -static void scx200_i2c_inc_use(struct i2c_adapter *adap) -{ - MOD_INC_USE_COUNT; -} - -static void scx200_i2c_dec_use(struct i2c_adapter *adap) -{ - MOD_DEC_USE_COUNT; -} - /* ------------------------------------------------------------------------ * Encapsulate the above functions in the correct operations structure. * This is only done when more than one hardware adapter is supported. @@ -101,11 +91,10 @@ }; static struct i2c_adapter scx200_i2c_ops = { + .owner = THIS_MODULE, .name = "NatSemi SCx200 I2C", .id = I2C_HW_B_VELLE, .algo_data = &scx200_i2c_data, - .inc_use = scx200_i2c_inc_use, - .dec_use = scx200_i2c_dec_use, .client_register = scx200_i2c_reg, .client_unregister = scx200_i2c_unreg, }; diff -urN linux-2.4.27-i2c-287/drivers/ieee1394/pcilynx.c linux-2.4.27-i2c-287-full/drivers/ieee1394/pcilynx.c --- linux-2.4.27-i2c-287/drivers/ieee1394/pcilynx.c Fri Aug 13 16:50:31 2004 +++ linux-2.4.27-i2c-287-full/drivers/ieee1394/pcilynx.c Fri Aug 13 21:42:03 2004 @@ -139,7 +139,8 @@ }; static struct i2c_adapter bit_ops = { - .id = 0xAA, //FIXME: probably we should get an id in i2c-id.h + .owner = THIS_MODULE, + .id = I2C_HW_B_PCILYNX, .client_register = bit_reg, .client_unregister = bit_unreg, .name = "PCILynx I2C", diff -urN linux-2.4.27-i2c-287/drivers/media/video/bt832.c linux-2.4.27-i2c-287-full/drivers/media/video/bt832.c --- linux-2.4.27-i2c-287/drivers/media/video/bt832.c Tue Apr 22 03:04:41 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/bt832.c Fri Aug 13 21:42:05 2004 @@ -187,7 +187,6 @@ t->client.data = t; i2c_attach_client(&t->client); - MOD_INC_USE_COUNT; if(! bt832_init(&t->client)) { bt832_detach(&t->client); return -1; @@ -226,7 +225,7 @@ printk("bt832: detach.\n"); i2c_detach_client(client); kfree(t); - MOD_DEC_USE_COUNT; + return 0; } @@ -257,8 +256,9 @@ /* ----------------------------------------------------------------------- */ static struct i2c_driver driver = { + .owner = THIS_MODULE, .name = "i2c bt832 driver", - .id = -1, /* FIXME */ + .id = I2C_DRIVERID_BT832, .flags = I2C_DF_NOTIFY, .attach_adapter = bt832_probe, .detach_client = bt832_detach, diff -urN linux-2.4.27-i2c-287/drivers/media/video/indycam.c linux-2.4.27-i2c-287-full/drivers/media/video/indycam.c --- linux-2.4.27-i2c-287/drivers/media/video/indycam.c Fri Jan 16 11:26:14 2004 +++ linux-2.4.27-i2c-287-full/drivers/media/video/indycam.c Fri Aug 13 21:42:05 2004 @@ -192,6 +192,7 @@ } static struct i2c_driver i2c_driver_indycam = { + .owner = THIS_MODULE, .name = "indycam", .id = I2C_DRIVERID_INDYCAM, .flags = I2C_DF_NOTIFY, diff -urN linux-2.4.27-i2c-287/drivers/media/video/msp3400.c linux-2.4.27-i2c-287-full/drivers/media/video/msp3400.c --- linux-2.4.27-i2c-287/drivers/media/video/msp3400.c Fri Oct 10 08:47:14 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/msp3400.c Fri Aug 13 21:42:05 2004 @@ -1243,6 +1243,7 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg); static struct i2c_driver driver = { + .owner = THIS_MODULE, .name = "i2c msp3400 driver", .id = I2C_DRIVERID_MSP3400, .flags = I2C_DF_NOTIFY, @@ -1346,7 +1347,6 @@ printk("\n"); /* startup control thread */ - MOD_INC_USE_COUNT; msp->notify = &sem; rc = kernel_thread(msp->simple ? msp3410d_thread : msp3400c_thread, (void *)c, 0); @@ -1399,7 +1399,7 @@ i2c_detach_client(client); kfree(msp); kfree(client); - MOD_DEC_USE_COUNT; + return 0; } diff -urN linux-2.4.27-i2c-287/drivers/media/video/saa5249.c linux-2.4.27-i2c-287-full/drivers/media/video/saa5249.c --- linux-2.4.27-i2c-287/drivers/media/video/saa5249.c Sun Sep 30 21:26:06 2001 +++ linux-2.4.27-i2c-287-full/drivers/media/video/saa5249.c Fri Aug 13 21:42:05 2004 @@ -217,7 +217,7 @@ } t->client = client; i2c_attach_client(client); - MOD_INC_USE_COUNT; + return 0; } @@ -244,7 +244,7 @@ kfree(vd->priv); kfree(vd); kfree(client); - MOD_DEC_USE_COUNT; + return 0; } @@ -256,23 +256,23 @@ /* new I2C driver support */ -static struct i2c_driver i2c_driver_videotext = -{ - IF_NAME, /* name */ - I2C_DRIVERID_SAA5249, /* in i2c.h */ - I2C_DF_NOTIFY, - saa5249_probe, - saa5249_detach, - saa5249_command +static struct i2c_driver i2c_driver_videotext = { + .owner = THIS_MODULE, + .name = IF_NAME, + .id = I2C_DRIVERID_SAA5249, /* in i2c-id.h */ + .flags = I2C_DF_NOTIFY, + .attach_adapter = saa5249_probe, + .detach_client = saa5249_detach, + .command = saa5249_command, }; static struct i2c_client client_template = { - "(unset)", - -1, - 0, - 0, - NULL, - &i2c_driver_videotext + .name = "(unset)", + .id = -1, + .flags = 0, + .addr = 0, + .adapter = NULL, + .driver = &i2c_driver_videotext, }; /* diff -urN linux-2.4.27-i2c-287/drivers/media/video/saa7191.c linux-2.4.27-i2c-287-full/drivers/media/video/saa7191.c --- linux-2.4.27-i2c-287/drivers/media/video/saa7191.c Fri Jan 16 11:26:14 2004 +++ linux-2.4.27-i2c-287-full/drivers/media/video/saa7191.c Fri Aug 13 21:42:05 2004 @@ -294,6 +294,7 @@ } static struct i2c_driver i2c_driver_saa7191 = { + .owner = THIS_MODULE, .name = "saa7191", .id = I2C_DRIVERID_SAA7191, .flags = I2C_DF_NOTIFY, diff -urN linux-2.4.27-i2c-287/drivers/media/video/swarm_saa7114h.c linux-2.4.27-i2c-287-full/drivers/media/video/swarm_saa7114h.c --- linux-2.4.27-i2c-287/drivers/media/video/swarm_saa7114h.c Sun Aug 24 19:40:12 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/swarm_saa7114h.c Fri Aug 13 21:42:05 2004 @@ -201,11 +201,12 @@ struct i2c_driver i2c_driver_saa7114h = { - name: "saa7114h", /* name */ - id: I2C_DRIVERID_SAA7114H, /* ID */ - flags: I2C_DF_NOTIFY, /* XXXKW do I care? */ - attach_adapter: saa7114h_probe, - detach_client: saa7114h_detach + .owner = THIS_MODULE, + .name = "saa7114h", + .id = I2C_DRIVERID_SAA7114H, + .flags = I2C_DF_NOTIFY, + .attach_adapter = saa7114h_probe, + .detach_client = saa7114h_detach, }; /* ----------------------------------------------------------------------- @@ -1634,8 +1635,6 @@ create_proc_decoder(vd->priv); #endif - MOD_INC_USE_COUNT; - return 0; } @@ -1668,7 +1667,6 @@ { #if 0 kfree(device->data); - MOD_DEC_USE_COUNT; #endif #ifdef CONFIG_PROC_FS destroy_proc_decoder(((struct video_device *)device->data)->priv); diff -urN linux-2.4.27-i2c-287/drivers/media/video/tda7432.c linux-2.4.27-i2c-287-full/drivers/media/video/tda7432.c --- linux-2.4.27-i2c-287/drivers/media/video/tda7432.c Fri Oct 10 08:47:14 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/tda7432.c Fri Aug 13 21:42:05 2004 @@ -332,7 +332,6 @@ i2c_set_clientdata(client, t); do_tda7432_init(client); - MOD_INC_USE_COUNT; printk(KERN_INFO "tda7432: init\n"); i2c_attach_client(client); @@ -359,7 +358,7 @@ i2c_detach_client(client); kfree(t); - MOD_DEC_USE_COUNT; + return 0; } @@ -520,6 +519,7 @@ } static struct i2c_driver driver = { + .owner = THIS_MODULE, .name = "i2c tda7432 driver", .id = I2C_DRIVERID_TDA7432, .flags = I2C_DF_NOTIFY, diff -urN linux-2.4.27-i2c-287/drivers/media/video/tda9875.c linux-2.4.27-i2c-287-full/drivers/media/video/tda9875.c --- linux-2.4.27-i2c-287/drivers/media/video/tda9875.c Fri Oct 10 08:47:14 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/tda9875.c Fri Aug 13 21:42:05 2004 @@ -266,7 +266,6 @@ } do_tda9875_init(client); - MOD_INC_USE_COUNT; printk(KERN_INFO "tda9875: init\n"); i2c_attach_client(client); @@ -293,7 +292,7 @@ i2c_detach_client(client); kfree(t); - MOD_DEC_USE_COUNT; + return 0; } @@ -391,6 +390,7 @@ static struct i2c_driver driver = { + .owner = THIS_MODULE, .name = "i2c tda9875 driver", .id = I2C_DRIVERID_TDA9875, .flags = I2C_DF_NOTIFY, diff -urN linux-2.4.27-i2c-287/drivers/media/video/tda9887.c linux-2.4.27-i2c-287-full/drivers/media/video/tda9887.c --- linux-2.4.27-i2c-287/drivers/media/video/tda9887.c Fri Oct 10 08:47:14 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/tda9887.c Fri Aug 13 21:42:05 2004 @@ -363,7 +363,6 @@ i2c_set_clientdata(&t->client, t); i2c_attach_client(&t->client); - MOD_INC_USE_COUNT; return 0; } @@ -390,7 +389,7 @@ i2c_detach_client(client); kfree(t); - MOD_DEC_USE_COUNT; + return 0; } @@ -443,8 +442,9 @@ /* ----------------------------------------------------------------------- */ static struct i2c_driver driver = { + .owner = THIS_MODULE, .name = "i2c tda9887 driver", - .id = -1, /* FIXME */ + .id = I2C_DRIVERID_TDA9887, .flags = I2C_DF_NOTIFY, .attach_adapter = tda9887_probe, .detach_client = tda9887_detach, diff -urN linux-2.4.27-i2c-287/drivers/media/video/tuner-3036.c linux-2.4.27-i2c-287-full/drivers/media/video/tuner-3036.c --- linux-2.4.27-i2c-287/drivers/media/video/tuner-3036.c Sun Sep 30 21:26:06 2001 +++ linux-2.4.27-i2c-287-full/drivers/media/video/tuner-3036.c Fri Aug 13 21:42:05 2004 @@ -136,7 +136,6 @@ printk("tuner: SAB3036 found, status %02x\n", tuner_getstatus(client)); i2c_attach_client(client); - MOD_INC_USE_COUNT; if (i2c_master_send(client, buffer, 2) != 2) printk("tuner: i2c i/o error 1\n"); @@ -150,7 +149,6 @@ static int tuner_detach(struct i2c_client *c) { - MOD_DEC_USE_COUNT; return 0; } @@ -183,24 +181,23 @@ /* ----------------------------------------------------------------------- */ static struct i2c_driver -i2c_driver_tuner = -{ - "sab3036", /* name */ - I2C_DRIVERID_SAB3036, /* ID */ - I2C_DF_NOTIFY, - tuner_probe, - tuner_detach, - tuner_command +i2c_driver_tuner = { + .owner = THIS_MODULE, + .name = "sab3036", + .id = I2C_DRIVERID_SAB3036, + .flags = I2C_DF_NOTIFY, + .attach_adapter = tuner_probe, + .detach_client = tuner_detach, + .command = tuner_command, }; -static struct i2c_client client_template = -{ - "SAB3036", /* name */ - -1, - 0, - 0, - NULL, - &i2c_driver_tuner +static struct i2c_client client_template = { + .name = "SAB3036", + .id = -1, + .flags = 0, + .addr = 0, + .adapter = NULL, + .driver = &i2c_driver_tuner, }; EXPORT_NO_SYMBOLS; diff -urN linux-2.4.27-i2c-287/drivers/media/video/tuner.c linux-2.4.27-i2c-287-full/drivers/media/video/tuner.c --- linux-2.4.27-i2c-287/drivers/media/video/tuner.c Fri Oct 10 08:47:14 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/tuner.c Fri Aug 13 21:42:05 2004 @@ -971,6 +971,7 @@ /* ----------------------------------------------------------------------- */ static struct i2c_driver driver = { + .owner = THIS_MODULE, .name = "i2c TV tuner driver", .id = I2C_DRIVERID_TUNER, .flags = I2C_DF_NOTIFY, diff -urN linux-2.4.27-i2c-287/drivers/media/video/tvaudio.c linux-2.4.27-i2c-287-full/drivers/media/video/tvaudio.c --- linux-2.4.27-i2c-287/drivers/media/video/tvaudio.c Fri Oct 10 08:47:14 2003 +++ linux-2.4.27-i2c-287-full/drivers/media/video/tvaudio.c Fri Aug 13 21:42:05 2004 @@ -1463,7 +1463,6 @@ chip->shadow.count = desc->registers+1; chip->prevmode = -1; /* register */ - MOD_INC_USE_COUNT; i2c_attach_client(&chip->c); /* initialization */ @@ -1538,7 +1537,7 @@ i2c_detach_client(&chip->c); kfree(chip); - MOD_DEC_USE_COUNT; + return 0; } @@ -1649,6 +1648,7 @@ static struct i2c_driver driver = { + .owner = THIS_MODULE, .name = "generic i2c audio driver", .id = I2C_DRIVERID_TVAUDIO, .flags = I2C_DF_NOTIFY, diff -urN linux-2.4.27-i2c-287/drivers/media/video/vino.c linux-2.4.27-i2c-287-full/drivers/media/video/vino.c --- linux-2.4.27-i2c-287/drivers/media/video/vino.c Fri Jan 16 11:26:14 2004 +++ linux-2.4.27-i2c-287-full/drivers/media/video/vino.c Fri Aug 13 21:42:06 2004 @@ -214,6 +214,7 @@ static struct i2c_adapter vino_i2c_adapter = { + .owner = THIS_MODULE, .name = "VINO I2C bus", .id = I2C_HW_SGI_VINO, .algo_data = &i2c_sgi_vino_data, diff -urN linux-2.4.27-i2c-287/drivers/sound/dmasound/dac3550a.c linux-2.4.27-i2c-287-full/drivers/sound/dmasound/dac3550a.c --- linux-2.4.27-i2c-287/drivers/sound/dmasound/dac3550a.c Mon Jan 6 17:42:02 2003 +++ linux-2.4.27-i2c-287-full/drivers/sound/dmasound/dac3550a.c Fri Aug 13 21:42:15 2004 @@ -52,15 +52,14 @@ }; struct i2c_driver daca_driver = { - name: "DAC3550A driver V " DACA_VERSION, - id: I2C_DRIVERID_DACA, - flags: I2C_DF_NOTIFY, - attach_adapter: &daca_attach_adapter, - detach_client: &daca_detach_client, - command: NULL, - inc_use: NULL, /* &daca_inc_use, */ - dec_use: NULL /* &daca_dev_use */ - }; + .owner = THIS_MODULE, + .name = "DAC3550A driver V " DACA_VERSION, + .id = I2C_DRIVERID_DACA, + .flags = I2C_DF_NOTIFY, + .attach_adapter = &daca_attach_adapter, + .detach_client = &daca_detach_client, + .command = NULL, +}; #define VOL_MAX ((1<<20) - 1) diff -urN linux-2.4.27-i2c-287/drivers/sound/dmasound/tas3001c.c linux-2.4.27-i2c-287-full/drivers/sound/dmasound/tas3001c.c --- linux-2.4.27-i2c-287/drivers/sound/dmasound/tas3001c.c Mon Jan 6 17:42:02 2003 +++ linux-2.4.27-i2c-287-full/drivers/sound/dmasound/tas3001c.c Fri Aug 13 21:42:15 2004 @@ -90,14 +90,13 @@ }; struct i2c_driver tas_driver = { - name: "TAS3001C driver V 0.3", - id: I2C_DRIVERID_TAS, - flags: I2C_DF_NOTIFY, - attach_adapter: &tas_attach_adapter, - detach_client: &tas_detach_client, - command: NULL, - inc_use: NULL, /* &tas_inc_use, */ - dec_use: NULL /* &tas_dev_use */ + .owner = THIS_MODULE, + .name = "TAS3001C driver V " TAS_VERSION, + .id = I2C_DRIVERID_TAS, + .flags = I2C_DF_NOTIFY, + .attach_adapter = &tas_attach_adapter, + .detach_client = &tas_detach_client, + .command = NULL, }; int diff -urN linux-2.4.27-i2c-287/drivers/usb/w9968cf.c linux-2.4.27-i2c-287-full/drivers/usb/w9968cf.c --- linux-2.4.27-i2c-287/drivers/usb/w9968cf.c Sat Apr 17 23:05:49 2004 +++ linux-2.4.27-i2c-287-full/drivers/usb/w9968cf.c Fri Aug 13 21:42:17 2004 @@ -432,8 +432,6 @@ static int w9968cf_i2c_detach_inform(struct i2c_client*); static int w9968cf_i2c_control(struct i2c_adapter*, unsigned int cmd, unsigned long arg); -static void w9968cf_i2c_inc_use(struct i2c_adapter*); -static void w9968cf_i2c_dec_use(struct i2c_adapter*); /* Memory management */ static inline unsigned long kvirt_to_pa(unsigned long adr); @@ -1807,18 +1805,6 @@ } -static void w9968cf_i2c_inc_use(struct i2c_adapter* adap) -{ - MOD_INC_USE_COUNT; -} - - -static void w9968cf_i2c_dec_use(struct i2c_adapter* adap) -{ - MOD_DEC_USE_COUNT; -} - - static int w9968cf_i2c_init(struct w9968cf_device* cam) { int err = 0; @@ -1832,9 +1818,8 @@ }; static struct i2c_adapter adap = { + .owner = THIS_MODULE, .id = I2C_ALGO_SMBUS | I2C_HW_SMBUS_W9968CF, - .inc_use = w9968cf_i2c_inc_use, - .dec_use = w9968cf_i2c_dec_use, .client_register = w9968cf_i2c_attach_inform, .client_unregister = w9968cf_i2c_detach_inform, .algo = &algo, diff -urN linux-2.4.27-i2c-287/drivers/video/matrox/i2c-matroxfb.c linux-2.4.27-i2c-287-full/drivers/video/matrox/i2c-matroxfb.c --- linux-2.4.27-i2c-287/drivers/video/matrox/i2c-matroxfb.c Tue Apr 22 03:04:56 2003 +++ linux-2.4.27-i2c-287-full/drivers/video/matrox/i2c-matroxfb.c Fri Aug 13 21:42:18 2004 @@ -87,29 +87,20 @@ return (matroxfb_read_gpio(b->minfo) & b->mask.clock) ? 1 : 0; } -static void matroxfb_dh_inc_use(struct i2c_adapter* dummy) { - MOD_INC_USE_COUNT; -} - -static void matroxfb_dh_dec_use(struct i2c_adapter* dummy) { - MOD_DEC_USE_COUNT; -} - -static struct i2c_adapter matrox_i2c_adapter_template = -{ - .id = I2C_HW_B_G400, - .inc_use = matroxfb_dh_inc_use, - .dec_use = matroxfb_dh_dec_use, +static struct i2c_adapter matrox_i2c_adapter_template = { + .owner = THIS_MODULE, + .id = I2C_HW_B_G400, }; -static struct i2c_algo_bit_data matrox_i2c_algo_template = -{ - NULL, - matroxfb_gpio_setsda, - matroxfb_gpio_setscl, - matroxfb_gpio_getsda, - matroxfb_gpio_getscl, - 10, 10, 100, +static struct i2c_algo_bit_data matrox_i2c_algo_template = { + .data = NULL, + .setsda = matroxfb_gpio_setsda, + .setscl = matroxfb_gpio_setscl, + .getsda = matroxfb_gpio_getsda, + .getscl = matroxfb_gpio_getscl, + .udelay = 10, + .mdelay = 10, + .timeout = 100, }; static int i2c_bus_reg(struct i2c_bit_adapter* b, struct matrox_fb_info* minfo, diff -urN linux-2.4.27-i2c-287/drivers/video/matrox/matroxfb_maven.c linux-2.4.27-i2c-287-full/drivers/video/matrox/matroxfb_maven.c --- linux-2.4.27-i2c-287/drivers/video/matrox/matroxfb_maven.c Tue Apr 22 03:04:57 2003 +++ linux-2.4.27-i2c-287-full/drivers/video/matrox/matroxfb_maven.c Fri Aug 13 21:42:18 2004 @@ -1246,14 +1246,6 @@ static unsigned short normal_i2c_range[] = { MAVEN_I2CID, MAVEN_I2CID, I2C_CLIENT_END }; I2C_CLIENT_INSMOD; -static void maven_inc_use(struct i2c_client* clnt) { - MOD_INC_USE_COUNT; -} - -static void maven_dec_use(struct i2c_client* clnt) { - MOD_DEC_USE_COUNT; -} - static struct i2c_driver maven_driver; static int maven_detect_client(struct i2c_adapter* adapter, int address, unsigned short flags, @@ -1319,15 +1311,14 @@ static int maven_driver_registered = 0; -static struct i2c_driver maven_driver={ - "maven", - I2C_DRIVERID_MGATVO, - I2C_DF_NOTIFY, - maven_attach_adapter, - maven_detach_client, - maven_command, - maven_inc_use, - maven_dec_use +static struct i2c_driver maven_driver = { + .owner = THIS_MODULE, + .name = "maven", + .id = I2C_DRIVERID_MGATVO, + .flags = I2C_DF_NOTIFY, + .attach_adapter = maven_attach_adapter, + .detach_client = maven_detach_client, + .command = maven_command, }; /* ************************** */