Skip to content

Commit

Permalink
Staging: meilhaus: remove dependence on kernel version
Browse files Browse the repository at this point in the history
Cc: David Kiliani <mail@davidkiliani.de>
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Alexander Beregalov authored and Greg Kroah-Hartman committed Apr 3, 2009
1 parent a44522b commit 483f29c
Show file tree
Hide file tree
Showing 14 changed files with 5 additions and 161 deletions.
4 changes: 0 additions & 4 deletions drivers/staging/meilhaus/me0600_ext_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -337,11 +337,7 @@ static void me0600_ext_irq_destructor(struct me_subdevice *subdevice)
kfree(instance);
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me0600_isr(int irq, void *dev_id)
#else
static irqreturn_t me0600_isr(int irq, void *dev_id, struct pt_regs *regs)
#endif
{
me0600_ext_irq_subdevice_t *instance;
uint32_t status;
Expand Down
5 changes: 0 additions & 5 deletions drivers/staging/meilhaus/me1400_ext_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,12 +323,7 @@ static int me1400_ext_irq_query_subdevice_caps_args(struct me_subdevice
return ME_ERRNO_NOT_SUPPORTED;
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me1400_ext_irq_isr(int irq, void *dev_id)
#else
static irqreturn_t me1400_ext_irq_isr(int irq, void *dev_id,
struct pt_regs *regs)
#endif
{
me1400_ext_irq_subdevice_t *instance;
uint32_t status;
Expand Down
17 changes: 0 additions & 17 deletions drivers/staging/meilhaus/me1600_ao.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,7 @@

static void me1600_ao_destructor(struct me_subdevice *subdevice);

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
static void me1600_ao_work_control_task(void *subdevice);
#else
static void me1600_ao_work_control_task(struct work_struct *work);
#endif

static int me1600_ao_io_reset_subdevice(me_subdevice_t * subdevice,
struct file *filep, int flags);
Expand Down Expand Up @@ -200,13 +196,8 @@ me1600_ao_subdevice_t *me1600_ao_constructor(uint32_t reg_base,
subdevice->me1600_workqueue = me1600_wq;

/* workqueue API changed in kernel 2.6.20 */
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) )
INIT_WORK(&subdevice->ao_control_task, me1600_ao_work_control_task,
(void *)subdevice);
#else
INIT_DELAYED_WORK(&subdevice->ao_control_task,
me1600_ao_work_control_task);
#endif
return subdevice;
}

Expand Down Expand Up @@ -962,22 +953,14 @@ static int me1600_ao_query_range_info(me_subdevice_t * subdevice,
return ME_ERRNO_SUCCESS;
}

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
static void me1600_ao_work_control_task(void *subdevice)
#else
static void me1600_ao_work_control_task(struct work_struct *work)
#endif
{
me1600_ao_subdevice_t *instance;
int reschedule = 1;
int signaling = 0;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
instance = (me1600_ao_subdevice_t *) subdevice;
#else
instance =
container_of((void *)work, me1600_ao_subdevice_t, ao_control_task);
#endif

PINFO("<%s: %ld> executed. idx=%d\n", __func__, jiffies,
instance->ao_idx);
Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/meilhaus/me1600_ao.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,7 @@ typedef struct me1600_ao_subdevice {
wait_queue_head_t wait_queue; /**< Wait queue to put on tasks waiting for data to arrive. */
me1600_ao_timeout_t timeout; /**< The timeout for start in blocking and non-blocking mode. */
struct workqueue_struct *me1600_workqueue;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
struct work_struct ao_control_task;
#else
struct delayed_work ao_control_task;
#endif

volatile int ao_control_task_flag; /**< Flag controling reexecuting of control task */
} me1600_ao_subdevice_t;
Expand Down
25 changes: 0 additions & 25 deletions drivers/staging/meilhaus/me4600_ai.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,7 @@ static int me4600_ai_query_subdevice_caps(me_subdevice_t * subdevice,
static int me4600_ai_query_subdevice_caps_args(struct me_subdevice *subdevice,
int cap, int *args, int count);

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me4600_ai_isr(int irq, void *dev_id);
#else
static irqreturn_t me4600_ai_isr(int irq, void *dev_id, struct pt_regs *regs);
#endif

static int ai_mux_toggler(me4600_ai_subdevice_t * subdevice);

Expand Down Expand Up @@ -177,11 +173,7 @@ void inline ai_limited_ISM(me4600_ai_subdevice_t * instance,
/** Set ISM to next stage for limited mode */
void inline ai_data_acquisition_logic(me4600_ai_subdevice_t * instance);

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
static void me4600_ai_work_control_task(void *subdevice);
#else
static void me4600_ai_work_control_task(struct work_struct *work);
#endif

/* Definitions
*/
Expand Down Expand Up @@ -360,13 +352,8 @@ me4600_ai_subdevice_t *me4600_ai_constructor(uint32_t reg_base,
subdevice->me4600_workqueue = me4600_wq;

/* workqueue API changed in kernel 2.6.20 */
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) )
INIT_WORK(&subdevice->ai_control_task, me4600_ai_work_control_task,
(void *)subdevice);
#else
INIT_DELAYED_WORK(&subdevice->ai_control_task,
me4600_ai_work_control_task);
#endif

return subdevice;
}
Expand Down Expand Up @@ -2603,11 +2590,7 @@ void ai_infinite_isr(me4600_ai_subdevice_t * instance,
}
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me4600_ai_isr(int irq, void *dev_id)
#else
static irqreturn_t me4600_ai_isr(int irq, void *dev_id, struct pt_regs *regs)
#endif
{ /// @note This is time critical function!
uint32_t irq_status;
uint32_t ctrl_status;
Expand Down Expand Up @@ -3310,11 +3293,7 @@ static int inline ai_read_data_pooling(me4600_ai_subdevice_t * instance)
return (!status) ? copied : -ME_ERRNO_RING_BUFFER_OVERFLOW;
}

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
static void me4600_ai_work_control_task(void *subdevice)
#else
static void me4600_ai_work_control_task(struct work_struct *work)
#endif
{
me4600_ai_subdevice_t *instance;
uint32_t status;
Expand All @@ -3323,12 +3302,8 @@ static void me4600_ai_work_control_task(struct work_struct *work)
int reschedule = 0;
int signaling = 0;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
instance = (me4600_ai_subdevice_t *) subdevice;
#else
instance =
container_of((void *)work, me4600_ai_subdevice_t, ai_control_task);
#endif
PINFO("<%s: %ld> executed.\n", __func__, jiffies);

status = inl(instance->status_reg);
Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/meilhaus/me4600_ai.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,7 @@ typedef struct me4600_ai_subdevice {
wait_queue_head_t wait_queue; /**< Wait queue to put on tasks waiting for data to arrive. */

struct workqueue_struct *me4600_workqueue;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
struct work_struct ai_control_task;
#else
struct delayed_work ai_control_task;
#endif

volatile int ai_control_task_flag; /**< Flag controling reexecuting of control task */

Expand Down
41 changes: 4 additions & 37 deletions drivers/staging/meilhaus/me4600_ao.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,11 +175,7 @@ static int me4600_ao_io_stream_write(me_subdevice_t * subdevice,

/** Interrupt handler. Copy from buffer to FIFO.
*/
static irqreturn_t me4600_ao_isr(int irq, void *dev_id
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19)
, struct pt_regs *regs
#endif
);
static irqreturn_t me4600_ao_isr(int irq, void *dev_id);
/** Copy data from circular buffer to fifo (fast) in wraparound mode.
*/
int inline ao_write_data_wraparound(me4600_ao_subdevice_t * instance, int count,
Expand All @@ -206,13 +202,7 @@ int inline ao_stop_immediately(me4600_ao_subdevice_t * instance);

/** Task for asynchronical state verifying.
*/
static void me4600_ao_work_control_task(
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
void *subdevice
#else
struct work_struct *work
#endif
);
static void me4600_ao_work_control_task(struct work_struct *work);
/* Functions
*/

Expand Down Expand Up @@ -2272,11 +2262,7 @@ static int me4600_ao_io_stream_write(me_subdevice_t * subdevice,

return err;
}
static irqreturn_t me4600_ao_isr(int irq, void *dev_id
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19)
, struct pt_regs *regs
#endif
)
static irqreturn_t me4600_ao_isr(int irq, void *dev_id)
{
me4600_ao_subdevice_t *instance = dev_id;
uint32_t irq_status;
Expand Down Expand Up @@ -2689,13 +2675,8 @@ me4600_ao_subdevice_t *me4600_ao_constructor(uint32_t reg_base,
subdevice->me4600_workqueue = me4600_wq;

/* workqueue API changed in kernel 2.6.20 */
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) )
INIT_WORK(&subdevice->ao_control_task, me4600_ao_work_control_task,
(void *)subdevice);
#else
INIT_DELAYED_WORK(&subdevice->ao_control_task,
me4600_ao_work_control_task);
#endif

if (subdevice->fifo) { // Set speed for single operations.
outl(ME4600_AO_MIN_CHAN_TICKS - 1, subdevice->timer_reg);
Expand Down Expand Up @@ -2987,13 +2968,7 @@ int inline ao_get_data_from_user(me4600_ao_subdevice_t * instance, int count,
/** @brief Checking actual hardware and logical state.
* @param instance The subdevice instance (pointer).
*/
static void me4600_ao_work_control_task(
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
void *subdevice
#else
struct work_struct *work
#endif
)
static void me4600_ao_work_control_task(struct work_struct *work)
{
me4600_ao_subdevice_t *instance;
unsigned long cpu_flags = 0;
Expand All @@ -3003,12 +2978,8 @@ static void me4600_ao_work_control_task(
int reschedule = 0;
int signaling = 0;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
instance = (me4600_ao_subdevice_t *) subdevice;
#else
instance =
container_of((void *)work, me4600_ao_subdevice_t, ao_control_task);
#endif
PINFO("<%s: %ld> executed. idx=%d\n", __func__, jiffies,
instance->ao_idx);

Expand Down Expand Up @@ -5439,11 +5410,7 @@ static int me4600_ao_io_stream_write(me_subdevice_t * subdevice,
return err;
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me4600_ao_isr(int irq, void *dev_id)
#else
static irqreturn_t me4600_ao_isr(int irq, void *dev_id, struct pt_regs *regs)
#endif
{
unsigned long tmp;
int value;
Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/meilhaus/me4600_ao.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,11 +225,7 @@ typedef struct me4600_ao_subdevice {
wait_queue_head_t wait_queue; /**< Wait queue to put on tasks waiting for data to arrive. */

struct workqueue_struct *me4600_workqueue;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
struct work_struct ao_control_task;
#else
struct delayed_work ao_control_task;
#endif

volatile int ao_control_task_flag; /**< Flag controling reexecuting of control task */

Expand Down
5 changes: 0 additions & 5 deletions drivers/staging/meilhaus/me4600_ext_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -335,12 +335,7 @@ static int me4600_ext_irq_query_subdevice_caps(me_subdevice_t * subdevice,
return ME_ERRNO_SUCCESS;
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me4600_ext_irq_isr(int irq, void *dev_id)
#else
static irqreturn_t me4600_ext_irq_isr(int irq, void *dev_id,
struct pt_regs *regs)
#endif
{
me4600_ext_irq_subdevice_t *instance;
uint32_t ctrl;
Expand Down
29 changes: 1 addition & 28 deletions drivers/staging/meilhaus/me6000_ao.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,11 +151,7 @@ static int me6000_ao_io_stream_write(me_subdevice_t * subdevice,
int *values, int *count, int flags);

/** Interrupt handler. Copy from buffer to FIFO. */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me6000_ao_isr(int irq, void *dev_id);
#else
static irqreturn_t me6000_ao_isr(int irq, void *dev_id, struct pt_regs *regs);
#endif

/** Copy data from circular buffer to fifo (fast) in wraparound mode. */
int inline ao_write_data_wraparound(me6000_ao_subdevice_t * instance, int count,
Expand All @@ -177,11 +173,7 @@ int inline ao_get_data_from_user(me6000_ao_subdevice_t * instance, int count,
int inline ao_stop_immediately(me6000_ao_subdevice_t * instance);

/** Function for checking timeout in non-blocking mode. */
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
static void me6000_ao_work_control_task(void *subdevice);
#else
static void me6000_ao_work_control_task(struct work_struct *work);
#endif

/* Functions
*/
Expand Down Expand Up @@ -2324,11 +2316,7 @@ static int me6000_ao_io_stream_write(me_subdevice_t * subdevice,
return err;
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me6000_ao_isr(int irq, void *dev_id)
#else
static irqreturn_t me6000_ao_isr(int irq, void *dev_id, struct pt_regs *regs)
#endif
{
me6000_ao_subdevice_t *instance = dev_id;
uint32_t irq_status;
Expand Down Expand Up @@ -2797,13 +2785,8 @@ me6000_ao_subdevice_t *me6000_ao_constructor(uint32_t reg_base,
subdevice->me6000_workqueue = me6000_wq;

/* workqueue API changed in kernel 2.6.20 */
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) )
INIT_WORK(&subdevice->ao_control_task, me6000_ao_work_control_task,
(void *)subdevice);
#else
INIT_DELAYED_WORK(&subdevice->ao_control_task,
me6000_ao_work_control_task);
#endif

if (subdevice->fifo) { //Set speed
outl(ME6000_AO_MIN_CHAN_TICKS - 1, subdevice->timer_reg);
Expand Down Expand Up @@ -3110,13 +3093,7 @@ int inline ao_get_data_from_user(me6000_ao_subdevice_t * instance, int count,
return copied;
}

static void me6000_ao_work_control_task(
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
void *subdevice
#else
struct work_struct *work
#endif
)
static void me6000_ao_work_control_task(struct work_struct *work)
{
me6000_ao_subdevice_t *instance;
unsigned long cpu_flags = 0;
Expand All @@ -3127,12 +3104,8 @@ static void me6000_ao_work_control_task(
int signaling = 0;
uint32_t single_mask;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
instance = (me6000_ao_subdevice_t *) subdevice;
#else
instance =
container_of((void *)work, me6000_ao_subdevice_t, ao_control_task);
#endif
PINFO("<%s: %ld> executed. idx=%d\n", __func__, jiffies,
instance->ao_idx);

Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/meilhaus/me6000_ao.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,7 @@ typedef struct me6000_ao_subdevice {
wait_queue_head_t wait_queue; /**< Wait queue to put on tasks waiting for data to arrive. */

struct workqueue_struct *me6000_workqueue;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
struct work_struct ao_control_task;
#else
struct delayed_work ao_control_task;
#endif

volatile int ao_control_task_flag; /**< Flag controling reexecuting of control task */

Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/meilhaus/me8100_di.c
Original file line number Diff line number Diff line change
Expand Up @@ -503,11 +503,7 @@ static void me8100_di_destructor(struct me_subdevice *subdevice)
kfree(instance);
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
static irqreturn_t me8100_isr(int irq, void *dev_id)
#else
static irqreturn_t me8100_isr(int irq, void *dev_id, struct pt_regs *regs)
#endif
{
me8100_di_subdevice_t *instance;
uint32_t icsr;
Expand Down
Loading

0 comments on commit 483f29c

Please sign in to comment.