Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/808473/?format=api
{ "id": 808473, "url": "http://patchwork.ozlabs.org/api/patches/808473/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/1504222183-61202-20-git-send-email-keescook@chromium.org/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1504222183-61202-20-git-send-email-keescook@chromium.org>", "list_archive_url": null, "date": "2017-08-31T23:29:31", "name": "[19/31] timer: Remove open-coded casts for .data and .function", "commit_ref": null, "pull_url": null, "state": "not-applicable", "archived": true, "hash": "43a80a010d22fc5191efdba588fdb3b24af58605", "submitter": { "id": 10641, "url": "http://patchwork.ozlabs.org/api/people/10641/?format=api", "name": "Kees Cook", "email": "keescook@chromium.org" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/1504222183-61202-20-git-send-email-keescook@chromium.org/mbox/", "series": [ { "id": 923, "url": "http://patchwork.ozlabs.org/api/series/923/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=923", "date": "2017-08-31T23:29:25", "name": null, "version": 1, "mbox": "http://patchwork.ozlabs.org/series/923/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/808473/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/808473/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netdev-owner@vger.kernel.org>", "X-Original-To": "patchwork-incoming@ozlabs.org", "Delivered-To": "patchwork-incoming@ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"a8/CloNp\"; dkim-atps=neutral" ], "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjzRs4vs4z9s7p\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 1 Sep 2017 09:42:01 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752057AbdHaXlu (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 31 Aug 2017 19:41:50 -0400", "from mail-pf0-f180.google.com ([209.85.192.180]:35475 \"EHLO\n\tmail-pf0-f180.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751815AbdHaXjU (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 31 Aug 2017 19:39:20 -0400", "by mail-pf0-f180.google.com with SMTP id g13so3168375pfm.2\n\tfor <netdev@vger.kernel.org>; Thu, 31 Aug 2017 16:39:20 -0700 (PDT)", "from www.outflux.net\n\t(173-164-112-133-Oregon.hfc.comcastbusiness.net. [173.164.112.133])\n\tby smtp.gmail.com with ESMTPSA id\n\tl67sm861740pfb.178.2017.08.31.16.39.17\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 31 Aug 2017 16:39:17 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=rWXy7cT3qNqZRt41uNYK+XNqg2GNkNagkyzJlyw1Yhs=;\n\tb=a8/CloNpgIXlx4lb3qiBFHweKhQ4Fn5WYV4iXVHWtmhrzKST9HbUdTkRUczg1BoAx5\n\tzlU5n+iU1gK7M563TmO8pGo9SV7YJ2gquS/jKse3lANlbDvr/3VQmtyZVxWVNbuf7BEr\n\t/iCsOrlTXInPIDf6uZzkLNMYju8V7YN2pAPfE=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=rWXy7cT3qNqZRt41uNYK+XNqg2GNkNagkyzJlyw1Yhs=;\n\tb=BV/lJZRNAoCva4oHnSPJx4HQKB/eZ1VnMJihO5Jj224mwXT9H2ieeJLAb016bthO46\n\tPC2MJ0LH3aMN0nld1uaANste4LYL/BvtoU+knpR489U5KBkP43x9zCChmRIPc5CSouWU\n\tNG5M/6Kb7jfIT9NN7E+kKU95bkEipdJYy9DGP4UOl3rnB96BXT8AOC7hSD/dOU73jQgB\n\tKO76ke6f0N3qESZdLzuhNUeQN74lqliWPE+s7lZThWZ7P2CGyTIVyMCICn1DZLVOJEzf\n\thsBRAL2f1z5PrQX1+TPkVtnCTyOfVK1aGYjd4A3GtBl3gsRvoBlexekJMwBP6fKYbpEG\n\tXCPw==", "X-Gm-Message-State": "AHPjjUjmifseNLzXnGl9AC4A8evb0+zupQqVDDplyiQWegV21XBU+2dH\n\t/uab5dXapN+AyvDr", "X-Google-Smtp-Source": "ADKCNb56kb90qJQFNGA2QkesglEnzKiSA/G/vyGvhs39syCtQVfBz3Hq+JZdulu8h1OmDw13mT01UQ==", "X-Received": "by 10.99.53.72 with SMTP id c69mr172517pga.284.1504222760254;\n\tThu, 31 Aug 2017 16:39:20 -0700 (PDT)", "From": "Kees Cook <keescook@chromium.org>", "To": "Thomas Gleixner <tglx@linutronix.de>", "Cc": "Kees Cook <keescook@chromium.org>, Samuel Ortiz <samuel@sortiz.org>,\n\tTyrel Datwyler <tyreld@linux.vnet.ibm.com>,\n\tBenjamin Herrenschmidt <benh@kernel.crashing.org>,\n\tPaul Mackerras <paulus@samba.org>, Michael Ellerman <mpe@ellerman.id.au>,\n\t\"James E.J. Bottomley\" <jejb@linux.vnet.ibm.com>,\n\t\"Martin K. Petersen\" <martin.petersen@oracle.com>,\n\tnetdev@vger.kernel.org, linux-scsi@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org", "Subject": "[PATCH 19/31] timer: Remove open-coded casts for .data and .function", "Date": "Thu, 31 Aug 2017 16:29:31 -0700", "Message-Id": "<1504222183-61202-20-git-send-email-keescook@chromium.org>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1504222183-61202-1-git-send-email-keescook@chromium.org>", "References": "<1504222183-61202-1-git-send-email-keescook@chromium.org>", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "This standardizes the callback and data prototypes in several places that\nperform casting, in an effort to remove more open-coded .data and\n.function uses in favor of setup_timer().\n\nCc: Samuel Ortiz <samuel@sortiz.org>\nCc: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>\nCc: Benjamin Herrenschmidt <benh@kernel.crashing.org>\nCc: Paul Mackerras <paulus@samba.org>\nCc: Michael Ellerman <mpe@ellerman.id.au>\nCc: \"James E.J. Bottomley\" <jejb@linux.vnet.ibm.com>\nCc: \"Martin K. Petersen\" <martin.petersen@oracle.com>\nCc: netdev@vger.kernel.org\nCc: linux-scsi@vger.kernel.org\nCc: linuxppc-dev@lists.ozlabs.org\nSigned-off-by: Kees Cook <keescook@chromium.org>\n---\n drivers/net/irda/bfin_sir.c | 5 +++--\n drivers/scsi/ibmvscsi/ibmvfc.c | 14 ++++++--------\n drivers/scsi/ibmvscsi/ibmvscsi.c | 8 ++++----\n 3 files changed, 13 insertions(+), 14 deletions(-)", "diff": "diff --git a/drivers/net/irda/bfin_sir.c b/drivers/net/irda/bfin_sir.c\nindex 3151b580dbd6..c9413bd580a7 100644\n--- a/drivers/net/irda/bfin_sir.c\n+++ b/drivers/net/irda/bfin_sir.c\n@@ -317,8 +317,9 @@ static void bfin_sir_dma_rx_chars(struct net_device *dev)\n \t\tasync_unwrap_char(dev, &self->stats, &self->rx_buff, port->rx_dma_buf.buf[i]);\n }\n \n-void bfin_sir_rx_dma_timeout(struct net_device *dev)\n+void bfin_sir_rx_dma_timeout(unsigned long data)\n {\n+\tstruct net_device *dev = (struct net_device *)data;\n \tstruct bfin_sir_self *self = netdev_priv(dev);\n \tstruct bfin_sir_port *port = self->sir_port;\n \tint x_pos, pos;\n@@ -406,7 +407,7 @@ static int bfin_sir_startup(struct bfin_sir_port *port, struct net_device *dev)\n \tenable_dma(port->rx_dma_channel);\n \n \tport->rx_dma_timer.data = (unsigned long)(dev);\n-\tport->rx_dma_timer.function = (void *)bfin_sir_rx_dma_timeout;\n+\tport->rx_dma_timer.function = bfin_sir_rx_dma_timeout;\n \n #else\n \ndiff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c\nindex cc4e05be8d4a..1be20688dd1f 100644\n--- a/drivers/scsi/ibmvscsi/ibmvfc.c\n+++ b/drivers/scsi/ibmvscsi/ibmvfc.c\n@@ -1393,8 +1393,9 @@ static int ibmvfc_map_sg_data(struct scsi_cmnd *scmd,\n *\n * Called when an internally generated command times out\n **/\n-static void ibmvfc_timeout(struct ibmvfc_event *evt)\n+static void ibmvfc_timeout(unsigned long data)\n {\n+\tstruct ibmvfc_event *evt = (struct ibmvfc_event *)data;\n \tstruct ibmvfc_host *vhost = evt->vhost;\n \tdev_err(vhost->dev, \"Command timed out (%p). Resetting connection\\n\", evt);\n \tibmvfc_reset_host(vhost);\n@@ -1424,12 +1425,10 @@ static int ibmvfc_send_event(struct ibmvfc_event *evt,\n \t\tBUG();\n \n \tlist_add_tail(&evt->queue, &vhost->sent);\n-\tinit_timer(&evt->timer);\n+\tsetup_timer(&evt->timer, ibmvfc_timeout, (unsigned long)evt);\n \n \tif (timeout) {\n-\t\tevt->timer.data = (unsigned long) evt;\n \t\tevt->timer.expires = jiffies + (timeout * HZ);\n-\t\tevt->timer.function = (void (*)(unsigned long))ibmvfc_timeout;\n \t\tadd_timer(&evt->timer);\n \t}\n \n@@ -3696,8 +3695,9 @@ static void ibmvfc_tgt_adisc_cancel_done(struct ibmvfc_event *evt)\n * out, reset the CRQ. When the ADISC comes back as cancelled,\n * log back into the target.\n **/\n-static void ibmvfc_adisc_timeout(struct ibmvfc_target *tgt)\n+static void ibmvfc_adisc_timeout(unsigned long data)\n {\n+\tstruct ibmvfc_target *tgt = (struct ibmvfc_target *)data;\n \tstruct ibmvfc_host *vhost = tgt->vhost;\n \tstruct ibmvfc_event *evt;\n \tstruct ibmvfc_tmf *tmf;\n@@ -3782,9 +3782,7 @@ static void ibmvfc_tgt_adisc(struct ibmvfc_target *tgt)\n \tif (timer_pending(&tgt->timer))\n \t\tmod_timer(&tgt->timer, jiffies + (IBMVFC_ADISC_TIMEOUT * HZ));\n \telse {\n-\t\ttgt->timer.data = (unsigned long) tgt;\n \t\ttgt->timer.expires = jiffies + (IBMVFC_ADISC_TIMEOUT * HZ);\n-\t\ttgt->timer.function = (void (*)(unsigned long))ibmvfc_adisc_timeout;\n \t\tadd_timer(&tgt->timer);\n \t}\n \n@@ -3916,7 +3914,7 @@ static int ibmvfc_alloc_target(struct ibmvfc_host *vhost, u64 scsi_id)\n \ttgt->vhost = vhost;\n \ttgt->need_login = 1;\n \ttgt->cancel_key = vhost->task_set++;\n-\tinit_timer(&tgt->timer);\n+\tsetup_timer(&tgt->timer, ibmvfc_adisc_timeout, (unsigned long)tgt);\n \tkref_init(&tgt->kref);\n \tibmvfc_init_tgt(tgt, ibmvfc_tgt_implicit_logout);\n \tspin_lock_irqsave(vhost->host->host_lock, flags);\ndiff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c\nindex da22b3665cb0..44ae85903a00 100644\n--- a/drivers/scsi/ibmvscsi/ibmvscsi.c\n+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c\n@@ -837,8 +837,9 @@ static void ibmvscsi_reset_host(struct ibmvscsi_host_data *hostdata)\n *\n * Called when an internally generated command times out\n */\n-static void ibmvscsi_timeout(struct srp_event_struct *evt_struct)\n+static void ibmvscsi_timeout(unsigned long data)\n {\n+\tstruct srp_event_struct *evt_struct = (struct srp_event_struct *)data;\n \tstruct ibmvscsi_host_data *hostdata = evt_struct->hostdata;\n \n \tdev_err(hostdata->dev, \"Command timed out (%x). Resetting connection\\n\",\n@@ -927,11 +928,10 @@ static int ibmvscsi_send_srp_event(struct srp_event_struct *evt_struct,\n \t */\n \tlist_add_tail(&evt_struct->list, &hostdata->sent);\n \n-\tinit_timer(&evt_struct->timer);\n+\tsetup_timer(&evt_struct->timer, ibmvscsi_timeout,\n+\t\t (unsigned long)evt_struct);\n \tif (timeout) {\n-\t\tevt_struct->timer.data = (unsigned long) evt_struct;\n \t\tevt_struct->timer.expires = jiffies + (timeout * HZ);\n-\t\tevt_struct->timer.function = (void (*)(unsigned long))ibmvscsi_timeout;\n \t\tadd_timer(&evt_struct->timer);\n \t}\n \n", "prefixes": [ "19/31" ] }