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: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230310164549.22133-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Andy Shevchenko 2023-03-10 18:45:44 +02:00 committed by Jens Axboe
parent 3bb5746c26
commit f023faaa98
1 changed files with 75 additions and 76 deletions

View File

@ -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);