[PATCH 2/2] Fix up the kthread function types.

From: Rusty Russell
Date: Thu Jan 17 2008 - 19:53:22 EST


This removes the warnings created by the patch to make kthread typesafe.

Other than fs/dlm/recoverd.c (which use a typedef to void and now
needs a cast), the changes were trivial and obvious.

Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
---
crypto/cryptd.c | 6 +++---
crypto/cryptomgr.c | 3 +--
drivers/base/firmware_class.c | 5 ++---
drivers/block/loop.c | 3 +--
drivers/block/pktcdvd.c | 3 +--
drivers/char/ipmi/ipmi_si_intf.c | 3 +--
drivers/ieee1394/nodemgr.c | 3 +--
drivers/infiniband/core/fmr_pool.c | 4 +---
drivers/input/touchscreen/ucb1400_ts.c | 3 +--
drivers/md/md.c | 6 ++----
drivers/media/dvb/dvb-core/dvb_ca_en50221.c | 3 +--
drivers/media/dvb/dvb-core/dvb_frontend.c | 3 +--
drivers/media/video/cx88/cx88-tvaudio.c | 3 +--
drivers/media/video/cx88/cx88.h | 2 +-
drivers/media/video/msp3400-driver.c | 2 +-
drivers/media/video/msp3400-driver.h | 6 +++---
drivers/media/video/msp3400-kthreads.c | 9 +++------
drivers/media/video/saa7134/saa7134-tvaudio.c | 8 +++-----
drivers/media/video/tvaudio.c | 3 +--
drivers/media/video/videobuf-dvb.c | 3 +--
drivers/media/video/vivi.c | 4 +---
drivers/mmc/card/queue.c | 3 +--
drivers/mmc/core/sdio_irq.c | 3 +--
drivers/mtd/mtd_blkdevs.c | 3 +--
drivers/mtd/ubi/wl.c | 3 +--
drivers/net/irda/stir4200.c | 3 +--
drivers/net/wireless/airo.c | 5 ++---
drivers/net/wireless/libertas/main.c | 3 +--
drivers/pcmcia/cs.c | 5 ++---
drivers/scsi/aacraid/aacraid.h | 2 +-
drivers/scsi/aacraid/commsup.c | 3 +--
drivers/scsi/libsas/sas_scsi_host.c | 4 +---
drivers/scsi/lpfc/lpfc_crtn.h | 2 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 3 +--
drivers/scsi/qla2xxx/qla_os.c | 7 ++-----
drivers/scsi/scsi_error.c | 4 +---
drivers/scsi/scsi_priv.h | 2 +-
drivers/scsi/scsi_scan.c | 3 +--
drivers/usb/atm/ueagle-atm.c | 3 +--
drivers/usb/gadget/file_storage.c | 6 ++----
drivers/usb/storage/usb.c | 7 ++-----
drivers/w1/w1.c | 4 +---
drivers/w1/w1.h | 2 +-
fs/dlm/recoverd.c | 4 ++--
fs/gfs2/daemon.c | 13 ++++---------
fs/gfs2/daemon.h | 8 ++++----
fs/gfs2/locking/dlm/thread.c | 11 +++++------
fs/jbd/journal.c | 3 +--
fs/jbd2/journal.c | 3 +--
fs/nfs/delegation.c | 3 +--
fs/nfs/nfs4state.c | 5 ++---
fs/nfsd/nfs4callback.c | 3 +--
fs/nfsd/nfs4state.c | 4 +---
fs/ocfs2/cluster/heartbeat.c | 3 +--
fs/ocfs2/dlm/dlmrecovery.c | 5 ++---
fs/ocfs2/dlm/dlmthread.c | 5 ++---
fs/ocfs2/journal.c | 10 ++++------
fs/ocfs2/vote.c | 3 +--
fs/ocfs2/vote.h | 2 +-
fs/xfs/linux-2.6/xfs_buf.c | 5 ++---
fs/xfs/linux-2.6/xfs_super.c | 3 +--
kernel/audit.c | 3 +--
kernel/audit.h | 2 +-
kernel/rtmutex-tester.c | 3 +--
kernel/stop_machine.c | 3 +--
kernel/workqueue.c | 3 +--
mm/vmscan.c | 3 +--
net/9p/mux.c | 6 ++----
net/core/pktgen.c | 3 +--
sound/pci/emu10k1/emu10k1_main.c | 3 +--
70 files changed, 104 insertions(+), 183 deletions(-)

diff -r 110aa94129d0 crypto/cryptd.c
--- a/crypto/cryptd.c Fri Jan 18 10:32:31 2008 +1100
+++ b/crypto/cryptd.c Fri Jan 18 11:31:48 2008 +1100
@@ -291,7 +291,8 @@ static struct crypto_template cryptd_tmp
};

static inline int cryptd_create_thread(struct cryptd_state *state,
- int (*fn)(void *data), const char *name)
+ int (*fn)(struct cryptd_state *state),
+ const char *name)
{
spin_lock_init(&state->lock);
mutex_init(&state->mutex);
@@ -310,9 +311,8 @@ static inline void cryptd_stop_thread(st
kthread_stop(state->task);
}

-static int cryptd_thread(void *data)
+static int cryptd_thread(struct cryptd_state *state)
{
- struct cryptd_state *state = data;
int stop;

current->flags |= PF_NOFREEZE;
diff -r 110aa94129d0 crypto/cryptomgr.c
--- a/crypto/cryptomgr.c Fri Jan 18 10:32:31 2008 +1100
+++ b/crypto/cryptomgr.c Fri Jan 18 11:31:48 2008 +1100
@@ -47,9 +47,8 @@ struct cryptomgr_param {
char template[CRYPTO_MAX_ALG_NAME];
};

-static int cryptomgr_probe(void *data)
+static int cryptomgr_probe(struct cryptomgr_param *param)
{
- struct cryptomgr_param *param = data;
struct crypto_template *tmpl;
struct crypto_instance *inst;
int err;
diff -r 110aa94129d0 drivers/base/firmware_class.c
--- a/drivers/base/firmware_class.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/base/firmware_class.c Fri Jan 18 11:31:48 2008 +1100
@@ -488,12 +488,11 @@ struct firmware_work {
};

static int
-request_firmware_work_func(void *arg)
+request_firmware_work_func(struct firmware_work *fw_work)
{
- struct firmware_work *fw_work = arg;
const struct firmware *fw;
int ret;
- if (!arg) {
+ if (!fw_work) {
WARN_ON(1);
return 0;
}
diff -r 110aa94129d0 drivers/block/loop.c
--- a/drivers/block/loop.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/block/loop.c Fri Jan 18 11:31:48 2008 +1100
@@ -577,9 +577,8 @@ static inline void loop_handle_bio(struc
* once kthread_should_stop() is true and lo_bio is NULL, we are
* done with the loop.
*/
-static int loop_thread(void *data)
+static int loop_thread(struct loop_device *lo)
{
- struct loop_device *lo = data;
struct bio *bio;

set_user_nice(current, -20);
diff -r 110aa94129d0 drivers/block/pktcdvd.c
--- a/drivers/block/pktcdvd.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/block/pktcdvd.c Fri Jan 18 11:31:48 2008 +1100
@@ -1595,9 +1595,8 @@ static void pkt_count_states(struct pktc
* kcdrwd is woken up when writes have been queued for one of our
* registered devices
*/
-static int kcdrwd(void *foobar)
+static int kcdrwd(struct pktcdvd_device *pd)
{
- struct pktcdvd_device *pd = foobar;
struct packet_data *pkt;
long min_sleep_time, residue;

diff -r 110aa94129d0 drivers/char/ipmi/ipmi_si_intf.c
--- a/drivers/char/ipmi/ipmi_si_intf.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/char/ipmi/ipmi_si_intf.c Fri Jan 18 11:31:48 2008 +1100
@@ -867,9 +867,8 @@ static void set_run_to_completion(void *
spin_unlock_irqrestore(&(smi_info->si_lock), flags);
}

-static int ipmi_thread(void *data)
+static int ipmi_thread(struct smi_info *smi_info)
{
- struct smi_info *smi_info = data;
unsigned long flags;
enum si_sm_result smi_result;

diff -r 110aa94129d0 drivers/ieee1394/nodemgr.c
--- a/drivers/ieee1394/nodemgr.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/ieee1394/nodemgr.c Fri Jan 18 11:31:48 2008 +1100
@@ -1686,9 +1686,8 @@ static int nodemgr_check_irm_capability(
return 1;
}

-static int nodemgr_host_thread(void *__hi)
+static int nodemgr_host_thread(struct host_info *hi)
{
- struct host_info *hi = (struct host_info *)__hi;
struct hpsb_host *host = hi->host;
unsigned int g, generation = 0;
int i, reset_cycles = 0;
diff -r 110aa94129d0 drivers/infiniband/core/fmr_pool.c
--- a/drivers/infiniband/core/fmr_pool.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/infiniband/core/fmr_pool.c Fri Jan 18 11:31:48 2008 +1100
@@ -177,10 +177,8 @@ static void ib_fmr_batch_release(struct
spin_unlock_irq(&pool->pool_lock);
}

-static int ib_fmr_cleanup_thread(void *pool_ptr)
+static int ib_fmr_cleanup_thread(struct ib_fmr_pool *pool)
{
- struct ib_fmr_pool *pool = pool_ptr;
-
do {
if (pool->dirty_len >= pool->dirty_watermark ||
atomic_read(&pool->flush_ser) - atomic_read(&pool->req_ser) < 0) {
diff -r 110aa94129d0 drivers/input/touchscreen/ucb1400_ts.c
--- a/drivers/input/touchscreen/ucb1400_ts.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/input/touchscreen/ucb1400_ts.c Fri Jan 18 11:31:48 2008 +1100
@@ -282,9 +282,8 @@ static void ucb1400_handle_pending_irq(s
enable_irq(ucb->irq);
}

-static int ucb1400_ts_thread(void *_ucb)
+static int ucb1400_ts_thread(struct ucb1400 *ucb)
{
- struct ucb1400 *ucb = _ucb;
struct task_struct *tsk = current;
int valid = 0;
struct sched_param param = { .sched_priority = 1 };
diff -r 110aa94129d0 drivers/md/md.c
--- a/drivers/md/md.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/md/md.c Fri Jan 18 11:31:48 2008 +1100
@@ -4643,10 +4643,8 @@ static struct block_device_operations md
.revalidate_disk= md_revalidate,
};

-static int md_thread(void * arg)
-{
- mdk_thread_t *thread = arg;
-
+static int md_thread(mdk_thread_t *thread)
+{
/*
* md_thread is a 'system-thread', it's priority should be very
* high. We avoid resource deadlocks individually in each
diff -r 110aa94129d0 drivers/media/dvb/dvb-core/dvb_ca_en50221.c
--- a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c Fri Jan 18 11:31:48 2008 +1100
@@ -955,9 +955,8 @@ static void dvb_ca_en50221_thread_update
/**
* Kernel thread which monitors CA slots for CAM changes, and performs data transfers.
*/
-static int dvb_ca_en50221_thread(void *data)
+static int dvb_ca_en50221_thread(struct dvb_ca_private *ca)
{
- struct dvb_ca_private *ca = data;
int slot;
int flags;
int status;
diff -r 110aa94129d0 drivers/media/dvb/dvb-core/dvb_frontend.c
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c Fri Jan 18 11:31:48 2008 +1100
@@ -503,9 +503,8 @@ static void dvb_frontend_wakeup(struct d
wake_up_interruptible(&fepriv->wait_queue);
}

-static int dvb_frontend_thread(void *data)
+static int dvb_frontend_thread(struct dvb_frontend *fe)
{
- struct dvb_frontend *fe = data;
struct dvb_frontend_private *fepriv = fe->frontend_priv;
unsigned long timeout;
fe_status_t s;
diff -r 110aa94129d0 drivers/media/video/cx88/cx88-tvaudio.c
--- a/drivers/media/video/cx88/cx88-tvaudio.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/cx88/cx88-tvaudio.c Fri Jan 18 11:31:48 2008 +1100
@@ -907,9 +907,8 @@ void cx88_set_stereo(struct cx88_core *c
return;
}

-int cx88_audio_thread(void *data)
+int cx88_audio_thread(struct cx88_core *core)
{
- struct cx88_core *core = data;
struct v4l2_tuner t;
u32 mode = 0;

diff -r 110aa94129d0 drivers/media/video/cx88/cx88.h
--- a/drivers/media/video/cx88/cx88.h Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/cx88/cx88.h Fri Jan 18 11:31:48 2008 +1100
@@ -609,7 +609,7 @@ void cx88_newstation(struct cx88_core *c
void cx88_newstation(struct cx88_core *core);
void cx88_get_stereo(struct cx88_core *core, struct v4l2_tuner *t);
void cx88_set_stereo(struct cx88_core *core, u32 mode, int manual);
-int cx88_audio_thread(void *data);
+int cx88_audio_thread(struct cx88_core *core);

int cx8802_register_driver(struct cx8802_driver *drv);
int cx8802_unregister_driver(struct cx8802_driver *drv);
diff -r 110aa94129d0 drivers/media/video/msp3400-driver.c
--- a/drivers/media/video/msp3400-driver.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/msp3400-driver.c Fri Jan 18 11:31:48 2008 +1100
@@ -805,7 +805,7 @@ static int msp_attach(struct i2c_adapter
{
struct i2c_client *client;
struct msp_state *state;
- int (*thread_func)(void *data) = NULL;
+ int (*thread_func)(struct i2c_client *client) = NULL;
int msp_hard;
int msp_family;
int msp_revision;
diff -r 110aa94129d0 drivers/media/video/msp3400-driver.h
--- a/drivers/media/video/msp3400-driver.h Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/msp3400-driver.h Fri Jan 18 11:31:48 2008 +1100
@@ -110,9 +110,9 @@ const char *msp_standard_std_name(int st
const char *msp_standard_std_name(int std);
void msp_set_audmode(struct i2c_client *client);
int msp_detect_stereo(struct i2c_client *client);
-int msp3400c_thread(void *data);
-int msp3410d_thread(void *data);
-int msp34xxg_thread(void *data);
+int msp3400c_thread(struct i2c_client *client);
+int msp3410d_thread(struct i2c_client *client);
+int msp34xxg_thread(struct i2c_client *client);
void msp3400c_set_mode(struct i2c_client *client, int mode);
void msp3400c_set_carrier(struct i2c_client *client, int cdo1, int cdo2);

diff -r 110aa94129d0 drivers/media/video/msp3400-kthreads.c
--- a/drivers/media/video/msp3400-kthreads.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/msp3400-kthreads.c Fri Jan 18 11:31:48 2008 +1100
@@ -460,9 +460,8 @@ static void watch_stereo(struct i2c_clie
state->watch_stereo = 0;
}

-int msp3400c_thread(void *data)
+int msp3400c_thread(struct i2c_client *client)
{
- struct i2c_client *client = data;
struct msp_state *state = i2c_get_clientdata(client);
struct msp3400c_carrier_detect *cd;
int count, max1, max2, val1, val2, val, this;
@@ -641,9 +640,8 @@ int msp3400c_thread(void *data)
}


-int msp3410d_thread(void *data)
+int msp3410d_thread(struct i2c_client *client)
{
- struct i2c_client *client = data;
struct msp_state *state = i2c_get_clientdata(client);
int val, i, std, count;

@@ -935,9 +933,8 @@ static void msp34xxg_reset(struct i2c_cl
msp_write_dem(client, 0x22, msp_stereo_thresh);
}

-int msp34xxg_thread(void *data)
+int msp34xxg_thread(struct i2c_client *client)
{
- struct i2c_client *client = data;
struct msp_state *state = i2c_get_clientdata(client);
int val, i;

diff -r 110aa94129d0 drivers/media/video/saa7134/saa7134-tvaudio.c
--- a/drivers/media/video/saa7134/saa7134-tvaudio.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/saa7134/saa7134-tvaudio.c Fri Jan 18 11:31:48 2008 +1100
@@ -496,9 +496,8 @@ static int tvaudio_setstereo(struct saa7
return 0;
}

-static int tvaudio_thread(void *data)
+static int tvaudio_thread(struct saa7134_dev *dev)
{
- struct saa7134_dev *dev = data;
int carr_vals[ARRAY_SIZE(mainscan)];
unsigned int i, audio, nscan;
int max1,max2,carrier,rx,mode,lastmode,default_carrier;
@@ -781,9 +780,8 @@ static int mute_input_7133(struct saa713
return 0;
}

-static int tvaudio_thread_ddep(void *data)
+static int tvaudio_thread_ddep(struct saa7134_dev *dev)
{
- struct saa7134_dev *dev = data;
u32 value, norms, clock;


@@ -980,7 +978,7 @@ int saa7134_tvaudio_getstereo(struct saa

int saa7134_tvaudio_init2(struct saa7134_dev *dev)
{
- int (*my_thread)(void *data) = NULL;
+ int (*my_thread)(struct saa7134_dev *) = NULL;

switch (dev->pci->device) {
case PCI_DEVICE_ID_PHILIPS_SAA7134:
diff -r 110aa94129d0 drivers/media/video/tvaudio.c
--- a/drivers/media/video/tvaudio.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/tvaudio.c Fri Jan 18 11:31:48 2008 +1100
@@ -264,9 +264,8 @@ static void chip_thread_wake(unsigned lo
wake_up_process(chip->thread);
}

-static int chip_thread(void *data)
+static int chip_thread(struct CHIPSTATE *chip)
{
- struct CHIPSTATE *chip = data;
struct CHIPDESC *desc = chiplist + chip->type;

v4l_dbg(1, debug, &chip->c, "%s: thread started\n", chip->c.name);
diff -r 110aa94129d0 drivers/media/video/videobuf-dvb.c
--- a/drivers/media/video/videobuf-dvb.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/videobuf-dvb.c Fri Jan 18 11:31:48 2008 +1100
@@ -39,9 +39,8 @@ MODULE_PARM_DESC(debug,"enable debug mes

/* ------------------------------------------------------------------ */

-static int videobuf_dvb_thread(void *data)
+static int videobuf_dvb_thread(struct videobuf_dvb *dvb)
{
- struct videobuf_dvb *dvb = data;
struct videobuf_buffer *buf;
unsigned long flags;
int err;
diff -r 110aa94129d0 drivers/media/video/vivi.c
--- a/drivers/media/video/vivi.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/media/video/vivi.c Fri Jan 18 11:31:48 2008 +1100
@@ -455,10 +455,8 @@ static void vivi_sleep(struct vivi_dmaqu
try_to_freeze();
}

-static int vivi_thread(void *data)
+static int vivi_thread(struct vivi_dmaqueue *dma_q)
{
- struct vivi_dmaqueue *dma_q=data;
-
dprintk(1,"thread started\n");

mod_timer(&dma_q->timeout, jiffies+BUFFER_TIMEOUT);
diff -r 110aa94129d0 drivers/mmc/card/queue.c
--- a/drivers/mmc/card/queue.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/mmc/card/queue.c Fri Jan 18 11:31:48 2008 +1100
@@ -41,9 +41,8 @@ static int mmc_prep_request(struct reque
return BLKPREP_OK;
}

-static int mmc_queue_thread(void *d)
+static int mmc_queue_thread(struct mmc_queue *mq)
{
- struct mmc_queue *mq = d;
struct request_queue *q = mq->queue;

current->flags |= PF_MEMALLOC;
diff -r 110aa94129d0 drivers/mmc/core/sdio_irq.c
--- a/drivers/mmc/core/sdio_irq.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/mmc/core/sdio_irq.c Fri Jan 18 11:31:48 2008 +1100
@@ -63,9 +63,8 @@ static int process_sdio_pending_irqs(str
return ret;
}

-static int sdio_irq_thread(void *_host)
+static int sdio_irq_thread(struct mmc_host *host)
{
- struct mmc_host *host = _host;
struct sched_param param = { .sched_priority = 1 };
unsigned long period, idle_period;
int ret;
diff -r 110aa94129d0 drivers/mtd/mtd_blkdevs.c
--- a/drivers/mtd/mtd_blkdevs.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/mtd/mtd_blkdevs.c Fri Jan 18 11:31:48 2008 +1100
@@ -74,9 +74,8 @@ static int do_blktrans_request(struct mt
}
}

-static int mtd_blktrans_thread(void *arg)
+static int mtd_blktrans_thread(struct mtd_blktrans_ops *tr)
{
- struct mtd_blktrans_ops *tr = arg;
struct request_queue *rq = tr->blkcore_priv->rq;

/* we might get involved when memory gets low, so use PF_MEMALLOC */
diff -r 110aa94129d0 drivers/mtd/ubi/wl.c
--- a/drivers/mtd/ubi/wl.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/mtd/ubi/wl.c Fri Jan 18 11:31:48 2008 +1100
@@ -1303,10 +1303,9 @@ static void tree_destroy(struct rb_root
* ubi_thread - UBI background thread.
* @u: the UBI device description object pointer
*/
-static int ubi_thread(void *u)
+static int ubi_thread(struct ubi_device *ubi)
{
int failures = 0;
- struct ubi_device *ubi = u;

ubi_msg("background thread \"%s\" started, PID %d",
ubi->bgt_name, task_pid_nr(current));
diff -r 110aa94129d0 drivers/net/irda/stir4200.c
--- a/drivers/net/irda/stir4200.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/net/irda/stir4200.c Fri Jan 18 11:31:48 2008 +1100
@@ -732,9 +732,8 @@ static void stir_send(struct stir_cb *st
/*
* Transmit state machine thread
*/
-static int stir_transmit_thread(void *arg)
+static int stir_transmit_thread(struct stir_cb *stir)
{
- struct stir_cb *stir = arg;
struct net_device *dev = stir->netdev;
struct sk_buff *skb;

diff -r 110aa94129d0 drivers/net/wireless/airo.c
--- a/drivers/net/wireless/airo.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/net/wireless/airo.c Fri Jan 18 11:31:48 2008 +1100
@@ -1123,7 +1123,7 @@ static int waitbusy (struct airo_info *a
static int waitbusy (struct airo_info *ai);

static irqreturn_t airo_interrupt( int irq, void* dev_id);
-static int airo_thread(void *data);
+static int airo_thread(struct net_device *dev);
static void timer_func( struct net_device *dev );
static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static struct iw_statistics *airo_get_wireless_stats (struct net_device *dev);
@@ -3080,8 +3080,7 @@ out:
wireless_send_event(ai->dev, SIOCGIWSCAN, &wrqu, NULL);
}

-static int airo_thread(void *data) {
- struct net_device *dev = data;
+static int airo_thread(struct net_device *dev) {
struct airo_info *ai = dev->priv;
int locked;

diff -r 110aa94129d0 drivers/net/wireless/libertas/main.c
--- a/drivers/net/wireless/libertas/main.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/net/wireless/libertas/main.c Fri Jan 18 11:31:48 2008 +1100
@@ -752,9 +752,8 @@ static void libertas_set_multicast_list(
* @param data A pointer to wlan_thread structure
* @return 0
*/
-static int libertas_thread(void *data)
+static int libertas_thread(struct net_device *dev)
{
- struct net_device *dev = data;
wlan_private *priv = dev->priv;
wlan_adapter *adapter = priv->adapter;
wait_queue_t wait;
diff -r 110aa94129d0 drivers/pcmcia/cs.c
--- a/drivers/pcmcia/cs.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/pcmcia/cs.c Fri Jan 18 11:31:48 2008 +1100
@@ -170,7 +170,7 @@ static void pcmcia_release_socket(struct
complete(&socket->socket_released);
}

-static int pccardd(void *__skt);
+static int pccardd(struct pcmcia_socket *skt);

/**
* pcmcia_register_socket - add a new pcmcia socket device
@@ -632,9 +632,8 @@ static void socket_detect_change(struct
}
}

-static int pccardd(void *__skt)
+static int pccardd(struct pcmcia_socket *skt)
{
- struct pcmcia_socket *skt = __skt;
DECLARE_WAITQUEUE(wait, current);
int ret;

diff -r 110aa94129d0 drivers/scsi/aacraid/aacraid.h
--- a/drivers/scsi/aacraid/aacraid.h Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/aacraid/aacraid.h Fri Jan 18 11:31:48 2008 +1100
@@ -1851,7 +1851,7 @@ unsigned int aac_intr_normal(struct aac_
unsigned int aac_intr_normal(struct aac_dev * dev, u32 Index);
int aac_reset_adapter(struct aac_dev * dev, int forced);
int aac_check_health(struct aac_dev * dev);
-int aac_command_thread(void *data);
+int aac_command_thread(struct aac_dev * dev);
int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context *fibctx);
int aac_fib_adapter_complete(struct fib * fibptr, unsigned short size);
struct aac_driver_ident* aac_get_driver_ident(int devtype);
diff -r 110aa94129d0 drivers/scsi/aacraid/commsup.c
--- a/drivers/scsi/aacraid/commsup.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/aacraid/commsup.c Fri Jan 18 11:31:49 2008 +1100
@@ -1400,9 +1400,8 @@ out:
* more FIBs.
*/

-int aac_command_thread(void *data)
+int aac_command_thread(struct aac_dev *dev)
{
- struct aac_dev *dev = data;
struct hw_fib *hw_fib, *hw_newfib;
struct fib *fib, *newfib;
struct aac_fib_context *fibctx;
diff -r 110aa94129d0 drivers/scsi/libsas/sas_scsi_host.c
--- a/drivers/scsi/libsas/sas_scsi_host.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/libsas/sas_scsi_host.c Fri Jan 18 11:31:49 2008 +1100
@@ -900,10 +900,8 @@ static void sas_queue(struct sas_ha_stru
* sas_queue_thread -- The Task Collector thread
* @_sas_ha: pointer to struct sas_ha
*/
-static int sas_queue_thread(void *_sas_ha)
+static int sas_queue_thread(struct sas_ha_struct *sas_ha)
{
- struct sas_ha_struct *sas_ha = _sas_ha;
-
while (1) {
set_current_state(TASK_INTERRUPTIBLE);
schedule();
diff -r 110aa94129d0 drivers/scsi/lpfc/lpfc_crtn.h
--- a/drivers/scsi/lpfc/lpfc_crtn.h Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/lpfc/lpfc_crtn.h Fri Jan 18 11:31:49 2008 +1100
@@ -78,7 +78,7 @@ struct lpfc_nodelist *lpfc_findnode_rpi(

void lpfc_worker_wake_up(struct lpfc_hba *);
int lpfc_workq_post_event(struct lpfc_hba *, void *, void *, uint32_t);
-int lpfc_do_work(void *);
+int lpfc_do_work(struct lpfc_hba *phba);
int lpfc_disc_state_machine(struct lpfc_vport *, struct lpfc_nodelist *, void *,
uint32_t);

diff -r 110aa94129d0 drivers/scsi/lpfc/lpfc_hbadisc.c
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c Fri Jan 18 11:31:49 2008 +1100
@@ -470,9 +470,8 @@ check_work_wait_done(struct lpfc_hba *ph


int
-lpfc_do_work(void *p)
+lpfc_do_work(struct lpfc_hba *phba)
{
- struct lpfc_hba *phba = p;
int rc;
DECLARE_WAIT_QUEUE_HEAD_ONSTACK(work_waitq);

diff -r 110aa94129d0 drivers/scsi/qla2xxx/qla_os.c
--- a/drivers/scsi/qla2xxx/qla_os.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/qla2xxx/qla_os.c Fri Jan 18 11:31:49 2008 +1100
@@ -210,7 +210,7 @@ qla2x00_stop_timer(scsi_qla_host_t *ha)
ha->timer_active = 0;
}

-static int qla2x00_do_dpc(void *data);
+static int qla2x00_do_dpc(scsi_qla_host_t *ha);

static void qla2x00_rst_aen(scsi_qla_host_t *);

@@ -2360,15 +2360,12 @@ qla2x00_free_sp_pool( scsi_qla_host_t *h
* bits then wake us up.
**************************************************************************/
static int
-qla2x00_do_dpc(void *data)
+qla2x00_do_dpc(scsi_qla_host_t *ha)
{
int rval;
- scsi_qla_host_t *ha;
fc_port_t *fcport;
uint8_t status;
uint16_t next_loopid;
-
- ha = (scsi_qla_host_t *)data;

set_user_nice(current, -20);

diff -r 110aa94129d0 drivers/scsi/scsi_error.c
--- a/drivers/scsi/scsi_error.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/scsi_error.c Fri Jan 18 11:31:49 2008 +1100
@@ -1541,10 +1541,8 @@ static void scsi_unjam_host(struct Scsi_
* This is the main error handling loop. This is run as a kernel thread
* for every SCSI host and handles all error handling activity.
**/
-int scsi_error_handler(void *data)
+int scsi_error_handler(struct Scsi_Host *shost)
{
- struct Scsi_Host *shost = data;
-
/*
* We use TASK_INTERRUPTIBLE so that the thread is not
* counted against the load average as a running process.
diff -r 110aa94129d0 drivers/scsi/scsi_priv.h
--- a/drivers/scsi/scsi_priv.h Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/scsi_priv.h Fri Jan 18 11:31:49 2008 +1100
@@ -53,7 +53,7 @@ extern void scsi_add_timer(struct scsi_c
void (*)(struct scsi_cmnd *));
extern int scsi_delete_timer(struct scsi_cmnd *);
extern void scsi_times_out(struct scsi_cmnd *cmd);
-extern int scsi_error_handler(void *host);
+extern int scsi_error_handler(struct Scsi_Host *shost);
extern int scsi_decide_disposition(struct scsi_cmnd *cmd);
extern void scsi_eh_wakeup(struct Scsi_Host *shost);
extern int scsi_eh_scmd_add(struct scsi_cmnd *, int);
diff -r 110aa94129d0 drivers/scsi/scsi_scan.c
--- a/drivers/scsi/scsi_scan.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/scsi/scsi_scan.c Fri Jan 18 11:31:49 2008 +1100
@@ -1788,9 +1788,8 @@ static void do_scsi_scan_host(struct Scs
}
}

-static int do_scan_async(void *_data)
+static int do_scan_async(struct async_scan_data *data)
{
- struct async_scan_data *data = _data;
do_scsi_scan_host(data->shost);
scsi_finish_async_scan(data);
return 0;
diff -r 110aa94129d0 drivers/usb/atm/ueagle-atm.c
--- a/drivers/usb/atm/ueagle-atm.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/usb/atm/ueagle-atm.c Fri Jan 18 11:31:49 2008 +1100
@@ -1868,9 +1868,8 @@ static int uea_start_reset(struct uea_so
* Monitor the modem every 1s.
*/

-static int uea_kthread(void *data)
+static int uea_kthread(struct uea_softc *sc)
{
- struct uea_softc *sc = data;
int ret = -EAGAIN;

set_freezable();
diff -r 110aa94129d0 drivers/usb/gadget/file_storage.c
--- a/drivers/usb/gadget/file_storage.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/usb/gadget/file_storage.c Fri Jan 18 11:31:49 2008 +1100
@@ -3383,10 +3383,8 @@ static void handle_exception(struct fsg_

/*-------------------------------------------------------------------------*/

-static int fsg_main_thread(void *fsg_)
-{
- struct fsg_dev *fsg = fsg_;
-
+static int fsg_main_thread(struct fsg_dev *fsg)
+{
/* Allow the thread to be killed by a signal, but set the signal mask
* to block everything but INT, TERM, KILL, and USR1. */
allow_signal(SIGINT);
diff -r 110aa94129d0 drivers/usb/storage/usb.c
--- a/drivers/usb/storage/usb.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/usb/storage/usb.c Fri Jan 18 11:31:49 2008 +1100
@@ -302,9 +302,8 @@ void fill_inquiry_response(struct us_dat
usb_stor_set_xfer_buf(data, data_len, us->srb);
}

-static int usb_stor_control_thread(void * __us)
+static int usb_stor_control_thread(struct us_data *us)
{
- struct us_data *us = (struct us_data *)__us;
struct Scsi_Host *host = us_to_host(us);

for(;;) {
@@ -895,10 +894,8 @@ static void release_everything(struct us
}

/* Thread to carry out delayed SCSI-device scanning */
-static int usb_stor_scan_thread(void * __us)
+static int usb_stor_scan_thread(struct us_data *us)
{
- struct us_data *us = (struct us_data *)__us;
-
printk(KERN_DEBUG
"usb-storage: device found at %d\n", us->pusb_dev->devnum);

diff -r 110aa94129d0 drivers/w1/w1.c
--- a/drivers/w1/w1.c Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/w1/w1.c Fri Jan 18 11:31:49 2008 +1100
@@ -879,10 +879,8 @@ void w1_search_process(struct w1_master
dev->search_count--;
}

-int w1_process(void *data)
+int w1_process(struct w1_master *dev)
{
- struct w1_master *dev = (struct w1_master *) data;
-
while (!kthread_should_stop() && !test_bit(W1_MASTER_NEED_EXIT, &dev->flags)) {
try_to_freeze();
msleep_interruptible(w1_timeout * 1000);
diff -r 110aa94129d0 drivers/w1/w1.h
--- a/drivers/w1/w1.h Fri Jan 18 10:32:31 2008 +1100
+++ b/drivers/w1/w1.h Fri Jan 18 11:31:49 2008 +1100
@@ -217,7 +217,7 @@ extern struct list_head w1_masters;
extern struct list_head w1_masters;
extern struct mutex w1_mlock;

-extern int w1_process(void *);
+extern int w1_process(struct w1_master *);

#endif /* __KERNEL__ */

diff -r 110aa94129d0 fs/dlm/recoverd.c
--- a/fs/dlm/recoverd.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/dlm/recoverd.c Fri Jan 18 11:31:49 2008 +1100
@@ -260,7 +260,7 @@ static void do_ls_recovery(struct dlm_ls
}
}

-static int dlm_recoverd(void *arg)
+static int dlm_recoverd(dlm_lockspace_t *arg)
{
struct dlm_ls *ls;

@@ -295,7 +295,7 @@ int dlm_recoverd_start(struct dlm_ls *ls
struct task_struct *p;
int error = 0;

- p = kthread_run(dlm_recoverd, ls, "dlm_recoverd");
+ p = kthread_run(dlm_recoverd, (dlm_lockspace_t *)ls, "dlm_recoverd");
if (IS_ERR(p))
error = PTR_ERR(p);
else
diff -r 110aa94129d0 fs/gfs2/daemon.c
--- a/fs/gfs2/daemon.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/gfs2/daemon.c Fri Jan 18 11:31:49 2008 +1100
@@ -42,10 +42,8 @@
* Number of daemons can be set by user, with num_glockd mount option.
*/

-int gfs2_glockd(void *data)
+int gfs2_glockd(struct gfs2_sbd *sdp)
{
- struct gfs2_sbd *sdp = data;
-
while (!kthread_should_stop()) {
while (atomic_read(&sdp->sd_reclaim_count))
gfs2_reclaim_glock(sdp);
@@ -66,9 +64,8 @@ int gfs2_glockd(void *data)
*
*/

-int gfs2_recoverd(void *data)
+int gfs2_recoverd(struct gfs2_sbd *sdp)
{
- struct gfs2_sbd *sdp = data;
unsigned long t;

while (!kthread_should_stop()) {
@@ -90,9 +87,8 @@ int gfs2_recoverd(void *data)
* journal index.
*/

-int gfs2_logd(void *data)
+int gfs2_logd(struct gfs2_sbd *sdp)
{
- struct gfs2_sbd *sdp = data;
struct gfs2_holder ji_gh;
unsigned long t;
int need_flush;
@@ -138,9 +134,8 @@ int gfs2_logd(void *data)
*
*/

-int gfs2_quotad(void *data)
+int gfs2_quotad(struct gfs2_sbd *sdp)
{
- struct gfs2_sbd *sdp = data;
unsigned long t;
int error;

diff -r 110aa94129d0 fs/gfs2/daemon.h
--- a/fs/gfs2/daemon.h Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/gfs2/daemon.h Fri Jan 18 11:31:49 2008 +1100
@@ -10,9 +10,9 @@
#ifndef __DAEMON_DOT_H__
#define __DAEMON_DOT_H__

-int gfs2_glockd(void *data);
-int gfs2_recoverd(void *data);
-int gfs2_logd(void *data);
-int gfs2_quotad(void *data);
+int gfs2_glockd(struct gfs2_sbd *sdp);
+int gfs2_recoverd(struct gfs2_sbd *sdp);
+int gfs2_logd(struct gfs2_sbd *sdp);
+int gfs2_quotad(struct gfs2_sbd *sdp);

#endif /* __DAEMON_DOT_H__ */
diff -r 110aa94129d0 fs/gfs2/locking/dlm/thread.c
--- a/fs/gfs2/locking/dlm/thread.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/gfs2/locking/dlm/thread.c Fri Jan 18 11:31:49 2008 +1100
@@ -268,9 +268,8 @@ static inline int check_drop(struct gdlm
return 0;
}

-static int gdlm_thread(void *data, int blist)
+static int gdlm_thread(struct gdlm_ls *ls, int blist)
{
- struct gdlm_ls *ls = (struct gdlm_ls *) data;
struct gdlm_lock *lp = NULL;
uint8_t complete, blocking, submit, drop;
DECLARE_WAITQUEUE(wait, current);
@@ -329,14 +328,14 @@ static int gdlm_thread(void *data, int b
return 0;
}

-static int gdlm_thread1(void *data)
+static int gdlm_thread1(struct gdlm_ls *ls)
{
- return gdlm_thread(data, 1);
+ return gdlm_thread(ls, 1);
}

-static int gdlm_thread2(void *data)
+static int gdlm_thread2(struct gdlm_ls *ls)
{
- return gdlm_thread(data, 0);
+ return gdlm_thread(ls, 0);
}

int gdlm_init_threads(struct gdlm_ls *ls)
diff -r 110aa94129d0 fs/jbd/journal.c
--- a/fs/jbd/journal.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/jbd/journal.c Fri Jan 18 11:31:49 2008 +1100
@@ -112,9 +112,8 @@ static void commit_timeout(unsigned long
* known as checkpointing, and this thread is responsible for that job.
*/

-static int kjournald(void *arg)
+static int kjournald(journal_t *journal)
{
- journal_t *journal = arg;
transaction_t *transaction;

/*
diff -r 110aa94129d0 fs/jbd2/journal.c
--- a/fs/jbd2/journal.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/jbd2/journal.c Fri Jan 18 11:31:49 2008 +1100
@@ -112,9 +112,8 @@ static void commit_timeout(unsigned long
* known as checkpointing, and this thread is responsible for that job.
*/

-static int kjournald2(void *arg)
+static int kjournald2(journal_t *journal)
{
- journal_t *journal = arg;
transaction_t *transaction;

/*
diff -r 110aa94129d0 fs/nfs/delegation.c
--- a/fs/nfs/delegation.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/nfs/delegation.c Fri Jan 18 11:31:49 2008 +1100
@@ -275,9 +275,8 @@ restart:
rcu_read_unlock();
}

-static int nfs_do_expire_all_delegations(void *ptr)
+static int nfs_do_expire_all_delegations(struct nfs_client *clp)
{
- struct nfs_client *clp = ptr;
struct nfs_delegation *delegation;
struct inode *inode;

diff -r 110aa94129d0 fs/nfs/nfs4state.c
--- a/fs/nfs/nfs4state.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/nfs/nfs4state.c Fri Jan 18 11:31:49 2008 +1100
@@ -738,7 +738,7 @@ out:
return status;
}

-static int reclaimer(void *);
+static int reclaimer(struct nfs_client *clp);

static inline void nfs4_clear_recover_bit(struct nfs_client *clp)
{
@@ -895,9 +895,8 @@ static void nfs4_state_mark_reclaim(stru
}
}

-static int reclaimer(void *ptr)
+static int reclaimer(struct nfs_client *clp)
{
- struct nfs_client *clp = ptr;
struct nfs4_state_owner *sp;
struct rb_node *pos;
struct nfs4_state_recovery_ops *ops;
diff -r 110aa94129d0 fs/nfsd/nfs4callback.c
--- a/fs/nfsd/nfs4callback.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/nfsd/nfs4callback.c Fri Jan 18 11:31:49 2008 +1100
@@ -347,9 +347,8 @@ static struct rpc_version * nfs_cb_versi
/* Reference counting, callback cleanup, etc., all look racy as heck.
* And why is cb_set an atomic? */

-static int do_probe_callback(void *data)
+static int do_probe_callback(struct nfs4_client *clp)
{
- struct nfs4_client *clp = data;
struct nfs4_callback *cb = &clp->cl_callback;
struct rpc_message msg = {
.rpc_proc = &nfs4_cb_procedures[NFSPROC4_CLNT_CB_NULL],
diff -r 110aa94129d0 fs/nfsd/nfs4state.c
--- a/fs/nfsd/nfs4state.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/nfsd/nfs4state.c Fri Jan 18 11:31:49 2008 +1100
@@ -1312,10 +1312,8 @@ nfs4_file_downgrade(struct file *filp, u
* Recall a delegation
*/
static int
-do_recall(void *__dp)
+do_recall(struct nfs4_delegation *dp)
{
- struct nfs4_delegation *dp = __dp;
-
dp->dl_file->fi_had_conflict = true;
nfsd4_cb_recall(dp);
return 0;
diff -r 110aa94129d0 fs/ocfs2/cluster/heartbeat.c
--- a/fs/ocfs2/cluster/heartbeat.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/ocfs2/cluster/heartbeat.c Fri Jan 18 11:31:49 2008 +1100
@@ -840,10 +840,9 @@ static unsigned int o2hb_elapsed_msecs(s
* dir is removed and drops it ref it will wait to tear down this
* thread.
*/
-static int o2hb_thread(void *data)
+static int o2hb_thread(struct o2hb_region *reg)
{
int i, ret;
- struct o2hb_region *reg = data;
struct o2hb_bio_wait_ctxt write_wc;
struct timeval before_hb, after_hb;
unsigned int elapsed_msec;
diff -r 110aa94129d0 fs/ocfs2/dlm/dlmrecovery.c
--- a/fs/ocfs2/dlm/dlmrecovery.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/ocfs2/dlm/dlmrecovery.c Fri Jan 18 11:31:49 2008 +1100
@@ -55,7 +55,7 @@

static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node);

-static int dlm_recovery_thread(void *data);
+static int dlm_recovery_thread(struct dlm_ctxt *dlm);
void dlm_complete_recovery_thread(struct dlm_ctxt *dlm);
int dlm_launch_recovery_thread(struct dlm_ctxt *dlm);
void dlm_kick_recovery_thread(struct dlm_ctxt *dlm);
@@ -302,10 +302,9 @@ static void dlm_print_reco_node_status(s

#define DLM_RECO_THREAD_TIMEOUT_MS (5 * 1000)

-static int dlm_recovery_thread(void *data)
+static int dlm_recovery_thread(struct dlm_ctxt *dlm)
{
int status;
- struct dlm_ctxt *dlm = data;
unsigned long timeout = msecs_to_jiffies(DLM_RECO_THREAD_TIMEOUT_MS);

mlog(0, "dlm thread running for %s...\n", dlm->name);
diff -r 110aa94129d0 fs/ocfs2/dlm/dlmthread.c
--- a/fs/ocfs2/dlm/dlmthread.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/ocfs2/dlm/dlmthread.c Fri Jan 18 11:31:49 2008 +1100
@@ -53,7 +53,7 @@
#define MLOG_MASK_PREFIX (ML_DLM|ML_DLM_THREAD)
#include "cluster/masklog.h"

-static int dlm_thread(void *data);
+static int dlm_thread(struct dlm_ctxt *dlm);
static void dlm_flush_asts(struct dlm_ctxt *dlm);

#define dlm_lock_is_remote(dlm, lock) ((lock)->ml.node != (dlm)->node_num)
@@ -608,10 +608,9 @@ static void dlm_flush_asts(struct dlm_ct
#define DLM_THREAD_MAX_DIRTY 100
#define DLM_THREAD_MAX_ASTS 10

-static int dlm_thread(void *data)
+static int dlm_thread(struct dlm_ctxt *dlm)
{
struct dlm_lock_resource *res;
- struct dlm_ctxt *dlm = data;
unsigned long timeout = msecs_to_jiffies(DLM_THREAD_TIMEOUT_MS);

mlog(0, "dlm thread running for %s...\n", dlm->name);
diff -r 110aa94129d0 fs/ocfs2/journal.c
--- a/fs/ocfs2/journal.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/ocfs2/journal.c Fri Jan 18 11:31:49 2008 +1100
@@ -54,7 +54,7 @@ static int ocfs2_force_read_journal(stru
static int ocfs2_force_read_journal(struct inode *inode);
static int ocfs2_recover_node(struct ocfs2_super *osb,
int node_num);
-static int __ocfs2_recovery_thread(void *arg);
+static int __ocfs2_recovery_thread(struct ocfs2_super *osb);
static int ocfs2_commit_cache(struct ocfs2_super *osb);
static int ocfs2_wait_on_mount(struct ocfs2_super *osb);
static int ocfs2_journal_toggle_dirty(struct ocfs2_super *osb,
@@ -63,7 +63,7 @@ static int ocfs2_trylock_journal(struct
int slot_num);
static int ocfs2_recover_orphans(struct ocfs2_super *osb,
int slot);
-static int ocfs2_commit_thread(void *arg);
+static int ocfs2_commit_thread(struct ocfs2_super *osb);

static int ocfs2_commit_cache(struct ocfs2_super *osb)
{
@@ -841,10 +841,9 @@ void ocfs2_complete_mount_recovery(struc
}
}

-static int __ocfs2_recovery_thread(void *arg)
+static int __ocfs2_recovery_thread(struct ocfs2_super *osb)
{
int status, node_num;
- struct ocfs2_super *osb = arg;

mlog_entry_void();

@@ -1419,10 +1418,9 @@ static int ocfs2_wait_on_mount(struct oc
return 0;
}

-static int ocfs2_commit_thread(void *arg)
+static int ocfs2_commit_thread(struct ocfs2_super *osb)
{
int status;
- struct ocfs2_super *osb = arg;
struct ocfs2_journal *journal = osb->journal;

/* we can trust j_num_trans here because _should_stop() is only set in
diff -r 110aa94129d0 fs/ocfs2/vote.c
--- a/fs/ocfs2/vote.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/ocfs2/vote.c Fri Jan 18 11:31:49 2008 +1100
@@ -280,10 +280,9 @@ static int ocfs2_vote_thread_should_wake
return should_wake;
}

-int ocfs2_vote_thread(void *arg)
+int ocfs2_vote_thread(struct ocfs2_super *osb)
{
int status = 0;
- struct ocfs2_super *osb = arg;

/* only quit once we've been asked to stop and there is no more
* work available */
diff -r 110aa94129d0 fs/ocfs2/vote.h
--- a/fs/ocfs2/vote.h Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/ocfs2/vote.h Fri Jan 18 11:31:49 2008 +1100
@@ -27,7 +27,7 @@
#ifndef VOTE_H
#define VOTE_H

-int ocfs2_vote_thread(void *arg);
+int ocfs2_vote_thread(struct ocfs2_super *osb);
static inline void ocfs2_kick_vote_thread(struct ocfs2_super *osb)
{
spin_lock(&osb->vote_task_lock);
diff -r 110aa94129d0 fs/xfs/linux-2.6/xfs_buf.c
--- a/fs/xfs/linux-2.6/xfs_buf.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/xfs/linux-2.6/xfs_buf.c Fri Jan 18 11:31:49 2008 +1100
@@ -35,7 +35,7 @@
#include <linux/freezer.h>

static kmem_zone_t *xfs_buf_zone;
-STATIC int xfsbufd(void *);
+STATIC int xfsbufd(xfs_buftarg_t *);
STATIC int xfsbufd_wakeup(int, gfp_t);
STATIC void xfs_buf_delwri_queue(xfs_buf_t *, int);
static struct shrinker xfs_buf_shake = {
@@ -1734,10 +1734,9 @@ xfs_buf_delwri_split(

STATIC int
xfsbufd(
- void *data)
+ xfs_buftarg_t *target)
{
struct list_head tmp;
- xfs_buftarg_t *target = (xfs_buftarg_t *)data;
int count;
xfs_buf_t *bp;

diff -r 110aa94129d0 fs/xfs/linux-2.6/xfs_super.c
--- a/fs/xfs/linux-2.6/xfs_super.c Fri Jan 18 10:32:31 2008 +1100
+++ b/fs/xfs/linux-2.6/xfs_super.c Fri Jan 18 11:31:49 2008 +1100
@@ -549,9 +549,8 @@ xfs_sync_worker(

STATIC int
xfssyncd(
- void *arg)
+ struct xfs_mount *mp)
{
- struct xfs_mount *mp = arg;
long timeleft;
bhv_vfs_sync_work_t *work, *n;
LIST_HEAD (tmp);
diff -r 110aa94129d0 kernel/audit.c
--- a/kernel/audit.c Fri Jan 18 10:32:31 2008 +1100
+++ b/kernel/audit.c Fri Jan 18 11:31:49 2008 +1100
@@ -450,9 +450,8 @@ out:
return err;
}

-int audit_send_list(void *_dest)
+int audit_send_list(struct audit_netlink_list *dest)
{
- struct audit_netlink_list *dest = _dest;
int pid = dest->pid;
struct sk_buff *skb;

diff -r 110aa94129d0 kernel/audit.h
--- a/kernel/audit.h Fri Jan 18 10:32:31 2008 +1100
+++ b/kernel/audit.h Fri Jan 18 11:31:49 2008 +1100
@@ -126,7 +126,7 @@ struct audit_netlink_list {
struct sk_buff_head q;
};

-int audit_send_list(void *);
+int audit_send_list(struct audit_netlink_list *dest);

struct inotify_watch;
extern void audit_free_parent(struct inotify_watch *);
diff -r 110aa94129d0 kernel/rtmutex-tester.c
--- a/kernel/rtmutex-tester.c Fri Jan 18 10:32:31 2008 +1100
+++ b/kernel/rtmutex-tester.c Fri Jan 18 11:31:49 2008 +1100
@@ -254,9 +254,8 @@ void schedule_rt_mutex_test(struct rt_mu
td->opdata = dat;
}

-static int test_func(void *data)
+static int test_func(struct test_thread_data *td)
{
- struct test_thread_data *td = data;
int ret;

current->flags |= PF_MUTEX_TESTER;
diff -r 110aa94129d0 kernel/stop_machine.c
--- a/kernel/stop_machine.c Fri Jan 18 10:32:31 2008 +1100
+++ b/kernel/stop_machine.c Fri Jan 18 11:31:49 2008 +1100
@@ -143,9 +143,8 @@ struct stop_machine_data
struct completion done;
};

-static int do_stop(void *_smdata)
+static int do_stop(struct stop_machine_data *smdata)
{
- struct stop_machine_data *smdata = _smdata;
int ret;

ret = stop_machine();
diff -r 110aa94129d0 kernel/workqueue.c
--- a/kernel/workqueue.c Fri Jan 18 10:32:31 2008 +1100
+++ b/kernel/workqueue.c Fri Jan 18 11:31:49 2008 +1100
@@ -296,9 +296,8 @@ static void run_workqueue(struct cpu_wor
spin_unlock_irq(&cwq->lock);
}

-static int worker_thread(void *__cwq)
+static int worker_thread(struct cpu_workqueue_struct *cwq)
{
- struct cpu_workqueue_struct *cwq = __cwq;
DEFINE_WAIT(wait);

if (cwq->wq->freezeable)
diff -r 110aa94129d0 mm/vmscan.c
--- a/mm/vmscan.c Fri Jan 18 10:32:31 2008 +1100
+++ b/mm/vmscan.c Fri Jan 18 11:31:50 2008 +1100
@@ -1491,10 +1491,9 @@ out:
* If there are applications that are active memory-allocators
* (most normal use), this basically shouldn't matter.
*/
-static int kswapd(void *p)
+static int kswapd(pg_data_t *pgdat)
{
unsigned long order;
- pg_data_t *pgdat = (pg_data_t*)p;
struct task_struct *tsk = current;
DEFINE_WAIT(wait);
struct reclaim_state reclaim_state = {
diff -r 110aa94129d0 net/9p/mux.c
--- a/net/9p/mux.c Fri Jan 18 10:32:31 2008 +1100
+++ b/net/9p/mux.c Fri Jan 18 11:31:50 2008 +1100
@@ -106,7 +106,7 @@ struct p9_mux_rpc {
wait_queue_head_t wqueue;
};

-static int p9_poll_proc(void *);
+static int p9_poll_proc(struct p9_mux_poll_task *vpt);
static void p9_read_work(struct work_struct *work);
static void p9_write_work(struct work_struct *work);
static void p9_pollwait(struct file *filp, wait_queue_head_t *wait_address,
@@ -442,12 +442,10 @@ static void p9_poll_mux(struct p9_conn *
* p9_poll_proc - polls all v9fs transports for new events and queues
* the appropriate work to the work queue
*/
-static int p9_poll_proc(void *a)
+static int p9_poll_proc(struct p9_mux_poll_task *vpt)
{
struct p9_conn *m, *mtmp;
- struct p9_mux_poll_task *vpt;

- vpt = a;
P9_DPRINTK(P9_DEBUG_MUX, "start %p %p\n", current, vpt);
while (!kthread_should_stop()) {
set_current_state(TASK_INTERRUPTIBLE);
diff -r 110aa94129d0 net/core/pktgen.c
--- a/net/core/pktgen.c Fri Jan 18 10:32:31 2008 +1100
+++ b/net/core/pktgen.c Fri Jan 18 11:31:50 2008 +1100
@@ -3499,10 +3499,9 @@ out:;
* Main loop of the thread goes here
*/

-static int pktgen_thread_worker(void *arg)
+static int pktgen_thread_worker(struct pktgen_thread *t)
{
DEFINE_WAIT(wait);
- struct pktgen_thread *t = arg;
struct pktgen_dev *pkt_dev = NULL;
int cpu = t->cpu;

diff -r 110aa94129d0 sound/pci/emu10k1/emu10k1_main.c
--- a/sound/pci/emu10k1/emu10k1_main.c Fri Jan 18 10:32:31 2008 +1100
+++ b/sound/pci/emu10k1/emu10k1_main.c Fri Jan 18 11:31:50 2008 +1100
@@ -704,8 +704,7 @@ static int snd_emu1010_load_firmware(str
return 0;
}

-int emu1010_firmware_thread(void *data) {
- struct snd_emu10k1 * emu = data;
+int emu1010_firmware_thread(struct snd_emu10k1 * emu) {
int tmp,tmp2;
int reg;
int err;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/