diff options
Diffstat (limited to 'drivers/block/pktcdvd.c')
-rw-r--r-- | drivers/block/pktcdvd.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 3ba1df93e9e..0e077150568 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c | |||
@@ -302,7 +302,9 @@ static struct kobj_type kobj_pkt_type_wqueue = { | |||
302 | static void pkt_sysfs_dev_new(struct pktcdvd_device *pd) | 302 | static void pkt_sysfs_dev_new(struct pktcdvd_device *pd) |
303 | { | 303 | { |
304 | if (class_pktcdvd) { | 304 | if (class_pktcdvd) { |
305 | pd->dev = device_create(class_pktcdvd, NULL, pd->pkt_dev, "%s", pd->name); | 305 | pd->dev = device_create_drvdata(class_pktcdvd, NULL, |
306 | pd->pkt_dev, NULL, | ||
307 | "%s", pd->name); | ||
306 | if (IS_ERR(pd->dev)) | 308 | if (IS_ERR(pd->dev)) |
307 | pd->dev = NULL; | 309 | pd->dev = NULL; |
308 | } | 310 | } |
@@ -2079,7 +2081,6 @@ static noinline_for_stack int pkt_write_caching(struct pktcdvd_device *pd, | |||
2079 | unsigned char buf[64]; | 2081 | unsigned char buf[64]; |
2080 | int ret; | 2082 | int ret; |
2081 | 2083 | ||
2082 | memset(buf, 0, sizeof(buf)); | ||
2083 | init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); | 2084 | init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); |
2084 | cgc.sense = &sense; | 2085 | cgc.sense = &sense; |
2085 | cgc.buflen = pd->mode_offset + 12; | 2086 | cgc.buflen = pd->mode_offset + 12; |
@@ -2126,7 +2127,6 @@ static noinline_for_stack int pkt_get_max_speed(struct pktcdvd_device *pd, | |||
2126 | unsigned char *cap_buf; | 2127 | unsigned char *cap_buf; |
2127 | int ret, offset; | 2128 | int ret, offset; |
2128 | 2129 | ||
2129 | memset(buf, 0, sizeof(buf)); | ||
2130 | cap_buf = &buf[sizeof(struct mode_page_header) + pd->mode_offset]; | 2130 | cap_buf = &buf[sizeof(struct mode_page_header) + pd->mode_offset]; |
2131 | init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_UNKNOWN); | 2131 | init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_UNKNOWN); |
2132 | cgc.sense = &sense; | 2132 | cgc.sense = &sense; |
@@ -2544,7 +2544,7 @@ static int pkt_make_request(struct request_queue *q, struct bio *bio) | |||
2544 | if (last_zone != zone) { | 2544 | if (last_zone != zone) { |
2545 | BUG_ON(last_zone != zone + pd->settings.size); | 2545 | BUG_ON(last_zone != zone + pd->settings.size); |
2546 | first_sectors = last_zone - bio->bi_sector; | 2546 | first_sectors = last_zone - bio->bi_sector; |
2547 | bp = bio_split(bio, bio_split_pool, first_sectors); | 2547 | bp = bio_split(bio, first_sectors); |
2548 | BUG_ON(!bp); | 2548 | BUG_ON(!bp); |
2549 | pkt_make_request(q, &bp->bio1); | 2549 | pkt_make_request(q, &bp->bio1); |
2550 | pkt_make_request(q, &bp->bio2); | 2550 | pkt_make_request(q, &bp->bio2); |
@@ -2633,11 +2633,12 @@ end_io: | |||
2633 | 2633 | ||
2634 | 2634 | ||
2635 | 2635 | ||
2636 | static int pkt_merge_bvec(struct request_queue *q, struct bio *bio, struct bio_vec *bvec) | 2636 | static int pkt_merge_bvec(struct request_queue *q, struct bvec_merge_data *bmd, |
2637 | struct bio_vec *bvec) | ||
2637 | { | 2638 | { |
2638 | struct pktcdvd_device *pd = q->queuedata; | 2639 | struct pktcdvd_device *pd = q->queuedata; |
2639 | sector_t zone = ZONE(bio->bi_sector, pd); | 2640 | sector_t zone = ZONE(bmd->bi_sector, pd); |
2640 | int used = ((bio->bi_sector - zone) << 9) + bio->bi_size; | 2641 | int used = ((bmd->bi_sector - zone) << 9) + bmd->bi_size; |
2641 | int remaining = (pd->settings.size << 9) - used; | 2642 | int remaining = (pd->settings.size << 9) - used; |
2642 | int remaining2; | 2643 | int remaining2; |
2643 | 2644 | ||
@@ -2645,7 +2646,7 @@ static int pkt_merge_bvec(struct request_queue *q, struct bio *bio, struct bio_v | |||
2645 | * A bio <= PAGE_SIZE must be allowed. If it crosses a packet | 2646 | * A bio <= PAGE_SIZE must be allowed. If it crosses a packet |
2646 | * boundary, pkt_make_request() will split the bio. | 2647 | * boundary, pkt_make_request() will split the bio. |
2647 | */ | 2648 | */ |
2648 | remaining2 = PAGE_SIZE - bio->bi_size; | 2649 | remaining2 = PAGE_SIZE - bmd->bi_size; |
2649 | remaining = max(remaining, remaining2); | 2650 | remaining = max(remaining, remaining2); |
2650 | 2651 | ||
2651 | BUG_ON(remaining < 0); | 2652 | BUG_ON(remaining < 0); |
@@ -2910,7 +2911,7 @@ static int pkt_setup_dev(dev_t dev, dev_t* pkt_dev) | |||
2910 | if (!disk->queue) | 2911 | if (!disk->queue) |
2911 | goto out_mem2; | 2912 | goto out_mem2; |
2912 | 2913 | ||
2913 | pd->pkt_dev = MKDEV(disk->major, disk->first_minor); | 2914 | pd->pkt_dev = MKDEV(pktdev_major, idx); |
2914 | ret = pkt_new_dev(pd, dev); | 2915 | ret = pkt_new_dev(pd, dev); |
2915 | if (ret) | 2916 | if (ret) |
2916 | goto out_new_dev; | 2917 | goto out_new_dev; |