From: "Rick L. Vinyard, Jr." <rvinyard@cs.nmsu.edu>
To: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: linux-kernel@vger.kernel.org, krzysztof.h1@wp.pl,
akpm@linux-foundation.org, linux-usb@vger.kernel.org,
oliver@neukum.org, linux-input@vger.kernel.org, jkosina@suse.cz,
linux-fbdev@vger.kernel.org
Subject: Re: [PATCH] Logitech G13 driver (fixed cc list --- ignore others)
Date: Thu, 07 Jan 2010 15:59:53 +0000 [thread overview]
Message-ID: <635ab1237a6a988656a2bf28e488f656.squirrel@intranet.cs.nmsu.edu> (raw)
In-Reply-To: <45a44e481001041557t1f87f8d4i959abbbee0c4346@mail.gmail.com>
Jaya Kumar wrote:
> On Tue, Dec 15, 2009 at 5:22 AM, Rick L. Vinyard Jr.
> <rvinyard@cs.nmsu.edu> wrote:
>> Additionally, this device contains a 160x43 monochrome LCD display.
>> A registered framebuffer device manages this display. The design
>> of this portion of the driver was based on the design of the
>> hecubafb driver with deferred framebuffer I/O since there is
>> no real memory to map.
>
> Hi Rick,
>
> Interesting work. I recommend CCing linux-fbdev@vger.kernel.org too
> since it contains a fbdev interface.
>
Thanks. Added.
>> +config LOGITECH_G13
>> + tristate "Logitech G13 gameboard support"
>> + depends on HID_LOGITECH
>> + depends on FB
>> + select FB_SYS_FILLRECT
>> + select FB_SYS_COPYAREA
>> + select FB_SYS_IMAGEBLIT
>> + select FB_SYS_FOPS
>
> Does this need to select FB_DEFERRED_IO?
>
Added.
>> --- /dev/null
>> +++ b/drivers/hid/hid-g13-logo.xbm
>> @@ -0,0 +1,75 @@
>> +#define g13_lcd_width 160
>> +#define g13_lcd_height 43
>> +static unsigned char g13_lcd_bits[] = {
>> + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>> 0x00,
>
> Was there a reason for having a new logo file? If so, you might want
> to put it in the comments and also put it together with the standard
> kernel logo.
>
There really isn't a need for a separate file since it's pretty small. I
only separated it out to make it more visible.
I moved it inline, and resized, cleaned up, and inverted the default
penguin monochrome logo down to 40x40 from 80x80.
If anyone would like to add the 40x40 version of tux I made I'd be happy
to provide it.
>> +/* 160*43 rounded to nearest whole byte which is 160*48 since bytes are
>> + vertical the y component must be a multiple of 8 */
>> +#define G13FB_SIZE (160*48/8)
>
> Minor nit, I think there is a macro for this, DIV_ROUND_UP, or maybe
> this could be better done in the function that uses this value.
>
It's used in several places so I'd prefer to keep the #define as I think
it makes the code more readable. As it turned out, this was a minor bug
left from an earlier iteration of the driver (before I added the
framebuffer code). The actual size need for the framebuffer is simply the
line length (160/8) * height (43).
The vbitmap of vertical bits actually transmitted still needs the rounding
plus a 32 byte offset at the beginning, resulting in a buffer of size 992.
I hard coded this into the #define and put the calculation in a comment.
>> +static ssize_t g13_set_mled(struct hid_device *hdev, unsigned mled);
>
> Does this need to be here or can the code be reordered?
>
Reordered.
>> +static struct fb_var_screeninfo g13fb_var = {
>> + .xres = G13FB_WIDTH,
>> + .yres = G13FB_HEIGHT,
>> + .xres_virtual = G13FB_WIDTH,
>> + .yres_virtual = G13FB_HEIGHT,
>> + .bits_per_pixel = 1,
>> + .nonstd = 1,
>> +};
>
> I think the nonstd is a bug. Yes, hecubafb and metronomefb seem to
> have the same bug as well. nonstd is used if you want something like
> FB_NONSTD_HAM or FB_NONSTD_REV_PIX_IN_B, which I don't think is what
> you want.
>
Removed.
> Hope this helps.
>
> Best regards,
> jaya
>
It definitely did. Thanks.
---
Rick
next parent reply other threads:[~2010-01-07 15:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200912142122.nBELMW7d001243@mustang.cs.nmsu.edu>
[not found] ` <45a44e481001041557t1f87f8d4i959abbbee0c4346@mail.gmail.com>
2010-01-07 15:59 ` Rick L. Vinyard, Jr. [this message]
2010-01-08 14:21 ` [PATCH] Logitech G13 driver (fixed cc list --- ignore others) Giacomo A. Catenazzi
[not found] ` <4B473F64.2010203-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org>
2010-01-08 16:45 ` Rick L. Vinyard, Jr.
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=635ab1237a6a988656a2bf28e488f656.squirrel@intranet.cs.nmsu.edu \
--to=rvinyard@cs.nmsu.edu \
--cc=akpm@linux-foundation.org \
--cc=jayakumar.lkml@gmail.com \
--cc=jkosina@suse.cz \
--cc=krzysztof.h1@wp.pl \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oliver@neukum.org \
/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).