From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752473AbdJEAu6 (ORCPT ); Wed, 4 Oct 2017 20:50:58 -0400 Received: from mail-pg0-f52.google.com ([74.125.83.52]:47435 "EHLO mail-pg0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752425AbdJEAuz (ORCPT ); Wed, 4 Oct 2017 20:50:55 -0400 X-Google-Smtp-Source: AOwi7QA7COEbLPn1sADCSePSsjIl6bFUIJ1vzDeoZILTsiYnZgzYYkOfYkbhIEd7sgKMeN7CaMcjIQ== Date: Wed, 4 Oct 2017 17:50:52 -0700 From: Kees Cook To: linux-kernel@vger.kernel.org Cc: Michael Ellerman , linux-pcmcia@lists.infradead.org, Thomas Gleixner Subject: [PATCH] pcmcia/electra_cf: Convert timers to use timer_setup() Message-ID: <20171005005052.GA23318@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Michael Ellerman Cc: linux-pcmcia@lists.infradead.org Cc: Thomas Gleixner Signed-off-by: Kees Cook --- This requires commit 686fef928bba ("timer: Prepare to change timer callback argument type") in v4.14-rc3, but should be otherwise stand-alone. --- drivers/pcmcia/electra_cf.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c index c6fe2a4a7a6a..9671ded549f0 100644 --- a/drivers/pcmcia/electra_cf.c +++ b/drivers/pcmcia/electra_cf.c @@ -79,9 +79,9 @@ static int electra_cf_ss_init(struct pcmcia_socket *s) } /* the timer is primarily to kick this socket's pccardd */ -static void electra_cf_timer(unsigned long _cf) +static void electra_cf_timer(struct timer_list *t) { - struct electra_cf_socket *cf = (void *) _cf; + struct electra_cf_socket *cf = from_timer(cf, t, timer); int present = electra_cf_present(cf); if (present != cf->present) { @@ -95,7 +95,9 @@ static void electra_cf_timer(unsigned long _cf) static irqreturn_t electra_cf_irq(int irq, void *_cf) { - electra_cf_timer((unsigned long)_cf); + struct electra_cf_socket *cf = _cf; + + electra_cf_timer(&cf->timer); return IRQ_HANDLED; } @@ -206,7 +208,7 @@ static int electra_cf_probe(struct platform_device *ofdev) if (!cf) return -ENOMEM; - setup_timer(&cf->timer, electra_cf_timer, (unsigned long)cf); + timer_setup(&cf->timer, electra_cf_timer, 0); cf->irq = 0; cf->ofdev = ofdev; @@ -305,7 +307,7 @@ static int electra_cf_probe(struct platform_device *ofdev) cf->mem_phys, io.start, cf->irq); cf->active = 1; - electra_cf_timer((unsigned long)cf); + electra_cf_timer(&cf->timer); return 0; fail3: -- 2.7.4 -- Kees Cook Pixel Security