ALT Linux repositórios
S: | 0.10.1-alt6.1 |
5.0: | 0.8.3-alt1.cvs20080313 |
4.1: | 0.8.3-alt1.cvs20080313 |
4.0: | 0.8.1-alt1 |
3.0: | 0.7.0-alt4 |
Group :: Sistema/Base
RPM: lirc
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: lirc-0.7.0-i2c_fixes.patch
Download
Download
--- drivers/lirc_i2c/lirc_i2c.c.orig 2002-11-14 20:20:39.000000000 +0100
+++ drivers/lirc_i2c/lirc_i2c.c 2003-08-07 11:58:08.000000000 +0200
@@ -232,8 +232,8 @@ static void set_use_inc(void* data)
struct IR *ir = data;
/* lock bttv in memory while /dev/lirc is in use */
- if (ir->c.adapter->inc_use)
- ir->c.adapter->inc_use(ir->c.adapter);
+ if (ir->c.adapter->owner)
+ __MOD_INC_USE_COUNT(ir->c.adapter->owner);
MOD_INC_USE_COUNT;
}
@@ -242,8 +242,8 @@ static void set_use_dec(void* data)
{
struct IR *ir = data;
- if (ir->c.adapter->dec_use)
- ir->c.adapter->dec_use(ir->c.adapter);
+ if (ir->c.adapter->owner)
+ __MOD_DEC_USE_COUNT(ir->c.adapter->owner);
MOD_DEC_USE_COUNT;
}
@@ -262,18 +262,19 @@ static int ir_probe(struct i2c_adapter *
static int ir_command(struct i2c_client *client, unsigned int cmd, void *arg);
static struct i2c_driver driver = {
- name: "i2c ir driver",
- id: I2C_DRIVERID_EXP3, /* FIXME */
- flags: I2C_DF_NOTIFY,
- attach_adapter: ir_probe,
- detach_client: ir_detach,
- command: ir_command,
+ .owner = THIS_MODULE,
+ .name = "i2c ir driver",
+ .id = I2C_DRIVERID_EXP3, /* FIXME */
+ .flags = I2C_DF_NOTIFY,
+ .attach_adapter = ir_probe,
+ .detach_client = ir_detach,
+ .command = ir_command,
};
static struct i2c_client client_template =
{
- name: "unset",
- driver: &driver
+ .name = "unset",
+ .driver = &driver
};
static int ir_attach(struct i2c_adapter *adap, int addr,
@@ -331,8 +332,8 @@ static int ir_attach(struct i2c_adapter
/* register device */
i2c_attach_client(&ir->c);
ir->l.minor = lirc_register_plugin(&ir->l);
- if (ir->c.adapter->inc_use)
- ir->c.adapter->inc_use(ir->c.adapter);
+ if (ir->c.adapter->owner)
+ __MOD_INC_USE_COUNT(ir->c.adapter->owner);
return 0;
}
@@ -342,8 +343,8 @@ static int ir_detach(struct i2c_client *
struct IR *ir = client->data;
/* unregister device */
- if (ir->c.adapter->dec_use)
- ir->c.adapter->dec_use(ir->c.adapter);
+ if (ir->c.adapter->owner)
+ __MOD_DEC_USE_COUNT(ir->c.adapter->owner);
lirc_unregister_plugin(ir->l.minor);
i2c_detach_client(&ir->c);