On Mon, 2011-01-24 at 12:37 -0800, Nicholas A. Bellinger wrote: > -#define TASK_CMD(task) ((struct se_cmd *)task->task_se_cmd) > -#define TASK_DEV(task) ((struct se_device *)task->se_dev) > +#define TASK_CMD(task) ((task)->task_se_cmd) > +#define TASK_DEV(task) ((task)->se_dev) If sparse is objecting to things like this then sparse needs fixing: It's decreasing typesafety. the things being cast are void * ... they'd be depositable into any pointer whatsoever without the cast. With the cast in the #define, we pick up pointer mismatches (as we should). Without it, we don't. As long as the define is always a specific type, it *should* cast to it. James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html