Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41760d0e authored by Kees Cook's avatar Kees Cook
Browse files

drivers/pcmcia: Convert timers to use timer_setup()



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: Florian Fainelli <f.fainelli@gmail.com>
Cc: bcm-kernel-feedback-list@broadcom.com
Cc: David Howells <dhowells@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-pcmcia@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk> # for soc_common.c
parent 6243d38f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -263,12 +263,12 @@ static int bcm63xx_pcmcia_get_status(struct pcmcia_socket *sock,
/*
 * socket polling timer callback
 */
static void bcm63xx_pcmcia_poll(unsigned long data)
static void bcm63xx_pcmcia_poll(struct timer_list *t)
{
	struct bcm63xx_pcmcia_socket *skt;
	unsigned int stat, events;

	skt = (struct bcm63xx_pcmcia_socket *)data;
	skt = from_timer(skt, t, timer);

	spin_lock_bh(&skt->lock);

@@ -392,7 +392,7 @@ static int bcm63xx_drv_pcmcia_probe(struct platform_device *pdev)
	sock->map_size = resource_size(skt->common_res);

	/* initialize polling timer */
	setup_timer(&skt->timer, bcm63xx_pcmcia_poll, (unsigned long)skt);
	timer_setup(&skt->timer, bcm63xx_pcmcia_poll, 0);

	/* initialize  pcmcia  control register,  drive  VS[12] to  0,
	 * leave CB IDSEL to the old  value since it is set by the PCI
+3 −3
Original line number Diff line number Diff line
@@ -86,9 +86,9 @@ static int bfin_cf_ss_init(struct pcmcia_socket *s)
}

/* the timer is primarily to kick this socket's pccardd */
static void bfin_cf_timer(unsigned long _cf)
static void bfin_cf_timer(struct timer_list *t)
{
	struct bfin_cf_socket *cf = (void *)_cf;
	struct bfin_cf_socket *cf = from_timer(cf, t, timer);
	unsigned short present = bfin_cf_present(cf->cd_pfx);

	if (present != cf->present) {
@@ -227,7 +227,7 @@ static int bfin_cf_probe(struct platform_device *pdev)

	cf->cd_pfx = cd_pfx;

	setup_timer(&cf->timer, bfin_cf_timer, (unsigned long)cf);
	timer_setup(&cf->timer, bfin_cf_timer, 0);

	cf->pdev = pdev;
	platform_set_drvdata(pdev, cf);
+2 −4
Original line number Diff line number Diff line
@@ -875,7 +875,7 @@ static irqreturn_t pcic_interrupt(int irq, void *dev)
    return IRQ_RETVAL(handled);
} /* pcic_interrupt */

static void pcic_interrupt_wrapper(u_long data)
static void pcic_interrupt_wrapper(struct timer_list *unused)
{
    pcic_interrupt(0, NULL);
    poll_timer.expires = jiffies + poll_interval;
@@ -1289,9 +1289,7 @@ static int __init init_i82365(void)

    /* Finally, schedule a polling interrupt */
    if (poll_interval != 0) {
	poll_timer.function = pcic_interrupt_wrapper;
	poll_timer.data = 0;
	init_timer(&poll_timer);
	timer_setup(&poll_timer, pcic_interrupt_wrapper, 0);
    	poll_timer.expires = jiffies + poll_interval;
	add_timer(&poll_timer);
    }
+4 −4
Original line number Diff line number Diff line
@@ -80,9 +80,9 @@ static int omap_cf_ss_init(struct pcmcia_socket *s)
}

/* the timer is primarily to kick this socket's pccardd */
static void omap_cf_timer(unsigned long _cf)
static void omap_cf_timer(struct timer_list *t)
{
	struct omap_cf_socket	*cf = (void *) _cf;
	struct omap_cf_socket	*cf = from_timer(cf, t, timer);
	unsigned		present = omap_cf_present();

	if (present != cf->present) {
@@ -102,7 +102,7 @@ static void omap_cf_timer(unsigned long _cf)
 */
static irqreturn_t omap_cf_irq(int irq, void *_cf)
{
	omap_cf_timer((unsigned long)_cf);
	omap_cf_timer(&_cf->timer);
	return IRQ_HANDLED;
}

@@ -220,7 +220,7 @@ static int __init omap_cf_probe(struct platform_device *pdev)
	cf = kzalloc(sizeof *cf, GFP_KERNEL);
	if (!cf)
		return -ENOMEM;
	setup_timer(&cf->timer, omap_cf_timer, (unsigned long)cf);
	timer_setup(&cf->timer, omap_cf_timer, 0);

	cf->pdev = pdev;
	platform_set_drvdata(pdev, cf);
+3 −4
Original line number Diff line number Diff line
@@ -234,9 +234,9 @@ static irqreturn_t pd6729_interrupt(int irq, void *dev)

/* socket functions */

static void pd6729_interrupt_wrapper(unsigned long data)
static void pd6729_interrupt_wrapper(struct timer_list *t)
{
	struct pd6729_socket *socket = (struct pd6729_socket *) data;
	struct pd6729_socket *socket = from_timer(socket, t, poll_timer);

	pd6729_interrupt(0, (void *)socket);
	mod_timer(&socket->poll_timer, jiffies + HZ);
@@ -707,8 +707,7 @@ static int pd6729_pci_probe(struct pci_dev *dev,
		}
	} else {
		/* poll Card status change */
		setup_timer(&socket->poll_timer, pd6729_interrupt_wrapper,
			    (unsigned long)socket);
		timer_setup(&socket->poll_timer, pd6729_interrupt_wrapper, 0);
		mod_timer(&socket->poll_timer, jiffies + HZ);
	}

Loading