From: "Antonino A. Daplas" <adaplas@hotpop.com>
To: Jon Smirl <jonsmirl@gmail.com>,
adaplas@pol.net, James Simmons <jsimmons@www.infradead.org>
Cc: linux-fbdev-devel@lists.sourceforge.net
Subject: Re: Patch to add mode setting to sysfs
Date: Fri, 18 Feb 2005 08:04:46 +0800 [thread overview]
Message-ID: <200502180804.46005.adaplas@hotpop.com> (raw)
In-Reply-To: <9e47339105021712494955212d@mail.gmail.com>
On Friday 18 February 2005 04:49, Jon Smirl wrote:
> On Thu, 17 Feb 2005 21:50:16 +0800, Antonino A. Daplas
>
> <adaplas@hotpop.com> wrote:
> > Instead of hardcoding some of the fields in var, why not
> > copy it from the current var? Ie:
> >
> > var = info->var;
> > fb_videomode_to_var(&var, mode);
>
> I added this change, plus more robust error handing. Add attributes
> for virtual resolution and bpp.
>
> I also fixed fb so that it works as module.
If possible, separate the sysfs patch from making fbcore as module.
+static ssize_t store_modes(struct class_device *class_device, const
char * buf, size_t count)
+{
+ struct fb_info *fb_info = (struct fb_info *)class_get_devdata(class_device);
+ int i = count / sizeof(struct fb_videomode);
+ if (i * sizeof(struct fb_videomode) != count)
+ return -EINVAL;
+
+ fb_destroy_modelist(&fb_info->modelist);
This is dangerous. For one, if the mode in info->var does not match any of
the entries in the modelist, you can get a screwed up display. Secondly,
fbcon refers to info->modelist to store settings for each console. Thus
it is better to check first if the mode in the modelist is currently in use.
A safer way is to loop through each entries of the old modelist, call
fb_set_var() with the FB_ACTIVATE_INV_MODE set in var->activate. This
process will safely remove each mode from the modelist. Not all entries
will be deleted of course. After that, loop through each entries of the new
modedb array, and use fb_add_videomode() to add each entry to the modelist.
Tony
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
next prev parent reply other threads:[~2005-02-18 0:05 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-16 22:30 Patch to add mode setting to sysfs Jon Smirl
2005-02-16 22:47 ` James Simmons
2005-02-17 1:28 ` Jon Smirl
2005-02-17 13:50 ` Antonino A. Daplas
2005-02-17 20:49 ` Jon Smirl
2005-02-17 22:13 ` James Simmons
2005-02-18 0:04 ` Antonino A. Daplas [this message]
2005-02-18 0:39 ` Jon Smirl
2005-02-21 18:37 ` James Simmons
2005-02-21 19:11 ` Jon Smirl
2005-02-21 21:16 ` James Simmons
2005-02-18 2:59 ` Jon Smirl
2005-02-18 7:31 ` Antonino A. Daplas
2005-02-18 9:42 ` Geert Uytterhoeven
2005-02-18 7:27 ` Jon Smirl
2005-02-18 7:41 ` Antonino A. Daplas
2005-02-18 7:42 ` Antonino A. Daplas
2005-02-18 16:46 ` Jon Smirl
2005-02-18 21:59 ` Antonino A. Daplas
2005-02-21 18:55 ` James Simmons
2005-02-21 19:13 ` Jon Smirl
2005-02-21 23:13 ` Antonino A. Daplas
2005-02-21 23:15 ` Antonino A. Daplas
2005-02-25 0:04 ` Jon Smirl
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=200502180804.46005.adaplas@hotpop.com \
--to=adaplas@hotpop.com \
--cc=adaplas@pol.net \
--cc=jonsmirl@gmail.com \
--cc=jsimmons@www.infradead.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
/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).