1. 17 4月, 2014 1 次提交
  2. 24 1月, 2013 1 次提交
  3. 04 1月, 2013 1 次提交
    • G
      Drivers: video: remove __dev* attributes. · 48c68c4f
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      48c68c4f
  4. 09 3月, 2012 1 次提交
    • F
      viafb: modetable conversion · 9864ca20
      Florian Tobias Schandinat 提交于
      This patch converts the modetables used in viafb to
      - remove the strange thing that sync_end and blanking_end contained
        the length and not the absolute value
      - remove hundreds of useless defines
      - use fb_videomode and not our own definition so modes defined in
        the subsystem and received via EDID are compatible with ours
      
      As the modes are now stored in a flat structure and no longer in a
      tree like thing the lookup time was increased but as it is a rare
      event anyway it shouldn't matter. Otherwise the behaviour should be
      the same as before.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      9864ca20
  5. 04 3月, 2012 1 次提交
  6. 13 2月, 2012 1 次提交
  7. 07 8月, 2011 1 次提交
    • F
      viafb: eliminate modetable dependancy of LCD modesetting · bfe7d5f9
      Florian Tobias Schandinat 提交于
      This patch removes the need for knowing the modetable structure
      within the LCD modesetting function. The magic 60Hz refresh rate was
      already there as always the first entry for a resolution was choosen
      based on the ascending refresh rate ordering in the modetable.
      For all but one this is at least 60Hz, if only higher frequencies
      available we choose those like the code before did. The exception is
      OLPC but that resolution has only one frequency so we get the same
      behaviour there as well.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      bfe7d5f9
  8. 05 8月, 2011 1 次提交
  9. 27 3月, 2011 1 次提交
  10. 23 3月, 2011 1 次提交
  11. 12 3月, 2011 1 次提交
  12. 10 3月, 2011 3 次提交
  13. 24 10月, 2010 1 次提交
    • F
      viafb: add initial VX900 support · 51f4332b
      Florian Tobias Schandinat 提交于
      This patch adds basic support for the new VX900 IGP. Almost everything
      that was implemented for other IGPs is expected to work also on VX900
      after this patch. The only known issue is that on the CRT output mode
      setting does not always work.
      It is clear that the possibility for regressions is zero.
      
      A big thanks to VIA Technologies for making this possible and
      supporting this work.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Cc: Jonathan Corbet <corbet@lwn.net>
      51f4332b
  14. 24 9月, 2010 6 次提交
  15. 23 7月, 2010 4 次提交
  16. 12 5月, 2010 1 次提交
  17. 08 5月, 2010 2 次提交
  18. 28 4月, 2010 1 次提交
    • H
      viafb: rework the I2C support in the VIA framebuffer driver · 277d32a3
      Harald Welte 提交于
      This patch changes the way how the various I2C busses are used internally
      inside the viafb driver:  Previosuly, only a single i2c_adapter was created,
      even though two different hardware I2C busses are accessed: A structure member
      in a global variable was modified to indicate the bus to be used.
      
      Now, all existing hardware busses are registered with the i2c core, and the
      viafb_i2c_{read,write}byte[s]() function take the adapter number as function
      call parameter, rather than referring to the global structure member.
      
      [jc: even more painful merge with mainline changes ->2.6.34]
      [jc: painful merge with OLPC changes]
      
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: ScottFang@viatech.com.cn
      Cc: JosephChan@via.com.tw
      Signed-off-by: NHarald Welte <HaraldWelte@viatech.com>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      277d32a3
  19. 21 4月, 2010 1 次提交
  20. 13 3月, 2010 5 次提交
  21. 16 12月, 2009 1 次提交
  22. 23 9月, 2009 2 次提交
    • F
      viafb: improve pitch handling · 2d6e8851
      Florian Tobias Schandinat 提交于
      Split the pitch handling up and replaces the calculation from virtual xres
      and bpp with fix.line_length which already contains the pitch and does not
      add any constrains for the virtual resolution.
      
      Also add a bit to the second pitch which the documentation mentions but
      which was ignored by the driver.
      
      Although it is a bit unclear what the right pitch for some LCD modes is
      this patch should have no negative runtime impact.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Scott Fang <ScottFang@viatech.com.cn>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Cc: Harald Welte <laforge@gnumonks.org>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d6e8851
    • F
      viafb: improve viafb_par · c4df5489
      Florian Tobias Schandinat 提交于
      This patch introduces viafb_shared and is the beginning of a smooth
      transition to use it.
      
      viafb_shared should contain all general, non-surface specific data that
      should be shared along all viafb framebuffers while viafb_par should only
      contain things that are specific to each surface or in other words extend
      fb_info.  This change is intended to clean the dual/multi framebuffer
      handling up.
      
      This removes the annoyance that viafbinfo1->par points to a different
      structure than viaparinfo1.
      
      As the last change is fundamental it is difficult to ensure that all parts
      of the driver do not depend on the previous brokenness but the chance of
      regressions is very low.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Scott Fang <ScottFang@viatech.com.cn>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Cc: Harald Welte <laforge@gnumonks.org>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c4df5489
  23. 08 8月, 2009 1 次提交
    • F
      viafb: fix rmmod bug · 52159444
      Florian Tobias Schandinat 提交于
      This fixes a bug caused by changing pointers (viafb_mode, viafb_mode1)
      assigned by module_param.  It reduces driver complexity by not needlessly
      changing these vars as they are only read once and removing now
      superfluous code.
      
      On unpatched kernels loading viafb with viafb_mode or viafb_mode1 option
      used and afterwards unloading it results in:
      
      kernel BUG at mm/slub.c:2926!
      invalid opcode: 0000 [#1] PREEMPT
      last sysfs file: /sys/devices/virtual/block/loop0/removable
      Modules linked in: snd_hda_codec_realtek snd_hda_intel snd_hda_codec
      snd_hwdep snd_pcm rtl8187 snd_timer eeprom_93cx6 mmc_block snd soundcore
      via_sdmmc fb snd_page_alloc i2c_algo_bit i2c_viapro ehci_hcd uhci_hcd
      cfbcopyarea mmc_core cfbimgblt cfbfillrect video output [last unloaded:
      viafb]
      
        Pid: 3355, comm: rmmod Not tainted (2.6.31-rc1 #0)
        EIP: 0060:[<c106a759>] EFLAGS: 00010246 CPU: 0
        EIP is at kfree+0x80/0xda
        EAX: c17c2da0 EBX: dc7edbdc ECX: 0000010f EDX: 00000000
        ESI: c102c700 EDI: dc7ed8fa EBP: d703ff2c ESP: d703ff20
         DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
        Process rmmod (pid: 3355, ti=d703e000 task=db1412c0 task.ti=d703e000)
        Stack:
         dc7edbdc 00000014 00000016 d703ff40 c102c700 dc7f45d4 dc7f45d4 00000880
         d703ff4c c103e571 00000000 d703ffac c103e751 66616976 da140062 db89ba80
         00000328 d702edf8 db89ba80 d703ff9c c105d0f0 00000200 da14f898 00000014
        Call Trace:
         [<c102c700>] ? destroy_params+0x1e/0x2b
         [<c103e571>] ? free_module+0xa2/0xd7
         [<c103e751>] ? sys_delete_module+0x1ab/0x1da
         [<c105d0f0>] ? do_munmap+0x20a/0x225
         [<c10029b4>] ? sysenter_do_call+0x12/0x26
        Code: 10 76 7a 8d 87 00 00 00 40 c1 e8 0c c1 e0 05 03 05 1c 87 41 c1 66 83 38 00 79 03 8b 40 0c 8b 10 84 d2 78 12 66 f7 c2 00 c0 75 04 <0f> 0b eb fe e8 6f 5a fe ff eb 47 8b 55 04 8b 58 0c 9c 5e fa 3b
        EIP: [<c106a759>] kfree+0x80/0xda SS:ESP 0068:d703ff20
      
      This is caused by the current code changing the pointers assigned by
      module_param.  During unload it tries to free the memory the pointers
      point at which is now part of an internal structure.
      
      The patch simply avoids changing the pointers.  This is okay as they are
      read only once during the initialization process.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Scott Fang <ScottFang@viatech.com.cn>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      52159444
  24. 17 10月, 2008 1 次提交