From a7592535b835fecabd8caeae021bebf5b81de64b Mon Sep 17 00:00:00 2001 From: Andy Walls Date: Thu, 27 Jan 2011 23:02:20 -0300 Subject: [PATCH] --- yaml --- r: 242161 b: refs/heads/master c: 534c1eab1e2770dca3cf4616cc4059683020114b h: refs/heads/master i: 242159: b280c6e1063ff84bfe81a96f1b092ce323bd41c0 v: v3 --- [refs] | 2 +- trunk/drivers/staging/lirc/lirc_zilog.c | 27 ++++++++++++++----------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 843c972ee24a..4132ad1ac901 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bcbd165509da05a2317ac7dce3c6b952e98a01ef +refs/heads/master: 534c1eab1e2770dca3cf4616cc4059683020114b diff --git a/trunk/drivers/staging/lirc/lirc_zilog.c b/trunk/drivers/staging/lirc/lirc_zilog.c index 053fddb8e448..d06788561189 100644 --- a/trunk/drivers/staging/lirc/lirc_zilog.c +++ b/trunk/drivers/staging/lirc/lirc_zilog.c @@ -1116,13 +1116,6 @@ static int close(struct inode *node, struct file *filep) return 0; } -static struct lirc_driver lirc_template = { - .name = "lirc_zilog", - .set_use_inc = set_use_inc, - .set_use_dec = set_use_dec, - .owner = THIS_MODULE -}; - static int ir_remove(struct i2c_client *client); static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id); @@ -1161,6 +1154,19 @@ static const struct file_operations lirc_fops = { .release = close }; +static struct lirc_driver lirc_template = { + .name = "lirc_zilog", + .minor = -1, + .code_length = 13, + .buffer_size = BUFLEN / 2, + .sample_rate = 0, /* tell lirc_dev to not start its own kthread */ + .chunk_size = 2, + .set_use_inc = set_use_inc, + .set_use_dec = set_use_dec, + .fops = &lirc_fops, + .owner = THIS_MODULE, +}; + static void destroy_rx_kthread(struct IR_rx *rx) { /* end up polling thread */ @@ -1292,14 +1298,9 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) /* set lirc_dev stuff */ memcpy(&ir->l, &lirc_template, sizeof(struct lirc_driver)); ir->l.minor = minor; /* module option */ - ir->l.code_length = 13; - ir->l.chunk_size = 2; - ir->l.buffer_size = BUFLEN / 2; ir->l.rbuf = &ir->rbuf; - ir->l.fops = &lirc_fops; ir->l.data = ir; ir->l.dev = &adap->dev; - ir->l.sample_rate = 0; ret = lirc_buffer_init(ir->l.rbuf, ir->l.chunk_size, ir->l.buffer_size); if (ret) @@ -1314,6 +1315,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) goto out_free_xx; } + ir->l.features |= LIRC_CAN_SEND_PULSE; ir->tx->c = client; ir->tx->need_boot = 1; ir->tx->post_tx_ready_poll = @@ -1326,6 +1328,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) goto out_free_xx; } + ir->l.features |= LIRC_CAN_REC_LIRCCODE; ir->rx->c = client; ir->rx->hdpvr_data_fmt = (id->driver_data & ID_FLAG_HDPVR) ? true : false;