diff -urN newtree/Documentation/fb/vesafb.txt newtree.2/Documentation/fb/vesafb.txt --- newtree/Documentation/fb/vesafb.txt 2006-07-15 14:53:08.000000000 -0700 +++ newtree.2/Documentation/fb/vesafb.txt 2006-08-04 14:07:25.000000000 -0700 @@ -2,16 +2,18 @@ What is vesafb? =============== -This is a generic driver for a graphic framebuffer on intel boxes. +Vesafb is a generic framebuffer driver for x86 and x86_64 boxes. -The idea is simple: Turn on graphics mode at boot time with the help -of the BIOS, and use this as framebuffer device /dev/fb0, like the m68k -(and other) ports do. - -This means we decide at boot time whenever we want to run in text or -graphics mode. Switching mode later on (in protected mode) is -impossible; BIOS calls work in real mode only. VESA BIOS Extensions -Version 2.0 are required, because we need a linear frame buffer. +VESA BIOS Extensions Version 2.0 are required, because we need access to +a linear frame buffer. VBE 3.0 is required if you want to use modes with a +higher (than the standard 60 Hz) refresh rate. + +The VESA framebuffer driver comes in two flavors - the standard 'vesafb' +and 'vesafb-tng'. Vesafb-tng is available only on 32-bit x86 due to the +technology it uses (vm86). Vesafb-tng has more features than vesafb +(adjusting the refresh rate on VBE 3.0 compliant boards, switching the +video mode without rebooting, selecting a mode by providing its +modedb name, and more). Advantages: @@ -29,26 +31,35 @@ How to use it? ============== -Switching modes is done using the vga=... boot parameter. Read -Documentation/svga.txt for details. - -You should compile in both vgacon (for text mode) and vesafb (for -graphics mode). Which of them takes over the console depends on -whenever the specified mode is text or graphics. - -The graphic modes are NOT in the list which you get if you boot with -vga=ask and hit return. The mode you wish to use is derived from the -VESA mode number. Here are those VESA mode numbers: +If you are running a 32-bit x86 system and you decide to use vesafb-tng, +you can either compile the driver into the kernel or use it as a module. +The graphics mode you want to use is in both cases specified using the +standard modedb format. + +If your system doesn't support vm86 calls, things get a little more tricky. +Since on such systems you can't do BIOS calls from protected mode in which +kernel runs, you have to decide at boot time whenever you want to run in text +or in graphics mode. Switching mode later on is impossible. Switching modes +is done using the vga=... boot parameter. Read Documentation/svga.txt for +details. Below is a more detailed description of what to do on systems using +the standard vesafb driver. + +You should compile in both vgacon (for text mode) and vesafb (for graphics +mode). Which of them takes over the console depends on whenever the +specified mode is text or graphics. + +The graphic modes are NOT in the list which you get if you boot with vga=ask +and hit return. The mode you wish to use is derived from the VESA mode number. +Here are those VESA mode numbers: | 640x480 800x600 1024x768 1280x1024 ----+------------------------------------- -256 | 0x101 0x103 0x105 0x107 -32k | 0x110 0x113 0x116 0x119 -64k | 0x111 0x114 0x117 0x11A -16M | 0x112 0x115 0x118 0x11B +256 | 0x101 0x103 0x105 0x107 +32k | 0x110 0x113 0x116 0x119 +64k | 0x111 0x114 0x117 0x11A +16M | 0x112 0x115 0x118 0x11B -The video mode number of the Linux kernel is the VESA mode number plus -0x200. +The video mode number of the Linux kernel is the VESA mode number plus 0x200. Linux_kernel_mode_number = VESA_mode_number + 0x200 @@ -56,15 +67,15 @@ | 640x480 800x600 1024x768 1280x1024 ----+------------------------------------- -256 | 0x301 0x303 0x305 0x307 -32k | 0x310 0x313 0x316 0x319 -64k | 0x311 0x314 0x317 0x31A -16M | 0x312 0x315 0x318 0x31B - -To enable one of those modes you have to specify "vga=ask" in the -lilo.conf file and rerun LILO. Then you can type in the desired -mode at the "vga=ask" prompt. For example if you like to use -1024x768x256 colors you have to say "305" at this prompt. +256 | 0x301 0x303 0x305 0x307 +32k | 0x310 0x313 0x316 0x319 +64k | 0x311 0x314 0x317 0x31A +16M | 0x312 0x315 0x318 0x31B + +To enable one of those modes you have to specify "vga=ask" in the lilo.conf +file and rerun LILO. Then you can type in the desired mode at the "vga=ask" +prompt. For example if you like to use 1024x768x256 colors you have to say +"305" at this prompt. If this does not work, this might be because your BIOS does not support linear framebuffers or because it does not support this mode at all. @@ -72,11 +83,12 @@ Extensions v2.0 are required, 1.2 is NOT sufficient. You will get a "bad mode number" message if something goes wrong. -1. Note: LILO cannot handle hex, for booting directly with +1. Note: LILO cannot handle hex, for booting directly with "vga=mode-number" you have to transform the numbers to decimal. 2. Note: Some newer versions of LILO appear to work with those hex values, if you set the 0x in front of the numbers. + X11 === @@ -84,98 +96,164 @@ another (accelerated) X-Server like XF86_SVGA might or might not work. It depends on X-Server and graphics board. -The X-Server must restore the video mode correctly, else you end up +The X-Server must restore the video mode correctly, or else you end up with a broken console (and vesafb cannot do anything about this). +With vesafb-tng chances are that the console will be restored properly +even if the X server messes up the video mode. Refresh rates ============= -There is no way to change the vesafb video mode and/or timings after -booting linux. If you are not happy with the 60 Hz refresh rate, you -have these options: - - * configure and load the DOS-Tools for your the graphics board (if - available) and boot linux with loadlin. - * use a native driver (matroxfb/atyfb) instead if vesafb. If none +With VBE 3.0 compatible BIOSes and vesafb-tng it is possible to change +the refresh rate either at boot time (by specifying the @ part of +the mode name) or later, using the fbset utility. + +If you want to use the default BIOS refresh rate while switching modes +on a running system, set pixclock to 0. + +With VBE 2.0 there is no way to change the mode timings after booting +Linux. If you are not happy with the 60 Hz refresh rate, you have +the following options: + + * Configure and load the DOS tools for your the graphics board (if + available) and boot Linux with loadlin. + * Use a native driver (matroxfb/atyfb) instead of vesafb. If none is available, write a new one! - * VBE 3.0 might work too. I have neither a gfx board with VBE 3.0 - support nor the specs, so I have not checked this yet. + * Use a BIOS editor to change the default refresh rate (such an + editor does exist at least for ATI Radeon BIOSes). + * If you're running a non-vm86 and VBE 3.0 compatible system, you can + use a kernel patch (vesafb-rrc) to hard-code some mode timings in + the kernel and use these while setting the video mode at boot time. + +Note that there are some boards (nVidia 59**, 57** and newer models) +claiming that their Video BIOS is VBE 3.0 compliant, while ignoring the +CRTC values provided by software such as vesafb-tng. You'll not be able +to adjust the refresh rate if you're using one of these boards. Configuration ============= -The VESA BIOS provides protected mode interface for changing -some parameters. vesafb can use it for palette changes and -to pan the display. It is turned off by default because it -seems not to work with some BIOS versions, but there are options -to turn it on. - -You can pass options to vesafb using "video=vesafb:option" on -the kernel command line. Multiple options should be separated -by comma, like this: "video=vesafb:ypan,invers" - -Accepted options: - -invers no comment... - -ypan enable display panning using the VESA protected mode - interface. The visible screen is just a window of the - video memory, console scrolling is done by changing the - start of the window. - pro: * scrolling (fullscreen) is fast, because there is - no need to copy around data. - * You'll get scrollback (the Shift-PgUp thing), - the video memory can be used as scrollback buffer - kontra: * scrolling only parts of the screen causes some - ugly flicker effects (boot logo flickers for - example). - -ywrap Same as ypan, but assumes your gfx board can wrap-around - the video memory (i.e. starts reading from top if it - reaches the end of video memory). Faster than ypan. - -redraw scroll by redrawing the affected part of the screen, this - is the safe (and slow) default. - - -vgapal Use the standard vga registers for palette changes. - This is the default. -pmipal Use the protected mode interface for palette changes. - -mtrr:n setup memory type range registers for the vesafb framebuffer - where n: - 0 - disabled (equivalent to nomtrr) (default) - 1 - uncachable - 2 - write-back - 3 - write-combining - 4 - write-through +The VESA BIOS provides protected mode interface for changing some parameters. +vesafb can use it for palette changes and to pan the display. It is turned +off by default because it seems not to work with some BIOS versions, but +there are options to turn it on. + +You can pass options to vesafb using "video=vesafb:option" on the kernel +command line. Multiple options should be separated by a comma, like this: +"video=vesafb:ypan,1024x768-32@85" + +Note that vesafb-tng still uses the "video=vesafb:option" format of the +kernel command line video parameter. "video=vesafb-tng:xxx" is incorrect. + +Accepted options (both vesafb and vesafb-tng): + +ypan Enable display panning using the VESA protected mode interface + The visible screen is just a window of the video memory, + console scrolling is done by changing the start of the window. + pro: * scrolling (fullscreen) is fast, because there is + no need to copy around data. + * you'll get scrollback (the Shift-PgUp thing), + the video memory can be used as scrollback buffer + con: * scrolling only parts of the screen causes some + ugly flicker effects (boot logo flickers for + example). + +ywrap Same as ypan, but assumes your gfx board can wrap-around the video + memory (i.e. starts reading from top if it reaches the end of + video memory). Faster than ypan. + +redraw Scroll by redrawing the affected part of the screen, this is the + safe (and slow) default. + +vgapal Use the standard VGA registers for palette changes. + +pmipal Use the protected mode interface for palette changes. + This is the default is the protected mode interface is available. + +mtrr:n Setup memory type range registers for the vesafb framebuffer + where n: + 0 - disabled (equivalent to nomtrr) (default) + 1 - uncachable + 2 - write-back + 3 - write-combining + 4 - write-through - If you see the following in dmesg, choose the type that matches the - old one. In this example, use "mtrr:2". + If you see the following in dmesg, choose the type that matches + the old one. In this example, use "mtrr:2". ... mtrr: type mismatch for e0000000,8000000 old: write-back new: write-combining ... -nomtrr disable mtrr +nomtrr Do not use memory type range registers for vesafb. vremap:n remap 'n' MiB of video RAM. If 0 or not specified, remap memory - according to video mode. (2.5.66 patch/idea by Antonino Daplas - reversed to give override possibility (allocate more fb memory - than the kernel would) to 2.4 by tmb@iki.fi) + according to video mode. (2.5.66 patch/idea by Antonino Daplas + reversed to give override possibility (allocate more fb memory + than the kernel would) to 2.4 by tmb@iki.fi) vtotal:n if the video BIOS of your card incorrectly determines the total amount of video RAM, use this option to override the BIOS (in MiB). -Have fun! +Options accepted only by vesafb-tng: - Gerd + The mode you want to set, in the standard modedb format. Refer to + modedb.txt for a detailed description. If you specify a mode that is + not supported by your board's BIOS, vesafb-tng will attempt to set a + similar mode. The list of supported modes can be found in + /proc/fbx/modes, where x is the framebuffer number (usually 0). + When vesafb-tng is compiled as a module, the mode string should be + provided as a value of the parameter 'mode'. + +vbemode:x + Force the use of VBE mode x. The mode will only be set if it's + found in the VBE-provided list of supported modes. + NOTE: The mode number 'x' should be specified in VESA mode number + notation, not the Linux kernel one (eg. 257 instead of 769). + HINT: If you use this option because normal parameter does + not work for you and you use a X server, you'll probably want to + set the 'nocrtc' option to ensure that the video mode is properly + restored after console <-> X switches. + +nocrtc Do not use CRTC timings while setting the video mode. This option + makes sence only with VBE 3.0 compliant systems. Use it if you have + problems with modes set in the standard way. Note that using this + option means that any refresh rate adjustments will be ignored + and the refresh rate will stay at your BIOS default (60 Hz). + +noedid Do not try to fetch and use EDID-provided modes. + +noblank Disable hardware blanking. + +gtf Force the use of VESA's GTF (Generalized Timing Formula). Specifying + this will cause vesafb to skip its internal modedb and EDID-modedb + and jump straight to the GTF part of the code (normally used only if + everything else failed). This can be useful if you want to get as + much as possible from your graphics board but your BIOS doesn't + support modes with the refresh rates you require. Note that you may + need to specify the maxhf, maxvf and maxclk parameters if they are not + provided by the EDID block. + +Additionally, the following parameters may be provided. They all override the +EDID-provided values and BIOS defaults. Refer to your monitor's specs to get +the correct values for maxhf, maxvf and maxclk for your hardware. + +maxhf:n Maximum horizontal frequency (in kHz). +maxvf:n Maximum vertical frequency (in Hz). +maxclk:n Maximum pixel clock (in MHz). + +Have fun! -- +Original document for the vesafb driver by Gerd Knorr -Minor (mostly typo) changes -by Nico Schmoigl +Minor (mostly typo) changes by +Nico Schmoigl + +Extended documentation for vm86, VBE 3.0 and vesafb-tng by +Michal Januszewski + diff -urN newtree/arch/i386/boot/video.S newtree.2/arch/i386/boot/video.S --- newtree/arch/i386/boot/video.S 2006-07-15 14:53:08.000000000 -0700 +++ newtree.2/arch/i386/boot/video.S 2006-08-04 14:07:26.000000000 -0700 @@ -165,10 +165,12 @@ # parameters in the default 80x25 mode -- these are set directly, # because some very obscure BIOSes supply insane values. mode_params: +#ifdef CONFIG_FB_VESA_STD #ifdef CONFIG_VIDEO_SELECT cmpb $0, graphic_mode jnz mopar_gr #endif +#endif movb $0x03, %ah # Read cursor position xorb %bh, %bh int $0x10 @@ -201,6 +203,7 @@ ret #ifdef CONFIG_VIDEO_SELECT +#ifdef CONFIG_FB_VESA_STD # Fetching of VESA frame buffer parameters mopar_gr: leaw modelist+1024, %di @@ -283,6 +286,7 @@ movw %es, %fs:(PARAM_VESAPM_SEG) movw %di, %fs:(PARAM_VESAPM_OFF) no_pm: ret +#endif # The video mode menu mode_menu: @@ -497,10 +501,12 @@ cmpb $VIDEO_FIRST_V7>>8, %ah jz setv7 - + +#ifdef CONFIG_FB_VESA_STD cmpb $VIDEO_FIRST_VESA>>8, %ah jnc check_vesa - +#endif + orb %ah, %ah jz setmenu @@ -572,6 +578,7 @@ movw -4(%si), %ax # Fetch mode ID jmp _m_s +#ifdef CONFIG_FB_VESA_STD check_vesa: leaw modelist+1024, %di subb $VIDEO_FIRST_VESA>>8, %bh @@ -605,6 +612,7 @@ ret _setbad: jmp setbad # Ugly... +#endif # Recalculate vertical display end registers -- this fixes various # inconsistencies of extended modes on many adapters. Called when diff -urN newtree/drivers/usb/storage/unusual_devs.h~ newtree.2/drivers/usb/storage/unusual_devs.h~ --- newtree/drivers/usb/storage/unusual_devs.h~ 2006-07-15 14:53:08.000000000 -0700 +++ newtree.2/drivers/usb/storage/unusual_devs.h~ 1969-12-31 16:00:00.000000000 -0800 @@ -1,1333 +0,0 @@ -/* Driver for USB Mass Storage compliant devices - * Unusual Devices File - * - * $Id: unusual_devs.h,v 1.32 2002/02/25 02:41:24 mdharm Exp $ - * - * Current development and maintenance by: - * (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net) - * - * Initial work by: - * (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc. - * - * Please see http://www.one-eyed-alien.net/~mdharm/linux-usb for more - * information about this driver. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2, or (at your option) any - * later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* IMPORTANT NOTE: This file must be included in another file which does - * the following thing for it to work: - * The macro UNUSUAL_DEV() must be defined before this file is included - */ - -/* If you edit this file, please try to keep it sorted first by VendorID, - * then by ProductID. - * - * If you want to add an entry for this file, be sure to include the - * following information: - * - a patch that adds the entry for your device, including your - * email address right above the entry (plus maybe a brief - * explanation of the reason for the entry), - * - a copy of /proc/bus/usb/devices with your device plugged in - * running with this patch. - * Send your submission to either Phil Dibowitz or - * Alan Stern , and don't forget to CC: the - * USB development list . - */ - -/* patch submitted by Vivian Bregier - */ -UNUSUAL_DEV( 0x03eb, 0x2002, 0x0100, 0x0100, - "ATMEL", - "SND1 Storage", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE), - -UNUSUAL_DEV( 0x03ee, 0x6901, 0x0000, 0x0100, - "Mitsumi", - "USB FDD", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -/* Reported by Rodolfo Quesada */ -UNUSUAL_DEV( 0x03ee, 0x6906, 0x0003, 0x0003, - "VIA Technologies Inc.", - "Mitsumi multi cardreader", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -UNUSUAL_DEV( 0x03f0, 0x0107, 0x0200, 0x0200, - "HP", - "CD-Writer+", - US_SC_8070, US_PR_CB, NULL, 0), - -#ifdef CONFIG_USB_STORAGE_USBAT -UNUSUAL_DEV( 0x03f0, 0x0207, 0x0001, 0x0001, - "HP", - "CD-Writer+ 8200e", - US_SC_8070, US_PR_USBAT, init_usbat_cd, 0), - -UNUSUAL_DEV( 0x03f0, 0x0307, 0x0001, 0x0001, - "HP", - "CD-Writer+ CD-4e", - US_SC_8070, US_PR_USBAT, init_usbat_cd, 0), -#endif - -/* Reported by Sebastian Kapfer - * and Olaf Hering (different bcd's, same vendor/product) - * for USB floppies that need the SINGLE_LUN enforcement. - */ -UNUSUAL_DEV( 0x0409, 0x0040, 0x0000, 0x9999, - "NEC", - "NEC USB UF000x", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -/* Patch submitted by Mihnea-Costin Grigore */ -UNUSUAL_DEV( 0x040d, 0x6205, 0x0003, 0x0003, - "VIA Technologies Inc.", - "USB 2.0 Card Reader", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Deduced by Jonathan Woithe - * Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message - * always fails and confuses drive. - */ -UNUSUAL_DEV( 0x0411, 0x001c, 0x0113, 0x0113, - "Buffalo", - "DUB-P40G HDD", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* Submitted by Ernestas Vaiciukevicius */ -UNUSUAL_DEV( 0x0419, 0x0100, 0x0100, 0x0100, - "Samsung Info. Systems America, Inc.", - "MP3 Player", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Orgad Shaneh */ -UNUSUAL_DEV( 0x0419, 0xaace, 0x0100, 0x0100, - "Samsung", "MP3 Player", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Christian Leber */ -UNUSUAL_DEV( 0x0419, 0xaaf5, 0x0100, 0x0100, - "TrekStor", - "i.Beat 115 2.0", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE | US_FL_NOT_LOCKABLE ), - -/* Reported by Stefan Werner */ -UNUSUAL_DEV( 0x0419, 0xaaf6, 0x0100, 0x0100, - "TrekStor", - "i.Beat Joy 2.0", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Pete Zaitcev , bz#176584 */ -UNUSUAL_DEV( 0x0420, 0x0001, 0x0100, 0x0100, - "GENERIC", "MP3 PLAYER", /* MyMusix PD-205 on the outside. */ - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Sumedha Swamy and - * Einar Th. Einarsson */ -UNUSUAL_DEV( 0x0421, 0x0444, 0x0100, 0x0100, - "Nokia", - "N91", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ), - -/* Reported by Jiri Slaby and - * Rene C. Castberg */ -UNUSUAL_DEV( 0x0421, 0x0446, 0x0100, 0x0100, - "Nokia", - "N80", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ), - -/* Reported by Matthew Bloch */ -UNUSUAL_DEV( 0x0421, 0x044e, 0x0100, 0x0100, - "Nokia", - "E61", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ), - -/* Reported by Olaf Hering from novell bug #105878 */ -UNUSUAL_DEV( 0x0424, 0x0fdc, 0x0210, 0x0210, - "SMSC", - "FDC GOLD-2.30", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -#ifdef CONFIG_USB_STORAGE_DPCM -UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100, - "Microtech", - "CameraMate (DPCM_USB)", - US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), -#endif - -/* Patch submitted by Daniel Drake - * Device reports nonsense bInterfaceProtocol 6 when connected over USB2 */ -UNUSUAL_DEV( 0x0451, 0x5416, 0x0100, 0x0100, - "Neuros Audio", - "USB 2.0 HD 2.5", - US_SC_DEVICE, US_PR_BULK, NULL, - US_FL_NEED_OVERRIDE ), - -/* - * Pete Zaitcev , from Patrick C. F. Ernzer, bz#162559. - * The key does not actually break, but it returns zero sense which - * makes our SCSI stack to print confusing messages. - */ -UNUSUAL_DEV( 0x0457, 0x0150, 0x0100, 0x0100, - "USBest Technology", /* sold by Transcend */ - "USB Mass Storage Device", - US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), - -/* -* Bohdan Linda -* 1GB USB sticks MyFlash High Speed. I have restricted -* the revision to my model only -*/ -UNUSUAL_DEV( 0x0457, 0x0151, 0x0100, 0x0100, - "USB 2.0", - "Flash Disk", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_NOT_LOCKABLE ), - -UNUSUAL_DEV( 0x045a, 0x5210, 0x0101, 0x0101, - "Rio", - "Rio Karma", - US_SC_SCSI, US_PR_BULK, rio_karma_init, 0), - -/* Patch submitted by Philipp Friedrich */ -UNUSUAL_DEV( 0x0482, 0x0100, 0x0100, 0x0100, - "Kyocera", - "Finecam S3x", - US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), - -/* Patch submitted by Philipp Friedrich */ -UNUSUAL_DEV( 0x0482, 0x0101, 0x0100, 0x0100, - "Kyocera", - "Finecam S4", - US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), - -/* Patch submitted by Stephane Galles */ -UNUSUAL_DEV( 0x0482, 0x0103, 0x0100, 0x0100, - "Kyocera", - "Finecam S5", - US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), - -/* Patch for Kyocera Finecam L3 - * Submitted by Michael Krauth - * and Alessandro Fracchetti - */ -UNUSUAL_DEV( 0x0482, 0x0105, 0x0100, 0x0100, - "Kyocera", - "Finecam L3", - US_SC_SCSI, US_PR_BULK, NULL, - US_FL_FIX_INQUIRY), - -/* Reported by Paul Stewart - * This entry is needed because the device reports Sub=ff */ -UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, - "Hitachi", - "DVD-CAM DZ-MV100A Camcorder", - US_SC_SCSI, US_PR_CB, NULL, US_FL_SINGLE_LUN), - -/* Patch for Nikon coolpix 2000 - * Submitted by Fabien Cosse */ -UNUSUAL_DEV( 0x04b0, 0x0301, 0x0010, 0x0010, - "NIKON", - "NIKON DSC E2000", - US_SC_DEVICE, US_PR_DEVICE,NULL, - US_FL_NOT_LOCKABLE ), - -/* Reported by Andreas Bockhold */ -UNUSUAL_DEV( 0x04b0, 0x0405, 0x0100, 0x0100, - "NIKON", - "NIKON DSC D70", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY), - -/* Reported by Jamie Kitson */ -UNUSUAL_DEV( 0x04b0, 0x040d, 0x0100, 0x0100, - "NIKON", - "NIKON DSC D70s", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY), - -/* BENQ DC5330 - * Reported by Manuel Fombuena and - * Frank Copeland */ -UNUSUAL_DEV( 0x04a5, 0x3010, 0x0100, 0x0100, - "Tekom Technologies, Inc", - "300_CAMERA", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Simon Levitt - * This entry needs Sub and Proto fields */ -UNUSUAL_DEV( 0x04b8, 0x0601, 0x0100, 0x0100, - "Epson", - "875DC Storage", - US_SC_SCSI, US_PR_CB, NULL, US_FL_FIX_INQUIRY), - -/* Reported by Khalid Aziz - * This entry is needed because the device reports Sub=ff */ -UNUSUAL_DEV( 0x04b8, 0x0602, 0x0110, 0x0110, - "Epson", - "785EPX Storage", - US_SC_SCSI, US_PR_BULK, NULL, US_FL_SINGLE_LUN), - -/* Not sure who reported this originally but - * Pavel Machek reported that the extra US_FL_SINGLE_LUN - * flag be added */ -UNUSUAL_DEV( 0x04cb, 0x0100, 0x0000, 0x2210, - "Fujifilm", - "FinePix 1400Zoom", - US_SC_UFI, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | US_FL_SINGLE_LUN), - -/* Reported by Peter Wächtler - * The device needs the flags only. - */ -UNUSUAL_DEV( 0x04ce, 0x0002, 0x0074, 0x0074, - "ScanLogic", - "SL11R-IDE", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY), - -/* Reported by Kriston Fincher - * Patch submitted by Sean Millichamp - * This is to support the Panasonic PalmCam PV-SD4090 - * This entry is needed because the device reports Sub=ff - */ -UNUSUAL_DEV( 0x04da, 0x0901, 0x0100, 0x0200, - "Panasonic", - "LS-120 Camera", - US_SC_UFI, US_PR_DEVICE, NULL, 0), - -/* From Yukihiro Nakai, via zaitcev@yahoo.com. - * This is needed for CB instead of CBI */ -UNUSUAL_DEV( 0x04da, 0x0d05, 0x0000, 0x0000, - "Sharp CE-CW05", - "CD-R/RW Drive", - US_SC_8070, US_PR_CB, NULL, 0), - -/* Reported by Adriaan Penning */ -UNUSUAL_DEV( 0x04da, 0x2372, 0x0000, 0x9999, - "Panasonic", - "DMC-LCx Camera", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), - -/* Reported by Simeon Simeonov */ -UNUSUAL_DEV( 0x04da, 0x2373, 0x0000, 0x9999, - "LEICA", - "D-LUX Camera", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), - -/* Most of the following entries were developed with the help of - * Shuttle/SCM directly. - */ -UNUSUAL_DEV( 0x04e6, 0x0001, 0x0200, 0x0200, - "Matshita", - "LS-120", - US_SC_8020, US_PR_CB, NULL, 0), - -UNUSUAL_DEV( 0x04e6, 0x0002, 0x0100, 0x0100, - "Shuttle", - "eUSCSI Bridge", - US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, - US_FL_SCM_MULT_TARG ), - -#ifdef CONFIG_USB_STORAGE_SDDR09 -UNUSUAL_DEV( 0x04e6, 0x0003, 0x0000, 0x9999, - "Sandisk", - "ImageMate SDDR09", - US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, - 0), - -/* This entry is from Andries.Brouwer@cwi.nl */ -UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, - "SCM Microsystems", - "eUSB SmartMedia / CompactFlash Adapter", - US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init, - 0), -#endif - -/* Reported by Markus Demleitner */ -UNUSUAL_DEV( 0x04e6, 0x0006, 0x0100, 0x0100, - "SCM Microsystems Inc.", - "eUSB MMC Adapter", - US_SC_SCSI, US_PR_CB, NULL, - US_FL_SINGLE_LUN), - -/* Reported by Daniel Nouri */ -UNUSUAL_DEV( 0x04e6, 0x0006, 0x0205, 0x0205, - "Shuttle", - "eUSB MMC Adapter", - US_SC_SCSI, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN), - -UNUSUAL_DEV( 0x04e6, 0x0007, 0x0100, 0x0200, - "Sony", - "Hifd", - US_SC_SCSI, US_PR_CB, NULL, - US_FL_SINGLE_LUN), - -UNUSUAL_DEV( 0x04e6, 0x0009, 0x0200, 0x0200, - "Shuttle", - "eUSB ATA/ATAPI Adapter", - US_SC_8020, US_PR_CB, NULL, 0), - -UNUSUAL_DEV( 0x04e6, 0x000a, 0x0200, 0x0200, - "Shuttle", - "eUSB CompactFlash Adapter", - US_SC_8020, US_PR_CB, NULL, 0), - -UNUSUAL_DEV( 0x04e6, 0x000B, 0x0100, 0x0100, - "Shuttle", - "eUSCSI Bridge", - US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, - US_FL_SCM_MULT_TARG ), - -UNUSUAL_DEV( 0x04e6, 0x000C, 0x0100, 0x0100, - "Shuttle", - "eUSCSI Bridge", - US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, - US_FL_SCM_MULT_TARG ), - -UNUSUAL_DEV( 0x04e6, 0x0101, 0x0200, 0x0200, - "Shuttle", - "CD-RW Device", - US_SC_8020, US_PR_CB, NULL, 0), - -/* Entry and supporting patch by Theodore Kilgore . - * Device uses standards-violating 32-byte Bulk Command Block Wrappers and - * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011. - */ - -UNUSUAL_DEV( 0x04fc, 0x80c2, 0x0100, 0x0100, - "Kobian Mercury", - "Binocam DCB-132", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_BULK32), - -#ifdef CONFIG_USB_STORAGE_USBAT -UNUSUAL_DEV( 0x04e6, 0x1010, 0x0000, 0x9999, - "Shuttle/SCM", - "USBAT-02", - US_SC_SCSI, US_PR_USBAT, init_usbat_flash, - US_FL_SINGLE_LUN), -#endif - -/* Reported by Bob Sass -- only rev 1.33 tested */ -UNUSUAL_DEV( 0x050d, 0x0115, 0x0133, 0x0133, - "Belkin", - "USB SCSI Adaptor", - US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, - US_FL_SCM_MULT_TARG ), - -/* Iomega Clik! Drive - * Reported by David Chatenay - * The reason this is needed is not fully known. - */ -UNUSUAL_DEV( 0x0525, 0xa140, 0x0100, 0x0100, - "Iomega", - "USB Clik! 40", - US_SC_8070, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* Yakumo Mega Image 37 - * Submitted by Stephan Fuhrmann */ -UNUSUAL_DEV( 0x052b, 0x1801, 0x0100, 0x0100, - "Tekom Technologies, Inc", - "300_CAMERA", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Another Yakumo camera. - * Reported by Michele Alzetta */ -UNUSUAL_DEV( 0x052b, 0x1804, 0x0100, 0x0100, - "Tekom Technologies, Inc", - "300_CAMERA", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Iacopo Spalletti */ -UNUSUAL_DEV( 0x052b, 0x1807, 0x0100, 0x0100, - "Tekom Technologies, Inc", - "300_CAMERA", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Yakumo Mega Image 47 - * Reported by Bjoern Paetzel */ -UNUSUAL_DEV( 0x052b, 0x1905, 0x0100, 0x0100, - "Tekom Technologies, Inc", - "400_CAMERA", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Paul Ortyl - * Note that it's similar to the device above, only different prodID */ -UNUSUAL_DEV( 0x052b, 0x1911, 0x0100, 0x0100, - "Tekom Technologies, Inc", - "400_CAMERA", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -UNUSUAL_DEV( 0x054c, 0x0010, 0x0106, 0x0450, - "Sony", - "DSC-S30/S70/S75/505V/F505/F707/F717/P8", - US_SC_SCSI, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ), - -/* Submitted by Lars Jacob - * This entry is needed because the device reports Sub=ff */ -UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0610, - "Sony", - "DSC-T1/T5/H5", - US_SC_8070, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - - -/* Reported by wim@geeks.nl */ -UNUSUAL_DEV( 0x054c, 0x0025, 0x0100, 0x0100, - "Sony", - "Memorystick NW-MS7", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -#ifdef CONFIG_USB_STORAGE_ISD200 -UNUSUAL_DEV( 0x054c, 0x002b, 0x0100, 0x0110, - "Sony", - "Portable USB Harddrive V2", - US_SC_ISD200, US_PR_BULK, isd200_Initialization, - 0 ), -#endif - -/* Submitted by Olaf Hering, SuSE Bugzilla #49049 */ -UNUSUAL_DEV( 0x054c, 0x002c, 0x0501, 0x0501, - "Sony", - "USB Floppy Drive", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -UNUSUAL_DEV( 0x054c, 0x002d, 0x0100, 0x0100, - "Sony", - "Memorystick MSAC-US1", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -/* Submitted by Klaus Mueller */ -UNUSUAL_DEV( 0x054c, 0x002e, 0x0106, 0x0310, - "Sony", - "Handycam", - US_SC_SCSI, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -/* Submitted by Rajesh Kumble Nayak */ -UNUSUAL_DEV( 0x054c, 0x002e, 0x0500, 0x0500, - "Sony", - "Handycam HC-85", - US_SC_UFI, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -UNUSUAL_DEV( 0x054c, 0x0032, 0x0000, 0x9999, - "Sony", - "Memorystick MSC-U01N", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -/* Submitted by Michal Mlotek */ -UNUSUAL_DEV( 0x054c, 0x0058, 0x0000, 0x9999, - "Sony", - "PEG N760c Memorystick", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -UNUSUAL_DEV( 0x054c, 0x0069, 0x0000, 0x9999, - "Sony", - "Memorystick MSC-U03", - US_SC_UFI, US_PR_CB, NULL, - US_FL_SINGLE_LUN ), - -/* Submitted by Nathan Babb */ -UNUSUAL_DEV( 0x054c, 0x006d, 0x0000, 0x9999, - "Sony", - "PEG Mass Storage", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* Submitted by Mike Alborn */ -UNUSUAL_DEV( 0x054c, 0x016a, 0x0000, 0x9999, - "Sony", - "PEG Mass Storage", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* Submitted by Frank Engel */ -UNUSUAL_DEV( 0x054c, 0x0099, 0x0000, 0x9999, - "Sony", - "PEG Mass Storage", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - - -UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, - "Y-E Data", - "Flashbuster-U", - US_SC_DEVICE, US_PR_CB, NULL, - US_FL_SINGLE_LUN), - -UNUSUAL_DEV( 0x057b, 0x0000, 0x0300, 0x9999, - "Y-E Data", - "Flashbuster-U", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN), - -/* Reported by Johann Cardon - * This entry is needed only because the device reports - * bInterfaceClass = 0xff (vendor-specific) - */ -UNUSUAL_DEV( 0x057b, 0x0022, 0x0000, 0x9999, - "Y-E Data", - "Silicon Media R/W", - US_SC_DEVICE, US_PR_DEVICE, NULL, 0), - -#ifdef CONFIG_USB_STORAGE_ALAUDA -UNUSUAL_DEV( 0x0584, 0x0008, 0x0102, 0x0102, - "Fujifilm", - "DPC-R1 (Alauda)", - US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), -#endif - -/* Fabrizio Fellini */ -UNUSUAL_DEV( 0x0595, 0x4343, 0x0000, 0x2210, - "Fujifilm", - "Digital Camera EX-20 DSC", - US_SC_8070, US_PR_DEVICE, NULL, 0 ), - -/* The entry was here before I took over, and had US_SC_RBC. It turns - * out that isn't needed. Additionally, Torsten Eriksson - * is able to use his device fine - * without this entry at all - but I don't suspect that will be true - * for all users (the protocol is likely needed), so is staying at - * this time. - Phil Dibowitz - */ -UNUSUAL_DEV( 0x059f, 0xa601, 0x0200, 0x0200, - "LaCie", - "USB Hard Disk", - US_SC_DEVICE, US_PR_CB, NULL, 0 ), - -/* Submitted by Joel Bourquard - * Some versions of this device need the SubClass and Protocol overrides - * while others don't. - */ -UNUSUAL_DEV( 0x05ab, 0x0060, 0x1104, 0x1110, - "In-System", - "PyroGate External CD-ROM Enclosure (FCD-523)", - US_SC_SCSI, US_PR_BULK, NULL, - US_FL_NEED_OVERRIDE ), - -#ifdef CONFIG_USB_STORAGE_ISD200 -UNUSUAL_DEV( 0x05ab, 0x0031, 0x0100, 0x0110, - "In-System", - "USB/IDE Bridge (ATA/ATAPI)", - US_SC_ISD200, US_PR_BULK, isd200_Initialization, - 0 ), - -UNUSUAL_DEV( 0x05ab, 0x0301, 0x0100, 0x0110, - "In-System", - "Portable USB Harddrive V2", - US_SC_ISD200, US_PR_BULK, isd200_Initialization, - 0 ), - -UNUSUAL_DEV( 0x05ab, 0x0351, 0x0100, 0x0110, - "In-System", - "Portable USB Harddrive V2", - US_SC_ISD200, US_PR_BULK, isd200_Initialization, - 0 ), - -UNUSUAL_DEV( 0x05ab, 0x5701, 0x0100, 0x0110, - "In-System", - "USB Storage Adapter V2", - US_SC_ISD200, US_PR_BULK, isd200_Initialization, - 0 ), -#endif - -/* Submitted by Sven Anderson - * There are at least four ProductIDs used for iPods, so I added 0x1202 and - * 0x1204. They just need the US_FL_FIX_CAPACITY. As the bcdDevice appears - * to change with firmware updates, I changed the range to maximum for all - * iPod entries. - */ -UNUSUAL_DEV( 0x05ac, 0x1202, 0x0000, 0x9999, - "Apple", - "iPod", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -/* Reported by Avi Kivity */ -UNUSUAL_DEV( 0x05ac, 0x1203, 0x0000, 0x9999, - "Apple", - "iPod", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -UNUSUAL_DEV( 0x05ac, 0x1204, 0x0000, 0x9999, - "Apple", - "iPod", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -UNUSUAL_DEV( 0x05ac, 0x1205, 0x0000, 0x9999, - "Apple", - "iPod", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -/* - * Reported by Tyson Vinson - * This particular productId is the iPod Nano - */ -UNUSUAL_DEV( 0x05ac, 0x120a, 0x0000, 0x9999, - "Apple", - "iPod", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -#ifdef CONFIG_USB_STORAGE_JUMPSHOT -UNUSUAL_DEV( 0x05dc, 0x0001, 0x0000, 0x0001, - "Lexar", - "Jumpshot USB CF Reader", - US_SC_SCSI, US_PR_JUMPSHOT, NULL, - US_FL_NEED_OVERRIDE ), -#endif - -/* Reported by Blake Matheny */ -UNUSUAL_DEV( 0x05dc, 0xb002, 0x0000, 0x0113, - "Lexar", - "USB CF Reader", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* The following two entries are for a Genesys USB to IDE - * converter chip, but it changes its ProductId depending - * on whether or not a disk or an optical device is enclosed - * They were originally reported by Alexander Oltu - * and Peter Marks - * respectively. - * - * US_FL_GO_SLOW and US_FL_MAX_SECTORS_64 added by Phil Dibowitz - * as these flags were made and hard-coded - * special-cases were pulled from scsiglue.c. - */ -UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0xffff, - "Genesys Logic", - "USB to IDE Optical", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 ), - -UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff, - "Genesys Logic", - "USB to IDE Disk", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 ), - -/* Reported by Hanno Boeck - * Taken from the Lycoris Kernel */ -UNUSUAL_DEV( 0x0636, 0x0003, 0x0000, 0x9999, - "Vivitar", - "Vivicam 35Xx", - US_SC_SCSI, US_PR_BULK, NULL, - US_FL_FIX_INQUIRY ), - -UNUSUAL_DEV( 0x0644, 0x0000, 0x0100, 0x0100, - "TEAC", - "Floppy Drive", - US_SC_UFI, US_PR_CB, NULL, 0 ), - -#ifdef CONFIG_USB_STORAGE_SDDR09 -UNUSUAL_DEV( 0x066b, 0x0105, 0x0100, 0x0100, - "Olympus", - "Camedia MAUSB-2", - US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, - 0), -#endif - -/* Reported by Darsen Lu */ -UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001, - "SigmaTel", - "USBMSC Audio Player", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -/* Reported by Richard -=[]=- */ -UNUSUAL_DEV( 0x067b, 0x2507, 0x0100, 0x0100, - "Prolific Technology Inc.", - "Mass Storage Device", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), - -/* Reported by Alex Butcher */ -UNUSUAL_DEV( 0x067b, 0x3507, 0x0001, 0x0001, - "Prolific Technology Inc.", - "ATAPI-6 Bridge Controller", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), - -/* Submitted by Benny Sjostrand */ -UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001, - "Minolta", - "Dimage F300", - US_SC_SCSI, US_PR_BULK, NULL, 0 ), - -/* Reported by Miguel A. Fosas */ -UNUSUAL_DEV( 0x0686, 0x4017, 0x0001, 0x0001, - "Minolta", - "DIMAGE E223", - US_SC_SCSI, US_PR_DEVICE, NULL, 0 ), - -UNUSUAL_DEV( 0x0693, 0x0005, 0x0100, 0x0100, - "Hagiwara", - "Flashgate", - US_SC_SCSI, US_PR_BULK, NULL, 0 ), - -/* Reported by David Hamilton */ -UNUSUAL_DEV( 0x069b, 0x3004, 0x0001, 0x0001, - "Thomson Multimedia Inc.", - "RCA RD1080 MP3 Player", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -/* Reported by Olivier Blondeau */ -UNUSUAL_DEV( 0x0727, 0x0306, 0x0100, 0x0100, - "ATMEL", - "SND1 Storage", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE), - -/* Submitted by Roman Hodek */ -UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200, - "Sandisk", - "ImageMate SDDR-05a", - US_SC_SCSI, US_PR_CB, NULL, - US_FL_SINGLE_LUN ), - -UNUSUAL_DEV( 0x0781, 0x0002, 0x0009, 0x0009, - "SanDisk Corporation", - "ImageMate CompactFlash USB", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -#ifdef CONFIG_USB_STORAGE_USBAT -UNUSUAL_DEV( 0x0781, 0x0005, 0x0005, 0x0005, - "Sandisk", - "ImageMate SDDR-05b", - US_SC_SCSI, US_PR_USBAT, init_usbat_flash, - US_FL_SINGLE_LUN ), -#endif - -UNUSUAL_DEV( 0x0781, 0x0100, 0x0100, 0x0100, - "Sandisk", - "ImageMate SDDR-12", - US_SC_SCSI, US_PR_CB, NULL, - US_FL_SINGLE_LUN ), - -#ifdef CONFIG_USB_STORAGE_SDDR09 -UNUSUAL_DEV( 0x0781, 0x0200, 0x0000, 0x9999, - "Sandisk", - "ImageMate SDDR-09", - US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, - 0), -#endif - -#ifdef CONFIG_USB_STORAGE_FREECOM -UNUSUAL_DEV( 0x07ab, 0xfc01, 0x0000, 0x9999, - "Freecom", - "USB-IDE", - US_SC_QIC, US_PR_FREECOM, freecom_init, 0), -#endif - -/* Reported by Eero Volotinen */ -UNUSUAL_DEV( 0x07ab, 0xfccd, 0x0000, 0x9999, - "Freecom Technologies", - "FHD-Classic", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY), - -UNUSUAL_DEV( 0x07af, 0x0004, 0x0100, 0x0133, - "Microtech", - "USB-SCSI-DB25", - US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, - US_FL_SCM_MULT_TARG ), - -UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100, - "Microtech", - "USB-SCSI-HD50", - US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, - US_FL_SCM_MULT_TARG ), - -#ifdef CONFIG_USB_STORAGE_DPCM -UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, - "Microtech", - "CameraMate (DPCM_USB)", - US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), -#endif - -#ifdef CONFIG_USB_STORAGE_ALAUDA -UNUSUAL_DEV( 0x07b4, 0x010a, 0x0102, 0x0102, - "Olympus", - "MAUSB-10 (Alauda)", - US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), -#endif - -#ifdef CONFIG_USB_STORAGE_DATAFAB -UNUSUAL_DEV( 0x07c4, 0xa000, 0x0000, 0x0015, - "Datafab", - "MDCFE-B USB CF Reader", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), - -/* - * The following Datafab-based devices may or may not work - * using the current driver...the 0xffff is arbitrary since I - * don't know what device versions exist for these guys. - * - * The 0xa003 and 0xa004 devices in particular I'm curious about. - * I'm told they exist but so far nobody has come forward to say that - * they work with this driver. Given the success we've had getting - * other Datafab-based cards operational with this driver, I've decided - * to leave these two devices in the list. - */ -UNUSUAL_DEV( 0x07c4, 0xa001, 0x0000, 0xffff, - "SIIG/Datafab", - "SIIG/Datafab Memory Stick+CF Reader/Writer", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), - -/* Reported by Josef Reisinger */ -UNUSUAL_DEV( 0x07c4, 0xa002, 0x0000, 0xffff, - "Datafab/Unknown", - "MD2/MD3 Disk enclosure", - US_SC_SCSI, US_PR_DATAFAB, NULL, - US_FL_SINGLE_LUN ), - -UNUSUAL_DEV( 0x07c4, 0xa003, 0x0000, 0xffff, - "Datafab/Unknown", - "Datafab-based Reader", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), - -UNUSUAL_DEV( 0x07c4, 0xa004, 0x0000, 0xffff, - "Datafab/Unknown", - "Datafab-based Reader", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), - -UNUSUAL_DEV( 0x07c4, 0xa005, 0x0000, 0xffff, - "PNY/Datafab", - "PNY/Datafab CF+SM Reader", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), - -UNUSUAL_DEV( 0x07c4, 0xa006, 0x0000, 0xffff, - "Simple Tech/Datafab", - "Simple Tech/Datafab CF+SM Reader", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), -#endif - -#ifdef CONFIG_USB_STORAGE_SDDR55 -/* Contributed by Peter Waechtler */ -UNUSUAL_DEV( 0x07c4, 0xa103, 0x0000, 0x9999, - "Datafab", - "MDSM-B reader", - US_SC_SCSI, US_PR_SDDR55, NULL, - US_FL_FIX_INQUIRY ), -#endif - -#ifdef CONFIG_USB_STORAGE_DATAFAB -/* Submitted by Olaf Hering */ -UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, - "Datafab Systems, Inc.", - "USB to CF + SM Combo (LC1)", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), -#endif -#ifdef CONFIG_USB_STORAGE_SDDR55 -/* SM part - aeb */ -UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, - "Datafab Systems, Inc.", - "USB to CF + SM Combo (LC1)", - US_SC_SCSI, US_PR_SDDR55, NULL, - US_FL_SINGLE_LUN ), -#endif - -#ifdef CONFIG_USB_STORAGE_DATAFAB -/* Reported by Felix Moeller - * in Germany this is sold by Hama with the productnumber 46952 - * as "DualSlot CompactFlash(TM) & MStick Drive USB" - */ -UNUSUAL_DEV( 0x07c4, 0xa10b, 0x0000, 0xffff, - "DataFab Systems Inc.", - "USB CF+MS", - US_SC_SCSI, US_PR_DATAFAB, NULL, - 0 ), - -#endif - -/* Datafab KECF-USB / Sagatek DCS-CF / Simpletech Flashlink UCF-100 - * Only revision 1.13 tested (same for all of the above devices, - * based on the Datafab DF-UG-07 chip). Needed for US_FL_FIX_INQUIRY. - * Submitted by Marek Michalkiewicz . - * See also http://martin.wilck.bei.t-online.de/#kecf . - */ -UNUSUAL_DEV( 0x07c4, 0xa400, 0x0000, 0xffff, - "Datafab", - "KECF-USB", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant - * to the USB storage specification in two ways: - * - They tell us they are using transport protocol CBI. In reality they - * are using transport protocol CB. - * - They don't like the INQUIRY command. So we must handle this command - * of the SCSI layer ourselves. - * - Some cameras with idProduct=0x1001 and bcdDevice=0x1000 have - * bInterfaceProtocol=0x00 (US_PR_CBI) while others have 0x01 (US_PR_CB). - * So don't remove the US_PR_CB override! - * - Cameras with bcdDevice=0x9009 require the US_SC_8070 override. - */ -UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9999, - "Casio", - "QV DigitalCamera", - US_SC_8070, US_PR_CB, NULL, - US_FL_NEED_OVERRIDE | US_FL_FIX_INQUIRY ), - -/* Submitted by Hartmut Wahl */ -UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001, - "Samsung", - "Digimax 410", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY), - -/* Entry and supporting patch by Theodore Kilgore . - * Flag will support Bulk devices which use a standards-violating 32-byte - * Command Block Wrapper. Here, the "DC2MEGA" cameras (several brands) with - * Grandtech GT892x chip, which request "Proprietary SCSI Bulk" support. - */ - -UNUSUAL_DEV( 0x084d, 0x0011, 0x0110, 0x0110, - "Grandtech", - "DC2MEGA", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_BULK32), - -/* Submitted by Jan De Luyck */ -UNUSUAL_DEV( 0x08bd, 0x1100, 0x0000, 0x0000, - "CITIZEN", - "X1DE-USB", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN), - -/* Entry needed for flags. Moreover, all devices with this ID use - * bulk-only transport, but _some_ falsely report Control/Bulk instead. - * One example is "Trumpion Digital Research MYMP3". - * Submitted by Bjoern Brill - */ -UNUSUAL_DEV( 0x090a, 0x1001, 0x0100, 0x0100, - "Trumpion", - "t33520 USB Flash Card Controller", - US_SC_DEVICE, US_PR_BULK, NULL, - US_FL_NEED_OVERRIDE ), - -/* Reported by Filippo Bardelli - * The device reports a subclass of RBC, which is wrong. - */ -UNUSUAL_DEV( 0x090a, 0x1050, 0x0100, 0x0100, - "Trumpion Microelectronics, Inc.", - "33520 USB Digital Voice Recorder", - US_SC_UFI, US_PR_DEVICE, NULL, - 0), - -/* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */ -UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999, - "Trumpion", - "MP3 player", - US_SC_RBC, US_PR_BULK, NULL, - 0 ), - -/* aeb */ -UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff, - "Feiya", - "5-in-1 Card Reader", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - -/* This Pentax still camera is not conformant - * to the USB storage specification: - - * - It does not like the INQUIRY command. So we must handle this command - * of the SCSI layer ourselves. - * Tested on Rev. 10.00 (0x1000) - * Submitted by James Courtier-Dutton - */ -UNUSUAL_DEV( 0x0a17, 0x0004, 0x1000, 0x1000, - "Pentax", - "Optio 2/3/400", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - - -/* Submitted by Per Winkvist */ -UNUSUAL_DEV( 0x0a17, 0x006, 0x0000, 0xffff, - "Pentax", - "Optio S/S4", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -#ifdef CONFIG_USB_STORAGE_ISD200 -UNUSUAL_DEV( 0x0bf6, 0xa001, 0x0100, 0x0110, - "ATI", - "USB Cable 205", - US_SC_ISD200, US_PR_BULK, isd200_Initialization, - 0 ), -#endif - -#ifdef CONFIG_USB_STORAGE_DATAFAB -UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, - "Acomdata", - "CF", - US_SC_SCSI, US_PR_DATAFAB, NULL, - US_FL_SINGLE_LUN ), -#endif -#ifdef CONFIG_USB_STORAGE_SDDR55 -UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, - "Acomdata", - "SM", - US_SC_SCSI, US_PR_SDDR55, NULL, - US_FL_SINGLE_LUN ), -#endif - -/* Submitted by: Nick Sillik - * Needed for OneTouch extension to usb-storage - * - */ -#ifdef CONFIG_USB_STORAGE_ONETOUCH - UNUSUAL_DEV( 0x0d49, 0x7000, 0x0000, 0x9999, - "Maxtor", - "OneTouch External Harddrive", - US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, - 0), - UNUSUAL_DEV( 0x0d49, 0x7010, 0x0000, 0x9999, - "Maxtor", - "OneTouch External Harddrive", - US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, - 0), -#endif - -/* - * Pete Zaitcev , bz#164688. - * The device blatantly ignores LUN and returns 1 in GetMaxLUN. - */ -UNUSUAL_DEV( 0x0c45, 0x1060, 0x0100, 0x0100, - "Unknown", - "Unknown", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_SINGLE_LUN ), - -/* Submitted by Joris Struyve */ -UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff, - "Medion", - "MD 7425", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY), - -/* - * Entry for Jenoptik JD 5200z3 - * - * email: car.busse@gmx.de - */ -UNUSUAL_DEV( 0x0d96, 0x5200, 0x0001, 0x0200, - "Jenoptik", - "JD 5200 z3", - US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), - -/* Reported by Lubomir Blaha - * I _REALLY_ don't know what 3rd, 4th number and all defines mean, but this - * works for me. Can anybody correct these values? (I able to test corrected - * version.) - */ -UNUSUAL_DEV( 0x0dd8, 0x1060, 0x0000, 0xffff, - "Netac", - "USB-CF-Card", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* Patch by Stephan Walter - * I don't know why, but it works... */ -UNUSUAL_DEV( 0x0dda, 0x0001, 0x0012, 0x0012, - "WINWARD", - "Music Disk", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Ian McConnell */ -UNUSUAL_DEV( 0x0dda, 0x0301, 0x0012, 0x0012, - "PNP_MP3", - "PNP_MP3 PLAYER", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Jim McCloskey */ -UNUSUAL_DEV( 0x0e21, 0x0520, 0x0100, 0x0100, - "Cowon Systems", - "iAUDIO M5", - US_SC_DEVICE, US_PR_BULK, NULL, - 0 ), - -/* Submitted by Antoine Mairesse */ -UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300, - "USB", - "Solid state disk", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_INQUIRY ), - -/* Submitted by Daniel Drake - * Reported by dayul on the Gentoo Forums */ -UNUSUAL_DEV( 0x0ea0, 0x2168, 0x0110, 0x0110, - "Ours Technology", - "Flash Disk", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Rastislav Stanik */ -UNUSUAL_DEV( 0x0ea0, 0x6828, 0x0110, 0x0110, - "USB", - "Flash Disk", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* Reported by Benjamin Schiller - * It is also sold by Easylite as DJ 20 */ -UNUSUAL_DEV( 0x0ed1, 0x7636, 0x0103, 0x0103, - "Typhoon", - "My DJ 1820", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64), - -/* Reported by Michael Stattmann */ -UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, - "Sony Ericsson", - "V800-Vodafone 802", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_NO_WP_DETECT ), - -/* Reported by Kevin Cernekee - * Tested on hardware version 1.10. - * Entry is needed only for the initializer function override. - */ -UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x9999, - "Desknote", - "UCR-61S2B", - US_SC_DEVICE, US_PR_DEVICE, usb_stor_ucr61s2b_init, - 0 ), - -/* Reported by Vilius Bilinkevicius */ -UNUSUAL_DEV( 0x1370, 0x6828, 0x0110, 0x0110, - "SWISSBIT", - "Black Silver", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE ), - -/* patch submitted by Davide Perini - * and Renato Perini - */ -UNUSUAL_DEV( 0x22b8, 0x3010, 0x0001, 0x0001, - "Motorola", - "RAZR V3x", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ), - -/* Reported by Radovan Garabik */ -UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, - "MPIO", - "HS200", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_GO_SLOW ), - -/* - * David Härdeman - * The key makes the SCSI stack print confusing (but harmless) messages - */ -UNUSUAL_DEV( 0x4146, 0xba01, 0x0100, 0x0100, - "Iomega", - "Micro Mini 1GB", - US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), - -#ifdef CONFIG_USB_STORAGE_SDDR55 -UNUSUAL_DEV( 0x55aa, 0xa103, 0x0000, 0x9999, - "Sandisk", - "ImageMate SDDR55", - US_SC_SCSI, US_PR_SDDR55, NULL, - US_FL_SINGLE_LUN), -#endif - -/* Reported by Andrew Simmons */ -UNUSUAL_DEV( 0xed06, 0x4500, 0x0001, 0x0001, - "DataStor", - "USB4500 FW1.04", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY), - -/* Control/Bulk transport for all SubClass values */ -USUAL_DEV(US_SC_RBC, US_PR_CB, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_8020, US_PR_CB, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_QIC, US_PR_CB, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_UFI, US_PR_CB, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_8070, US_PR_CB, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_SCSI, US_PR_CB, USB_US_TYPE_STOR), - -/* Control/Bulk/Interrupt transport for all SubClass values */ -USUAL_DEV(US_SC_RBC, US_PR_CBI, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_8020, US_PR_CBI, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_QIC, US_PR_CBI, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_UFI, US_PR_CBI, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_8070, US_PR_CBI, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_SCSI, US_PR_CBI, USB_US_TYPE_STOR), - -/* Bulk-only transport for all SubClass values */ -USUAL_DEV(US_SC_RBC, US_PR_BULK, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_8020, US_PR_BULK, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_QIC, US_PR_BULK, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_UFI, US_PR_BULK, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_8070, US_PR_BULK, USB_US_TYPE_STOR), -USUAL_DEV(US_SC_SCSI, US_PR_BULK, 0), diff -urN newtree/drivers/video/Kconfig newtree.2/drivers/video/Kconfig --- newtree/drivers/video/Kconfig 2006-08-04 10:03:06.000000000 -0700 +++ newtree.2/drivers/video/Kconfig 2006-08-04 14:09:00.000000000 -0700 @@ -541,8 +541,22 @@ cards. Say Y if you have one of those. config FB_VESA - bool "VESA VGA graphics support" - depends on (FB = y) && X86 && !VGA_NOPROBE + tristate "VESA VGA graphics support" + depends on (FB = y) && (X86 || X86_64) + help + This is the frame buffer device driver for generic VESA 2.0 + compliant graphic cards. The older VESA 1.2 cards are not supported. + You will get a boot time penguin logo at no additional cost. Please + read . If unsure, say Y. + +choice + prompt "VESA driver type" + depends on FB_VESA + default FB_VESA_STD if X86_64 + default FB_VESA_TNG if X86 + +config FB_VESA_STD + bool "vesafb" select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -550,7 +564,43 @@ This is the frame buffer device driver for generic VESA 2.0 compliant graphic cards. The older VESA 1.2 cards are not supported. You will get a boot time penguin logo at no additional cost. Please - read . If unsure, say Y. + read . Choose this driver if you + are experiencing problems with vesafb-tng or if you own a 64-bit system. + + Note that this driver cannot be compiled as a module. + +config FB_VESA_TNG + bool "vesafb-tng" + depends on !X86_64 + select FB_MODE_HELPERS + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the frame buffer device driver for generic VESA 2.0 + compliant graphic cards. It is capable of taking advantage of + VBE 3.0 features. With this driver you will be able to adjust + the refresh rate (VBE 3.0 compliant boards only) and change + the graphic mode on-the-fly. + + You will also get a boot time penguin logo at no additional cost. Please + read . + +endchoice + +config FB_VESA_DEFAULT_MODE + string "VESA default mode" + depends on FB_VESA_TNG + default "640x480@60" + help + This option is used to determine the default mode vesafb is + supposed to switch to in case no mode is provided as a kernel + command line parameter. + +config VIDEO_SELECT + bool + depends on FB_VESA + default y config FB_IMAC bool "Intel-based Macintosh Framebuffer Support" diff -urN newtree/drivers/video/fbmem.c newtree.2/drivers/video/fbmem.c --- newtree/drivers/video/fbmem.c 2006-08-02 07:14:21.000000000 -0700 +++ newtree.2/drivers/video/fbmem.c 2006-08-04 14:07:26.000000000 -0700 @@ -1407,6 +1407,7 @@ printk(KERN_WARNING "Unable to create fb class; errno = %ld\n", PTR_ERR(fb_class)); fb_class = NULL; } + return 0; } diff -urN newtree/drivers/video/modedb.c newtree.2/drivers/video/modedb.c --- newtree/drivers/video/modedb.c 2006-07-15 14:53:08.000000000 -0700 +++ newtree.2/drivers/video/modedb.c 2006-08-04 14:07:26.000000000 -0700 @@ -674,6 +674,7 @@ { u32 pixclock, hfreq, htotal, vtotal; + mode->refresh = 0; mode->name = NULL; mode->xres = var->xres; mode->yres = var->yres; @@ -1025,3 +1026,4 @@ EXPORT_SYMBOL(fb_find_nearest_mode); EXPORT_SYMBOL(fb_videomode_to_modelist); EXPORT_SYMBOL(fb_find_mode); +EXPORT_SYMBOL(fb_destroy_modelist); diff -urN newtree/drivers/video/vesafb-thread.c newtree.2/drivers/video/vesafb-thread.c --- newtree/drivers/video/vesafb-thread.c 1969-12-31 16:00:00.000000000 -0800 +++ newtree.2/drivers/video/vesafb-thread.c 2006-08-04 14:07:26.000000000 -0700 @@ -0,0 +1,727 @@ +/* + * Framebuffer driver for VBE 2.0+ compliant graphic boards. + * Kernel thread and vm86 routines. + * + * (c) 2004-2006 Michal Januszewski + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include