sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget+/translations/zh_CN/driver-api/frame-buffermodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/driver-api/frame-buffermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/driver-api/frame-buffermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/driver-api/frame-buffermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/driver-api/frame-buffermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/pt_BR/driver-api/frame-buffermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/driver-api/frame-buffermodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hFrame Buffer Libraryh]hFrame Buffer Library}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhE/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer.rsthKubh paragraph)}(hThe frame buffer drivers depend heavily on four data structures. These structures are declared in include/linux/fb.h. They are fb_info, fb_var_screeninfo, fb_fix_screeninfo and fb_monospecs. The last three can be made available to and from userland.h]hThe frame buffer drivers depend heavily on four data structures. These structures are declared in include/linux/fb.h. They are fb_info, fb_var_screeninfo, fb_fix_screeninfo and fb_monospecs. The last three can be made available to and from userland.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hfb_info defines the current state of a particular video card. Inside fb_info, there exists a fb_ops structure which is a collection of needed functions to make fbdev and fbcon work. fb_info is only visible to the kernel.h]hfb_info defines the current state of a particular video card. Inside fb_info, there exists a fb_ops structure which is a collection of needed functions to make fbdev and fbcon work. fb_info is only visible to the kernel.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hfb_var_screeninfo is used to describe the features of a video card that are user defined. With fb_var_screeninfo, things such as depth and the resolution may be defined.h]hfb_var_screeninfo is used to describe the features of a video card that are user defined. With fb_var_screeninfo, things such as depth and the resolution may be defined.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hX.The next structure is fb_fix_screeninfo. This defines the properties of a card that are created when a mode is set and can't be changed otherwise. A good example of this is the start of the frame buffer memory. This "locks" the address of the frame buffer memory, so that it cannot be changed or moved.h]hX4The next structure is fb_fix_screeninfo. This defines the properties of a card that are created when a mode is set and can’t be changed otherwise. A good example of this is the start of the frame buffer memory. This “locks” the address of the frame buffer memory, so that it cannot be changed or moved.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXkThe last structure is fb_monospecs. In the old API, there was little importance for fb_monospecs. This allowed for forbidden things such as setting a mode of 800x600 on a fix frequency monitor. With the new API, fb_monospecs prevents such things, and if used correctly, can prevent a monitor from being cooked. fb_monospecs will not be useful until kernels 2.5.x.h]hXkThe last structure is fb_monospecs. In the old API, there was little importance for fb_monospecs. This allowed for forbidden things such as setting a mode of 800x600 on a fix frequency monitor. With the new API, fb_monospecs prevents such things, and if used correctly, can prevent a monitor from being cooked. fb_monospecs will not be useful until kernels 2.5.x.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hFrame Buffer Memoryh]hFrame Buffer Memory}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK ubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single!register_framebuffer (C function)c.register_framebufferhNtauh1j$hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(h2int register_framebuffer (struct fb_info *fb_info)h]hdesc_signature_line)}(h1int register_framebuffer(struct fb_info *fb_info)h](hdesc_sig_keyword_type)}(hinth]hint}(hjHhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jFhjBhhhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMLubhdesc_sig_space)}(h h]h }(hjZhhhNhNubah}(h]h ]wah"]h$]h&]uh1jXhjBhhhjWhMLubh desc_name)}(hregister_framebufferh]h desc_sig_name)}(hregister_framebufferh]hregister_framebuffer}(hjqhhhNhNubah}(h]h ]nah"]h$]h&]uh1johjkubah}(h]h ](sig-namedescnameeh"]h$]h&] xml:spacepreserveuh1jihjBhhhjWhMLubhdesc_parameterlist)}(h(struct fb_info *fb_info)h]hdesc_parameter)}(hstruct fb_info *fb_infoh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjubh)}(hhh]jp)}(hfb_infoh]hfb_info}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jjssbc.register_framebufferasbuh1hhjubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjubjp)}(hfb_infoh]hfb_info}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubah}(h]h ]h"]h$]h&]jjuh1jhjBhhhjWhMLubeh}(h]h ]h"]h$]h&]jj add_permalinkuh1j@sphinx_line_type declaratorhj<hhhjWhMLubah}(h]j3ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j:hjWhMLhj7hhubh desc_content)}(hhh]h)}(hregisters a frame buffer deviceh]hregisters a frame buffer device}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMLhj1hhubah}(h]h ]h"]h$]h&]uh1j/hj7hhhjWhMLubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejLdesctypejLnoindex noindexentrynocontentsentryuh1j5hhhjhNhNubh container)}(h**Parameters** ``struct fb_info *fb_info`` frame buffer info structure **Description** Registers a frame buffer device **fb_info**. Returns negative errno on error, or zero for success.h](h)}(h**Parameters**h]hstrong)}(hj^h]h Parameters}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj\ubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMPhjXubhdefinition_list)}(hhh]hdefinition_list_item)}(h8``struct fb_info *fb_info`` frame buffer info structure h](hterm)}(h``struct fb_info *fb_info``h]hliteral)}(hjh]hstruct fb_info *fb_info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMMhj}ubh definition)}(hhh]h)}(hframe buffer info structureh]hframe buffer info structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMMhjubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1j{hjhMMhjxubah}(h]h ]h"]h$]h&]uh1jvhjXubh)}(h**Description**h]ja)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMOhjXubh block_quote)}(hcRegisters a frame buffer device **fb_info**. Returns negative errno on error, or zero for success.h](h)}(h,Registers a frame buffer device **fb_info**.h](h Registers a frame buffer device }(hjhhhNhNubja)}(h **fb_info**h]hfb_info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMNhjubh)}(h5Returns negative errno on error, or zero for success.h]h5Returns negative errno on error, or zero for success.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMPhjubeh}(h]h ]h"]h$]h&]uh1jhjhMNhjXubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhjhhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1#unregister_framebuffer (C function)c.unregister_framebufferhNtauh1j$hjhhhNhNubj6)}(hhh](j;)}(h5void unregister_framebuffer (struct fb_info *fb_info)h]jA)}(h4void unregister_framebuffer(struct fb_info *fb_info)h](jG)}(hvoidh]hvoid}(hj6hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj2hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMbubjY)}(h h]h }(hjEhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj2hhhjDhMbubjj)}(hunregister_framebufferh]jp)}(hunregister_framebufferh]hunregister_framebuffer}(hjWhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjSubah}(h]h ](jjeh"]h$]h&]jjuh1jihj2hhhjDhMbubj)}(h(struct fb_info *fb_info)h]j)}(hstruct fb_info *fb_infoh](j)}(hjh]hstruct}(hjshhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjoubh)}(hhh]jp)}(hfb_infoh]hfb_info}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjYsbc.unregister_framebufferasbuh1hhjoubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjoubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoubjp)}(hfb_infoh]hfb_info}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjoubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjkubah}(h]h ]h"]h$]h&]jjuh1jhj2hhhjDhMbubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj.hhhjDhMbubah}(h]j)ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjDhMbhj+hhubj0)}(hhh]h)}(hreleases a frame buffer deviceh]hreleases a frame buffer device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMbhjhhubah}(h]h ]h"]h$]h&]uh1j/hj+hhhjDhMbubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQjjRjjSjTjUuh1j5hhhjhNhNubjW)}(hX**Parameters** ``struct fb_info *fb_info`` frame buffer info structure **Description** Unregisters a frame buffer device **fb_info**. Returns negative errno on error, or zero for success. This function will also notify the framebuffer console to release the driver. This is meant to be called within a driver's module_exit() function. If this is called outside module_exit(), ensure that the driver implements fb_open() and fb_release() to check that no processes are using the device.h](h)}(h**Parameters**h]ja)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMfhjubjw)}(hhh]j|)}(h8``struct fb_info *fb_info`` frame buffer info structure h](j)}(h``struct fb_info *fb_info``h]j)}(hj7h]hstruct fb_info *fb_info}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMchj1ubj)}(hhh]h)}(hframe buffer info structureh]hframe buffer info structure}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhMchjMubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1j{hjLhMchj.ubah}(h]h ]h"]h$]h&]uh1jvhjubh)}(h**Description**h]ja)}(hjrh]h Description}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjpubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMehjubj)}(hXUnregisters a frame buffer device **fb_info**. Returns negative errno on error, or zero for success. This function will also notify the framebuffer console to release the driver. This is meant to be called within a driver's module_exit() function. If this is called outside module_exit(), ensure that the driver implements fb_open() and fb_release() to check that no processes are using the device.h](h)}(h.Unregisters a frame buffer device **fb_info**.h](h"Unregisters a frame buffer device }(hjhhhNhNubja)}(h **fb_info**h]hfb_info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMdhjubh)}(h5Returns negative errno on error, or zero for success.h]h5Returns negative errno on error, or zero for success.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMfhjubh)}(hMThis function will also notify the framebuffer console to release the driver.h]hMThis function will also notify the framebuffer console to release the driver.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhhjubh)}(hThis is meant to be called within a driver's module_exit() function. If this is called outside module_exit(), ensure that the driver implements fb_open() and fb_release() to check that no processes are using the device.h]hThis is meant to be called within a driver’s module_exit() function. If this is called outside module_exit(), ensure that the driver implements fb_open() and fb_release() to check that no processes are using the device.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMkhjubeh}(h]h ]h"]h$]h&]uh1jhjhMdhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhjhhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1&devm_register_framebuffer (C function)c.devm_register_framebufferhNtauh1j$hjhhhNhNubj6)}(hhh](j;)}(hKint devm_register_framebuffer (struct device *dev, struct fb_info *fb_info)h]jA)}(hJint devm_register_framebuffer(struct device *dev, struct fb_info *fb_info)h](jG)}(hinth]hint}(hjhhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhjhhhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjhhhjhMubjj)}(hdevm_register_framebufferh]jp)}(hdevm_register_framebufferh]hdevm_register_framebuffer}(hj!hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ](jjeh"]h$]h&]jjuh1jihjhhhjhMubj)}(h-(struct device *dev, struct fb_info *fb_info)h](j)}(hstruct device *devh](j)}(hjh]hstruct}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjY)}(h h]h }(hjJhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj9ubh)}(hhh]jp)}(hdeviceh]hdevice}(hj[hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjXubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj]modnameN classnameNjj)}j]j)}jj#sbc.devm_register_framebufferasbuh1hhj9ubjY)}(h h]h }(hj{hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj9ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjp)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj9ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj5ubj)}(hstruct fb_info *fb_infoh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjubh)}(hhh]jp)}(hfb_infoh]hfb_info}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jwc.devm_register_framebufferasbuh1hhjubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjp)}(hfb_infoh]hfb_info}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj5ubeh}(h]h ]h"]h$]h&]jjuh1jhjhhhjhMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hjhhhjhMubah}(h]jah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjhMhjhhubj0)}(hhh]h)}(h1resource-managed frame buffer device registrationh]h1resource-managed frame buffer device registration}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhj-hhubah}(h]h ]h"]h$]h&]uh1j/hjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQjHjRjHjSjTjUuh1j5hhhjhNhNubjW)}(hX**Parameters** ``struct device *dev`` device the framebuffer belongs to ``struct fb_info *fb_info`` frame buffer info structure **Description** Registers a frame buffer device **fb_info** to device **dev**. Returns negative errno on error, or zero for success.h](h)}(h**Parameters**h]ja)}(hjRh]h Parameters}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjPubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjLubjw)}(hhh](j|)}(h9``struct device *dev`` device the framebuffer belongs to h](j)}(h``struct device *dev``h]j)}(hjqh]hstruct device *dev}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjkubj)}(hhh]h)}(h!device the framebuffer belongs toh]h!device the framebuffer belongs to}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1j{hjhMhjhubj|)}(h8``struct fb_info *fb_info`` frame buffer info structure h](j)}(h``struct fb_info *fb_info``h]j)}(hjh]hstruct fb_info *fb_info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjubj)}(hhh]h)}(hframe buffer info structureh]hframe buffer info structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjhMhjhubeh}(h]h ]h"]h$]h&]uh1jvhjLubh)}(h**Description**h]ja)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjLubj)}(huRegisters a frame buffer device **fb_info** to device **dev**. Returns negative errno on error, or zero for success.h](h)}(h>Registers a frame buffer device **fb_info** to device **dev**.h](h Registers a frame buffer device }(hjhhhNhNubja)}(h **fb_info**h]hfb_info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubh to device }(hjhhhNhNubja)}(h**dev**h]hdev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjubh)}(h5Returns negative errno on error, or zero for success.h]h5Returns negative errno on error, or zero for success.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjubeh}(h]h ]h"]h$]h&]uh1jhj1hMhjLubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhjhhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_set_suspend (C function)c.fb_set_suspendhNtauh1j$hjhhhNhNubj6)}(hhh](j;)}(h5void fb_set_suspend (struct fb_info *info, int state)h]jA)}(h4void fb_set_suspend(struct fb_info *info, int state)h](jG)}(hvoidh]hvoid}(hjghhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhjchhhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMubjY)}(h h]h }(hjvhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjchhhjuhMubjj)}(hfb_set_suspendh]jp)}(hfb_set_suspendh]hfb_set_suspend}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ](jjeh"]h$]h&]jjuh1jihjchhhjuhMubj)}(h!(struct fb_info *info, int state)h](j)}(hstruct fb_info *infoh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjubh)}(hhh]jp)}(hfb_infoh]hfb_info}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.fb_set_suspendasbuh1hhjubjY)}(h h]h }(hjhhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjp)}(hinfoh]hinfo}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubj)}(h int stateh](jG)}(hinth]hint}(hjhhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhjubjY)}(h h]h }(hj$hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjubjp)}(hstateh]hstate}(hj2hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjubeh}(h]h ]h"]h$]h&]jjuh1jhjchhhjuhMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj_hhhjuhMubah}(h]jZah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjuhMhj\hhubj0)}(hhh]h)}(h low level driver signals suspendh]h low level driver signals suspend}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjYhhubah}(h]h ]h"]h$]h&]uh1j/hj\hhhjuhMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQjtjRjtjSjTjUuh1j5hhhjhNhNubjW)}(hX **Parameters** ``struct fb_info *info`` framebuffer affected ``int state`` 0 = resuming, !=0 = suspending **Description** This is meant to be used by low level drivers to signal suspend/resume to the core & clients. It must be called with the console semaphore heldh](h)}(h**Parameters**h]ja)}(hj~h]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj|ubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjxubjw)}(hhh](j|)}(h.``struct fb_info *info`` framebuffer affected h](j)}(h``struct fb_info *info``h]j)}(hjh]hstruct fb_info *info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjubj)}(hhh]h)}(hframebuffer affectedh]hframebuffer affected}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjhMhjubj|)}(h-``int state`` 0 = resuming, !=0 = suspending h](j)}(h ``int state``h]j)}(hjh]h int state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjubj)}(hhh]h)}(h0 = resuming, !=0 = suspendingh]h0 = resuming, !=0 = suspending}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjhMhjubeh}(h]h ]h"]h$]h&]uh1jvhjxubh)}(h**Description**h]ja)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj ubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjxubj)}(hThis is meant to be used by low level drivers to signal suspend/resume to the core & clients. It must be called with the console semaphore heldh]h)}(hThis is meant to be used by low level drivers to signal suspend/resume to the core & clients. It must be called with the console semaphore heldh]hThis is meant to be used by low level drivers to signal suspend/resume to the core & clients. It must be called with the console semaphore held}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhj' ubah}(h]h ]h"]h$]h&]uh1jhj9 hMhjxubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhjhhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_switch_outputs (C function)c.fb_switch_outputshNtauh1j$hjhhhNhNubj6)}(hhh](j;)}(h-void fb_switch_outputs (struct fb_info *info)h]jA)}(h,void fb_switch_outputs(struct fb_info *info)h](jG)}(hvoidh]hvoid}(hj` hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj\ hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMubjY)}(h h]h }(hjo hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj\ hhhjn hMubjj)}(hfb_switch_outputsh]jp)}(hfb_switch_outputsh]hfb_switch_outputs}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj} ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj\ hhhjn hMubj)}(h(struct fb_info *info)h]j)}(hstruct fb_info *infoh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubh)}(hhh]jp)}(hfb_infoh]hfb_info}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jj sbc.fb_switch_outputsasbuh1hhj ubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjp)}(hinfoh]hinfo}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj ubah}(h]h ]h"]h$]h&]jjuh1jhj\ hhhjn hMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hjX hhhjn hMubah}(h]jS ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjn hMhjU hhubj0)}(hhh]h)}(h/framebuffer got the outputs from vga-switcherooh]h/framebuffer got the outputs from vga-switcheroo}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhj hhubah}(h]h ]h"]h$]h&]uh1j/hjU hhhjn hMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj8 jRj8 jSjTjUuh1j5hhhjhNhNubjW)}(h6**Parameters** ``struct fb_info *info`` framebufferh](h)}(h**Parameters**h]ja)}(hjB h]h Parameters}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj@ ubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhj< ubjw)}(hhh]j|)}(h$``struct fb_info *info`` framebufferh](j)}(h``struct fb_info *info``h]j)}(hja h]hstruct fb_info *info}(hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhj[ ubj)}(hhh]h)}(h framebufferh]h framebuffer}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhh/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:34: ./drivers/video/fbdev/core/fbmem.chMhjw ubah}(h]h ]h"]h$]h&]uh1jhj[ ubeh}(h]h ]h"]h$]h&]uh1j{hjv hMhjX ubah}(h]h ]h"]h$]h&]uh1jvhj< ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhjhhhNhNubeh}(h]frame-buffer-memoryah ]h"]frame buffer memoryah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hFrame Buffer Colormaph]hFrame Buffer Colormap}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK&ubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_dealloc_cmap (C function)c.fb_dealloc_cmaphNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(h+void fb_dealloc_cmap (struct fb_cmap *cmap)h]jA)}(h*void fb_dealloc_cmap(struct fb_cmap *cmap)h](jG)}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj hhhj hKubjj)}(hfb_dealloc_cmaph]jp)}(hfb_dealloc_cmaph]hfb_dealloc_cmap}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj hhhj hKubj)}(h(struct fb_cmap *cmap)h]j)}(hstruct fb_cmap *cmaph](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubh)}(hhh]jp)}(hfb_cmaph]hfb_cmap}(hj/ hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj, ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj1 modnameN classnameNjj)}j]j)}jj sbc.fb_dealloc_cmapasbuh1hhj ubjY)}(h h]h }(hjO hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubj)}(hjh]h*}(hj] hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjp)}(hcmaph]hcmap}(hjj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj ubah}(h]h ]h"]h$]h&]jjuh1jhj hhhj hKubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj hhhj hKubah}(h]j ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj hKhj hhubj0)}(hhh]h)}(hdeallocate a colormaph]hdeallocate a colormap}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj hhubah}(h]h ]h"]h$]h&]uh1j/hj hhhj hKubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj jRj jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``struct fb_cmap *cmap`` frame buffer colormap structure **Description** Deallocates a colormap that was previously allocated with fb_alloc_cmap().h](h)}(h**Parameters**h]ja)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj ubjw)}(hhh]j|)}(h9``struct fb_cmap *cmap`` frame buffer colormap structure h](j)}(h``struct fb_cmap *cmap``h]j)}(hj h]hstruct fb_cmap *cmap}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj ubj)}(hhh]h)}(hframe buffer colormap structureh]hframe buffer colormap structure}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j{hj hKhj ubah}(h]h ]h"]h$]h&]uh1jvhj ubh)}(h**Description**h]ja)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj ubj)}(hJDeallocates a colormap that was previously allocated with fb_alloc_cmap().h]h)}(hJDeallocates a colormap that was previously allocated with fb_alloc_cmap().h]hJDeallocates a colormap that was previously allocated with fb_alloc_cmap().}(hj* hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj& ubah}(h]h ]h"]h$]h&]uh1jhj8 hKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_copy_cmap (C function)c.fb_copy_cmaphNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hAint fb_copy_cmap (const struct fb_cmap *from, struct fb_cmap *to)h]jA)}(h@int fb_copy_cmap(const struct fb_cmap *from, struct fb_cmap *to)h](jG)}(hinth]hint}(hj_ hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj[ hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKubjY)}(h h]h }(hjn hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj[ hhhjm hKubjj)}(h fb_copy_cmaph]jp)}(h fb_copy_cmaph]h fb_copy_cmap}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj| ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj[ hhhjm hKubj)}(h0(const struct fb_cmap *from, struct fb_cmap *to)h](j)}(hconst struct fb_cmap *fromh](j)}(hconsth]hconst}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubj)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubh)}(hhh]jp)}(hfb_cmaph]hfb_cmap}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jj sbc.fb_copy_cmapasbuh1hhj ubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjp)}(hfromh]hfrom}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj ubj)}(hstruct fb_cmap *toh](j)}(hjh]hstruct}(hj* hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj& ubjY)}(h h]h }(hj7 hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj& ubh)}(hhh]jp)}(hfb_cmaph]hfb_cmap}(hjH hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjE ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjJ modnameN classnameNjj)}j]j c.fb_copy_cmapasbuh1hhj& ubjY)}(h h]h }(hjf hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj& ubj)}(hjh]h*}(hjt hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj& ubjp)}(htoh]hto}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj& ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj ubeh}(h]h ]h"]h$]h&]jjuh1jhj[ hhhjm hKubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hjW hhhjm hKubah}(h]jR ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjm hKhjT hhubj0)}(hhh]h)}(hcopy a colormaph]hcopy a colormap}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj hhubah}(h]h ]h"]h$]h&]uh1j/hjT hhhjm hKubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj jRj jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``const struct fb_cmap *from`` frame buffer colormap structure ``struct fb_cmap *to`` frame buffer colormap structure **Description** Copy contents of colormap from **from** to **to**.h](h)}(h**Parameters**h]ja)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj ubjw)}(hhh](j|)}(h?``const struct fb_cmap *from`` frame buffer colormap structure h](j)}(h``const struct fb_cmap *from``h]j)}(hj h]hconst struct fb_cmap *from}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj ubj)}(hhh]h)}(hframe buffer colormap structureh]hframe buffer colormap structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j{hjhKhj ubj|)}(h7``struct fb_cmap *to`` frame buffer colormap structure h](j)}(h``struct fb_cmap *to``h]j)}(hj%h]hstruct fb_cmap *to}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhjubj)}(hhh]h)}(hframe buffer colormap structureh]hframe buffer colormap structure}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:hKhj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hj:hKhj ubeh}(h]h ]h"]h$]h&]uh1jvhj ubh)}(h**Description**h]ja)}(hj`h]h Description}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj^ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhj ubj)}(h2Copy contents of colormap from **from** to **to**.h]h)}(hjxh](hCopy contents of colormap from }(hjzhhhNhNubja)}(h**from**h]hfrom}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjzubh to }(hjzhhhNhNubja)}(h**to**h]hto}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjzubh.}(hjzhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:40: ./drivers/video/fbdev/core/fbcmap.chKhjvubah}(h]h ]h"]h$]h&]uh1jhjhKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_set_cmap (C function) c.fb_set_cmaphNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hx[M][R][-][@][i][p][m] or :: [-][@] with , , and decimal numbers and a string. If 'M' is present after yres (and before refresh/bpp if present), the function will compute the timings using VESA(tm) Coordinated Video Timings (CVT). If 'R' is present after 'M', will compute with reduced blanking (for flatpanels). If 'i' or 'p' are present, compute interlaced or progressive mode. If 'm' is present, add margins equal to 1.8% of xres rounded down to 8 pixels, and 1.8% of yres. The char 'i', 'p' and 'm' must be after 'M' and 'R'. Example:: 1024x768MR-8@60m - Reduced blank with margins at 60Hz. **NOTE** The passed struct **var** is _not_ cleared! This allows you to supply values for e.g. the grayscale and accel_flags fields. Returns zero for failure, 1 if using specified **mode_option**, 2 if using specified **mode_option** with an ignored refresh rate, 3 if default mode is used, 4 if fall back to any valid mode.h](h)}(h**Parameters**h]ja)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMHhjubjw)}(hhh](j|)}(hL``struct fb_var_screeninfo *var`` frame buffer user defined part of display h](j)}(h!``struct fb_var_screeninfo *var``h]j)}(hjh]hstruct fb_var_screeninfo *var}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMEhjubj)}(hhh]h)}(h)frame buffer user defined part of displayh]h)frame buffer user defined part of display}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMEhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjhMEhjubj|)}(h5``struct fb_info *info`` frame buffer info structure h](j)}(h``struct fb_info *info``h]j)}(hjh]hstruct fb_info *info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMFhjubj)}(hhh]h)}(hframe buffer info structureh]hframe buffer info structure}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMFhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjhMFhjubj|)}(h6``const char *mode_option`` string video mode to find h](j)}(h``const char *mode_option``h]j)}(hj*h]hconst char *mode_option}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMGhj$ubj)}(hhh]h)}(hstring video mode to findh]hstring video mode to find}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hMGhj@ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1j{hj?hMGhjubj|)}(h6``const struct fb_videomode *db`` video mode database h](j)}(h!``const struct fb_videomode *db``h]j)}(hjch]hconst struct fb_videomode *db}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMHhj]ubj)}(hhh]h)}(hvideo mode databaseh]hvideo mode database}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhMHhjyubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1j{hjxhMHhjubj|)}(h'``unsigned int dbsize`` size of **db** h](j)}(h``unsigned int dbsize``h]j)}(hjh]hunsigned int dbsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMIhjubj)}(hhh]h)}(hsize of **db**h](hsize of }(hjhhhNhNubja)}(h**db**h]hdb}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ]h"]h$]h&]uh1hhjhMIhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjhMIhjubj|)}(hO``const struct fb_videomode *default_mode`` default video mode to fall back to h](j)}(h+``const struct fb_videomode *default_mode``h]j)}(hjh]h'const struct fb_videomode *default_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMJhjubj)}(hhh]h)}(h"default video mode to fall back toh]h"default video mode to fall back to}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMJhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjhMJhjubj|)}(hC``unsigned int default_bpp`` default color depth in bits per pixel h](j)}(h``unsigned int default_bpp``h]j)}(hjh]hunsigned int default_bpp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMKhjubj)}(hhh]h)}(h%default color depth in bits per pixelh]h%default color depth in bits per pixel}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hMKhj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hj1hMKhjubeh}(h]h ]h"]h$]h&]uh1jvhjubh)}(h**Description**h]ja)}(hjWh]h Description}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjUubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMMhjubh)}(hFinds a suitable video mode, starting with the specified mode in **mode_option** with fallback to **default_mode**. If **default_mode** fails, all modes in the video mode database will be tried.h](hAFinds a suitable video mode, starting with the specified mode in }(hjmhhhNhNubja)}(h**mode_option**h]h mode_option}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjmubh with fallback to }(hjmhhhNhNubja)}(h**default_mode**h]h default_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjmubh. If }(hjmhhhNhNubja)}(h**default_mode**h]h default_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjmubh; fails, all modes in the video mode database will be tried.}(hjmhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMLhjubh)}(h+Valid mode specifiers for **mode_option**::h](hValid mode specifiers for }(hjhhhNhNubja)}(h**mode_option**h]h mode_option}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMQhjubh literal_block)}(h0x[M][R][-][@][i][p][m]h]h0x[M][R][-][@][i][p][m]}hjsbah}(h]h ]h"]h$]h&]jjuh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMShjubh)}(hor ::h]hor}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMUhjubj)}(h[-][@]h]h[-][@]}hjsbah}(h]h ]h"]h$]h&]jjuh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMWhjubh)}(hMwith , , and decimal numbers and a string.h]hMwith , , and decimal numbers and a string.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMYhjubh)}(hXIf 'M' is present after yres (and before refresh/bpp if present), the function will compute the timings using VESA(tm) Coordinated Video Timings (CVT). If 'R' is present after 'M', will compute with reduced blanking (for flatpanels). If 'i' or 'p' are present, compute interlaced or progressive mode. If 'm' is present, add margins equal to 1.8% of xres rounded down to 8 pixels, and 1.8% of yres. The char 'i', 'p' and 'm' must be after 'M' and 'R'. Example::h]hXIf ‘M’ is present after yres (and before refresh/bpp if present), the function will compute the timings using VESA(tm) Coordinated Video Timings (CVT). If ‘R’ is present after ‘M’, will compute with reduced blanking (for flatpanels). If ‘i’ or ‘p’ are present, compute interlaced or progressive mode. If ‘m’ is present, add margins equal to 1.8% of xres rounded down to 8 pixels, and 1.8% of yres. The char ‘i’, ‘p’ and ‘m’ must be after ‘M’ and ‘R’. Example:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chM\hjubj)}(h61024x768MR-8@60m - Reduced blank with margins at 60Hz.h]h61024x768MR-8@60m - Reduced blank with margins at 60Hz.}hj sbah}(h]h ]h"]h$]h&]jjuh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMdhjubh)}(h**NOTE**h]ja)}(hj1 h]hNOTE}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj/ ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMfhjubh)}(h|The passed struct **var** is _not_ cleared! This allows you to supply values for e.g. the grayscale and accel_flags fields.h](hThe passed struct }(hjG hhhNhNubja)}(h**var**h]hvar}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjG ubhc is _not_ cleared! This allows you to supply values for e.g. the grayscale and accel_flags fields.}(hjG hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMghjubh)}(hReturns zero for failure, 1 if using specified **mode_option**, 2 if using specified **mode_option** with an ignored refresh rate, 3 if default mode is used, 4 if fall back to any valid mode.h](h/Returns zero for failure, 1 if using specified }(hjh hhhNhNubja)}(h**mode_option**h]h mode_option}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjh ubh, 2 if using specified }(hjh hhhNhNubja)}(h**mode_option**h]h mode_option}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjh ubh[ with an ignored refresh rate, 3 if default mode is used, 4 if fall back to any valid mode.}(hjh hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMjhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1 fb_var_to_videomode (C function)c.fb_var_to_videomodehNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hYvoid fb_var_to_videomode (struct fb_videomode *mode, const struct fb_var_screeninfo *var)h]jA)}(hXvoid fb_var_to_videomode(struct fb_videomode *mode, const struct fb_var_screeninfo *var)h](jG)}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMSubjY)}(h h]h }(hj hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj hhhj hMSubjj)}(hfb_var_to_videomodeh]jp)}(hfb_var_to_videomodeh]hfb_var_to_videomode}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj hhhj hMSubj)}(h@(struct fb_videomode *mode, const struct fb_var_screeninfo *var)h](j)}(hstruct fb_videomode *modeh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjY)}(h h]h }(hj!hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj!hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]j)}jj sbc.fb_var_to_videomodeasbuh1hhj ubjY)}(h h]h }(hj6!hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ubj)}(hjh]h*}(hjD!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjp)}(hmodeh]hmode}(hjQ!hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj ubj)}(h#const struct fb_var_screeninfo *varh](j)}(hj h]hconst}(hjj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjf!ubjY)}(h h]h }(hjw!hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjf!ubj)}(hjh]hstruct}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjf!ubjY)}(h h]h }(hj!hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjf!ubh)}(hhh]jp)}(hfb_var_screeninfoh]hfb_var_screeninfo}(hj!hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]j2!c.fb_var_to_videomodeasbuh1hhjf!ubjY)}(h h]h }(hj!hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjf!ubj)}(hjh]h*}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjf!ubjp)}(hvarh]hvar}(hj!hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjf!ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj ubeh}(h]h ]h"]h$]h&]jjuh1jhj hhhj hMSubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj hhhj hMSubah}(h]j ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj hMShj hhubj0)}(hhh]h)}(h)convert fb_var_screeninfo to fb_videomodeh]h)convert fb_var_screeninfo to fb_videomode}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMShj"hhubah}(h]h ]h"]h$]h&]uh1j/hj hhhj hMSubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj"jRj"jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``struct fb_videomode *mode`` pointer to struct fb_videomode ``const struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfoh](h)}(h**Parameters**h]ja)}(hj("h]h Parameters}(hj*"hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj&"ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMWhj""ubjw)}(hhh](j|)}(h=``struct fb_videomode *mode`` pointer to struct fb_videomode h](j)}(h``struct fb_videomode *mode``h]j)}(hjG"h]hstruct fb_videomode *mode}(hjI"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE"ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMThjA"ubj)}(hhh]h)}(hpointer to struct fb_videomodeh]hpointer to struct fb_videomode}(hj`"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\"hMThj]"ubah}(h]h ]h"]h$]h&]uh1jhjA"ubeh}(h]h ]h"]h$]h&]uh1j{hj\"hMThj>"ubj|)}(hK``const struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfoh](j)}(h'``const struct fb_var_screeninfo *var``h]j)}(hj"h]h#const struct fb_var_screeninfo *var}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~"ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMVhjz"ubj)}(hhh]h)}(h#pointer to struct fb_var_screeninfoh]h#pointer to struct fb_var_screeninfo}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMUhj"ubah}(h]h ]h"]h$]h&]uh1jhjz"ubeh}(h]h ]h"]h$]h&]uh1j{hj"hMVhj>"ubeh}(h]h ]h"]h$]h&]uh1jvhj""ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1 fb_videomode_to_var (C function)c.fb_videomode_to_varhNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hYvoid fb_videomode_to_var (struct fb_var_screeninfo *var, const struct fb_videomode *mode)h]jA)}(hXvoid fb_videomode_to_var(struct fb_var_screeninfo *var, const struct fb_videomode *mode)h](jG)}(hvoidh]hvoid}(hj"hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj"hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMubjY)}(h h]h }(hj"hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj"hhhj"hMubjj)}(hfb_videomode_to_varh]jp)}(hfb_videomode_to_varh]hfb_videomode_to_var}(hj"hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj"ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj"hhhj"hMubj)}(h@(struct fb_var_screeninfo *var, const struct fb_videomode *mode)h](j)}(hstruct fb_var_screeninfo *varh](j)}(hjh]hstruct}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjY)}(h h]h }(hj$#hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj#ubh)}(hhh]jp)}(hfb_var_screeninfoh]hfb_var_screeninfo}(hj5#hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj2#ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj7#modnameN classnameNjj)}j]j)}jj"sbc.fb_videomode_to_varasbuh1hhj#ubjY)}(h h]h }(hjU#hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj#ubj)}(hjh]h*}(hjc#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjp)}(hvarh]hvar}(hjp#hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj#ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj#ubj)}(hconst struct fb_videomode *modeh](j)}(hj h]hconst}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjY)}(h h]h }(hj#hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj#ubj)}(hjh]hstruct}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjY)}(h h]h }(hj#hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj#ubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj#hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj#ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj#modnameN classnameNjj)}j]jQ#c.fb_videomode_to_varasbuh1hhj#ubjY)}(h h]h }(hj#hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj#ubj)}(hjh]h*}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjp)}(hmodeh]hmode}(hj#hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj#ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj#ubeh}(h]h ]h"]h$]h&]jjuh1jhj"hhhj"hMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj"hhhj"hMubah}(h]j"ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj"hMhj"hhubj0)}(hhh]h)}(h)convert fb_videomode to fb_var_screeninfoh]h)convert fb_videomode to fb_var_screeninfo}(hj%$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj"$hhubah}(h]h ]h"]h$]h&]uh1j/hj"hhhj"hMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj=$jRj=$jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfo ``const struct fb_videomode *mode`` pointer to struct fb_videomodeh](h)}(h**Parameters**h]ja)}(hjG$h]h Parameters}(hjI$hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjE$ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhjA$ubjw)}(hhh](j|)}(hF``struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfo h](j)}(h!``struct fb_var_screeninfo *var``h]j)}(hjf$h]hstruct fb_var_screeninfo *var}(hjh$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjd$ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj`$ubj)}(hhh]h)}(h#pointer to struct fb_var_screeninfoh]h#pointer to struct fb_var_screeninfo}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{$hMhj|$ubah}(h]h ]h"]h$]h&]uh1jhj`$ubeh}(h]h ]h"]h$]h&]uh1j{hj{$hMhj]$ubj|)}(hB``const struct fb_videomode *mode`` pointer to struct fb_videomodeh](j)}(h#``const struct fb_videomode *mode``h]j)}(hj$h]hconst struct fb_videomode *mode}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj$ubj)}(hhh]h)}(hpointer to struct fb_videomodeh]hpointer to struct fb_videomode}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1j{hj$hMhj]$ubeh}(h]h ]h"]h$]h&]uh1jvhjA$ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_mode_is_equal (C function)c.fb_mode_is_equalhNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hYint fb_mode_is_equal (const struct fb_videomode *mode1, const struct fb_videomode *mode2)h]jA)}(hXint fb_mode_is_equal(const struct fb_videomode *mode1, const struct fb_videomode *mode2)h](jG)}(hinth]hint}(hj$hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj$hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMubjY)}(h h]h }(hj%hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj$hhhj%hMubjj)}(hfb_mode_is_equalh]jp)}(hfb_mode_is_equalh]hfb_mode_is_equal}(hj%hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj%ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj$hhhj%hMubj)}(hD(const struct fb_videomode *mode1, const struct fb_videomode *mode2)h](j)}(h const struct fb_videomode *mode1h](j)}(hj h]hconst}(hj6%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2%ubjY)}(h h]h }(hjC%hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj2%ubj)}(hjh]hstruct}(hjQ%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2%ubjY)}(h h]h }(hj^%hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj2%ubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hjo%hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjl%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjq%modnameN classnameNjj)}j]j)}jj%sbc.fb_mode_is_equalasbuh1hhj2%ubjY)}(h h]h }(hj%hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj2%ubj)}(hjh]h*}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2%ubjp)}(hmode1h]hmode1}(hj%hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj2%ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj.%ubj)}(h const struct fb_videomode *mode2h](j)}(hj h]hconst}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjY)}(h h]h }(hj%hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj%ubj)}(hjh]hstruct}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjY)}(h h]h }(hj%hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj%ubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj%hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNjj)}j]j%c.fb_mode_is_equalasbuh1hhj%ubjY)}(h h]h }(hj&hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj%ubj)}(hjh]h*}(hj(&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjp)}(hmode2h]hmode2}(hj5&hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj%ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj.%ubeh}(h]h ]h"]h$]h&]jjuh1jhj$hhhj%hMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj$hhhj%hMubah}(h]j$ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj%hMhj$hhubj0)}(hhh]h)}(hcompare 2 videomodesh]hcompare 2 videomodes}(hj_&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj\&hhubah}(h]h ]h"]h$]h&]uh1j/hj$hhhj%hMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQjw&jRjw&jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``const struct fb_videomode *mode1`` first videomode ``const struct fb_videomode *mode2`` second videomode **Return** 1 if equal, 0 if noth](h)}(h**Parameters**h]ja)}(hj&h]h Parameters}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj&ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj{&ubjw)}(hhh](j|)}(h5``const struct fb_videomode *mode1`` first videomode h](j)}(h$``const struct fb_videomode *mode1``h]j)}(hj&h]h const struct fb_videomode *mode1}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj&ubj)}(hhh]h)}(hfirst videomodeh]hfirst videomode}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1j{hj&hMhj&ubj|)}(h6``const struct fb_videomode *mode2`` second videomode h](j)}(h$``const struct fb_videomode *mode2``h]j)}(hj&h]h const struct fb_videomode *mode2}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj&ubj)}(hhh]h)}(hsecond videomodeh]hsecond videomode}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1j{hj&hMhj&ubeh}(h]h ]h"]h$]h&]uh1jvhj{&ubh)}(h **Return**h]ja)}(hj'h]hReturn}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj'ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj{&ubh)}(h1 if equal, 0 if noth]h1 if equal, 0 if not}(hj*'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj{&ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_find_best_mode (C function)c.fb_find_best_modehNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hkconst struct fb_videomode * fb_find_best_mode (const struct fb_var_screeninfo *var, struct list_head *head)h]jA)}(hiconst struct fb_videomode *fb_find_best_mode(const struct fb_var_screeninfo *var, struct list_head *head)h](j)}(hj h]hconst}(hjY'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjU'hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMubjY)}(h h]h }(hjg'hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjU'hhhjf'hMubj)}(hjh]hstruct}(hju'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjU'hhhjf'hMubjY)}(h h]h }(hj'hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjU'hhhjf'hMubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj'hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj'ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'modnameN classnameNjj)}j]j)}jfb_find_best_modesbc.fb_find_best_modeasbuh1hhjU'hhhjf'hMubjY)}(h h]h }(hj'hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjU'hhhjf'hMubj)}(hjh]h*}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjU'hhhjf'hMubjj)}(hfb_find_best_modeh]jp)}(hj'h]hfb_find_best_mode}(hj'hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj'ubah}(h]h ](jjeh"]h$]h&]jjuh1jihjU'hhhjf'hMubj)}(h=(const struct fb_var_screeninfo *var, struct list_head *head)h](j)}(h#const struct fb_var_screeninfo *varh](j)}(hj h]hconst}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubjY)}(h h]h }(hj'hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj'ubj)}(hjh]hstruct}(hj (hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubjY)}(h h]h }(hj(hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj'ubh)}(hhh]jp)}(hfb_var_screeninfoh]hfb_var_screeninfo}(hj'(hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj$(ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj)(modnameN classnameNjj)}j]j'c.fb_find_best_modeasbuh1hhj'ubjY)}(h h]h }(hjE(hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj'ubj)}(hjh]h*}(hjS(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubjp)}(hvarh]hvar}(hj`(hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj'ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj'ubj)}(hstruct list_head *headh](j)}(hjh]hstruct}(hjy(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhju(ubjY)}(h h]h }(hj(hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhju(ubh)}(hhh]jp)}(h list_headh]h list_head}(hj(hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj(ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj(modnameN classnameNjj)}j]j'c.fb_find_best_modeasbuh1hhju(ubjY)}(h h]h }(hj(hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhju(ubj)}(hjh]h*}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhju(ubjp)}(hheadh]hhead}(hj(hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johju(ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj'ubeh}(h]h ]h"]h$]h&]jjuh1jhjU'hhhjf'hMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hjQ'hhhjf'hMubah}(h]jL'ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjf'hMhjN'hhubj0)}(hhh]h)}(hfind best matching videomodeh]hfind best matching videomode}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj(hhubah}(h]h ]h"]h$]h&]uh1j/hjN'hhhjf'hMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj)jRj)jSjTjUuh1j5hhhj hNhNubjW)}(hX**Parameters** ``const struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfo ``struct list_head *head`` pointer to struct list_head of modelist **Return** struct fb_videomode, NULL if none found **Description** IMPORTANT: This function assumes that all modelist entries in info->modelist are valid. **NOTES** Finds best matching videomode which has an equal or greater dimension than var->xres and var->yres. If more than 1 videomode is found, will return the videomode with the highest refresh rateh](h)}(h**Parameters**h]ja)}(hj)h]h Parameters}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj)ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj)ubjw)}(hhh](j|)}(hL``const struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfo h](j)}(h'``const struct fb_var_screeninfo *var``h]j)}(hj;)h]h#const struct fb_var_screeninfo *var}(hj=)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9)ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj5)ubj)}(hhh]h)}(h#pointer to struct fb_var_screeninfoh]h#pointer to struct fb_var_screeninfo}(hjT)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP)hMhjQ)ubah}(h]h ]h"]h$]h&]uh1jhj5)ubeh}(h]h ]h"]h$]h&]uh1j{hjP)hMhj2)ubj|)}(hC``struct list_head *head`` pointer to struct list_head of modelist h](j)}(h``struct list_head *head``h]j)}(hjt)h]hstruct list_head *head}(hjv)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjr)ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhjn)ubj)}(hhh]h)}(h'pointer to struct list_head of modelisth]h'pointer to struct list_head of modelist}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hMhj)ubah}(h]h ]h"]h$]h&]uh1jhjn)ubeh}(h]h ]h"]h$]h&]uh1j{hj)hMhj2)ubeh}(h]h ]h"]h$]h&]uh1jvhj)ubh)}(h **Return**h]ja)}(hj)h]hReturn}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj)ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj)ubh)}(h'struct fb_videomode, NULL if none foundh]h'struct fb_videomode, NULL if none found}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj)ubh)}(h**Description**h]ja)}(hj)h]h Description}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj)ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj)ubh)}(hWIMPORTANT: This function assumes that all modelist entries in info->modelist are valid.h]hWIMPORTANT: This function assumes that all modelist entries in info->modelist are valid.}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj)ubh)}(h **NOTES**h]ja)}(hj)h]hNOTES}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj)ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj)ubh)}(hFinds best matching videomode which has an equal or greater dimension than var->xres and var->yres. If more than 1 videomode is found, will return the videomode with the highest refresh rateh]hFinds best matching videomode which has an equal or greater dimension than var->xres and var->yres. If more than 1 videomode is found, will return the videomode with the highest refresh rate}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj)ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1!fb_find_nearest_mode (C function)c.fb_find_nearest_modehNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hjconst struct fb_videomode * fb_find_nearest_mode (const struct fb_videomode *mode, struct list_head *head)h]jA)}(hhconst struct fb_videomode *fb_find_nearest_mode(const struct fb_videomode *mode, struct list_head *head)h](j)}(hj h]hconst}(hjB*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>*hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMubjY)}(h h]h }(hjP*hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj>*hhhjO*hMubj)}(hjh]hstruct}(hj^*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>*hhhjO*hMubjY)}(h h]h }(hjk*hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj>*hhhjO*hMubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj|*hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjy*ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj~*modnameN classnameNjj)}j]j)}jfb_find_nearest_modesbc.fb_find_nearest_modeasbuh1hhj>*hhhjO*hMubjY)}(h h]h }(hj*hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj>*hhhjO*hMubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>*hhhjO*hMubjj)}(hfb_find_nearest_modeh]jp)}(hj*h]hfb_find_nearest_mode}(hj*hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj*ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj>*hhhjO*hMubj)}(h9(const struct fb_videomode *mode, struct list_head *head)h](j)}(hconst struct fb_videomode *modeh](j)}(hj h]hconst}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubjY)}(h h]h }(hj*hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj*ubj)}(hjh]hstruct}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubjY)}(h h]h }(hj*hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj*ubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj+hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj +ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj+modnameN classnameNjj)}j]j*c.fb_find_nearest_modeasbuh1hhj*ubjY)}(h h]h }(hj.+hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj*ubj)}(hjh]h*}(hj<+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubjp)}(hmodeh]hmode}(hjI+hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj*ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj*ubj)}(hstruct list_head *headh](j)}(hjh]hstruct}(hjb+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^+ubjY)}(h h]h }(hjo+hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj^+ubh)}(hhh]jp)}(h list_headh]h list_head}(hj+hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj}+ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj+modnameN classnameNjj)}j]j*c.fb_find_nearest_modeasbuh1hhj^+ubjY)}(h h]h }(hj+hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj^+ubj)}(hjh]h*}(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^+ubjp)}(hheadh]hhead}(hj+hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj^+ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj*ubeh}(h]h ]h"]h$]h&]jjuh1jhj>*hhhjO*hMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj:*hhhjO*hMubah}(h]j5*ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjO*hMhj7*hhubj0)}(hhh]h)}(hfind closest videomodeh]hfind closest videomode}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj+hhubah}(h]h ]h"]h$]h&]uh1j/hj7*hhhjO*hMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj+jRj+jSjTjUuh1j5hhhj hNhNubjW)}(hX4**Parameters** ``const struct fb_videomode *mode`` pointer to struct fb_videomode ``struct list_head *head`` pointer to modelist **Description** Finds best matching videomode, smaller or greater in dimension. If more than 1 videomode is found, will return the videomode with the closest refresh rate.h](h)}(h**Parameters**h]ja)}(hj,h]h Parameters}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj,ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj+ubjw)}(hhh](j|)}(hC``const struct fb_videomode *mode`` pointer to struct fb_videomode h](j)}(h#``const struct fb_videomode *mode``h]j)}(hj$,h]hconst struct fb_videomode *mode}(hj&,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj",ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj,ubj)}(hhh]h)}(hpointer to struct fb_videomodeh]hpointer to struct fb_videomode}(hj=,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9,hMhj:,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1j{hj9,hMhj,ubj|)}(h/``struct list_head *head`` pointer to modelist h](j)}(h``struct list_head *head``h]j)}(hj],h]hstruct list_head *head}(hj_,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[,ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhjW,ubj)}(hhh]h)}(hpointer to modelisth]hpointer to modelist}(hjv,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr,hMhjs,ubah}(h]h ]h"]h$]h&]uh1jhjW,ubeh}(h]h ]h"]h$]h&]uh1j{hjr,hMhj,ubeh}(h]h ]h"]h$]h&]uh1jvhj+ubh)}(h**Description**h]ja)}(hj,h]h Description}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj,ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj+ubh)}(hFinds best matching videomode, smaller or greater in dimension. If more than 1 videomode is found, will return the videomode with the closest refresh rate.h]hFinds best matching videomode, smaller or greater in dimension. If more than 1 videomode is found, will return the videomode with the closest refresh rate.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_match_mode (C function)c.fb_match_modehNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hgconst struct fb_videomode * fb_match_mode (const struct fb_var_screeninfo *var, struct list_head *head)h]jA)}(heconst struct fb_videomode *fb_match_mode(const struct fb_var_screeninfo *var, struct list_head *head)h](j)}(hj h]hconst}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMubjY)}(h h]h }(hj,hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj,hhhj,hMubj)}(hjh]hstruct}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,hhhj,hMubjY)}(h h]h }(hj-hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj,hhhj,hMubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj-hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj-ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj-modnameN classnameNjj)}j]j)}j fb_match_modesbc.fb_match_modeasbuh1hhj,hhhj,hMubjY)}(h h]h }(hj8-hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj,hhhj,hMubj)}(hjh]h*}(hjF-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,hhhj,hMubjj)}(h fb_match_modeh]jp)}(hj5-h]h fb_match_mode}(hjW-hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjS-ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj,hhhj,hMubj)}(h=(const struct fb_var_screeninfo *var, struct list_head *head)h](j)}(h#const struct fb_var_screeninfo *varh](j)}(hj h]hconst}(hjr-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjn-ubjY)}(h h]h }(hj-hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjn-ubj)}(hjh]hstruct}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjn-ubjY)}(h h]h }(hj-hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjn-ubh)}(hhh]jp)}(hfb_var_screeninfoh]hfb_var_screeninfo}(hj-hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj-ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj-modnameN classnameNjj)}j]j3-c.fb_match_modeasbuh1hhjn-ubjY)}(h h]h }(hj-hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjn-ubj)}(hjh]h*}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjn-ubjp)}(hvarh]hvar}(hj-hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjn-ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjj-ubj)}(hstruct list_head *headh](j)}(hjh]hstruct}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubjY)}(h h]h }(hj .hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj-ubh)}(hhh]jp)}(h list_headh]h list_head}(hj.hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj.ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj.modnameN classnameNjj)}j]j3-c.fb_match_modeasbuh1hhj-ubjY)}(h h]h }(hj9.hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj-ubj)}(hjh]h*}(hjG.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubjp)}(hheadh]hhead}(hjT.hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj-ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjj-ubeh}(h]h ]h"]h$]h&]jjuh1jhj,hhhj,hMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj,hhhj,hMubah}(h]j,ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj,hMhj,hhubj0)}(hhh]h)}(h9find a videomode which exactly matches the timings in varh]h9find a videomode which exactly matches the timings in var}(hj~.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj{.hhubah}(h]h ]h"]h$]h&]uh1j/hj,hhhj,hMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj.jRj.jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``const struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfo ``struct list_head *head`` pointer to struct list_head of modelist **Return** struct fb_videomode, NULL if none foundh](h)}(h**Parameters**h]ja)}(hj.h]h Parameters}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj.ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj.ubjw)}(hhh](j|)}(hL``const struct fb_var_screeninfo *var`` pointer to struct fb_var_screeninfo h](j)}(h'``const struct fb_var_screeninfo *var``h]j)}(hj.h]h#const struct fb_var_screeninfo *var}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj.ubj)}(hhh]h)}(h#pointer to struct fb_var_screeninfoh]h#pointer to struct fb_var_screeninfo}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hMhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1j{hj.hMhj.ubj|)}(hC``struct list_head *head`` pointer to struct list_head of modelist h](j)}(h``struct list_head *head``h]j)}(hj.h]hstruct list_head *head}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj.ubj)}(hhh]h)}(h'pointer to struct list_head of modelisth]h'pointer to struct list_head of modelist}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj /hMhj/ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1j{hj /hMhj.ubeh}(h]h ]h"]h$]h&]uh1jvhj.ubh)}(h **Return**h]ja)}(hj3/h]hReturn}(hj5/hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj1/ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj.ubh)}(h'struct fb_videomode, NULL if none foundh]h'struct fb_videomode, NULL if none found}(hjI/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1fb_add_videomode (C function)c.fb_add_videomodehNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hNint fb_add_videomode (const struct fb_videomode *mode, struct list_head *head)h]jA)}(hMint fb_add_videomode(const struct fb_videomode *mode, struct list_head *head)h](jG)}(hinth]hint}(hjx/hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhjt/hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMubjY)}(h h]h }(hj/hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjt/hhhj/hMubjj)}(hfb_add_videomodeh]jp)}(hfb_add_videomodeh]hfb_add_videomode}(hj/hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj/ubah}(h]h ](jjeh"]h$]h&]jjuh1jihjt/hhhj/hMubj)}(h9(const struct fb_videomode *mode, struct list_head *head)h](j)}(hconst struct fb_videomode *modeh](j)}(hj h]hconst}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/ubjY)}(h h]h }(hj/hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj/ubj)}(hjh]hstruct}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/ubjY)}(h h]h }(hj/hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj/ubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj/hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj/ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj/modnameN classnameNjj)}j]j)}jj/sbc.fb_add_videomodeasbuh1hhj/ubjY)}(h h]h }(hj0hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj/ubj)}(hjh]h*}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/ubjp)}(hmodeh]hmode}(hj)0hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj/ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj/ubj)}(hstruct list_head *headh](j)}(hjh]hstruct}(hjB0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>0ubjY)}(h h]h }(hjO0hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj>0ubh)}(hhh]jp)}(h list_headh]h list_head}(hj`0hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj]0ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjb0modnameN classnameNjj)}j]j 0c.fb_add_videomodeasbuh1hhj>0ubjY)}(h h]h }(hj~0hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj>0ubj)}(hjh]h*}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>0ubjp)}(hheadh]hhead}(hj0hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj>0ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj/ubeh}(h]h ]h"]h$]h&]jjuh1jhjt/hhhj/hMubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hjp/hhhj/hMubah}(h]jk/ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj/hMhjm/hhubj0)}(hhh]h)}(h adds videomode entry to modelisth]h adds videomode entry to modelist}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj0hhubah}(h]h ]h"]h$]h&]uh1j/hjm/hhhj/hMubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj0jRj0jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``const struct fb_videomode *mode`` videomode to add ``struct list_head *head`` struct list_head of modelist **NOTES** Will only add unmatched mode entriesh](h)}(h**Parameters**h]ja)}(hj0h]h Parameters}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj0ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj0ubjw)}(hhh](j|)}(h5``const struct fb_videomode *mode`` videomode to add h](j)}(h#``const struct fb_videomode *mode``h]j)}(hj1h]hconst struct fb_videomode *mode}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj0ubj)}(hhh]h)}(hvideomode to addh]hvideomode to add}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hMhj1ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1j{hj1hMhj0ubj|)}(h8``struct list_head *head`` struct list_head of modelist h](j)}(h``struct list_head *head``h]j)}(hj=1h]hstruct list_head *head}(hj?1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;1ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj71ubj)}(hhh]h)}(hstruct list_head of modelisth]hstruct list_head of modelist}(hjV1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR1hMhjS1ubah}(h]h ]h"]h$]h&]uh1jhj71ubeh}(h]h ]h"]h$]h&]uh1j{hjR1hMhj0ubeh}(h]h ]h"]h$]h&]uh1jvhj0ubh)}(h **NOTES**h]ja)}(hjx1h]hNOTES}(hjz1hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hjv1ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj0ubh)}(h$Will only add unmatched mode entriesh]h$Will only add unmatched mode entries}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMhj0ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1 fb_destroy_modelist (C function)c.fb_destroy_modelisthNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(h1void fb_destroy_modelist (struct list_head *head)h]jA)}(h0void fb_destroy_modelist(struct list_head *head)h](jG)}(hvoidh]hvoid}(hj1hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj1hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMTubjY)}(h h]h }(hj1hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj1hhhj1hMTubjj)}(hfb_destroy_modelisth]jp)}(hfb_destroy_modelisth]hfb_destroy_modelist}(hj1hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj1ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj1hhhj1hMTubj)}(h(struct list_head *head)h]j)}(hstruct list_head *headh](j)}(hjh]hstruct}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubjY)}(h h]h }(hj2hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj1ubh)}(hhh]jp)}(h list_headh]h list_head}(hj2hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj2ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj2modnameN classnameNjj)}j]j)}jj1sbc.fb_destroy_modelistasbuh1hhj1ubjY)}(h h]h }(hj82hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj1ubj)}(hjh]h*}(hjF2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubjp)}(hheadh]hhead}(hjS2hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj1ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj1ubah}(h]h ]h"]h$]h&]jjuh1jhj1hhhj1hMTubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj1hhhj1hMTubah}(h]j1ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj1hMThj1hhubj0)}(hhh]h)}(hdestroy modelisth]hdestroy modelist}(hj}2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMThjz2hhubah}(h]h ]h"]h$]h&]uh1j/hj1hhhj1hMTubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj2jRj2jSjTjUuh1j5hhhj hNhNubjW)}(hI**Parameters** ``struct list_head *head`` struct list_head of modelisth](h)}(h**Parameters**h]ja)}(hj2h]h Parameters}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj2ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMXhj2ubjw)}(hhh]j|)}(h7``struct list_head *head`` struct list_head of modelisth](j)}(h``struct list_head *head``h]j)}(hj2h]hstruct list_head *head}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMZhj2ubj)}(hhh]h)}(hstruct list_head of modelisth]hstruct list_head of modelist}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMUhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1j{hj2hMZhj2ubah}(h]h ]h"]h$]h&]uh1jvhj2ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1%fb_videomode_to_modelist (C function)c.fb_videomode_to_modelisthNtauh1j$hj hhhNhNubj6)}(hhh](j;)}(hbvoid fb_videomode_to_modelist (const struct fb_videomode *modedb, int num, struct list_head *head)h]jA)}(havoid fb_videomode_to_modelist(const struct fb_videomode *modedb, int num, struct list_head *head)h](jG)}(hvoidh]hvoid}(hj3hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj3hhhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMcubjY)}(h h]h }(hj'3hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj3hhhj&3hMcubjj)}(hfb_videomode_to_modelisth]jp)}(hfb_videomode_to_modelisth]hfb_videomode_to_modelist}(hj93hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj53ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj3hhhj&3hMcubj)}(hD(const struct fb_videomode *modedb, int num, struct list_head *head)h](j)}(h!const struct fb_videomode *modedbh](j)}(hj h]hconst}(hjU3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQ3ubjY)}(h h]h }(hjb3hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjQ3ubj)}(hjh]hstruct}(hjp3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQ3ubjY)}(h h]h }(hj}3hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjQ3ubh)}(hhh]jp)}(h fb_videomodeh]h fb_videomode}(hj3hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj3ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj3modnameN classnameNjj)}j]j)}jj;3sbc.fb_videomode_to_modelistasbuh1hhjQ3ubjY)}(h h]h }(hj3hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjQ3ubj)}(hjh]h*}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQ3ubjp)}(hmodedbh]hmodedb}(hj3hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjQ3ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjM3ubj)}(hint numh](jG)}(hinth]hint}(hj3hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj3ubjY)}(h h]h }(hj3hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj3ubjp)}(hnumh]hnum}(hj3hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj3ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjM3ubj)}(hstruct list_head *headh](j)}(hjh]hstruct}(hj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubjY)}(h h]h }(hj$4hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj4ubh)}(hhh]jp)}(h list_headh]h list_head}(hj54hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj24ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj74modnameN classnameNjj)}j]j3c.fb_videomode_to_modelistasbuh1hhj4ubjY)}(h h]h }(hjS4hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj4ubj)}(hjh]h*}(hja4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubjp)}(hheadh]hhead}(hjn4hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj4ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhjM3ubeh}(h]h ]h"]h$]h&]jjuh1jhj3hhhj&3hMcubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj3hhhj&3hMcubah}(h]j 3ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj&3hMchj 3hhubj0)}(hhh]h)}(hconvert mode array to mode listh]hconvert mode array to mode list}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMchj4hhubah}(h]h ]h"]h$]h&]uh1j/hj 3hhhj&3hMcubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj4jRj4jSjTjUuh1j5hhhj hNhNubjW)}(h**Parameters** ``const struct fb_videomode *modedb`` array of struct fb_videomode ``int num`` number of entries in array ``struct list_head *head`` struct list_head of modelisth](h)}(h**Parameters**h]ja)}(hj4h]h Parameters}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj4ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMghj4ubjw)}(hhh](j|)}(hC``const struct fb_videomode *modedb`` array of struct fb_videomode h](j)}(h%``const struct fb_videomode *modedb``h]j)}(hj4h]h!const struct fb_videomode *modedb}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMdhj4ubj)}(hhh]h)}(harray of struct fb_videomodeh]harray of struct fb_videomode}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hMdhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1j{hj4hMdhj4ubj|)}(h'``int num`` number of entries in array h](j)}(h ``int num``h]j)}(hj5h]hint num}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMehj 5ubj)}(hhh]h)}(hnumber of entries in arrayh]hnumber of entries in array}(hj+5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'5hMehj(5ubah}(h]h ]h"]h$]h&]uh1jhj 5ubeh}(h]h ]h"]h$]h&]uh1j{hj'5hMehj4ubj|)}(h7``struct list_head *head`` struct list_head of modelisth](j)}(h``struct list_head *head``h]j)}(hjK5h]hstruct list_head *head}(hjM5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjI5ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMghjE5ubj)}(hhh]h)}(hstruct list_head of modelisth]hstruct list_head of modelist}(hjd5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:49: ./drivers/video/fbdev/core/modedb.chMfhja5ubah}(h]h ]h"]h$]h&]uh1jhjE5ubeh}(h]h ]h"]h$]h&]uh1j{hj`5hMghj4ubeh}(h]h ]h"]h$]h&]uh1jvhj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj hhhNhNubeh}(h] frame-buffer-video-mode-databaseah ]h"] frame buffer video mode databaseah$]h&]uh1hhhhhhhhK,ubh)}(hhh](h)}(h*Frame Buffer Macintosh Video Mode Databaseh]h*Frame Buffer Macintosh Video Mode Database}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hhhhhK5ubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1mac_vmode_to_var (C function)c.mac_vmode_to_varhNtauh1j$hj5hhhNhNubj6)}(hhh](j;)}(hJint mac_vmode_to_var (int vmode, int cmode, struct fb_var_screeninfo *var)h]jA)}(hIint mac_vmode_to_var(int vmode, int cmode, struct fb_var_screeninfo *var)h](jG)}(hinth]hint}(hj5hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj5hhhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKubjY)}(h h]h }(hj5hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj5hhhj5hKubjj)}(hmac_vmode_to_varh]jp)}(hmac_vmode_to_varh]hmac_vmode_to_var}(hj5hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj5ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj5hhhj5hKubj)}(h5(int vmode, int cmode, struct fb_var_screeninfo *var)h](j)}(h int vmodeh](jG)}(hinth]hint}(hj5hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj5ubjY)}(h h]h }(hj 6hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj5ubjp)}(hvmodeh]hvmode}(hj6hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj5ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj5ubj)}(h int cmodeh](jG)}(hinth]hint}(hj06hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj,6ubjY)}(h h]h }(hj>6hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj,6ubjp)}(hcmodeh]hcmode}(hjL6hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj,6ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj5ubj)}(hstruct fb_var_screeninfo *varh](j)}(hjh]hstruct}(hje6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhja6ubjY)}(h h]h }(hjr6hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhja6ubh)}(hhh]jp)}(hfb_var_screeninfoh]hfb_var_screeninfo}(hj6hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]j)}jj5sbc.mac_vmode_to_varasbuh1hhja6ubjY)}(h h]h }(hj6hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhja6ubj)}(hjh]h*}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhja6ubjp)}(hvarh]hvar}(hj6hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johja6ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj5ubeh}(h]h ]h"]h$]h&]jjuh1jhj5hhhj5hKubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj5hhhj5hKubah}(h]j5ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj5hKhj5hhubj0)}(hhh]h)}(h*converts vmode/cmode pair to var structureh]h*converts vmode/cmode pair to var structure}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj6hhubah}(h]h ]h"]h$]h&]uh1j/hj5hhhj5hKubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj7jRj7jSjTjUuh1j5hhhj5hNhNubjW)}(hX;**Parameters** ``int vmode`` MacOS video mode ``int cmode`` MacOS color mode ``struct fb_var_screeninfo *var`` frame buffer video mode structure **Description** Converts a MacOS vmode/cmode pair to a frame buffer video mode structure. Returns negative errno on error, or zero for success.h](h)}(h**Parameters**h]ja)}(hj 7h]h Parameters}(hj 7hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj7ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj7ubjw)}(hhh](j|)}(h``int vmode`` MacOS video mode h](j)}(h ``int vmode``h]j)}(hj)7h]h int vmode}(hj+7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'7ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj#7ubj)}(hhh]h)}(hMacOS video modeh]hMacOS video mode}(hjB7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>7hKhj?7ubah}(h]h ]h"]h$]h&]uh1jhj#7ubeh}(h]h ]h"]h$]h&]uh1j{hj>7hKhj 7ubj|)}(h``int cmode`` MacOS color mode h](j)}(h ``int cmode``h]j)}(hjb7h]h int cmode}(hjd7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`7ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj\7ubj)}(hhh]h)}(hMacOS color modeh]hMacOS color mode}(hj{7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw7hKhjx7ubah}(h]h ]h"]h$]h&]uh1jhj\7ubeh}(h]h ]h"]h$]h&]uh1j{hjw7hKhj 7ubj|)}(hD``struct fb_var_screeninfo *var`` frame buffer video mode structure h](j)}(h!``struct fb_var_screeninfo *var``h]j)}(hj7h]hstruct fb_var_screeninfo *var}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj7ubj)}(hhh]h)}(h!frame buffer video mode structureh]h!frame buffer video mode structure}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hKhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1j{hj7hKhj 7ubeh}(h]h ]h"]h$]h&]uh1jvhj7ubh)}(h**Description**h]ja)}(hj7h]h Description}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj7ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj7ubj)}(hConverts a MacOS vmode/cmode pair to a frame buffer video mode structure. Returns negative errno on error, or zero for success.h](h)}(hIConverts a MacOS vmode/cmode pair to a frame buffer video mode structure.h]hIConverts a MacOS vmode/cmode pair to a frame buffer video mode structure.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj7ubh)}(h5Returns negative errno on error, or zero for success.h]h5Returns negative errno on error, or zero for success.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chKhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7hKhj7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj5hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1"mac_map_monitor_sense (C function)c.mac_map_monitor_sensehNtauh1j$hj5hhhNhNubj6)}(hhh](j;)}(h%int mac_map_monitor_sense (int sense)h]jA)}(h$int mac_map_monitor_sense(int sense)h](jG)}(hinth]hint}(hj48hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj08hhhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMfubjY)}(h h]h }(hjC8hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj08hhhjB8hMfubjj)}(hmac_map_monitor_senseh]jp)}(hmac_map_monitor_senseh]hmac_map_monitor_sense}(hjU8hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjQ8ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj08hhhjB8hMfubj)}(h (int sense)h]j)}(h int senseh](jG)}(hinth]hint}(hjq8hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhjm8ubjY)}(h h]h }(hj8hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhjm8ubjp)}(hsenseh]hsense}(hj8hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjm8ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhji8ubah}(h]h ]h"]h$]h&]jjuh1jhj08hhhjB8hMfubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj,8hhhjB8hMfubah}(h]j'8ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hjB8hMfhj)8hhubj0)}(hhh]h)}(hConvert monitor sense to vmodeh]hConvert monitor sense to vmode}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMfhj8hhubah}(h]h ]h"]h$]h&]uh1j/hj)8hhhjB8hMfubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj8jRj8jSjTjUuh1j5hhhj5hNhNubjW)}(h**Parameters** ``int sense`` Macintosh monitor sense number **Description** Converts a Macintosh monitor sense number to a MacOS vmode number. Returns MacOS vmode video mode number.h](h)}(h**Parameters**h]ja)}(hj8h]h Parameters}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj8ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMjhj8ubjw)}(hhh]j|)}(h-``int sense`` Macintosh monitor sense number h](j)}(h ``int sense``h]j)}(hj8h]h int sense}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMghj8ubj)}(hhh]h)}(hMacintosh monitor sense numberh]hMacintosh monitor sense number}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj 9hMghj9ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1j{hj 9hMghj8ubah}(h]h ]h"]h$]h&]uh1jvhj8ubh)}(h**Description**h]ja)}(hj39h]h Description}(hj59hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj19ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMihj8ubj)}(hjConverts a Macintosh monitor sense number to a MacOS vmode number. Returns MacOS vmode video mode number.h](h)}(hBConverts a Macintosh monitor sense number to a MacOS vmode number.h]hBConverts a Macintosh monitor sense number to a MacOS vmode number.}(hjM9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhhjI9ubh)}(h&Returns MacOS vmode video mode number.h]h&Returns MacOS vmode video mode number.}(hj\9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMkhjI9ubeh}(h]h ]h"]h$]h&]uh1jhj[9hMhhj8ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj5hhhNhNubj%)}(hhh]h}(h]h ]h"]h$]h&]entries](j1mac_find_mode (C function)c.mac_find_modehNtauh1j$hj5hhhNhNubj6)}(hhh](j;)}(hzint mac_find_mode (struct fb_var_screeninfo *var, struct fb_info *info, const char *mode_option, unsigned int default_bpp)h]jA)}(hyint mac_find_mode(struct fb_var_screeninfo *var, struct fb_info *info, const char *mode_option, unsigned int default_bpp)h](jG)}(hinth]hint}(hj9hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj9hhhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chM|ubjY)}(h h]h }(hj9hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj9hhhj9hM|ubjj)}(h mac_find_modeh]jp)}(h mac_find_modeh]h mac_find_mode}(hj9hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj9ubah}(h]h ](jjeh"]h$]h&]jjuh1jihj9hhhj9hM|ubj)}(hh(struct fb_var_screeninfo *var, struct fb_info *info, const char *mode_option, unsigned int default_bpp)h](j)}(hstruct fb_var_screeninfo *varh](j)}(hjh]hstruct}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjY)}(h h]h }(hj9hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj9ubh)}(hhh]jp)}(hfb_var_screeninfoh]hfb_var_screeninfo}(hj9hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj9ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj9modnameN classnameNjj)}j]j)}jj9sbc.mac_find_modeasbuh1hhj9ubjY)}(h h]h }(hj :hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj9ubj)}(hjh]h*}(hj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjp)}(hvarh]hvar}(hj':hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj9ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj9ubj)}(hstruct fb_info *infoh](j)}(hjh]hstruct}(hj@:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<:ubjY)}(h h]h }(hjM:hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj<:ubh)}(hhh]jp)}(hfb_infoh]hfb_info}(hj^:hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj[:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj`:modnameN classnameNjj)}j]j:c.mac_find_modeasbuh1hhj<:ubjY)}(h h]h }(hj|:hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj<:ubj)}(hjh]h*}(hj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<:ubjp)}(hinfoh]hinfo}(hj:hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj<:ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj9ubj)}(hconst char *mode_optionh](j)}(hj h]hconst}(hj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubjY)}(h h]h }(hj:hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj:ubjG)}(hcharh]hchar}(hj:hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj:ubjY)}(h h]h }(hj:hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj:ubj)}(hjh]h*}(hj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubjp)}(h mode_optionh]h mode_option}(hj:hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj:ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj9ubj)}(hunsigned int default_bpph](jG)}(hunsignedh]hunsigned}(hj ;hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj ;ubjY)}(h h]h }(hj;hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ;ubjG)}(hinth]hint}(hj);hhhNhNubah}(h]h ]jSah"]h$]h&]uh1jFhj ;ubjY)}(h h]h }(hj7;hhhNhNubah}(h]h ]jeah"]h$]h&]uh1jXhj ;ubjp)}(h default_bpph]h default_bpp}(hjE;hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ;ubeh}(h]h ]h"]h$]h&]noemphjjuh1jhj9ubeh}(h]h ]h"]h$]h&]jjuh1jhj9hhhj9hM|ubeh}(h]h ]h"]h$]h&]jjj!uh1j@j"j#hj9hhhj9hM|ubah}(h]j9ah ](j'j(eh"]h$]h&]j,j-)j.huh1j:hj9hM|hj9hhubj0)}(hhh]h)}(hfind a video modeh]hfind a video mode}(hjo;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chM|hjl;hhubah}(h]h ]h"]h$]h&]uh1j/hj9hhhj9hM|ubeh}(h]h ](jfunctioneh"]h$]h&]jPjjQj;jRj;jSjTjUuh1j5hhhj5hNhNubjW)}(hX**Parameters** ``struct fb_var_screeninfo *var`` frame buffer user defined part of display ``struct fb_info *info`` frame buffer info structure ``const char *mode_option`` video mode name (see mac_modedb[]) ``unsigned int default_bpp`` default color depth in bits per pixel **Description** Finds a suitable video mode. Tries to set mode specified by **mode_option**. If the name of the wanted mode begins with 'mac', the Mac video mode database will be used, otherwise it will fall back to the standard video mode database. **Note** Function marked as __init and can only be used during system boot. Returns error code from fb_find_mode (see fb_find_mode function).h](h)}(h**Parameters**h]ja)}(hj;h]h Parameters}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj;ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhj;ubjw)}(hhh](j|)}(hL``struct fb_var_screeninfo *var`` frame buffer user defined part of display h](j)}(h!``struct fb_var_screeninfo *var``h]j)}(hj;h]hstruct fb_var_screeninfo *var}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chM}hj;ubj)}(hhh]h)}(h)frame buffer user defined part of displayh]h)frame buffer user defined part of display}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hM}hj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1j{hj;hM}hj;ubj|)}(h5``struct fb_info *info`` frame buffer info structure h](j)}(h``struct fb_info *info``h]j)}(hj;h]hstruct fb_info *info}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chM~hj;ubj)}(hhh]h)}(hframe buffer info structureh]hframe buffer info structure}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hM~hj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1j{hj;hM~hj;ubj|)}(h?``const char *mode_option`` video mode name (see mac_modedb[]) h](j)}(h``const char *mode_option``h]j)}(hj"<h]hconst char *mode_option}(hj$<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj <ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhj<ubj)}(hhh]h)}(h"video mode name (see mac_modedb[])h]h"video mode name (see mac_modedb[])}(hj;<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7<hMhj8<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1j{hj7<hMhj;ubj|)}(hC``unsigned int default_bpp`` default color depth in bits per pixel h](j)}(h``unsigned int default_bpp``h]j)}(hj[<h]hunsigned int default_bpp}(hj]<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY<ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhjU<ubj)}(hhh]h)}(h%default color depth in bits per pixelh]h%default color depth in bits per pixel}(hjt<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp<hMhjq<ubah}(h]h ]h"]h$]h&]uh1jhjU<ubeh}(h]h ]h"]h$]h&]uh1j{hjp<hMhj;ubeh}(h]h ]h"]h$]h&]uh1jvhj;ubh)}(h**Description**h]ja)}(hj<h]h Description}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj<ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhj;ubj)}(hFinds a suitable video mode. Tries to set mode specified by **mode_option**. If the name of the wanted mode begins with 'mac', the Mac video mode database will be used, otherwise it will fall back to the standard video mode database. h]h)}(hFinds a suitable video mode. Tries to set mode specified by **mode_option**. If the name of the wanted mode begins with 'mac', the Mac video mode database will be used, otherwise it will fall back to the standard video mode database.h](h=Finds a suitable video mode. Tries to set mode specified by }(hj<hhhNhNubja)}(h**mode_option**h]h mode_option}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj<ubh. If the name of the wanted mode begins with ‘mac’, the Mac video mode database will be used, otherwise it will fall back to the standard video mode database.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<hMhj;ubh)}(h**Note**h]ja)}(hj<h]hNote}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j`hj<ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhj;ubjw)}(hhh]j|)}(hFunction marked as __init and can only be used during system boot. Returns error code from fb_find_mode (see fb_find_mode function).h](j)}(h5Function marked as __init and can only be used duringh]h5Function marked as __init and can only be used during}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhj<ubj)}(hhh](h)}(h system boot.h]h system boot.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/driver-api/frame-buffer:55: ./drivers/video/fbdev/macmodes.chMhj=ubh)}(hAReturns error code from fb_find_mode (see fb_find_mode function).h]hAReturns error code from fb_find_mode (see fb_find_mode function).}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=hMhj=ubeh}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1j{hj=hMhj<ubah}(h]h ]h"]h$]h&]uh1jvhj;ubeh}(h]h ] kernelindentah"]h$]h&]uh1jVhj5hhhNhNubeh}(h]*frame-buffer-macintosh-video-mode-databaseah ]h"]*frame buffer macintosh video mode databaseah$]h&]uh1hhhhhhhhK5ubh)}(hhh](h)}(hFrame Buffer Fontsh]hFrame Buffer Fonts}(hjI=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjF=hhhhhK;ubh)}(h9Refer to the file lib/fonts/fonts.c for more information.h]h9Refer to the file lib/fonts/fonts.c for more information.}(hjW=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hjF=hhubeh}(h]frame-buffer-fontsah ]h"]frame buffer fontsah$]h&]uh1hhhhhhhhK;ubeh}(h]frame-buffer-libraryah ]h"]frame buffer libraryah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj=error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehʌ _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jr=jo=j j jjj5j5jC=j@=jj=jg=u nametypes}(jr=j jj5jC=jj=uh}(jo=hj jj3j<j)j.jjjZj_jS jX jj j j jR jW jjj,j1jjj5j j=jBjjj%j*j j j"j"j$j$jL'jQ'j5*j:*j,j,jk/jp/j1j1j 3j3j@=j5j5j5j'8j,8j9j9jg=jF=u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.