From: Brian Magnuson <bdmagnuson@gmail.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@atrey.karlin.mff.cuni.cz
Subject: Re: [PATCH] new driver for wireless xbox receiver for review
Date: Tue, 29 May 2007 20:28:46 -0400 [thread overview]
Message-ID: <20070530002846.GA8595@rcn.com> (raw)
In-Reply-To: <d120d5000705290859k63f9110akba428332a5557a21@mail.gmail.com>
Hi Dimitri,
Thanks for taking the time to review. My reponses are inline.
-Brian
* Dmitry Torokhov <dmitry.torokhov@gmail.com> [2007-05-29 20:03]:
>
> Thnk you for the patch. Looking at the code I do not see one device
> supporintg multiple controllers... You have one input device per usb
> device/interface and the properties of said device are known
> beforehand. So I would just create and register input device right
> there in xboxrcvr_probe() and get rid of your build and teardown
> works. The fact that is it a wireless device and at transmitter may at
> times be out of range is not important.
Actually, I rather liked the fact that the input devices only show up when
there is a controller connected to the receiver, since there can be anywhere
from 0-4 controllers alive. This way there are no device nodes for
non-existant controllers.
>
> Overall I would like support for this wireless receiver to be
> incorporated into xpad.c driver.
Knew that was coming :). Should be able to manage it. Since the wireless
model returns a expanded data format it needs to be handled specially.
Another flag in the xpad_device struct?
>
> I also have some more comments, see below.
>
> >+
> >+static unsigned long debug = 0;
>
> You do not need to initialize statig variables to 0. It only increases
> size of the image.
ok.
>
> >+module_param(debug, ulong, 0644);
> >+MODULE_PARM_DESC(debug, "debug level");
> >+
>
> >+
> >+ if(debug) {
>
> Please use spaces between statement (if,for, while) and opening paren.
>.
ok.
> >+
> >+ /* Valid pad data */
> >+ if(!(sdata[1] & 0x1) || !xboxrcvr->open)
> >+ return;
>
> Why are we generating interrupts if device is not used? Have the
> ->open() method submit urbs and then you don't need to check it here.
A side effect of submitting the int urb as soon as a pad is detected.
>
> >+
> >+ /* FIXME: Yuck. Need to make sure this doesn't get truncated */
> >+ usb_make_path(xboxrcvr->udev, path, sizeof(xboxrcvr->phys));
> >+ snprintf(xboxrcvr->phys, sizeof(xboxrcvr->phys), "%s/input%d",
> >path, xboxrcvr->id);
> >+ snprintf(xboxrcvr->uniq, sizeof(xboxrcvr->uniq), "xpad%d",
> >xboxrcvr->id >> 1);
>
> Uniq is used to carry identificator unique for the device, not within
> a particular system. It is property of device itself and should not
> change if moved to a different box so do not try to come up with
> artificial data for it.
Removed. That got put in early as something for udev to key off of. Turns
out I don't need it anyway of course.
>
> >+
> >+ input_dev->name = xboxrcvr_device[0].name;
>
> Hmm....
>
Heh. That came from xpad.c which looped through the device IDs and then
attached the name of the matched device in the input dev. Since my driver
only has one ID I removed that loop and put a 0 in there. :)
> >+ input_dev->phys = xboxrcvr->phys;
> >+ input_dev->uniq = xboxrcvr->uniq;
> >+ input_dev->cdev.dev = &(xboxrcvr->intf->dev);
>
> Please use
>
> input_dev->dev.parent = &xboxrcvr->intf->dev;
>
> - input devices are meving moved from class_device to struct device.
>
> >+ input_dev->private = xboxrcvr;
>
> input_set_drvdata(input_dev, xboxrcvr); And use input_get_drvdata()
> instead of accessing dev->private directly.
ok
> Dmitry
Thanks again,
-Brian
next prev parent reply other threads:[~2007-05-30 0:28 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-29 4:39 [PATCH] new driver for wireless xbox receiver for review Brian Magnuson
2007-05-29 15:59 ` Dmitry Torokhov
2007-05-30 0:28 ` Brian Magnuson [this message]
2007-05-30 12:40 ` Dmitry Torokhov
2007-05-30 13:47 ` Brian Magnuson
2007-05-30 14:24 ` Jan Kratochvil
2007-05-30 14:51 ` Brian Magnuson
2007-05-30 15:02 ` Dmitry Torokhov
2007-05-30 15:31 ` Brian Magnuson
2007-05-30 9:51 ` Jiri Kosina
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070530002846.GA8595@rcn.com \
--to=bdmagnuson@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@atrey.karlin.mff.cuni.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).