From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
To: linux-fbdev@vger.kernel.org
Subject: Re: [PATCH v2] viafb: Automatic OLPC XO-1.5 configuration
Date: Tue, 10 May 2011 21:11:58 +0000 [thread overview]
Message-ID: <4DC9AA1E.8090206@gmx.de> (raw)
In-Reply-To: <20110510195546.728739D401C@zog.reactivated.net>
Hi Daniel,
On 05/10/2011 07:55 PM, Daniel Drake wrote:
> Currently, a long set of viafb options are needed to get the XO-1.5
> laptop to output video (there is only 1 configuration that works, that
> can't really be autodetected).
>
> This patch automatically detects and configures viafb for the XO-1.5
> laptop, meaning all that is required for working display is that
> viafb is loaded.
>
> Signed-off-by: Daniel Drake<dsd@laptop.org>
> ---
> drivers/video/via/viafbdev.c | 41 ++++++++++++++++++++++++++++++++---------
> 1 files changed, 32 insertions(+), 9 deletions(-)
>
> v2: incorporates all feedback from Florian
Thanks, this looks much saner, just one little thing (see below)
>
> diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c
> index 7b4390e..7a4dd0e 100644
> --- a/drivers/video/via/viafbdev.c
> +++ b/drivers/video/via/viafbdev.c
> @@ -24,6 +24,7 @@
> #include<linux/slab.h>
> #include<linux/stat.h>
> #include<linux/via-core.h>
> +#include<asm/olpc.h>
>
> #define _MASTER_FILE
> #include "global.h"
> @@ -1011,8 +1012,13 @@ static int __init parse_active_dev(void)
> /* Note: The previous of active_dev is primary device,
> and the following is secondary device. */
> if (!viafb_active_dev) {
> - viafb_CRT_ON = STATE_ON;
> - viafb_SAMM_ON = STATE_OFF;
> + if (machine_is_olpc()) { /* LCD only */
> + viafb_LCD_ON = STATE_ON;
> + viafb_SAMM_ON = STATE_OFF;
> + } else {
> + viafb_CRT_ON = STATE_ON;
> + viafb_SAMM_ON = STATE_OFF;
> + }
> } else if (!strcmp(viafb_active_dev, "CRT+DVI")) {
> /* CRT+DVI */
> viafb_CRT_ON = STATE_ON;
> @@ -1665,8 +1671,13 @@ static int parse_mode(const char *str, u32 *xres, u32 *yres)
> char *ptr;
>
> if (!str) {
> - *xres = 640;
> - *yres = 480;
> + if (machine_is_olpc()) {
> + *xres = 1200;
> + *yres = 900;
> + } else {
> + *xres = 640;
> + *yres = 480;
> + }
> return 0;
> }
>
> @@ -1922,11 +1933,16 @@ void __devexit via_fb_pci_remove(struct pci_dev *pdev)
> }
>
> #ifndef MODULE
> -static int __init viafb_setup(char *options)
> +static int __init viafb_setup(void)
> {
> char *this_opt;
> + char *options;
> +
> DEBUG_MSG(KERN_INFO "viafb_setup!\n");
>
> + if (fb_get_options("viafb",&options))
> + return -ENODEV;
> +
> if (!options || !*options)
> return 0;
>
> @@ -2000,11 +2016,18 @@ static int __init viafb_setup(char *options)
> int __init viafb_init(void)
> {
> u32 dummy_x, dummy_y;
> + int r;
> +
> + if (machine_is_olpc()) {
> + /* Apply XO-1.5-specific configuration. */
> + viafb_lcd_panel_id = 23;
> + viafb_bpp = 24;
Can we just drop the viafb_bpp bit?
32$ (they are the same) is the default anyway and other color depths should
also work on the OLPC.
> + }
> +
> #ifndef MODULE
> - char *option = NULL;
> - if (fb_get_options("viafb",&option))
> - return -ENODEV;
> - viafb_setup(option);
> + r = viafb_setup();
> + if (r< 0)
> + return r;
> #endif
> if (parse_mode(viafb_mode,&dummy_x,&dummy_y)
> || !viafb_get_mode(dummy_x, dummy_y)
Thank you very much,
Florian Tobias Schandinat
prev parent reply other threads:[~2011-05-10 21:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-10 19:55 [PATCH v2] viafb: Automatic OLPC XO-1.5 configuration Daniel Drake
2011-05-10 21:11 ` Florian Tobias Schandinat [this message]
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=4DC9AA1E.8090206@gmx.de \
--to=florianschandinat@gmx.de \
--cc=linux-fbdev@vger.kernel.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 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.