[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9e4733910911290941o761a4dfhf4168e573c6b6e89@mail.gmail.com>
Date: Sun, 29 Nov 2009 12:41:22 -0500
From: Jon Smirl <jonsmirl@...il.com>
To: Greg KH <greg@...ah.com>
Cc: linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-input@...r.kernel.org
Subject: Re: [IR-RFC PATCH v4 2/6] Core IR module
On Sun, Nov 29, 2009 at 12:17 PM, Greg KH <greg@...ah.com> wrote:
>> +static ssize_t ir_raw_show(struct device *dev,
>> + struct device_attribute *attr, char *buf)
>> +{
>> + struct input_dev *input_dev = to_input_dev(dev);
>> + unsigned int i, count = 0;
>> +
>> + for (i = input_dev->ir->raw.tail; i != input_dev->ir->raw.head; ) {
>> +
>> + count += snprintf(&buf[count], PAGE_SIZE - 1, "%i\n", input_dev->ir->raw.buffer[i++]);
>> + if (i > ARRAY_SIZE(input_dev->ir->raw.buffer))
>> + i = 0;
>> + if (count >= PAGE_SIZE - 1) {
>> + input_dev->ir->raw.tail = i;
>> + return PAGE_SIZE - 1;
>> + }
>> + }
>> + input_dev->ir->raw.tail = i;
>> + return count;
>> +}
>
> This looks like it violates the "one value per sysfs file" rule that we
> have. What exactly are you outputting here? It does not look like this
> belongs in sysfs at all.
It should be on a debug switch or maybe a debug device. If the rest of
the system is working right you shouldn't need this data.
>
>> +static ssize_t ir_raw_store(struct device *dev,
>> + struct device_attribute *attr,
>> + const char *buf,
>> + size_t count)
>> +{
>> + struct ir_device *ir = to_input_dev(dev)->ir;
>> + long delta;
>> + int i = count;
>> + int first = 0;
>> +
>> + if (!ir->xmit)
>> + return count;
>> + ir->send.count = 0;
>> +
>> + while (i > 0) {
>> + i -= strict_strtoul(&buf[i], i, &delta);
>> + while ((buf[i] != '\n') && (i > 0))
>> + i--;
>> + i--;
>> + /* skip leading zeros */
>> + if ((delta > 0) && !first)
>> + continue;
>> +
>> + ir->send.buffer[ir->send.count++] = abs(delta);
>> + }
>> +
>> + ir->xmit(ir->private, ir->send.buffer, ir->send.count, ir->raw.carrier, ir->raw.xmitter);
>> +
>> + return count;
>> +}
>
> What type of data are you expecting here? More than one value?
>
> thanks,
>
> greg k-h
>
--
Jon Smirl
jonsmirl@...il.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists