<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/video/fbmem.c, branch v3.13.8</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>fb: reorder the lock sequence to fix potential dead lock</title>
<updated>2013-11-11T13:52:59+00:00</updated>
<author>
<name>Gu Zheng</name>
<email>guz.fnst@cn.fujitsu.com</email>
</author>
<published>2013-11-05T10:00:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3a41c5dbe8bc396a7fb16ca8739e945bb003342e'/>
<id>3a41c5dbe8bc396a7fb16ca8739e945bb003342e</id>
<content type='text'>
Following commits:

50e244cc79 fb: rework locking to fix lock ordering on takeover
e93a9a8687 fb: Yet another band-aid for fixing lockdep mess
054430e773 fbcon: fix locking harder

reworked locking to fix related lock ordering on takeover, and introduced console_lock
into fbmem, but it seems that the new lock sequence(fb_info-&gt;lock ---&gt; console_lock)
is against with the one in console_callback(console_lock ---&gt; fb_info-&gt;lock), and leads to
a potential dead lock as following:

[  601.079000] ======================================================
[  601.079000] [ INFO: possible circular locking dependency detected ]
[  601.079000] 3.11.0 #189 Not tainted
[  601.079000] -------------------------------------------------------
[  601.079000] kworker/0:3/619 is trying to acquire lock:
[  601.079000]  (&amp;fb_info-&gt;lock){+.+.+.}, at: [&lt;ffffffff81397566&gt;] lock_fb_info+0x26/0x60
[  601.079000]
but task is already holding lock:
[  601.079000]  (console_lock){+.+.+.}, at: [&lt;ffffffff8141aae3&gt;] console_callback+0x13/0x160
[  601.079000]
which lock already depends on the new lock.

[  601.079000]
the existing dependency chain (in reverse order) is:
[  601.079000]
-&gt; #1 (console_lock){+.+.+.}:
[  601.079000]        [&lt;ffffffff810dc971&gt;] lock_acquire+0xa1/0x140
[  601.079000]        [&lt;ffffffff810c6267&gt;] console_lock+0x77/0x80
[  601.079000]        [&lt;ffffffff81399448&gt;] register_framebuffer+0x1d8/0x320
[  601.079000]        [&lt;ffffffff81cfb4c8&gt;] efifb_probe+0x408/0x48f
[  601.079000]        [&lt;ffffffff8144a963&gt;] platform_drv_probe+0x43/0x80
[  601.079000]        [&lt;ffffffff8144853b&gt;] driver_probe_device+0x8b/0x390
[  601.079000]        [&lt;ffffffff814488eb&gt;] __driver_attach+0xab/0xb0
[  601.079000]        [&lt;ffffffff814463bd&gt;] bus_for_each_dev+0x5d/0xa0
[  601.079000]        [&lt;ffffffff81447e6e&gt;] driver_attach+0x1e/0x20
[  601.079000]        [&lt;ffffffff81447a07&gt;] bus_add_driver+0x117/0x290
[  601.079000]        [&lt;ffffffff81448fea&gt;] driver_register+0x7a/0x170
[  601.079000]        [&lt;ffffffff8144a10a&gt;] __platform_driver_register+0x4a/0x50
[  601.079000]        [&lt;ffffffff8144a12d&gt;] platform_driver_probe+0x1d/0xb0
[  601.079000]        [&lt;ffffffff81cfb0a1&gt;] efifb_init+0x273/0x292
[  601.079000]        [&lt;ffffffff81002132&gt;] do_one_initcall+0x102/0x1c0
[  601.079000]        [&lt;ffffffff81cb80a6&gt;] kernel_init_freeable+0x15d/0x1ef
[  601.079000]        [&lt;ffffffff8166d2de&gt;] kernel_init+0xe/0xf0
[  601.079000]        [&lt;ffffffff816914ec&gt;] ret_from_fork+0x7c/0xb0
[  601.079000]
-&gt; #0 (&amp;fb_info-&gt;lock){+.+.+.}:
[  601.079000]        [&lt;ffffffff810dc1d8&gt;] __lock_acquire+0x1e18/0x1f10
[  601.079000]        [&lt;ffffffff810dc971&gt;] lock_acquire+0xa1/0x140
[  601.079000]        [&lt;ffffffff816835ca&gt;] mutex_lock_nested+0x7a/0x3b0
[  601.079000]        [&lt;ffffffff81397566&gt;] lock_fb_info+0x26/0x60
[  601.079000]        [&lt;ffffffff813a4aeb&gt;] fbcon_blank+0x29b/0x2e0
[  601.079000]        [&lt;ffffffff81418658&gt;] do_blank_screen+0x1d8/0x280
[  601.079000]        [&lt;ffffffff8141ab34&gt;] console_callback+0x64/0x160
[  601.079000]        [&lt;ffffffff8108d855&gt;] process_one_work+0x1f5/0x540
[  601.079000]        [&lt;ffffffff8108e04c&gt;] worker_thread+0x11c/0x370
[  601.079000]        [&lt;ffffffff81095fbd&gt;] kthread+0xed/0x100
[  601.079000]        [&lt;ffffffff816914ec&gt;] ret_from_fork+0x7c/0xb0
[  601.079000]
other info that might help us debug this:

[  601.079000]  Possible unsafe locking scenario:

[  601.079000]        CPU0                    CPU1
[  601.079000]        ----                    ----
[  601.079000]   lock(console_lock);
[  601.079000]                                lock(&amp;fb_info-&gt;lock);
[  601.079000]                                lock(console_lock);
[  601.079000]   lock(&amp;fb_info-&gt;lock);
[  601.079000]
 *** DEADLOCK ***

so we reorder the lock sequence the same as it in console_callback() to
avoid this issue. And following Tomi's suggestion, fix these similar
issues all in fb subsystem.

Signed-off-by: Gu Zheng &lt;guz.fnst@cn.fujitsu.com&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following commits:

50e244cc79 fb: rework locking to fix lock ordering on takeover
e93a9a8687 fb: Yet another band-aid for fixing lockdep mess
054430e773 fbcon: fix locking harder

reworked locking to fix related lock ordering on takeover, and introduced console_lock
into fbmem, but it seems that the new lock sequence(fb_info-&gt;lock ---&gt; console_lock)
is against with the one in console_callback(console_lock ---&gt; fb_info-&gt;lock), and leads to
a potential dead lock as following:

[  601.079000] ======================================================
[  601.079000] [ INFO: possible circular locking dependency detected ]
[  601.079000] 3.11.0 #189 Not tainted
[  601.079000] -------------------------------------------------------
[  601.079000] kworker/0:3/619 is trying to acquire lock:
[  601.079000]  (&amp;fb_info-&gt;lock){+.+.+.}, at: [&lt;ffffffff81397566&gt;] lock_fb_info+0x26/0x60
[  601.079000]
but task is already holding lock:
[  601.079000]  (console_lock){+.+.+.}, at: [&lt;ffffffff8141aae3&gt;] console_callback+0x13/0x160
[  601.079000]
which lock already depends on the new lock.

[  601.079000]
the existing dependency chain (in reverse order) is:
[  601.079000]
-&gt; #1 (console_lock){+.+.+.}:
[  601.079000]        [&lt;ffffffff810dc971&gt;] lock_acquire+0xa1/0x140
[  601.079000]        [&lt;ffffffff810c6267&gt;] console_lock+0x77/0x80
[  601.079000]        [&lt;ffffffff81399448&gt;] register_framebuffer+0x1d8/0x320
[  601.079000]        [&lt;ffffffff81cfb4c8&gt;] efifb_probe+0x408/0x48f
[  601.079000]        [&lt;ffffffff8144a963&gt;] platform_drv_probe+0x43/0x80
[  601.079000]        [&lt;ffffffff8144853b&gt;] driver_probe_device+0x8b/0x390
[  601.079000]        [&lt;ffffffff814488eb&gt;] __driver_attach+0xab/0xb0
[  601.079000]        [&lt;ffffffff814463bd&gt;] bus_for_each_dev+0x5d/0xa0
[  601.079000]        [&lt;ffffffff81447e6e&gt;] driver_attach+0x1e/0x20
[  601.079000]        [&lt;ffffffff81447a07&gt;] bus_add_driver+0x117/0x290
[  601.079000]        [&lt;ffffffff81448fea&gt;] driver_register+0x7a/0x170
[  601.079000]        [&lt;ffffffff8144a10a&gt;] __platform_driver_register+0x4a/0x50
[  601.079000]        [&lt;ffffffff8144a12d&gt;] platform_driver_probe+0x1d/0xb0
[  601.079000]        [&lt;ffffffff81cfb0a1&gt;] efifb_init+0x273/0x292
[  601.079000]        [&lt;ffffffff81002132&gt;] do_one_initcall+0x102/0x1c0
[  601.079000]        [&lt;ffffffff81cb80a6&gt;] kernel_init_freeable+0x15d/0x1ef
[  601.079000]        [&lt;ffffffff8166d2de&gt;] kernel_init+0xe/0xf0
[  601.079000]        [&lt;ffffffff816914ec&gt;] ret_from_fork+0x7c/0xb0
[  601.079000]
-&gt; #0 (&amp;fb_info-&gt;lock){+.+.+.}:
[  601.079000]        [&lt;ffffffff810dc1d8&gt;] __lock_acquire+0x1e18/0x1f10
[  601.079000]        [&lt;ffffffff810dc971&gt;] lock_acquire+0xa1/0x140
[  601.079000]        [&lt;ffffffff816835ca&gt;] mutex_lock_nested+0x7a/0x3b0
[  601.079000]        [&lt;ffffffff81397566&gt;] lock_fb_info+0x26/0x60
[  601.079000]        [&lt;ffffffff813a4aeb&gt;] fbcon_blank+0x29b/0x2e0
[  601.079000]        [&lt;ffffffff81418658&gt;] do_blank_screen+0x1d8/0x280
[  601.079000]        [&lt;ffffffff8141ab34&gt;] console_callback+0x64/0x160
[  601.079000]        [&lt;ffffffff8108d855&gt;] process_one_work+0x1f5/0x540
[  601.079000]        [&lt;ffffffff8108e04c&gt;] worker_thread+0x11c/0x370
[  601.079000]        [&lt;ffffffff81095fbd&gt;] kthread+0xed/0x100
[  601.079000]        [&lt;ffffffff816914ec&gt;] ret_from_fork+0x7c/0xb0
[  601.079000]
other info that might help us debug this:

[  601.079000]  Possible unsafe locking scenario:

[  601.079000]        CPU0                    CPU1
[  601.079000]        ----                    ----
[  601.079000]   lock(console_lock);
[  601.079000]                                lock(&amp;fb_info-&gt;lock);
[  601.079000]                                lock(console_lock);
[  601.079000]   lock(&amp;fb_info-&gt;lock);
[  601.079000]
 *** DEADLOCK ***

so we reorder the lock sequence the same as it in console_callback() to
avoid this issue. And following Tomi's suggestion, fix these similar
issues all in fb subsystem.

Signed-off-by: Gu Zheng &lt;guz.fnst@cn.fujitsu.com&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fbmem: move EXPORT_SYMBOL annotation next to symbol declarations</title>
<updated>2013-08-30T08:44:24+00:00</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2013-08-15T14:12:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9c29fba12e9657e4effccd124813639e4876971d'/>
<id>9c29fba12e9657e4effccd124813639e4876971d</id>
<content type='text'>
Just a cosmetic thing to bring that file in line with others in the
tree.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just a cosmetic thing to bring that file in line with others in the
tree.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'fbdev-3.11-2' of git://gitorious.org/linux-omap-dss2/linux into fbdev/for-next</title>
<updated>2013-06-28T10:01:28+00:00</updated>
<author>
<name>Jean-Christophe PLAGNIOL-VILLARD</name>
<email>plagnioj@jcrosoft.com</email>
</author>
<published>2013-06-28T10:01:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=19fd7441e9cc29b6c6d73c5469b3c93aa245fbb5'/>
<id>19fd7441e9cc29b6c6d73c5469b3c93aa245fbb5</id>
<content type='text'>
Various fbdev changes for 3.11

* xilinxfb updates
* Small cleanups and fixes to multiple drivers
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Various fbdev changes for 3.11

* xilinxfb updates
* Small cleanups and fixes to multiple drivers
</pre>
</div>
</content>
</entry>
<entry>
<title>fb: make fp_get_options name argument const</title>
<updated>2013-06-27T08:53:30+00:00</updated>
<author>
<name>Vincent Stehlé</name>
<email>vincent.stehle@freescale.com</email>
</author>
<published>2013-06-18T14:23:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a66e62ae56307e587e93d7ed4d83ea34c71d2eb9'/>
<id>a66e62ae56307e587e93d7ed4d83ea34c71d2eb9</id>
<content type='text'>
drm_get_connector_name now returns a const value, which causes the following
compilation warning:

  drivers/gpu/drm/drm_fb_helper.c: In function ‘drm_fb_helper_parse_command_line’:
  drivers/gpu/drm/drm_fb_helper.c:127:3: warning: passing argument 1 of ‘fb_get_options’ discards ‘const’ qualifier from pointer target type [enabled by default]
  In file included from drivers/gpu/drm/drm_fb_helper.c:35:0:
  include/linux/fb.h:627:12: note: expected ‘char *’ but argument is of type ‘const char *’

As fb_get_options uses its name argument as read only, make it const. This
fixes the aforementioned compilation warning.

Signed-off-by: Vincent Stehlé &lt;vincent.stehle@freescale.com&gt;
Cc: Jean-Christophe Plagniol-Villard &lt;plagnioj@jcrosoft.com&gt;
Cc: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Cc: trivial@kernel.org
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD &lt;plagnioj@jcrosoft.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
drm_get_connector_name now returns a const value, which causes the following
compilation warning:

  drivers/gpu/drm/drm_fb_helper.c: In function ‘drm_fb_helper_parse_command_line’:
  drivers/gpu/drm/drm_fb_helper.c:127:3: warning: passing argument 1 of ‘fb_get_options’ discards ‘const’ qualifier from pointer target type [enabled by default]
  In file included from drivers/gpu/drm/drm_fb_helper.c:35:0:
  include/linux/fb.h:627:12: note: expected ‘char *’ but argument is of type ‘const char *’

As fb_get_options uses its name argument as read only, make it const. This
fixes the aforementioned compilation warning.

Signed-off-by: Vincent Stehlé &lt;vincent.stehle@freescale.com&gt;
Cc: Jean-Christophe Plagniol-Villard &lt;plagnioj@jcrosoft.com&gt;
Cc: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Cc: trivial@kernel.org
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD &lt;plagnioj@jcrosoft.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fbmem: return -EFAULT on copy_to_user() failure</title>
<updated>2013-06-26T13:03:36+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-06-18T07:05:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2c30aba2b2894ceb2108f1cb2602015b121e9a81'/>
<id>2c30aba2b2894ceb2108f1cb2602015b121e9a81</id>
<content type='text'>
copy_to_user() returns the number of bytes remaining to be copied.
put_user() returns -EFAULT on error.

This function ORs a bunch of stuff together and returns jumbled non-zero
values on error.  It should return -EFAULT.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
copy_to_user() returns the number of bytes remaining to be copied.
put_user() returns -EFAULT on error.

This function ORs a bunch of stuff together and returns jumbled non-zero
values on error.  It should return -EFAULT.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux</title>
<updated>2013-05-03T02:40:34+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-05-03T02:40:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=20a2078ce7705a6e0722ef5184336eb8657a58d8'/>
<id>20a2078ce7705a6e0722ef5184336eb8657a58d8</id>
<content type='text'>
Pull drm updates from Dave Airlie:
 "This is the main drm pull request for 3.10.

  Wierd bits:
   - OMAP drm changes required OMAP dss changes, in drivers/video, so I
     took them in here.
   - one more fbcon fix for font handover
   - VT switch avoidance in pm code
   - scatterlist helpers for gpu drivers - have acks from akpm

  Highlights:
   - qxl kms driver - driver for the spice qxl virtual GPU

  Nouveau:
   - fermi/kepler VRAM compression
   - GK110/nvf0 modesetting support.

  Tegra:
   - host1x core merged with 2D engine support

  i915:
   - vt switchless resume
   - more valleyview support
   - vblank fixes
   - modesetting pipe config rework

  radeon:
   - UVD engine support
   - SI chip tiling support
   - GPU registers initialisation from golden values.

  exynos:
   - device tree changes
   - fimc block support

  Otherwise:
   - bunches of fixes all over the place."

* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (513 commits)
  qxl: update to new idr interfaces.
  drm/nouveau: fix build with nv50-&gt;nvc0
  drm/radeon: fix handling of v6 power tables
  drm/radeon: clarify family checks in pm table parsing
  drm/radeon: consolidate UVD clock programming
  drm/radeon: fix UPLL_REF_DIV_MASK definition
  radeon: add bo tracking debugfs
  drm/radeon: add new richland pci ids
  drm/radeon: add some new SI PCI ids
  drm/radeon: fix scratch reg handling for UVD fence
  drm/radeon: allocate SA bo in the requested domain
  drm/radeon: fix possible segfault when parsing pm tables
  drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
  OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
  OMAPDSS: VENC: Add error handling for venc_probe_pdata
  OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
  OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
  OMAPDSS: DSI: Add error handling for dsi_probe_pdata
  OMAPDSS: SDI: Add error handling for sdi_probe_pdata
  OMAPDSS: DPI: Add error handling for dpi_probe_pdata
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull drm updates from Dave Airlie:
 "This is the main drm pull request for 3.10.

  Wierd bits:
   - OMAP drm changes required OMAP dss changes, in drivers/video, so I
     took them in here.
   - one more fbcon fix for font handover
   - VT switch avoidance in pm code
   - scatterlist helpers for gpu drivers - have acks from akpm

  Highlights:
   - qxl kms driver - driver for the spice qxl virtual GPU

  Nouveau:
   - fermi/kepler VRAM compression
   - GK110/nvf0 modesetting support.

  Tegra:
   - host1x core merged with 2D engine support

  i915:
   - vt switchless resume
   - more valleyview support
   - vblank fixes
   - modesetting pipe config rework

  radeon:
   - UVD engine support
   - SI chip tiling support
   - GPU registers initialisation from golden values.

  exynos:
   - device tree changes
   - fimc block support

  Otherwise:
   - bunches of fixes all over the place."

* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (513 commits)
  qxl: update to new idr interfaces.
  drm/nouveau: fix build with nv50-&gt;nvc0
  drm/radeon: fix handling of v6 power tables
  drm/radeon: clarify family checks in pm table parsing
  drm/radeon: consolidate UVD clock programming
  drm/radeon: fix UPLL_REF_DIV_MASK definition
  radeon: add bo tracking debugfs
  drm/radeon: add new richland pci ids
  drm/radeon: add some new SI PCI ids
  drm/radeon: fix scratch reg handling for UVD fence
  drm/radeon: allocate SA bo in the requested domain
  drm/radeon: fix possible segfault when parsing pm tables
  drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
  OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
  OMAPDSS: VENC: Add error handling for venc_probe_pdata
  OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
  OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
  OMAPDSS: DSI: Add error handling for dsi_probe_pdata
  OMAPDSS: SDI: Add error handling for sdi_probe_pdata
  OMAPDSS: DPI: Add error handling for dpi_probe_pdata
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>fbdev: fix check for fb_mmap's mmio availability</title>
<updated>2013-04-26T05:28:56+00:00</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2013-04-24T05:35:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=138f296e140f79cb955caba70690076fb14e6f6d'/>
<id>138f296e140f79cb955caba70690076fb14e6f6d</id>
<content type='text'>
Commit fc9bbca8f650e5f738af8806317c0a041a48ae4a (vm: convert fb_mmap to
vm_iomap_memory() helper) made fbmem.c use vm_iomap_memory, but also
accidentally removed the check for mmio's availability.

Add the check back.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit fc9bbca8f650e5f738af8806317c0a041a48ae4a (vm: convert fb_mmap to
vm_iomap_memory() helper) made fbmem.c use vm_iomap_memory, but also
accidentally removed the check for mmio's availability.

Add the check back.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vm: convert fb_mmap to vm_iomap_memory() helper</title>
<updated>2013-04-19T16:57:35+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-04-19T16:57:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fc9bbca8f650e5f738af8806317c0a041a48ae4a'/>
<id>fc9bbca8f650e5f738af8806317c0a041a48ae4a</id>
<content type='text'>
This is my example conversion of a few existing mmap users.  The
fb_mmap() case is a good example because it is a bit more complicated
than some: fb_mmap() mmaps one of two different memory areas depending
on the page offset of the mmap (but happily there is never any mixing of
the two, so the helper function still works).

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is my example conversion of a few existing mmap users.  The
fb_mmap() case is a good example because it is a bit more complicated
than some: fb_mmap() mmaps one of two different memory areas depending
on the page offset of the mmap (but happily there is never any mixing of
the two, so the helper function still works).

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'v3.9-rc3' into drm-intel-next-queued</title>
<updated>2013-03-19T08:47:30+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-03-19T08:47:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0d4a42f6bd298e826620585e766a154ab460617a'/>
<id>0d4a42f6bd298e826620585e766a154ab460617a</id>
<content type='text'>
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes,
which depend upon the new for_each_sg_page introduce in

commit a321e91b6d73ed011ffceed384c40d2785cf723b
Author: Imre Deak &lt;imre.deak@intel.com&gt;
Date:   Wed Feb 27 17:02:56 2013 -0800

    lib/scatterlist: add simple page iterator

The merge itself is just two trivial conflicts:

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes,
which depend upon the new for_each_sg_page introduce in

commit a321e91b6d73ed011ffceed384c40d2785cf723b
Author: Imre Deak &lt;imre.deak@intel.com&gt;
Date:   Wed Feb 27 17:02:56 2013 -0800

    lib/scatterlist: add simple page iterator

The merge itself is just two trivial conflicts:

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs</title>
<updated>2013-02-27T04:16:07+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-02-27T04:16:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d895cb1af15c04c522a25c79cc429076987c089b'/>
<id>d895cb1af15c04c522a25c79cc429076987c089b</id>
<content type='text'>
Pull vfs pile (part one) from Al Viro:
 "Assorted stuff - cleaning namei.c up a bit, fixing -&gt;d_name/-&gt;d_parent
  locking violations, etc.

  The most visible changes here are death of FS_REVAL_DOT (replaced with
  "has -&gt;d_weak_revalidate()") and a new helper getting from struct file
  to inode.  Some bits of preparation to xattr method interface changes.

  Misc patches by various people sent this cycle *and* ocfs2 fixes from
  several cycles ago that should've been upstream right then.

  PS: the next vfs pile will be xattr stuff."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
  saner proc_get_inode() calling conventions
  proc: avoid extra pde_put() in proc_fill_super()
  fs: change return values from -EACCES to -EPERM
  fs/exec.c: make bprm_mm_init() static
  ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
  ocfs2: fix possible use-after-free with AIO
  ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
  get_empty_filp()/alloc_file() leave both -&gt;f_pos and -&gt;f_version zero
  target: writev() on single-element vector is pointless
  export kernel_write(), convert open-coded instances
  fs: encode_fh: return FILEID_INVALID if invalid fid_type
  kill f_vfsmnt
  vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
  nfsd: handle vfs_getattr errors in acl protocol
  switch vfs_getattr() to struct path
  default SET_PERSONALITY() in linux/elf.h
  ceph: prepopulate inodes only when request is aborted
  d_hash_and_lookup(): export, switch open-coded instances
  9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
  9p: split dropping the acls from v9fs_set_create_acl()
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull vfs pile (part one) from Al Viro:
 "Assorted stuff - cleaning namei.c up a bit, fixing -&gt;d_name/-&gt;d_parent
  locking violations, etc.

  The most visible changes here are death of FS_REVAL_DOT (replaced with
  "has -&gt;d_weak_revalidate()") and a new helper getting from struct file
  to inode.  Some bits of preparation to xattr method interface changes.

  Misc patches by various people sent this cycle *and* ocfs2 fixes from
  several cycles ago that should've been upstream right then.

  PS: the next vfs pile will be xattr stuff."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
  saner proc_get_inode() calling conventions
  proc: avoid extra pde_put() in proc_fill_super()
  fs: change return values from -EACCES to -EPERM
  fs/exec.c: make bprm_mm_init() static
  ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
  ocfs2: fix possible use-after-free with AIO
  ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
  get_empty_filp()/alloc_file() leave both -&gt;f_pos and -&gt;f_version zero
  target: writev() on single-element vector is pointless
  export kernel_write(), convert open-coded instances
  fs: encode_fh: return FILEID_INVALID if invalid fid_type
  kill f_vfsmnt
  vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
  nfsd: handle vfs_getattr errors in acl protocol
  switch vfs_getattr() to struct path
  default SET_PERSONALITY() in linux/elf.h
  ceph: prepopulate inodes only when request is aborted
  d_hash_and_lookup(): export, switch open-coded instances
  9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
  9p: split dropping the acls from v9fs_set_create_acl()
  ...
</pre>
</div>
</content>
</entry>
</feed>
