staging: unisys: visorbus: Remove unused functions
Remove visorbus_clear_channel, visorchannel_signalqueue_slots_avail, visorchannel_signalqueue_max_slots, visorchannel_clear, and visorchannel_debug which are no longer called by any driver. Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com> Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <Timothy.Sell@unisys.com> Acked-By: Neil Horman <nhorman@tuxdriver.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
fe129f6216
commit
33f3a3cfac
|
@ -185,8 +185,6 @@ int visorbus_read_channel(struct visor_device *dev,
|
|||
int visorbus_write_channel(struct visor_device *dev,
|
||||
unsigned long offset, void *src,
|
||||
unsigned long nbytes);
|
||||
int visorbus_clear_channel(struct visor_device *dev,
|
||||
unsigned long offset, u8 ch, unsigned long nbytes);
|
||||
void visorbus_enable_channel_interrupts(struct visor_device *dev);
|
||||
void visorbus_disable_channel_interrupts(struct visor_device *dev);
|
||||
#endif
|
||||
|
@ -206,17 +204,12 @@ int visorchannel_read(struct visorchannel *channel, ulong offset,
|
|||
void *local, ulong nbytes);
|
||||
int visorchannel_write(struct visorchannel *channel, ulong offset,
|
||||
void *local, ulong nbytes);
|
||||
int visorchannel_clear(struct visorchannel *channel, ulong offset,
|
||||
u8 ch, ulong nbytes);
|
||||
bool visorchannel_signalremove(struct visorchannel *channel, u32 queue,
|
||||
void *msg);
|
||||
bool visorchannel_signalinsert(struct visorchannel *channel, u32 queue,
|
||||
void *msg);
|
||||
bool visorchannel_signalempty(struct visorchannel *channel, u32 queue);
|
||||
|
||||
int visorchannel_signalqueue_slots_avail(struct visorchannel *channel,
|
||||
u32 queue);
|
||||
int visorchannel_signalqueue_max_slots(struct visorchannel *channel, u32 queue);
|
||||
u64 visorchannel_get_physaddr(struct visorchannel *channel);
|
||||
ulong visorchannel_get_nbytes(struct visorchannel *channel);
|
||||
char *visorchannel_id(struct visorchannel *channel, char *s);
|
||||
|
@ -226,8 +219,6 @@ int visorchannel_set_clientpartition(struct visorchannel *channel,
|
|||
u64 partition_handle);
|
||||
uuid_le visorchannel_get_uuid(struct visorchannel *channel);
|
||||
char *visorchannel_uuid_id(uuid_le *guid, char *s);
|
||||
void visorchannel_debug(struct visorchannel *channel, int num_queues,
|
||||
struct seq_file *seq, u32 off);
|
||||
void __iomem *visorchannel_get_header(struct visorchannel *channel);
|
||||
|
||||
#define BUS_ROOT_DEVICE UINT_MAX
|
||||
|
|
|
@ -715,13 +715,6 @@ visorbus_write_channel(struct visor_device *dev, unsigned long offset,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(visorbus_write_channel);
|
||||
|
||||
int
|
||||
visorbus_clear_channel(struct visor_device *dev, unsigned long offset, u8 ch,
|
||||
unsigned long nbytes)
|
||||
{
|
||||
return visorchannel_clear(dev->visorchannel, offset, ch, nbytes);
|
||||
}
|
||||
|
||||
/** We don't really have a real interrupt, so for now we just call the
|
||||
* interrupt function periodically...
|
||||
*/
|
||||
|
|
|
@ -255,41 +255,6 @@ visorchannel_write(struct visorchannel *channel, ulong offset,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
visorchannel_clear(struct visorchannel *channel, ulong offset, u8 ch,
|
||||
ulong nbytes)
|
||||
{
|
||||
int err;
|
||||
int bufsize = PAGE_SIZE;
|
||||
int written = 0;
|
||||
u8 *buf;
|
||||
|
||||
buf = (u8 *)__get_free_page(GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
memset(buf, ch, bufsize);
|
||||
|
||||
while (nbytes > 0) {
|
||||
int thisbytes = bufsize;
|
||||
|
||||
if (nbytes < thisbytes)
|
||||
thisbytes = nbytes;
|
||||
err = visorchannel_write(channel, offset + written,
|
||||
buf, thisbytes);
|
||||
if (err)
|
||||
goto out_free_page;
|
||||
|
||||
written += thisbytes;
|
||||
nbytes -= thisbytes;
|
||||
}
|
||||
err = 0;
|
||||
|
||||
out_free_page:
|
||||
free_page((unsigned long)buf);
|
||||
return err;
|
||||
}
|
||||
|
||||
void __iomem *
|
||||
visorchannel_get_header(struct visorchannel *channel)
|
||||
{
|
||||
|
@ -490,129 +455,3 @@ visorchannel_signalinsert(struct visorchannel *channel, u32 queue, void *msg)
|
|||
return rc;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(visorchannel_signalinsert);
|
||||
|
||||
int
|
||||
visorchannel_signalqueue_slots_avail(struct visorchannel *channel, u32 queue)
|
||||
{
|
||||
struct signal_queue_header sig_hdr;
|
||||
u32 slots_avail, slots_used;
|
||||
u32 head, tail;
|
||||
|
||||
if (!sig_read_header(channel, queue, &sig_hdr))
|
||||
return 0;
|
||||
head = sig_hdr.head;
|
||||
tail = sig_hdr.tail;
|
||||
if (head < tail)
|
||||
head = head + sig_hdr.max_slots;
|
||||
slots_used = head - tail;
|
||||
slots_avail = sig_hdr.max_signals - slots_used;
|
||||
return (int)slots_avail;
|
||||
}
|
||||
|
||||
int
|
||||
visorchannel_signalqueue_max_slots(struct visorchannel *channel, u32 queue)
|
||||
{
|
||||
struct signal_queue_header sig_hdr;
|
||||
|
||||
if (!sig_read_header(channel, queue, &sig_hdr))
|
||||
return 0;
|
||||
return (int)sig_hdr.max_signals;
|
||||
}
|
||||
|
||||
static void
|
||||
sigqueue_debug(struct signal_queue_header *q, int which, struct seq_file *seq)
|
||||
{
|
||||
seq_printf(seq, "Signal Queue #%d\n", which);
|
||||
seq_printf(seq, " VersionId = %lu\n", (ulong)q->version);
|
||||
seq_printf(seq, " Type = %lu\n", (ulong)q->chtype);
|
||||
seq_printf(seq, " oSignalBase = %llu\n",
|
||||
(long long)q->sig_base_offset);
|
||||
seq_printf(seq, " SignalSize = %lu\n", (ulong)q->signal_size);
|
||||
seq_printf(seq, " MaxSignalSlots = %lu\n",
|
||||
(ulong)q->max_slots);
|
||||
seq_printf(seq, " MaxSignals = %lu\n", (ulong)q->max_signals);
|
||||
seq_printf(seq, " FeatureFlags = %-16.16Lx\n",
|
||||
(long long)q->features);
|
||||
seq_printf(seq, " NumSignalsSent = %llu\n",
|
||||
(long long)q->num_sent);
|
||||
seq_printf(seq, " NumSignalsReceived = %llu\n",
|
||||
(long long)q->num_received);
|
||||
seq_printf(seq, " NumOverflows = %llu\n",
|
||||
(long long)q->num_overflows);
|
||||
seq_printf(seq, " Head = %lu\n", (ulong)q->head);
|
||||
seq_printf(seq, " Tail = %lu\n", (ulong)q->tail);
|
||||
}
|
||||
|
||||
void
|
||||
visorchannel_debug(struct visorchannel *channel, int num_queues,
|
||||
struct seq_file *seq, u32 off)
|
||||
{
|
||||
u64 addr = 0;
|
||||
ulong nbytes = 0, nbytes_region = 0;
|
||||
struct channel_header hdr;
|
||||
struct channel_header *phdr = &hdr;
|
||||
int i = 0;
|
||||
int errcode = 0;
|
||||
|
||||
if (!channel)
|
||||
return;
|
||||
|
||||
addr = visorchannel_get_physaddr(channel);
|
||||
nbytes_region = visorchannel_get_nbytes(channel);
|
||||
errcode = visorchannel_read(channel, off,
|
||||
phdr, sizeof(struct channel_header));
|
||||
if (errcode < 0) {
|
||||
seq_printf(seq,
|
||||
"Read of channel header failed with errcode=%d)\n",
|
||||
errcode);
|
||||
if (off == 0) {
|
||||
phdr = &channel->chan_hdr;
|
||||
seq_puts(seq, "(following data may be stale)\n");
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
nbytes = (ulong)(phdr->size);
|
||||
seq_printf(seq, "--- Begin channel @0x%-16.16Lx for 0x%lx bytes (region=0x%lx bytes) ---\n",
|
||||
addr + off, nbytes, nbytes_region);
|
||||
seq_printf(seq, "Type = %pUL\n", &phdr->chtype);
|
||||
seq_printf(seq, "ZoneGuid = %pUL\n", &phdr->zone_uuid);
|
||||
seq_printf(seq, "Signature = 0x%-16.16Lx\n",
|
||||
(long long)phdr->signature);
|
||||
seq_printf(seq, "LegacyState = %lu\n", (ulong)phdr->legacy_state);
|
||||
seq_printf(seq, "SrvState = %lu\n", (ulong)phdr->srv_state);
|
||||
seq_printf(seq, "CliStateBoot = %lu\n", (ulong)phdr->cli_state_boot);
|
||||
seq_printf(seq, "CliStateOS = %lu\n", (ulong)phdr->cli_state_os);
|
||||
seq_printf(seq, "HeaderSize = %lu\n", (ulong)phdr->header_size);
|
||||
seq_printf(seq, "Size = %llu\n", (long long)phdr->size);
|
||||
seq_printf(seq, "Features = 0x%-16.16llx\n",
|
||||
(long long)phdr->features);
|
||||
seq_printf(seq, "PartitionHandle = 0x%-16.16llx\n",
|
||||
(long long)phdr->partition_handle);
|
||||
seq_printf(seq, "Handle = 0x%-16.16llx\n",
|
||||
(long long)phdr->handle);
|
||||
seq_printf(seq, "VersionId = %lu\n", (ulong)phdr->version_id);
|
||||
seq_printf(seq, "oChannelSpace = %llu\n",
|
||||
(long long)phdr->ch_space_offset);
|
||||
if ((phdr->ch_space_offset == 0) || (errcode < 0))
|
||||
;
|
||||
else
|
||||
for (i = 0; i < num_queues; i++) {
|
||||
struct signal_queue_header q;
|
||||
|
||||
errcode = visorchannel_read(channel,
|
||||
off +
|
||||
phdr->ch_space_offset +
|
||||
(i * sizeof(q)),
|
||||
&q, sizeof(q));
|
||||
if (errcode < 0) {
|
||||
seq_printf(seq,
|
||||
"failed to read signal queue #%d from channel @0x%-16.16Lx errcode=%d\n",
|
||||
i, addr, errcode);
|
||||
continue;
|
||||
}
|
||||
sigqueue_debug(&q, i, seq);
|
||||
}
|
||||
seq_printf(seq, "--- End channel @0x%-16.16Lx for 0x%lx bytes ---\n",
|
||||
addr + off, nbytes);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue