Commit f023faaa authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Jens Axboe

pktcdvd: Get rid of pkt_seq_show() forward declaration

The code can be neater without forward declarations.
Get rid of pkt_seq_show() forward declaration. This
will also allow futher cleanups to be cleaner.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230310164549.22133-5-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 3bb5746c
......@@ -91,7 +91,6 @@ static struct dentry *pkt_debugfs_root = NULL; /* /sys/kernel/debug/pktcdvd */
/* forward declaration */
static int pkt_setup_dev(dev_t dev, dev_t* pkt_dev);
static int pkt_remove_dev(dev_t pkt_dev);
static int pkt_seq_show(struct seq_file *m, void *p);
static sector_t get_zone(sector_t sector, struct pktcdvd_device *pd)
{
......@@ -414,6 +413,81 @@ static void pkt_sysfs_cleanup(void)
*******************************************************************/
static void pkt_count_states(struct pktcdvd_device *pd, int *states)
{
struct packet_data *pkt;
int i;
for (i = 0; i < PACKET_NUM_STATES; i++)
states[i] = 0;
spin_lock(&pd->cdrw.active_list_lock);
list_for_each_entry(pkt, &pd->cdrw.pkt_active_list, list) {
states[pkt->state]++;
}
spin_unlock(&pd->cdrw.active_list_lock);
}
static int pkt_seq_show(struct seq_file *m, void *p)
{
struct pktcdvd_device *pd = m->private;
char *msg;
int states[PACKET_NUM_STATES];
seq_printf(m, "Writer %s mapped to %pg:\n", pd->disk->disk_name, pd->bdev);
seq_printf(m, "\nSettings:\n");
seq_printf(m, "\tpacket size:\t\t%dkB\n", pd->settings.size / 2);
if (pd->settings.write_type == 0)
msg = "Packet";
else
msg = "Unknown";
seq_printf(m, "\twrite type:\t\t%s\n", msg);
seq_printf(m, "\tpacket type:\t\t%s\n", pd->settings.fp ? "Fixed" : "Variable");
seq_printf(m, "\tlink loss:\t\t%d\n", pd->settings.link_loss);
seq_printf(m, "\ttrack mode:\t\t%d\n", pd->settings.track_mode);
if (pd->settings.block_mode == PACKET_BLOCK_MODE1)
msg = "Mode 1";
else if (pd->settings.block_mode == PACKET_BLOCK_MODE2)
msg = "Mode 2";
else
msg = "Unknown";
seq_printf(m, "\tblock mode:\t\t%s\n", msg);
seq_printf(m, "\nStatistics:\n");
seq_printf(m, "\tpackets started:\t%lu\n", pd->stats.pkt_started);
seq_printf(m, "\tpackets ended:\t\t%lu\n", pd->stats.pkt_ended);
seq_printf(m, "\twritten:\t\t%lukB\n", pd->stats.secs_w >> 1);
seq_printf(m, "\tread gather:\t\t%lukB\n", pd->stats.secs_rg >> 1);
seq_printf(m, "\tread:\t\t\t%lukB\n", pd->stats.secs_r >> 1);
seq_printf(m, "\nMisc:\n");
seq_printf(m, "\treference count:\t%d\n", pd->refcnt);
seq_printf(m, "\tflags:\t\t\t0x%lx\n", pd->flags);
seq_printf(m, "\tread speed:\t\t%ukB/s\n", pd->read_speed);
seq_printf(m, "\twrite speed:\t\t%ukB/s\n", pd->write_speed);
seq_printf(m, "\tstart offset:\t\t%lu\n", pd->offset);
seq_printf(m, "\tmode page offset:\t%u\n", pd->mode_offset);
seq_printf(m, "\nQueue state:\n");
seq_printf(m, "\tbios queued:\t\t%d\n", pd->bio_queue_size);
seq_printf(m, "\tbios pending:\t\t%d\n", atomic_read(&pd->cdrw.pending_bios));
seq_printf(m, "\tcurrent sector:\t\t0x%llx\n", (unsigned long long)pd->current_sector);
pkt_count_states(pd, states);
seq_printf(m, "\tstate:\t\t\ti:%d ow:%d rw:%d ww:%d rec:%d fin:%d\n",
states[0], states[1], states[2], states[3], states[4], states[5]);
seq_printf(m, "\twrite congestion marks:\toff=%d on=%d\n",
pd->write_congestion_off,
pd->write_congestion_on);
return 0;
}
static int pkt_debugfs_seq_show(struct seq_file *m, void *p)
{
return pkt_seq_show(m, p);
......@@ -1344,21 +1418,6 @@ static void pkt_handle_packets(struct pktcdvd_device *pd)
spin_unlock(&pd->cdrw.active_list_lock);
}
static void pkt_count_states(struct pktcdvd_device *pd, int *states)
{
struct packet_data *pkt;
int i;
for (i = 0; i < PACKET_NUM_STATES; i++)
states[i] = 0;
spin_lock(&pd->cdrw.active_list_lock);
list_for_each_entry(pkt, &pd->cdrw.pkt_active_list, list) {
states[pkt->state]++;
}
spin_unlock(&pd->cdrw.active_list_lock);
}
/*
* kcdrwd is woken up when writes have been queued for one of our
* registered devices
......@@ -2456,66 +2515,6 @@ static void pkt_init_queue(struct pktcdvd_device *pd)
q->queuedata = pd;
}
static int pkt_seq_show(struct seq_file *m, void *p)
{
struct pktcdvd_device *pd = m->private;
char *msg;
int states[PACKET_NUM_STATES];
seq_printf(m, "Writer %s mapped to %pg:\n", pd->disk->disk_name, pd->bdev);
seq_printf(m, "\nSettings:\n");
seq_printf(m, "\tpacket size:\t\t%dkB\n", pd->settings.size / 2);
if (pd->settings.write_type == 0)
msg = "Packet";
else
msg = "Unknown";
seq_printf(m, "\twrite type:\t\t%s\n", msg);
seq_printf(m, "\tpacket type:\t\t%s\n", pd->settings.fp ? "Fixed" : "Variable");
seq_printf(m, "\tlink loss:\t\t%d\n", pd->settings.link_loss);
seq_printf(m, "\ttrack mode:\t\t%d\n", pd->settings.track_mode);
if (pd->settings.block_mode == PACKET_BLOCK_MODE1)
msg = "Mode 1";
else if (pd->settings.block_mode == PACKET_BLOCK_MODE2)
msg = "Mode 2";
else
msg = "Unknown";
seq_printf(m, "\tblock mode:\t\t%s\n", msg);
seq_printf(m, "\nStatistics:\n");
seq_printf(m, "\tpackets started:\t%lu\n", pd->stats.pkt_started);
seq_printf(m, "\tpackets ended:\t\t%lu\n", pd->stats.pkt_ended);
seq_printf(m, "\twritten:\t\t%lukB\n", pd->stats.secs_w >> 1);
seq_printf(m, "\tread gather:\t\t%lukB\n", pd->stats.secs_rg >> 1);
seq_printf(m, "\tread:\t\t\t%lukB\n", pd->stats.secs_r >> 1);
seq_printf(m, "\nMisc:\n");
seq_printf(m, "\treference count:\t%d\n", pd->refcnt);
seq_printf(m, "\tflags:\t\t\t0x%lx\n", pd->flags);
seq_printf(m, "\tread speed:\t\t%ukB/s\n", pd->read_speed);
seq_printf(m, "\twrite speed:\t\t%ukB/s\n", pd->write_speed);
seq_printf(m, "\tstart offset:\t\t%lu\n", pd->offset);
seq_printf(m, "\tmode page offset:\t%u\n", pd->mode_offset);
seq_printf(m, "\nQueue state:\n");
seq_printf(m, "\tbios queued:\t\t%d\n", pd->bio_queue_size);
seq_printf(m, "\tbios pending:\t\t%d\n", atomic_read(&pd->cdrw.pending_bios));
seq_printf(m, "\tcurrent sector:\t\t0x%llx\n", (unsigned long long)pd->current_sector);
pkt_count_states(pd, states);
seq_printf(m, "\tstate:\t\t\ti:%d ow:%d rw:%d ww:%d rec:%d fin:%d\n",
states[0], states[1], states[2], states[3], states[4], states[5]);
seq_printf(m, "\twrite congestion marks:\toff=%d on=%d\n",
pd->write_congestion_off,
pd->write_congestion_on);
return 0;
}
static int pkt_new_dev(struct pktcdvd_device *pd, dev_t dev)
{
struct device *ddev = disk_to_dev(pd->disk);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment