1
0
Fork 0

staging: unisys: fix sig_read_data and sig_read_data functions

The sig_read_data() and sig_write_data() functions are involved in 2 steps
of calls.  They really don't need to be and this makes for much simpler
code.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
hifive-unleashed-5.1
Prarit Bhargava 2015-05-05 18:36:19 -04:00 committed by Greg Kroah-Hartman
parent 69141bb8eb
commit a4ed0ba9af
1 changed files with 22 additions and 26 deletions

View File

@ -318,42 +318,38 @@ sig_read_header(struct visorchannel *channel, u32 queue,
return TRUE;
}
static BOOL
sig_do_data(struct visorchannel *channel, u32 queue,
struct signal_queue_header *sig_hdr, u32 slot, void *data,
BOOL is_write)
{
int err;
int signal_data_offset = SIG_DATA_OFFSET(&channel->chan_hdr, queue,
sig_hdr, slot);
if (is_write) {
err = visor_memregion_write(channel->memregion,
signal_data_offset,
data, sig_hdr->signal_size);
if (err)
return FALSE;
} else {
err = visor_memregion_read(channel->memregion,
signal_data_offset,
data, sig_hdr->signal_size);
if (err)
return FALSE;
}
return TRUE;
}
static inline BOOL
sig_read_data(struct visorchannel *channel, u32 queue,
struct signal_queue_header *sig_hdr, u32 slot, void *data)
{
return sig_do_data(channel, queue, sig_hdr, slot, data, FALSE);
int err;
int signal_data_offset = SIG_DATA_OFFSET(&channel->chan_hdr, queue,
sig_hdr, slot);
err = visor_memregion_read(channel->memregion,
signal_data_offset,
data, sig_hdr->signal_size);
if (err)
return FALSE;
return TRUE;
}
static inline BOOL
sig_write_data(struct visorchannel *channel, u32 queue,
struct signal_queue_header *sig_hdr, u32 slot, void *data)
{
return sig_do_data(channel, queue, sig_hdr, slot, data, TRUE);
int err;
int signal_data_offset = SIG_DATA_OFFSET(&channel->chan_hdr, queue,
sig_hdr, slot);
err = visor_memregion_write(channel->memregion,
signal_data_offset,
data, sig_hdr->signal_size);
if (err)
return FALSE;
return TRUE;
}
static BOOL