Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> --- .../staging/dream/smd/rpc_server_dog_keepalive.c | 2 +- drivers/staging/dream/smd/rpc_server_time_remote.c | 6 +- drivers/staging/dream/smd/smd.c | 12 +--- drivers/staging/dream/smd/smd_qmi.c | 64 +++++++++----------- drivers/staging/dream/smd/smd_rpcrouter.c | 65 ++++++++----------- drivers/staging/dream/smd/smd_rpcrouter_device.c | 22 +++---- drivers/staging/dream/smd/smd_rpcrouter_servers.c | 7 +- drivers/staging/dream/smd/smd_tty.c | 2 +- 8 files changed, 76 insertions(+), 104 deletions(-) diff --git a/drivers/staging/dream/smd/rpc_server_dog_keepalive.c b/drivers/staging/dream/smd/rpc_server_dog_keepalive.c index b23fccf..0a723c3 100644 --- a/drivers/staging/dream/smd/rpc_server_dog_keepalive.c +++ b/drivers/staging/dream/smd/rpc_server_dog_keepalive.c @@ -45,7 +45,7 @@ static int handle_rpc_call(struct msm_rpc_server *server, case RPC_DOG_KEEPALIVE_NULL: return 0; case RPC_DOG_KEEPALIVE_BEACON: - printk(KERN_INFO "DOG KEEPALIVE PING\n"); + pr_info("DOG KEEPALIVE PING\n"); return 0; default: return -ENODEV; diff --git a/drivers/staging/dream/smd/rpc_server_time_remote.c b/drivers/staging/dream/smd/rpc_server_time_remote.c index 2f90fc8..d65376c 100644 --- a/drivers/staging/dream/smd/rpc_server_time_remote.c +++ b/drivers/staging/dream/smd/rpc_server_time_remote.c @@ -50,10 +50,8 @@ static int handle_rpc_call(struct msm_rpc_server *server, args = (struct rpc_time_tod_set_apps_bases_args *)(req + 1); args->tick = be32_to_cpu(args->tick); args->stamp = be64_to_cpu(args->stamp); - printk(KERN_INFO "RPC_TIME_TOD_SET_APPS_BASES:\n" - "\ttick = %d\n" - "\tstamp = %lld\n", - args->tick, args->stamp); + pr_info("RPC_TIME_TOD_SET_APPS_BASES:\n\ttick = %d\n\tstamp = %lld\n", + args->tick, args->stamp); return 0; } default: diff --git a/drivers/staging/dream/smd/smd.c b/drivers/staging/dream/smd/smd.c index 8f35be7..6c6eaca 100644 --- a/drivers/staging/dream/smd/smd.c +++ b/drivers/staging/dream/smd/smd.c @@ -490,8 +490,7 @@ void smd_sleep_exit(void) if (ch_is_open(ch)) { if (ch->recv->fHEAD) { if (msm_smd_debug_mask & MSM_SMD_DEBUG) - pr_info("smd_sleep_exit ch %d fHEAD " - "%x %x %x\n", + pr_info("smd_sleep_exit ch %d fHEAD %x %x %x\n", ch->n, ch->recv->fHEAD, ch->recv->head, ch->recv->tail); need_int = 1; @@ -499,8 +498,7 @@ void smd_sleep_exit(void) } if (ch->recv->fTAIL) { if (msm_smd_debug_mask & MSM_SMD_DEBUG) - pr_info("smd_sleep_exit ch %d fTAIL " - "%x %x %x\n", + pr_info("smd_sleep_exit ch %d fTAIL %x %x %x\n", ch->n, ch->recv->fTAIL, ch->send->head, ch->send->tail); need_int = 1; @@ -508,16 +506,14 @@ void smd_sleep_exit(void) } if (ch->recv->fSTATE) { if (msm_smd_debug_mask & MSM_SMD_DEBUG) - pr_info("smd_sleep_exit ch %d fSTATE %x" - "\n", ch->n, ch->recv->fSTATE); + pr_info("smd_sleep_exit ch %d fSTATE %x\n", ch->n, ch->recv->fSTATE); need_int = 1; break; } tmp = ch->recv->state; if (tmp != ch->last_state) { if (msm_smd_debug_mask & MSM_SMD_DEBUG) - pr_info("smd_sleep_exit ch %d " - "state %x != %x\n", + pr_info("smd_sleep_exit ch %d state %x != %x\n", ch->n, tmp, ch->last_state); need_int = 1; break; diff --git a/drivers/staging/dream/smd/smd_qmi.c b/drivers/staging/dream/smd/smd_qmi.c index d4e7d88..89f0cde 100644 --- a/drivers/staging/dream/smd/smd_qmi.c +++ b/drivers/staging/dream/smd/smd_qmi.c @@ -16,6 +16,8 @@ * */ +#define pr_fmt(fmt) "qmi: " fmt + #include <linux/module.h> #include <linux/fs.h> #include <linux/cdev.h> @@ -114,10 +116,9 @@ static void qmi_dump_msg(struct qmi_msg *msg, const char *prefix) if (!verbose) return; - printk(KERN_INFO - "qmi: %s: svc=%02x cid=%02x tid=%04x type=%04x size=%04x\n", - prefix, msg->service, msg->client_id, - msg->txn_id, msg->type, msg->size); + pr_info("%s: svc=%02x cid=%02x tid=%04x type=%04x size=%04x\n", + prefix, msg->service, msg->client_id, + msg->txn_id, msg->type, msg->size); x = msg->tlv; sz = msg->size; @@ -129,13 +130,13 @@ static void qmi_dump_msg(struct qmi_msg *msg, const char *prefix) if (n > sz) break; - printk(KERN_INFO "qmi: %s: tlv: %02x %04x { ", - prefix, x[0], n); + pr_info("%s: tlv: %02x %04x { ", + prefix, x[0], n); x += 3; sz -= n; while (n-- > 0) - printk("%02x ", *x++); - printk("}\n"); + pr_cont("%02x ", *x++); + pr_cont("}\n"); } } @@ -268,8 +269,7 @@ static void qmi_process_ctl_msg(struct qmi_ctxt *ctxt, struct qmi_msg *msg) if (qmi_get_tlv(msg, 0x01, sizeof(n), n)) return; if (n[0] == QMI_WDS) { - printk(KERN_INFO - "qmi: ctl: wds use client_id 0x%02x\n", n[1]); + pr_info("ctl: wds use client_id 0x%02x\n", n[1]); ctxt->wds_client_id = n[1]; ctxt->wds_busy = 0; } @@ -311,30 +311,25 @@ static void qmi_process_unicast_wds_msg(struct qmi_ctxt *ctxt, switch (msg->type) { case 0x0021: if (qmi_get_status(msg, &err)) { - printk(KERN_ERR - "qmi: wds: network stop failed (%04x)\n", err); + pr_err("wds: network stop failed (%04x)\n", err); } else { - printk(KERN_INFO - "qmi: wds: network stopped\n"); + pr_info("wds: network stopped\n"); ctxt->state = STATE_OFFLINE; ctxt->state_dirty = 1; } break; case 0x0020: if (qmi_get_status(msg, &err)) { - printk(KERN_ERR - "qmi: wds: network start failed (%04x)\n", err); + pr_err("wds: network start failed (%04x)\n", err); } else if (qmi_get_tlv(msg, 0x01, sizeof(ctxt->wds_handle), &ctxt->wds_handle)) { - printk(KERN_INFO - "qmi: wds no handle?\n"); + pr_info("wds: no handle?\n"); } else { - printk(KERN_INFO - "qmi: wds: got handle 0x%08x\n", - ctxt->wds_handle); + pr_info("wds: got handle 0x%08x\n", + ctxt->wds_handle); } break; case 0x002D: - printk("qmi: got network profile\n"); + pr_info("got network profile\n"); if (ctxt->state == STATE_QUERYING) { qmi_read_runtime_profile(ctxt, msg); ctxt->state = STATE_ONLINE; @@ -342,7 +337,7 @@ static void qmi_process_unicast_wds_msg(struct qmi_ctxt *ctxt, } break; default: - printk(KERN_ERR "qmi: unknown msg type 0x%04x\n", msg->type); + pr_err("unknown msg type 0x%04x\n", msg->type); } ctxt->wds_busy = 0; } @@ -356,37 +351,36 @@ static void qmi_process_broadcast_wds_msg(struct qmi_ctxt *ctxt, return; switch (n[0]) { case 1: - printk(KERN_INFO "qmi: wds: DISCONNECTED\n"); + pr_info("wds: DISCONNECTED\n"); ctxt->state = STATE_OFFLINE; ctxt->state_dirty = 1; break; case 2: - printk(KERN_INFO "qmi: wds: CONNECTED\n"); + pr_info("wds: CONNECTED\n"); ctxt->state = STATE_QUERYING; ctxt->state_dirty = 1; qmi_network_get_profile(ctxt); break; case 3: - printk(KERN_INFO "qmi: wds: SUSPENDED\n"); + pr_info("wds: SUSPENDED\n"); ctxt->state = STATE_OFFLINE; ctxt->state_dirty = 1; } } else { - printk(KERN_ERR "qmi: unknown bcast msg type 0x%04x\n", msg->type); + pr_err("unknown bcast msg type 0x%04x\n", msg->type); } } static void qmi_process_wds_msg(struct qmi_ctxt *ctxt, struct qmi_msg *msg) { - printk("wds: %04x @ %02x\n", msg->type, msg->client_id); + pr_info("wds: %04x @ %02x\n", msg->type, msg->client_id); if (msg->client_id == ctxt->wds_client_id) { qmi_process_unicast_wds_msg(ctxt, msg); } else if (msg->client_id == 0xff) { qmi_process_broadcast_wds_msg(ctxt, msg); } else { - printk(KERN_ERR - "qmi_process_wds_msg client id 0x%02x unknown\n", + pr_err("qmi_process_wds_msg client id 0x%02x unknown\n", msg->client_id); } } @@ -449,7 +443,7 @@ static void qmi_process_qmux(struct qmi_ctxt *ctxt, qmi_process_wds_msg(ctxt, &msg); break; default: - printk(KERN_ERR "qmi: msg from unknown svc 0x%02x\n", + pr_err("msg from unknown svc 0x%02x\n", msg.service); break; } @@ -478,7 +472,7 @@ static void qmi_read_work(struct work_struct *ws) continue; } if (smd_read(ch, buf, sz) != sz) { - printk(KERN_ERR "qmi: not enough data?!\n"); + pr_err("not enough data?!\n"); continue; } @@ -515,11 +509,11 @@ static void qmi_notify(void *priv, unsigned event) break; } case SMD_EVENT_OPEN: - printk(KERN_INFO "qmi: smd opened\n"); + pr_info("smd opened\n"); queue_work(qmi_wq, &ctxt->open_work); break; case SMD_EVENT_CLOSE: - printk(KERN_INFO "qmi: smd closed\n"); + pr_info("smd closed\n"); break; } } @@ -772,7 +766,7 @@ static int qmi_open(struct inode *ip, struct file *fp) int r = 0; if (!ctxt) { - printk(KERN_ERR "unknown qmi misc %d\n", MINOR(ip->i_rdev)); + pr_err("unknown qmi misc %d\n", MINOR(ip->i_rdev)); return -ENODEV; } diff --git a/drivers/staging/dream/smd/smd_rpcrouter.c b/drivers/staging/dream/smd/smd_rpcrouter.c index d4a4a88..cd789d0 100644 --- a/drivers/staging/dream/smd/smd_rpcrouter.c +++ b/drivers/staging/dream/smd/smd_rpcrouter.c @@ -20,6 +20,8 @@ /* TODO: maybe make server_list_lock a mutex */ /* TODO: pool fragments to avoid kmalloc/kfree churn */ +#define pr_fmt(fmt) "rpcrouter: " fmt + #include <linux/module.h> #include <linux/kernel.h> #include <linux/string.h> @@ -54,28 +56,28 @@ #define MSM_RPCROUTER_R2R_DEBUG 0 #define DUMP_ALL_RECEIVED_HEADERS 0 -#define DIAG(x...) printk("[RR] ERROR " x) +#define DIAG(x...) pr_info("[RR] ERROR " x) #if MSM_RPCROUTER_DEBUG -#define D(x...) printk(x) +#define D(x...) pr_info(x) #else #define D(x...) do {} while (0) #endif #if TRACE_R2R_MSG -#define RR(x...) printk("[RR] "x) +#define RR(x...) pr_info("[RR] "x) #else #define RR(x...) do {} while (0) #endif #if TRACE_RPC_MSG -#define IO(x...) printk("[RPC] "x) +#define IO(x...) pr_info("[RPC] " x) #else #define IO(x...) do {} while (0) #endif #if TRACE_NOTIFY_MSG -#define NTFY(x...) printk(KERN_ERR "[NOTIFY] "x) +#define NTFY(x...) pr_err("[NOTIFY] " x) #else #define NTFY(x...) do {} while (0) #endif @@ -137,8 +139,7 @@ static int rpcrouter_send_control_msg(union rr_control_msg *msg) int need; if (!(msg->cmd == RPCROUTER_CTRL_CMD_HELLO) && !initialized) { - printk(KERN_ERR "rpcrouter_send_control_msg(): Warning, " - "router not initialized\n"); + pr_err("%s(): Warning, router not initialized\n", __func__); return -EINVAL; } @@ -381,7 +382,7 @@ static int process_control_msg(union rr_control_msg *msg, int len) unsigned long flags; if (len != sizeof(*msg)) { - printk(KERN_ERR "rpcrouter: r2r msg size %d != %d\n", + pr_err("r2r msg size %d != %d\n", len, sizeof(*msg)); return -EINVAL; } @@ -424,8 +425,7 @@ static int process_control_msg(union rr_control_msg *msg, int len) r_ept = rpcrouter_lookup_remote_endpoint(msg->cli.cid); if (!r_ept) { - printk(KERN_ERR - "rpcrouter: Unable to resume client\n"); + pr_err("Unable to resume client\n"); break; } spin_lock_irqsave(&r_ept->quota_lock, flags); @@ -455,16 +455,14 @@ static int process_control_msg(union rr_control_msg *msg, int len) rc = rpcrouter_create_remote_endpoint( msg->srv.cid); if (rc < 0) - printk(KERN_ERR - "rpcrouter:Client create" - "error (%d)\n", rc); + pr_err("Client create error (%d)\n", rc); } schedule_work(&work_create_pdevs); wake_up(&newserver_wait); } else { if ((server->pid == msg->srv.pid) && (server->cid == msg->srv.cid)) { - printk(KERN_ERR "rpcrouter: Duplicate svr\n"); + pr_err("Duplicate svr\n"); } else { server->pid = msg->srv.pid; server->cid = msg->srv.cid; @@ -483,9 +481,7 @@ static int process_control_msg(union rr_control_msg *msg, int len) case RPCROUTER_CTRL_CMD_REMOVE_CLIENT: RR("o REMOVE_CLIENT id=%d:%08x\n", msg->cli.pid, msg->cli.cid); if (msg->cli.pid != RPCROUTER_PID_REMOTE) { - printk(KERN_ERR - "rpcrouter: Denying remote removal of " - "local client\n"); + pr_err("Denying remote removal of local client\n"); break; } r_ept = rpcrouter_lookup_remote_endpoint(msg->cli.cid); @@ -497,7 +493,7 @@ static int process_control_msg(union rr_control_msg *msg, int len) } /* Notify local clients of this event */ - printk(KERN_ERR "rpcrouter: LOCAL NOTIFICATION NOT IMP\n"); + pr_err("LOCAL NOTIFICATION NOT IMP\n"); rc = -ENOSYS; break; @@ -551,7 +547,7 @@ static void *rr_malloc(unsigned sz) if (ptr) return ptr; - printk(KERN_ERR "rpcrouter: kmalloc of %d failed, retrying...\n", sz); + pr_err("kmalloc of %d failed, retrying...\n", sz); do { ptr = kmalloc(sz, GFP_KERNEL); } while (!ptr); @@ -564,7 +560,7 @@ static int rr_read(void *data, int len) { int rc; unsigned long flags; -// printk("rr_read() %d\n", len); +// pr_info("rr_read() %d\n", len); for(;;) { spin_lock_irqsave(&smd_lock, flags); if (smd_read_avail(smd_channel) >= len) { @@ -579,7 +575,7 @@ static int rr_read(void *data, int len) wake_unlock(&rpcrouter_wake_lock); spin_unlock_irqrestore(&smd_lock, flags); -// printk("rr_read: waiting (%d)\n", len); +// pr_info("rr_read: waiting (%d)\n", len); wait_event(smd_wait, smd_read_avail(smd_channel) >= len); } return 0; @@ -698,7 +694,7 @@ done: fail_io: fail_data: - printk(KERN_ERR "rpc_router has died\n"); + pr_err("rpc_router has died\n"); wake_unlock(&rpcrouter_wake_lock); } @@ -748,19 +744,18 @@ int msm_rpc_write(struct msm_rpc_endpoint *ept, void *buffer, int count) /* has to have at least the xid and type fields */ if (count < (sizeof(uint32_t) * 2)) { - printk(KERN_ERR "rr_write: rejecting runt packet\n"); + pr_err("rr_write: rejecting runt packet\n"); return -EINVAL; } if (rq->type == 0) { /* RPC CALL */ if (count < (sizeof(uint32_t) * 6)) { - printk(KERN_ERR - "rr_write: rejecting runt call packet\n"); + pr_err("rr_write: rejecting runt call packet\n"); return -EINVAL; } if (ept->dst_pid == 0xffffffff) { - printk(KERN_ERR "rr_write: not connected\n"); + pr_err("rr_write: not connected\n"); return -ENOTCONN; } @@ -772,9 +767,7 @@ int msm_rpc_write(struct msm_rpc_endpoint *ept, void *buffer, int count) #else if (ept->dst_prog != rq->prog || ept->dst_vers != rq->vers) { #endif - printk(KERN_ERR - "rr_write: cannot write to %08x:%d " - "(bound to %08x:%d)\n", + pr_err("rr_write: cannot write to %08x:%d (bound to %08x:%d)\n", be32_to_cpu(rq->prog), be32_to_cpu(rq->vers), be32_to_cpu(ept->dst_prog), be32_to_cpu(ept->dst_vers)); @@ -791,13 +784,11 @@ int msm_rpc_write(struct msm_rpc_endpoint *ept, void *buffer, int count) /* RPC REPLY */ /* TODO: locking */ if (ept->reply_pid == 0xffffffff) { - printk(KERN_ERR - "rr_write: rejecting unexpected reply\n"); + pr_err("rr_write: rejecting unexpected reply\n"); return -EINVAL; } if (ept->reply_xid != rq->xid) { - printk(KERN_ERR - "rr_write: rejecting packet w/ bad xid\n"); + pr_err("rr_write: rejecting packet w/ bad xid\n"); return -EINVAL; } @@ -815,9 +806,8 @@ int msm_rpc_write(struct msm_rpc_endpoint *ept, void *buffer, int count) r_ept = rpcrouter_lookup_remote_endpoint(hdr.dst_cid); if (!r_ept) { - printk(KERN_ERR - "msm_rpc_write(): No route to ept " - "[PID %x CID %x]\n", hdr.dst_pid, hdr.dst_cid); + pr_err("%s(): No route to ept [PID %x CID %x]\n", + __func__, hdr.dst_pid, hdr.dst_cid); return -EHOSTUNREACH; } @@ -1076,8 +1066,7 @@ int __msm_rpc_read(struct msm_rpc_endpoint *ept, be32_to_cpu(rq->xid)); /* RPC CALL */ if (ept->reply_pid != 0xffffffff) { - printk(KERN_WARNING - "rr_read: lost previous reply xid...\n"); + pr_warning("rr_read: lost previous reply xid...\n"); } /* TODO: locking? */ ept->reply_pid = pkt->hdr.src_pid; diff --git a/drivers/staging/dream/smd/smd_rpcrouter_device.c b/drivers/staging/dream/smd/smd_rpcrouter_device.c index cd3910b..67778e3 100644 --- a/drivers/staging/dream/smd/smd_rpcrouter_device.c +++ b/drivers/staging/dream/smd/smd_rpcrouter_device.c @@ -14,6 +14,9 @@ * GNU General Public License for more details. * */ + +#define pr_fmt(fmt) "rpcrouter: " fmt + #include <linux/module.h> #include <linux/kernel.h> #include <linux/string.h> @@ -88,8 +91,7 @@ static ssize_t rpcrouter_read(struct file *filp, char __user *buf, while (frag != NULL) { if (copy_to_user(buf, frag->data, frag->length)) { - printk(KERN_ERR - "rpcrouter: could not copy all read data to user!\n"); + pr_err("could not copy all read data to user!\n"); rc = -EFAULT; } buf += frag->length; @@ -240,9 +242,7 @@ int msm_rpcrouter_create_server_cdev(struct rr_server *server) uint32_t dev_vers; if (next_minor == RPCROUTER_MAX_REMOTE_SERVERS) { - printk(KERN_ERR - "rpcrouter: Minor numbers exhausted - Increase " - "RPCROUTER_MAX_REMOTE_SERVERS\n"); + pr_err("Minor numbers exhausted - Increase RPCROUTER_MAX_REMOTE_SERVERS\n"); return -ENOBUFS; } @@ -269,8 +269,7 @@ int msm_rpcrouter_create_server_cdev(struct rr_server *server) server->device_number, NULL, "%.8x:%.8x", server->prog, dev_vers); if (IS_ERR(server->device)) { - printk(KERN_ERR - "rpcrouter: Unable to create device (%ld)\n", + pr_err("Unable to create device (%ld)\n", PTR_ERR(server->device)); return PTR_ERR(server->device);; } @@ -280,8 +279,7 @@ int msm_rpcrouter_create_server_cdev(struct rr_server *server) rc = cdev_add(&server->cdev, server->device_number, 1); if (rc < 0) { - printk(KERN_ERR - "rpcrouter: Unable to add chrdev (%d)\n", rc); + pr_err("Unable to add chrdev (%d)\n", rc); device_destroy(msm_rpcrouter_class, server->device_number); return rc; } @@ -322,8 +320,7 @@ int msm_rpcrouter_init_devices(void) msm_rpcrouter_class = class_create(THIS_MODULE, "oncrpc"); if (IS_ERR(msm_rpcrouter_class)) { rc = -ENOMEM; - printk(KERN_ERR - "rpcrouter: failed to create oncrpc class\n"); + pr_err("failed to create oncrpc class\n"); goto fail; } @@ -331,8 +328,7 @@ int msm_rpcrouter_init_devices(void) RPCROUTER_MAX_REMOTE_SERVERS + 1, "oncrpc"); if (rc < 0) { - printk(KERN_ERR - "rpcrouter: Failed to alloc chardev region (%d)\n", rc); + pr_err("Failed to alloc chardev region (%d)\n", rc); goto fail_destroy_class; } diff --git a/drivers/staging/dream/smd/smd_rpcrouter_servers.c b/drivers/staging/dream/smd/smd_rpcrouter_servers.c index 2597bbb..12ace13 100644 --- a/drivers/staging/dream/smd/smd_rpcrouter_servers.c +++ b/drivers/staging/dream/smd/smd_rpcrouter_servers.c @@ -48,7 +48,7 @@ static void rpc_server_register(struct msm_rpc_server *server) int rc; rc = msm_rpc_register_server(endpoint, server->prog, server->vers); if (rc < 0) - printk(KERN_ERR "[rpcserver] error registering %p @ %08x:%d\n", + pr_err("[rpcserver] error registering %p @ %08x:%d\n", server, server->prog, server->vers); } @@ -120,8 +120,7 @@ static int rpc_send_accepted_void_reply(struct msm_rpc_endpoint *client, rc = msm_rpc_write(client, reply_buf, sizeof(reply_buf)); if (rc < 0) - printk(KERN_ERR - "%s: could not write response: %d\n", + pr_err("%s: could not write response: %d\n", __FUNCTION__, rc); return rc; @@ -141,7 +140,7 @@ static int rpc_servers_thread(void *data) wake_lock(&rpc_servers_wake_lock); rc = msm_rpc_read(endpoint, &buffer, -1, -1); if (rc < 0) { - printk(KERN_ERR "%s: could not read: %d\n", + pr_err("%s: could not read: %d\n", __FUNCTION__, rc); break; } diff --git a/drivers/staging/dream/smd/smd_tty.c b/drivers/staging/dream/smd/smd_tty.c index 2edd9d1..6bd123a 100644 --- a/drivers/staging/dream/smd/smd_tty.c +++ b/drivers/staging/dream/smd/smd_tty.c @@ -66,7 +66,7 @@ static void smd_tty_notify(void *priv, unsigned event) ** context here and nobody else could 'steal' our ** characters. */ - printk(KERN_ERR "OOPS - smd_tty_buffer mismatch?!"); + pr_err("OOPS - smd_tty_buffer mismatch?!"); } wake_lock_timeout(&info->wake_lock, HZ / 2); -- 1.6.5.rc3.dirty _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel