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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.