Skip to content

Commit

Permalink
pktcdvd: Get rid of pkt_seq_show() forward declaration
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
andy-shev authored and axboe committed Jun 7, 2023
1 parent 3bb5746 commit f023faa
Showing 1 changed file with 75 additions and 76 deletions.
151 changes: 75 additions & 76 deletions drivers/block/pktcdvd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit f023faa

Please sign in to comment.