mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
bsg: use pr_debug instead of hand crafted macros
Use pr_debug instead of hand crafted macros. This way it is not needed to re-compile the kernel to enable bsg debug outputs and it's possible to selectively enable specific prints. Cc: Joe Perches <joe@perches.com> Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com> Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
6b136a24b0
commit
3124b65dad
40
block/bsg.c
40
block/bsg.c
@@ -32,6 +32,9 @@
|
|||||||
#define BSG_DESCRIPTION "Block layer SCSI generic (bsg) driver"
|
#define BSG_DESCRIPTION "Block layer SCSI generic (bsg) driver"
|
||||||
#define BSG_VERSION "0.4"
|
#define BSG_VERSION "0.4"
|
||||||
|
|
||||||
|
#define bsg_dbg(bd, fmt, ...) \
|
||||||
|
pr_debug("%s: " fmt, (bd)->name, ##__VA_ARGS__)
|
||||||
|
|
||||||
struct bsg_device {
|
struct bsg_device {
|
||||||
struct request_queue *queue;
|
struct request_queue *queue;
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
@@ -55,14 +58,6 @@ enum {
|
|||||||
#define BSG_DEFAULT_CMDS 64
|
#define BSG_DEFAULT_CMDS 64
|
||||||
#define BSG_MAX_DEVS 32768
|
#define BSG_MAX_DEVS 32768
|
||||||
|
|
||||||
#undef BSG_DEBUG
|
|
||||||
|
|
||||||
#ifdef BSG_DEBUG
|
|
||||||
#define dprintk(fmt, args...) printk(KERN_ERR "%s: " fmt, __func__, ##args)
|
|
||||||
#else
|
|
||||||
#define dprintk(fmt, args...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static DEFINE_MUTEX(bsg_mutex);
|
static DEFINE_MUTEX(bsg_mutex);
|
||||||
static DEFINE_IDR(bsg_minor_idr);
|
static DEFINE_IDR(bsg_minor_idr);
|
||||||
|
|
||||||
@@ -123,7 +118,7 @@ static struct bsg_command *bsg_alloc_command(struct bsg_device *bd)
|
|||||||
|
|
||||||
bc->bd = bd;
|
bc->bd = bd;
|
||||||
INIT_LIST_HEAD(&bc->list);
|
INIT_LIST_HEAD(&bc->list);
|
||||||
dprintk("%s: returning free cmd %p\n", bd->name, bc);
|
bsg_dbg(bd, "returning free cmd %p\n", bc);
|
||||||
return bc;
|
return bc;
|
||||||
out:
|
out:
|
||||||
spin_unlock_irq(&bd->lock);
|
spin_unlock_irq(&bd->lock);
|
||||||
@@ -222,7 +217,8 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t mode)
|
|||||||
if (!bcd->class_dev)
|
if (!bcd->class_dev)
|
||||||
return ERR_PTR(-ENXIO);
|
return ERR_PTR(-ENXIO);
|
||||||
|
|
||||||
dprintk("map hdr %llx/%u %llx/%u\n", (unsigned long long) hdr->dout_xferp,
|
bsg_dbg(bd, "map hdr %llx/%u %llx/%u\n",
|
||||||
|
(unsigned long long) hdr->dout_xferp,
|
||||||
hdr->dout_xfer_len, (unsigned long long) hdr->din_xferp,
|
hdr->dout_xfer_len, (unsigned long long) hdr->din_xferp,
|
||||||
hdr->din_xfer_len);
|
hdr->din_xfer_len);
|
||||||
|
|
||||||
@@ -299,8 +295,8 @@ static void bsg_rq_end_io(struct request *rq, blk_status_t status)
|
|||||||
struct bsg_device *bd = bc->bd;
|
struct bsg_device *bd = bc->bd;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
dprintk("%s: finished rq %p bc %p, bio %p\n",
|
bsg_dbg(bd, "finished rq %p bc %p, bio %p\n",
|
||||||
bd->name, rq, bc, bc->bio);
|
rq, bc, bc->bio);
|
||||||
|
|
||||||
bc->hdr.duration = jiffies_to_msecs(jiffies - bc->hdr.duration);
|
bc->hdr.duration = jiffies_to_msecs(jiffies - bc->hdr.duration);
|
||||||
|
|
||||||
@@ -333,7 +329,7 @@ static void bsg_add_command(struct bsg_device *bd, struct request_queue *q,
|
|||||||
list_add_tail(&bc->list, &bd->busy_list);
|
list_add_tail(&bc->list, &bd->busy_list);
|
||||||
spin_unlock_irq(&bd->lock);
|
spin_unlock_irq(&bd->lock);
|
||||||
|
|
||||||
dprintk("%s: queueing rq %p, bc %p\n", bd->name, rq, bc);
|
bsg_dbg(bd, "queueing rq %p, bc %p\n", rq, bc);
|
||||||
|
|
||||||
rq->end_io_data = bc;
|
rq->end_io_data = bc;
|
||||||
blk_execute_rq_nowait(q, NULL, rq, at_head, bsg_rq_end_io);
|
blk_execute_rq_nowait(q, NULL, rq, at_head, bsg_rq_end_io);
|
||||||
@@ -379,7 +375,7 @@ static struct bsg_command *bsg_get_done_cmd(struct bsg_device *bd)
|
|||||||
}
|
}
|
||||||
} while (1);
|
} while (1);
|
||||||
|
|
||||||
dprintk("%s: returning done %p\n", bd->name, bc);
|
bsg_dbg(bd, "returning done %p\n", bc);
|
||||||
|
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
@@ -390,7 +386,7 @@ static int blk_complete_sgv4_hdr_rq(struct request *rq, struct sg_io_v4 *hdr,
|
|||||||
struct scsi_request *req = scsi_req(rq);
|
struct scsi_request *req = scsi_req(rq);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
dprintk("rq %p bio %p 0x%x\n", rq, bio, req->result);
|
pr_debug("rq %p bio %p 0x%x\n", rq, bio, req->result);
|
||||||
/*
|
/*
|
||||||
* fill in all the output members
|
* fill in all the output members
|
||||||
*/
|
*/
|
||||||
@@ -469,7 +465,7 @@ static int bsg_complete_all_commands(struct bsg_device *bd)
|
|||||||
struct bsg_command *bc;
|
struct bsg_command *bc;
|
||||||
int ret, tret;
|
int ret, tret;
|
||||||
|
|
||||||
dprintk("%s: entered\n", bd->name);
|
bsg_dbg(bd, "entered\n");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wait for all commands to complete
|
* wait for all commands to complete
|
||||||
@@ -572,7 +568,7 @@ bsg_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
|
|||||||
int ret;
|
int ret;
|
||||||
ssize_t bytes_read;
|
ssize_t bytes_read;
|
||||||
|
|
||||||
dprintk("%s: read %zd bytes\n", bd->name, count);
|
bsg_dbg(bd, "read %zd bytes\n", count);
|
||||||
|
|
||||||
bsg_set_block(bd, file);
|
bsg_set_block(bd, file);
|
||||||
|
|
||||||
@@ -646,7 +642,7 @@ bsg_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
|
|||||||
ssize_t bytes_written;
|
ssize_t bytes_written;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
dprintk("%s: write %zd bytes\n", bd->name, count);
|
bsg_dbg(bd, "write %zd bytes\n", count);
|
||||||
|
|
||||||
if (unlikely(uaccess_kernel()))
|
if (unlikely(uaccess_kernel()))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -664,7 +660,7 @@ bsg_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
|
|||||||
if (!bytes_written || err_block_err(ret))
|
if (!bytes_written || err_block_err(ret))
|
||||||
bytes_written = ret;
|
bytes_written = ret;
|
||||||
|
|
||||||
dprintk("%s: returning %zd\n", bd->name, bytes_written);
|
bsg_dbg(bd, "returning %zd\n", bytes_written);
|
||||||
return bytes_written;
|
return bytes_written;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -717,7 +713,7 @@ static int bsg_put_device(struct bsg_device *bd)
|
|||||||
hlist_del(&bd->dev_list);
|
hlist_del(&bd->dev_list);
|
||||||
mutex_unlock(&bsg_mutex);
|
mutex_unlock(&bsg_mutex);
|
||||||
|
|
||||||
dprintk("%s: tearing down\n", bd->name);
|
bsg_dbg(bd, "tearing down\n");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* close can always block
|
* close can always block
|
||||||
@@ -744,9 +740,7 @@ static struct bsg_device *bsg_add_device(struct inode *inode,
|
|||||||
struct file *file)
|
struct file *file)
|
||||||
{
|
{
|
||||||
struct bsg_device *bd;
|
struct bsg_device *bd;
|
||||||
#ifdef BSG_DEBUG
|
|
||||||
unsigned char buf[32];
|
unsigned char buf[32];
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!blk_queue_scsi_passthrough(rq)) {
|
if (!blk_queue_scsi_passthrough(rq)) {
|
||||||
WARN_ONCE(true, "Attempt to register a non-SCSI queue\n");
|
WARN_ONCE(true, "Attempt to register a non-SCSI queue\n");
|
||||||
@@ -771,7 +765,7 @@ static struct bsg_device *bsg_add_device(struct inode *inode,
|
|||||||
hlist_add_head(&bd->dev_list, bsg_dev_idx_hash(iminor(inode)));
|
hlist_add_head(&bd->dev_list, bsg_dev_idx_hash(iminor(inode)));
|
||||||
|
|
||||||
strncpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name) - 1);
|
strncpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name) - 1);
|
||||||
dprintk("bound to <%s>, max queue %d\n",
|
bsg_dbg(bd, "bound to <%s>, max queue %d\n",
|
||||||
format_dev_t(buf, inode->i_rdev), bd->max_queue);
|
format_dev_t(buf, inode->i_rdev), bd->max_queue);
|
||||||
|
|
||||||
mutex_unlock(&bsg_mutex);
|
mutex_unlock(&bsg_mutex);
|
||||||
|
Reference in New Issue
Block a user