<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/gpu/drm/tilcdc, branch v3.10.78</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>drm/tilcdc: Fix the error path in tilcdc_load()</title>
<updated>2014-11-14T16:47:56+00:00</updated>
<author>
<name>Ezequiel Garcia</name>
<email>ezequiel@vanguardiasur.com.ar</email>
</author>
<published>2014-09-02T12:51:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a3cb445501d51791746af4066e480650d85d2f97'/>
<id>a3cb445501d51791746af4066e480650d85d2f97</id>
<content type='text'>
commit b478e336b3e75505707a11e78ef8b964ef0a03af upstream.

The current error path calls tilcdc_unload() in case of an error to release
the resources. However, this is wrong because not all resources have been
allocated by the time an error occurs in tilcdc_load().

To fix it, this commit adds proper labels to bail out at the different
stages in the load function, and release only the resources actually allocated.

Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Tested-by: Johannes Pointner &lt;johannes.pointner@br-automation.com&gt;
Signed-off-by: Ezequiel Garcia &lt;ezequiel@vanguardiasur.com.ar&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Fixes: 3a49012224ca ("drm/tilcdc: panel: fix leak when unloading the module")
Signed-off-by: Matwey V. Kornilov &lt;matwey.kornilov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b478e336b3e75505707a11e78ef8b964ef0a03af upstream.

The current error path calls tilcdc_unload() in case of an error to release
the resources. However, this is wrong because not all resources have been
allocated by the time an error occurs in tilcdc_load().

To fix it, this commit adds proper labels to bail out at the different
stages in the load function, and release only the resources actually allocated.

Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Tested-by: Johannes Pointner &lt;johannes.pointner@br-automation.com&gt;
Signed-off-by: Ezequiel Garcia &lt;ezequiel@vanguardiasur.com.ar&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Fixes: 3a49012224ca ("drm/tilcdc: panel: fix leak when unloading the module")
Signed-off-by: Matwey V. Kornilov &lt;matwey.kornilov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/tilcdc: fix double kfree</title>
<updated>2014-10-05T21:54:07+00:00</updated>
<author>
<name>Guido Martínez</name>
<email>guido@vanguardiasur.com.ar</email>
</author>
<published>2014-06-17T14:17:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ddb3b2c0ed7d2f9b0f429824c096566c38dfda66'/>
<id>ddb3b2c0ed7d2f9b0f429824c096566c38dfda66</id>
<content type='text'>
commit c9a3ad25eddfdb898114a9d73cdb4c3472d9dfca upstream.

display_timings_release calls kfree on the display_timings object passed
to it. Calling kfree after it is wrong. SLUB debug showed the following
warning:

    =============================================================================
    BUG kmalloc-64 (Tainted: G        W    ): Object already free
    -----------------------------------------------------------------------------

    Disabling lock debugging due to kernel taint
    INFO: Allocated in of_get_display_timings+0x2c/0x214 age=601 cpu=0
    pid=884
     __slab_alloc.constprop.79+0x2e0/0x33c
     kmem_cache_alloc+0xac/0xdc
     of_get_display_timings+0x2c/0x214
     panel_probe+0x7c/0x314 [tilcdc]
     platform_drv_probe+0x18/0x48
     [..snip..]
    INFO: Freed in panel_destroy+0x18/0x3c [tilcdc] age=0 cpu=0 pid=907
     __slab_free+0x34/0x330
     panel_destroy+0x18/0x3c [tilcdc]
     tilcdc_unload+0xd0/0x118 [tilcdc]
     drm_dev_unregister+0x24/0x98
     [..snip..]

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c9a3ad25eddfdb898114a9d73cdb4c3472d9dfca upstream.

display_timings_release calls kfree on the display_timings object passed
to it. Calling kfree after it is wrong. SLUB debug showed the following
warning:

    =============================================================================
    BUG kmalloc-64 (Tainted: G        W    ): Object already free
    -----------------------------------------------------------------------------

    Disabling lock debugging due to kernel taint
    INFO: Allocated in of_get_display_timings+0x2c/0x214 age=601 cpu=0
    pid=884
     __slab_alloc.constprop.79+0x2e0/0x33c
     kmem_cache_alloc+0xac/0xdc
     of_get_display_timings+0x2c/0x214
     panel_probe+0x7c/0x314 [tilcdc]
     platform_drv_probe+0x18/0x48
     [..snip..]
    INFO: Freed in panel_destroy+0x18/0x3c [tilcdc] age=0 cpu=0 pid=907
     __slab_free+0x34/0x330
     panel_destroy+0x18/0x3c [tilcdc]
     tilcdc_unload+0xd0/0x118 [tilcdc]
     drm_dev_unregister+0x24/0x98
     [..snip..]

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/tilcdc: fix release order on exit</title>
<updated>2014-10-05T21:54:06+00:00</updated>
<author>
<name>Guido Martínez</name>
<email>guido@vanguardiasur.com.ar</email>
</author>
<published>2014-06-17T14:17:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aaee1af7b74ecbb1d16b3303aa63ef62a37d20c1'/>
<id>aaee1af7b74ecbb1d16b3303aa63ef62a37d20c1</id>
<content type='text'>
commit eb565a2bbadc6a5030a6dbe58db1aa52453e7edf upstream.

Unregister resources in the correct order on tilcdc_drm_fini, which is
the reverse order they were registered during tilcdc_drm_init.

This also means unregistering the driver before releasing its resources.

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit eb565a2bbadc6a5030a6dbe58db1aa52453e7edf upstream.

Unregister resources in the correct order on tilcdc_drm_fini, which is
the reverse order they were registered during tilcdc_drm_init.

This also means unregistering the driver before releasing its resources.

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/tilcdc: panel: fix leak when unloading the module</title>
<updated>2014-10-05T21:54:06+00:00</updated>
<author>
<name>Guido Martínez</name>
<email>guido@vanguardiasur.com.ar</email>
</author>
<published>2014-06-17T14:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ed64381eb3e1fe2f04af1ca06e942f3602abf123'/>
<id>ed64381eb3e1fe2f04af1ca06e942f3602abf123</id>
<content type='text'>
commit 3a49012224ca9016658a831a327ff6a7fe5bb4f9 upstream.

The driver did not unregister the allocated framebuffer, which caused
memory leaks (and memory manager WARNs) when unloading. Also, the
framebuffer device under /dev still existed after unloading.

Add a call to drm_fbdev_cma_fini when unloading the module to prevent
both issues.

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3a49012224ca9016658a831a327ff6a7fe5bb4f9 upstream.

The driver did not unregister the allocated framebuffer, which caused
memory leaks (and memory manager WARNs) when unloading. Also, the
framebuffer device under /dev still existed after unloading.

Add a call to drm_fbdev_cma_fini when unloading the module to prevent
both issues.

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/tilcdc: tfp410: fix dangling sysfs connector node</title>
<updated>2014-10-05T21:54:06+00:00</updated>
<author>
<name>Guido Martínez</name>
<email>guido@vanguardiasur.com.ar</email>
</author>
<published>2014-06-17T14:17:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a06de0430256d72e3deb00bbd9426b0c4183c11c'/>
<id>a06de0430256d72e3deb00bbd9426b0c4183c11c</id>
<content type='text'>
commit 16dcbdef404f4e87dab985494381939fe0a2d456 upstream.

Add a drm_sysfs_connector_remove call when we destroy the panel to make
sure the connector node in sysfs gets deleted.

This is required for proper unload and re-load of this driver, otherwise
we will get a warning about a duplicate filename in sysfs.

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 16dcbdef404f4e87dab985494381939fe0a2d456 upstream.

Add a drm_sysfs_connector_remove call when we destroy the panel to make
sure the connector node in sysfs gets deleted.

This is required for proper unload and re-load of this driver, otherwise
we will get a warning about a duplicate filename in sysfs.

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/tilcdc: slave: fix dangling sysfs connector node</title>
<updated>2014-10-05T21:54:06+00:00</updated>
<author>
<name>Guido Martínez</name>
<email>guido@vanguardiasur.com.ar</email>
</author>
<published>2014-06-17T14:17:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=94ff92a34e0c666daa6a3711a07ec65f8067dcd7'/>
<id>94ff92a34e0c666daa6a3711a07ec65f8067dcd7</id>
<content type='text'>
commit daa15b4cd1eee58eb1322062a3320b1dbe5dc96e upstream.

Add a drm_sysfs_connector_remove call when we destroy the panel to make
sure the connector node in sysfs gets deleted.

This is required for proper unload and re-load of this driver as a
module. Without this, we would get a warning at re-load time like so:

   tda998x 0-0070: found TDA19988
   ------------[ cut here ]------------
   WARNING: CPU: 0 PID: 825 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
   sysfs: cannot create duplicate filename '/class/drm/card0-HDMI-A-1'
   Modules linked in: [..]
   CPU: 0 PID: 825 Comm: modprobe Not tainted 3.15.0-rc4-00027-g9dcdef4 #82
   [&lt;c0013bb8&gt;] (unwind_backtrace) from [&lt;c0011824&gt;] (show_stack+0x10/0x14)
   [&lt;c0011824&gt;] (show_stack) from [&lt;c0034e8c&gt;] (warn_slowpath_common+0x68/0x88)
   [&lt;c0034e8c&gt;] (warn_slowpath_common) from [&lt;c0034edc&gt;] (warn_slowpath_fmt+0x30/0x40)
   [&lt;c0034edc&gt;] (warn_slowpath_fmt) from [&lt;c01243f4&gt;] (sysfs_warn_dup+0x54/0x74)
   [&lt;c01243f4&gt;] (sysfs_warn_dup) from [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
   [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2) from [&lt;c02ae37c&gt;] (device_add+0x338/0x520)
   [&lt;c02ae37c&gt;] (device_add) from [&lt;c02ae6e8&gt;] (device_create_groups_vargs+0xa0/0xc4)
   [&lt;c02ae6e8&gt;] (device_create_groups_vargs) from [&lt;c02ae758&gt;] (device_create+0x24/0x2c)
   [&lt;c02ae758&gt;] (device_create) from [&lt;c029b4ec&gt;] (drm_sysfs_connector_add+0x64/0x204)
   [&lt;c029b4ec&gt;] (drm_sysfs_connector_add) from [&lt;bf0b1b40&gt;] (slave_modeset_init+0x120/0x1bc [tilcdc])
   [&lt;bf0b1b40&gt;] (slave_modeset_init [tilcdc]) from [&lt;bf0b2be8&gt;] (tilcdc_load+0x214/0x4c0 [tilcdc])
   [&lt;bf0b2be8&gt;] (tilcdc_load [tilcdc]) from [&lt;c029955c&gt;] (drm_dev_register+0xa4/0x104)
      [..snip..]
   ---[ end trace 4df8d614936ebdee ]---
   [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit daa15b4cd1eee58eb1322062a3320b1dbe5dc96e upstream.

Add a drm_sysfs_connector_remove call when we destroy the panel to make
sure the connector node in sysfs gets deleted.

This is required for proper unload and re-load of this driver as a
module. Without this, we would get a warning at re-load time like so:

   tda998x 0-0070: found TDA19988
   ------------[ cut here ]------------
   WARNING: CPU: 0 PID: 825 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
   sysfs: cannot create duplicate filename '/class/drm/card0-HDMI-A-1'
   Modules linked in: [..]
   CPU: 0 PID: 825 Comm: modprobe Not tainted 3.15.0-rc4-00027-g9dcdef4 #82
   [&lt;c0013bb8&gt;] (unwind_backtrace) from [&lt;c0011824&gt;] (show_stack+0x10/0x14)
   [&lt;c0011824&gt;] (show_stack) from [&lt;c0034e8c&gt;] (warn_slowpath_common+0x68/0x88)
   [&lt;c0034e8c&gt;] (warn_slowpath_common) from [&lt;c0034edc&gt;] (warn_slowpath_fmt+0x30/0x40)
   [&lt;c0034edc&gt;] (warn_slowpath_fmt) from [&lt;c01243f4&gt;] (sysfs_warn_dup+0x54/0x74)
   [&lt;c01243f4&gt;] (sysfs_warn_dup) from [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
   [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2) from [&lt;c02ae37c&gt;] (device_add+0x338/0x520)
   [&lt;c02ae37c&gt;] (device_add) from [&lt;c02ae6e8&gt;] (device_create_groups_vargs+0xa0/0xc4)
   [&lt;c02ae6e8&gt;] (device_create_groups_vargs) from [&lt;c02ae758&gt;] (device_create+0x24/0x2c)
   [&lt;c02ae758&gt;] (device_create) from [&lt;c029b4ec&gt;] (drm_sysfs_connector_add+0x64/0x204)
   [&lt;c029b4ec&gt;] (drm_sysfs_connector_add) from [&lt;bf0b1b40&gt;] (slave_modeset_init+0x120/0x1bc [tilcdc])
   [&lt;bf0b1b40&gt;] (slave_modeset_init [tilcdc]) from [&lt;bf0b2be8&gt;] (tilcdc_load+0x214/0x4c0 [tilcdc])
   [&lt;bf0b2be8&gt;] (tilcdc_load [tilcdc]) from [&lt;c029955c&gt;] (drm_dev_register+0xa4/0x104)
      [..snip..]
   ---[ end trace 4df8d614936ebdee ]---
   [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/tilcdc: panel: fix dangling sysfs connector node</title>
<updated>2014-10-05T21:54:06+00:00</updated>
<author>
<name>Guido Martínez</name>
<email>guido@vanguardiasur.com.ar</email>
</author>
<published>2014-06-17T14:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b9733d3b8aafde65eb3ef5fbdd6ba21250680c02'/>
<id>b9733d3b8aafde65eb3ef5fbdd6ba21250680c02</id>
<content type='text'>
commit e396900e649b0af31161634d87fe37076f46c12b upstream.

Add a drm_sysfs_connector_remove call when we destroy the panel to make
sure the connector node in sysfs gets deleted.

This is required for proper unload and re-load of this driver as a
module. Without this, we would get a warning at re-load time like so:

   ------------[ cut here ]------------
   WARNING: CPU: 0 PID: 824 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
   sysfs: cannot create duplicate filename '/class/drm/card0-LVDS-1'
   Modules linked in: [...]
   CPU: 0 PID: 824 Comm: modprobe Not tainted 3.15.0-rc4-00027-g6484f96-dirty #81
   [&lt;c0013bb8&gt;] (unwind_backtrace) from [&lt;c0011824&gt;] (show_stack+0x10/0x14)
   [&lt;c0011824&gt;] (show_stack) from [&lt;c0034e8c&gt;] (warn_slowpath_common+0x68/0x88)
   [&lt;c0034e8c&gt;] (warn_slowpath_common) from [&lt;c0034edc&gt;] (warn_slowpath_fmt+0x30/0x40)
   [&lt;c0034edc&gt;] (warn_slowpath_fmt) from [&lt;c01243f4&gt;] (sysfs_warn_dup+0x54/0x74)
   [&lt;c01243f4&gt;] (sysfs_warn_dup) from [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
   [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2) from [&lt;c02ae37c&gt;] (device_add+0x338/0x520)
   [&lt;c02ae37c&gt;] (device_add) from [&lt;c02ae6e8&gt;] (device_create_groups_vargs+0xa0/0xc4)
   [&lt;c02ae6e8&gt;] (device_create_groups_vargs) from [&lt;c02ae758&gt;] (device_create+0x24/0x2c)
   [&lt;c02ae758&gt;] (device_create) from [&lt;c029b4ec&gt;] (drm_sysfs_connector_add+0x64/0x204)
   [&lt;c029b4ec&gt;] (drm_sysfs_connector_add) from [&lt;bf0b1fec&gt;] (panel_modeset_init+0xb8/0x134 [tilcdc])
   [&lt;bf0b1fec&gt;] (panel_modeset_init [tilcdc]) from [&lt;bf0b2bf0&gt;] (tilcdc_load+0x214/0x4c0 [tilcdc])
   [&lt;bf0b2bf0&gt;] (tilcdc_load [tilcdc]) from [&lt;c029955c&gt;] (drm_dev_register+0xa4/0x104)
      [ .. snip .. ]
   ---[ end trace b2d09cd9578b0497 ]---
   [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e396900e649b0af31161634d87fe37076f46c12b upstream.

Add a drm_sysfs_connector_remove call when we destroy the panel to make
sure the connector node in sysfs gets deleted.

This is required for proper unload and re-load of this driver as a
module. Without this, we would get a warning at re-load time like so:

   ------------[ cut here ]------------
   WARNING: CPU: 0 PID: 824 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
   sysfs: cannot create duplicate filename '/class/drm/card0-LVDS-1'
   Modules linked in: [...]
   CPU: 0 PID: 824 Comm: modprobe Not tainted 3.15.0-rc4-00027-g6484f96-dirty #81
   [&lt;c0013bb8&gt;] (unwind_backtrace) from [&lt;c0011824&gt;] (show_stack+0x10/0x14)
   [&lt;c0011824&gt;] (show_stack) from [&lt;c0034e8c&gt;] (warn_slowpath_common+0x68/0x88)
   [&lt;c0034e8c&gt;] (warn_slowpath_common) from [&lt;c0034edc&gt;] (warn_slowpath_fmt+0x30/0x40)
   [&lt;c0034edc&gt;] (warn_slowpath_fmt) from [&lt;c01243f4&gt;] (sysfs_warn_dup+0x54/0x74)
   [&lt;c01243f4&gt;] (sysfs_warn_dup) from [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
   [&lt;c0124708&gt;] (sysfs_do_create_link_sd.isra.2) from [&lt;c02ae37c&gt;] (device_add+0x338/0x520)
   [&lt;c02ae37c&gt;] (device_add) from [&lt;c02ae6e8&gt;] (device_create_groups_vargs+0xa0/0xc4)
   [&lt;c02ae6e8&gt;] (device_create_groups_vargs) from [&lt;c02ae758&gt;] (device_create+0x24/0x2c)
   [&lt;c02ae758&gt;] (device_create) from [&lt;c029b4ec&gt;] (drm_sysfs_connector_add+0x64/0x204)
   [&lt;c029b4ec&gt;] (drm_sysfs_connector_add) from [&lt;bf0b1fec&gt;] (panel_modeset_init+0xb8/0x134 [tilcdc])
   [&lt;bf0b1fec&gt;] (panel_modeset_init [tilcdc]) from [&lt;bf0b2bf0&gt;] (tilcdc_load+0x214/0x4c0 [tilcdc])
   [&lt;bf0b2bf0&gt;] (tilcdc_load [tilcdc]) from [&lt;c029955c&gt;] (drm_dev_register+0xa4/0x104)
      [ .. snip .. ]
   ---[ end trace b2d09cd9578b0497 ]---
   [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

Signed-off-by: Guido Martínez &lt;guido@vanguardiasur.com.ar&gt;
Tested-by: Darren Etheridge &lt;detheridge@ti.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/tilcd: select BACKLIGHT_LCD_SUPPORT</title>
<updated>2013-06-03T09:20:49+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2013-05-31T22:22:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1ed7fad6dbb211142cb61169d8d0bbbb049d4de1'/>
<id>1ed7fad6dbb211142cb61169d8d0bbbb049d4de1</id>
<content type='text'>
The dependecies for BACKLIGHT_CLASS_DEVICE are defined a bit
strange, but it seems one has to always select both BACKLIGHT_CLASS_DEVICE
and BACKLIGHT_LCD_SUPPORT to avoid this error:

drivers/gpu/drm/tilcdc/tilcdc_panel.c:396:
 undefined reference to `of_find_backlight_by_node'

Cc: Rob Clark &lt;robdclark@gmail.com&gt;
Cc: dri-devel@lists.freedesktop.org
Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Dave Airlie &lt;airlied@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The dependecies for BACKLIGHT_CLASS_DEVICE are defined a bit
strange, but it seems one has to always select both BACKLIGHT_CLASS_DEVICE
and BACKLIGHT_LCD_SUPPORT to avoid this error:

drivers/gpu/drm/tilcdc/tilcdc_panel.c:396:
 undefined reference to `of_find_backlight_by_node'

Cc: Rob Clark &lt;robdclark@gmail.com&gt;
Cc: dri-devel@lists.freedesktop.org
Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Dave Airlie &lt;airlied@gmail.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>drm/tilcdc: use only a single module device table</title>
<updated>2013-04-26T00:18:46+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2013-04-23T16:30:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a59e1ff3b83726f581ba7a421af97bd1589d9e2c'/>
<id>a59e1ff3b83726f581ba7a421af97bd1589d9e2c</id>
<content type='text'>
The tilcdc driver fails to be built as a module because of extraneous
MODULE_DEVICE_TABLE entries:

drivers/gpu/drm/tilcdc/tilcdc_slave.o:(.data+0x54): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
drivers/gpu/drm/tilcdc/tilcdc_panel.o:(.data+0x54): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
drivers/gpu/drm/tilcdc/tilcdc_drv.o:(.data+0x184): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here

Since the entire point of these entries is to make the module autoload
when one of the devices is present, it's enough to keep the one entry
for "ti,am33xx-tilcdc", which should always be there if any of the
others are.

Acked-by: Rob Clark &lt;robdclark@gmail.com&gt;
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The tilcdc driver fails to be built as a module because of extraneous
MODULE_DEVICE_TABLE entries:

drivers/gpu/drm/tilcdc/tilcdc_slave.o:(.data+0x54): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
drivers/gpu/drm/tilcdc/tilcdc_panel.o:(.data+0x54): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
drivers/gpu/drm/tilcdc/tilcdc_drv.o:(.data+0x184): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here

Since the entire point of these entries is to make the module autoload
when one of the devices is present, it's enough to keep the one entry
for "ti,am33xx-tilcdc", which should always be there if any of the
others are.

Acked-by: Rob Clark &lt;robdclark@gmail.com&gt;
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
