From: Anders Blomdell <anders.blomdell@control.lth.se>
To: linux-kernel@vger.kernel.org
Cc: Manuel Estrada Sainz <ranty@debian.org>
Subject: [PATCH] Documentation/firmware_class/firmware_sample_driver.c
Date: Wed, 27 Jun 2007 16:58:40 +0200 [thread overview]
Message-ID: <46827B20.6000501@control.lth.se> (raw)
Signed-off-by: Anders Blomdell <anders.blomdell@control.lth.se>
Minor modifications to make the example load and unload without Oops
This is what unpatched version generates with 2.6.21.3
kernel: Oops: 0000 [#2]
...
kernel: Call Trace:
kernel: [<c04ae541>] sysfs_create_dir+0x49/0x63
kernel: [<c04e76ae>] kobject_shadow_add+0xd5/0x17d
kernel: [<c04e7908>] kobject_set_name+0x2b/0x92
kernel: [<c0556444>] device_add+0x9a/0x58e
kernel: [<c0620b65>] klist_init+0x23/0x2e
kernel: [<c055bfee>] _request_firmware+0x116/0x29f
kernel: [<c062149f>] wait_for_completion+0x8b/0x93
kernel: [<c055c20b>] request_firmware+0xf/0x11
kernel: [<e09420d9>] sample_init+0x59/0xc0 [firmware_sample_driver]
kernel: [<c0446c92>] sys_init_module+0x16b7/0x17ee
kernel: [<c04294de>] printk+0x0/0x1f
kernel: [<c0488436>] mntput_no_expire+0x11/0x6e
kernel: [<c0404fa8>] syscall_call+0x7/0xb
diff -u Documentation/firmware_class/firmware_sample_driver.c
/tmp/fw/firmware_sample_driver.c
--- Documentation/firmware_class/firmware_sample_driver.c 2007-05-24
23:22:47.000000000 +0200
+++ /tmp/fw/firmware_sample_driver.c 2007-06-27 16:51:16.000000000 +0200
@@ -15,11 +15,16 @@
#include "linux/firmware.h"
+static void ghost_release(struct device *dev)
+{
+ printk(KERN_DEBUG "firmware_sample_driver: ghost_release\n");
+}
+
static struct device ghost_device = {
.bus_id = "ghost0",
+ .release = ghost_release
};
-
static void sample_firmware_load(char *firmware, int size)
{
u8 buf[size+1];
@@ -97,16 +102,17 @@
static int sample_init(void)
{
- device_initialize(&ghost_device);
+ device_register(&ghost_device);
/* since there is no real hardware insertion I just call the
* sample probe functions here */
- sample_probe_specific();
+ /* sample_probe_specific(); */
sample_probe_default();
- sample_probe_async();
+ /*sample_probe_async();*/
return 0;
}
static void __exit sample_exit(void)
{
+ device_unregister(&ghost_device);
}
module_init (sample_init);
--
Anders Blomdell Email: anders.blomdell@control.lth.se
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
next reply other threads:[~2007-06-27 15:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-27 14:58 Anders Blomdell [this message]
2007-06-27 17:49 ` [PATCH] Documentation/firmware_class/firmware_sample_driver.c Marcel Holtmann
2007-06-28 8:47 ` Anders Blomdell
2007-06-28 10:35 ` Satyam Sharma
2007-06-29 17:49 ` Anders Blomdell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46827B20.6000501@control.lth.se \
--to=anders.blomdell@control.lth.se \
--cc=linux-kernel@vger.kernel.org \
--cc=ranty@debian.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.