tree:
git://git.infradead.org/users/hch/block.git gendisk-flags
head: 92eeb4d1fe100e503ffd883bb003f676167b3f68
commit: 03b9d5d4dfb355829602cc1739de03841cfe1882 [11/14] block: remove GENHD_FL_EXT_DEVT
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add hch-block
git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block gendisk-flags
git checkout 03b9d5d4dfb355829602cc1739de03841cfe1882
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir
ARCH=m68k SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/block/paride/pcd.c: In function 'pcd_init_unit':
> drivers/block/paride/pcd.c:895:54: error: 'pcd_mq_ops'
undeclared (first use in this function); did you mean 'pcd_dops'?
895 |
ret = blk_mq_alloc_sq_tag_set(&cd->tag_set, &pcd_mq_ops, 1,
| ^~~~~~~~~~
| pcd_dops
drivers/block/paride/pcd.c:895:54: note: each undeclared identifier is reported only
once for each function it appears in
At top level:
> drivers/block/paride/pcd.c:700:21: error: 'pcd_queue_rq'
defined but not used [-Werror=unused-function]
700 | static blk_status_t
pcd_queue_rq(struct blk_mq_hw_ctx *hctx,
| ^~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +895 drivers/block/paride/pcd.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 699
89c6b165096933 Jens Axboe 2018-10-15 @700 static blk_status_t pcd_queue_rq(struct
blk_mq_hw_ctx *hctx,
89c6b165096933 Jens Axboe 2018-10-15 701 const struct blk_mq_queue_data
*bd)
547b50a1fbc176 Omar Sandoval 2017-03-27 702 {
89c6b165096933 Jens Axboe 2018-10-15 703 struct pcd_unit *cd =
hctx->queue->queuedata;
89c6b165096933 Jens Axboe 2018-10-15 704
89c6b165096933 Jens Axboe 2018-10-15 705 if (rq_data_dir(bd->rq) != READ) {
89c6b165096933 Jens Axboe 2018-10-15 706 blk_mq_start_request(bd->rq);
89c6b165096933 Jens Axboe 2018-10-15 707 return BLK_STS_IOERR;
89c6b165096933 Jens Axboe 2018-10-15 708 }
89c6b165096933 Jens Axboe 2018-10-15 709
89c6b165096933 Jens Axboe 2018-10-15 710 spin_lock_irq(&pcd_lock);
89c6b165096933 Jens Axboe 2018-10-15 711
list_add_tail(&bd->rq->queuelist, &cd->rq_list);
547b50a1fbc176 Omar Sandoval 2017-03-27 712 pcd_request();
89c6b165096933 Jens Axboe 2018-10-15 713 spin_unlock_irq(&pcd_lock);
89c6b165096933 Jens Axboe 2018-10-15 714
89c6b165096933 Jens Axboe 2018-10-15 715 return BLK_STS_OK;
547b50a1fbc176 Omar Sandoval 2017-03-27 716 }
547b50a1fbc176 Omar Sandoval 2017-03-27 717
2a842acab109f4 Christoph Hellwig 2017-06-03 718 static inline void
next_request(blk_status_t err)
^1da177e4c3f41 Linus Torvalds 2005-04-16 719 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 720 unsigned long saved_flags;
^1da177e4c3f41 Linus Torvalds 2005-04-16 721
^1da177e4c3f41 Linus Torvalds 2005-04-16 722 spin_lock_irqsave(&pcd_lock,
saved_flags);
89c6b165096933 Jens Axboe 2018-10-15 723 if (!blk_update_request(pcd_req, err,
blk_rq_cur_bytes(pcd_req))) {
89c6b165096933 Jens Axboe 2018-10-15 724 __blk_mq_end_request(pcd_req, err);
b12d4f82c1a3cd Tejun Heo 2009-05-08 725 pcd_req = NULL;
89c6b165096933 Jens Axboe 2018-10-15 726 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 727 pcd_busy = 0;
547b50a1fbc176 Omar Sandoval 2017-03-27 728 pcd_request();
^1da177e4c3f41 Linus Torvalds 2005-04-16 729 spin_unlock_irqrestore(&pcd_lock,
saved_flags);
^1da177e4c3f41 Linus Torvalds 2005-04-16 730 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 731
^1da177e4c3f41 Linus Torvalds 2005-04-16 732 static int pcd_ready(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16 733 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 734 return (((status_reg(pcd_current) &
(IDE_BUSY | IDE_DRQ)) == IDE_DRQ));
^1da177e4c3f41 Linus Torvalds 2005-04-16 735 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 736
^1da177e4c3f41 Linus Torvalds 2005-04-16 737 static void pcd_transfer(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16 738 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 739
^1da177e4c3f41 Linus Torvalds 2005-04-16 740 while (pcd_count && (pcd_sector
/ 4 == pcd_bufblk)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 741 int o = (pcd_sector % 4) * 512;
^1da177e4c3f41 Linus Torvalds 2005-04-16 742 memcpy(pcd_buf, pcd_buffer + o, 512);
^1da177e4c3f41 Linus Torvalds 2005-04-16 743 pcd_count--;
^1da177e4c3f41 Linus Torvalds 2005-04-16 744 pcd_buf += 512;
^1da177e4c3f41 Linus Torvalds 2005-04-16 745 pcd_sector++;
^1da177e4c3f41 Linus Torvalds 2005-04-16 746 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 747 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 748
^1da177e4c3f41 Linus Torvalds 2005-04-16 749 static void pcd_start(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16 750 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 751 int b, i;
^1da177e4c3f41 Linus Torvalds 2005-04-16 752 char rd_cmd[12] = { 0xa8, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 753
^1da177e4c3f41 Linus Torvalds 2005-04-16 754 pcd_bufblk = pcd_sector / 4;
^1da177e4c3f41 Linus Torvalds 2005-04-16 755 b = pcd_bufblk;
^1da177e4c3f41 Linus Torvalds 2005-04-16 756 for (i = 0; i < 4; i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 757 rd_cmd[5 - i] = b & 0xff;
^1da177e4c3f41 Linus Torvalds 2005-04-16 758 b = b >> 8;
^1da177e4c3f41 Linus Torvalds 2005-04-16 759 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 760
^1da177e4c3f41 Linus Torvalds 2005-04-16 761 if (pcd_command(pcd_current, rd_cmd,
2048, "read block")) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 762 pcd_bufblk = -1;
2a842acab109f4 Christoph Hellwig 2017-06-03 763 next_request(BLK_STS_IOERR);
^1da177e4c3f41 Linus Torvalds 2005-04-16 764 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 765 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 766
^1da177e4c3f41 Linus Torvalds 2005-04-16 767 mdelay(1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 768
^1da177e4c3f41 Linus Torvalds 2005-04-16 769 ps_set_intr(do_pcd_read_drq, pcd_ready,
PCD_TMO, nice);
^1da177e4c3f41 Linus Torvalds 2005-04-16 770 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 771
^1da177e4c3f41 Linus Torvalds 2005-04-16 772 static void do_pcd_read(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16 773 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 774 pcd_busy = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 775 pcd_retries = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 776 pcd_transfer();
^1da177e4c3f41 Linus Torvalds 2005-04-16 777 if (!pcd_count) {
f06d9a2b52e246 Tejun Heo 2009-04-23 778 next_request(0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 779 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 780 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 781
^1da177e4c3f41 Linus Torvalds 2005-04-16 782 pi_do_claimed(pcd_current->pi,
pcd_start);
^1da177e4c3f41 Linus Torvalds 2005-04-16 783 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 784
^1da177e4c3f41 Linus Torvalds 2005-04-16 785 static void do_pcd_read_drq(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16 786 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 787 unsigned long saved_flags;
^1da177e4c3f41 Linus Torvalds 2005-04-16 788
^1da177e4c3f41 Linus Torvalds 2005-04-16 789 if (pcd_completion(pcd_current,
pcd_buffer, "read block")) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 790 if (pcd_retries < PCD_RETRIES) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 791 mdelay(1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 792 pcd_retries++;
^1da177e4c3f41 Linus Torvalds 2005-04-16 793 pi_do_claimed(pcd_current->pi,
pcd_start);
^1da177e4c3f41 Linus Torvalds 2005-04-16 794 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 795 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 796 pcd_bufblk = -1;
2a842acab109f4 Christoph Hellwig 2017-06-03 797 next_request(BLK_STS_IOERR);
^1da177e4c3f41 Linus Torvalds 2005-04-16 798 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 799 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 800
^1da177e4c3f41 Linus Torvalds 2005-04-16 801 do_pcd_read();
^1da177e4c3f41 Linus Torvalds 2005-04-16 802 spin_lock_irqsave(&pcd_lock,
saved_flags);
547b50a1fbc176 Omar Sandoval 2017-03-27 803 pcd_request();
^1da177e4c3f41 Linus Torvalds 2005-04-16 804 spin_unlock_irqrestore(&pcd_lock,
saved_flags);
^1da177e4c3f41 Linus Torvalds 2005-04-16 805 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 806
^1da177e4c3f41 Linus Torvalds 2005-04-16 807 /* the audio_ioctl stuff is adapted from
sr_ioctl.c */
^1da177e4c3f41 Linus Torvalds 2005-04-16 808
^1da177e4c3f41 Linus Torvalds 2005-04-16 809 static int pcd_audio_ioctl(struct
cdrom_device_info *cdi, unsigned int cmd, void *arg)
^1da177e4c3f41 Linus Torvalds 2005-04-16 810 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 811 struct pcd_unit *cd = cdi->handle;
^1da177e4c3f41 Linus Torvalds 2005-04-16 812
^1da177e4c3f41 Linus Torvalds 2005-04-16 813 switch (cmd) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 814
^1da177e4c3f41 Linus Torvalds 2005-04-16 815 case CDROMREADTOCHDR:
^1da177e4c3f41 Linus Torvalds 2005-04-16 816
^1da177e4c3f41 Linus Torvalds 2005-04-16 817 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 818 char cmd[12] =
^1da177e4c3f41 Linus Torvalds 2005-04-16 819 { GPCMD_READ_TOC_PMA_ATIP, 0, 0,
0, 0, 0, 0, 0, 12,
^1da177e4c3f41 Linus Torvalds 2005-04-16 820 0, 0, 0 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 821 struct cdrom_tochdr *tochdr =
^1da177e4c3f41 Linus Torvalds 2005-04-16 822 (struct cdrom_tochdr *) arg;
^1da177e4c3f41 Linus Torvalds 2005-04-16 823 char buffer[32];
^1da177e4c3f41 Linus Torvalds 2005-04-16 824 int r;
^1da177e4c3f41 Linus Torvalds 2005-04-16 825
^1da177e4c3f41 Linus Torvalds 2005-04-16 826 r = pcd_atapi(cd, cmd, 12, buffer,
"read toc header");
^1da177e4c3f41 Linus Torvalds 2005-04-16 827
^1da177e4c3f41 Linus Torvalds 2005-04-16 828 tochdr->cdth_trk0 = buffer[2];
^1da177e4c3f41 Linus Torvalds 2005-04-16 829 tochdr->cdth_trk1 = buffer[3];
^1da177e4c3f41 Linus Torvalds 2005-04-16 830
^1da177e4c3f41 Linus Torvalds 2005-04-16 831 return r ? -EIO : 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 832 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 833
^1da177e4c3f41 Linus Torvalds 2005-04-16 834 case CDROMREADTOCENTRY:
^1da177e4c3f41 Linus Torvalds 2005-04-16 835
^1da177e4c3f41 Linus Torvalds 2005-04-16 836 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 837 char cmd[12] =
^1da177e4c3f41 Linus Torvalds 2005-04-16 838 { GPCMD_READ_TOC_PMA_ATIP, 0, 0,
0, 0, 0, 0, 0, 12,
^1da177e4c3f41 Linus Torvalds 2005-04-16 839 0, 0, 0 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 840
^1da177e4c3f41 Linus Torvalds 2005-04-16 841 struct cdrom_tocentry *tocentry =
^1da177e4c3f41 Linus Torvalds 2005-04-16 842 (struct cdrom_tocentry *) arg;
^1da177e4c3f41 Linus Torvalds 2005-04-16 843 unsigned char buffer[32];
^1da177e4c3f41 Linus Torvalds 2005-04-16 844 int r;
^1da177e4c3f41 Linus Torvalds 2005-04-16 845
^1da177e4c3f41 Linus Torvalds 2005-04-16 846 cmd[1] =
^1da177e4c3f41 Linus Torvalds 2005-04-16 847 (tocentry->cdte_format ==
CDROM_MSF ? 0x02 : 0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 848 cmd[6] = tocentry->cdte_track;
^1da177e4c3f41 Linus Torvalds 2005-04-16 849
^1da177e4c3f41 Linus Torvalds 2005-04-16 850 r = pcd_atapi(cd, cmd, 12, buffer,
"read toc entry");
^1da177e4c3f41 Linus Torvalds 2005-04-16 851
^1da177e4c3f41 Linus Torvalds 2005-04-16 852 tocentry->cdte_ctrl = buffer[5]
& 0xf;
^1da177e4c3f41 Linus Torvalds 2005-04-16 853 tocentry->cdte_adr = buffer[5]
>> 4;
^1da177e4c3f41 Linus Torvalds 2005-04-16 854 tocentry->cdte_datamode =
^1da177e4c3f41 Linus Torvalds 2005-04-16 855 (tocentry->cdte_ctrl &
0x04) ? 1 : 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 856 if (tocentry->cdte_format ==
CDROM_MSF) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 857 tocentry->cdte_addr.msf.minute =
buffer[9];
^1da177e4c3f41 Linus Torvalds 2005-04-16 858 tocentry->cdte_addr.msf.second =
buffer[10];
^1da177e4c3f41 Linus Torvalds 2005-04-16 859 tocentry->cdte_addr.msf.frame =
buffer[11];
^1da177e4c3f41 Linus Torvalds 2005-04-16 860 } else
^1da177e4c3f41 Linus Torvalds 2005-04-16 861 tocentry->cdte_addr.lba =
^1da177e4c3f41 Linus Torvalds 2005-04-16 862 (((((buffer[8] << 8) +
buffer[9]) << 8)
^1da177e4c3f41 Linus Torvalds 2005-04-16 863 + buffer[10]) << 8) +
buffer[11];
^1da177e4c3f41 Linus Torvalds 2005-04-16 864
^1da177e4c3f41 Linus Torvalds 2005-04-16 865 return r ? -EIO : 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 866 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 867
^1da177e4c3f41 Linus Torvalds 2005-04-16 868 default:
^1da177e4c3f41 Linus Torvalds 2005-04-16 869
^1da177e4c3f41 Linus Torvalds 2005-04-16 870 return -ENOSYS;
^1da177e4c3f41 Linus Torvalds 2005-04-16 871 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 872 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 873
^1da177e4c3f41 Linus Torvalds 2005-04-16 874 static int pcd_get_mcn(struct
cdrom_device_info *cdi, struct cdrom_mcn *mcn)
^1da177e4c3f41 Linus Torvalds 2005-04-16 875 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 876 char cmd[12] =
^1da177e4c3f41 Linus Torvalds 2005-04-16 877 { GPCMD_READ_SUBCHANNEL, 0, 0x40,
2, 0, 0, 0, 0, 24, 0, 0, 0 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 878 char buffer[32];
^1da177e4c3f41 Linus Torvalds 2005-04-16 879
^1da177e4c3f41 Linus Torvalds 2005-04-16 880 if (pcd_atapi(cdi->handle, cmd, 24,
buffer, "get mcn"))
^1da177e4c3f41 Linus Torvalds 2005-04-16 881 return -EIO;
^1da177e4c3f41 Linus Torvalds 2005-04-16 882
^1da177e4c3f41 Linus Torvalds 2005-04-16 883 memcpy(mcn->medium_catalog_number,
buffer + 9, 13);
^1da177e4c3f41 Linus Torvalds 2005-04-16 884 mcn->medium_catalog_number[13] = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 885
^1da177e4c3f41 Linus Torvalds 2005-04-16 886 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 887 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 888
af761f277b7fd8 Christoph Hellwig 2021-09-27 889 static int pcd_init_unit(struct pcd_unit
*cd, bool autoprobe, int port,
af761f277b7fd8 Christoph Hellwig 2021-09-27 890 int mode, int unit, int protocol, int
delay, int ms)
^1da177e4c3f41 Linus Torvalds 2005-04-16 891 {
af761f277b7fd8 Christoph Hellwig 2021-09-27 892 struct gendisk *disk;
af761f277b7fd8 Christoph Hellwig 2021-09-27 893 int ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 894
af761f277b7fd8 Christoph Hellwig 2021-09-27 @895 ret =
blk_mq_alloc_sq_tag_set(&cd->tag_set, &pcd_mq_ops, 1,
af761f277b7fd8 Christoph Hellwig 2021-09-27 896 BLK_MQ_F_SHOULD_MERGE);
af761f277b7fd8 Christoph Hellwig 2021-09-27 897 if (ret)
af761f277b7fd8 Christoph Hellwig 2021-09-27 898 return ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 899
af761f277b7fd8 Christoph Hellwig 2021-09-27 900 disk =
blk_mq_alloc_disk(&cd->tag_set, cd);
af761f277b7fd8 Christoph Hellwig 2021-09-27 901 if (IS_ERR(disk)) {
af761f277b7fd8 Christoph Hellwig 2021-09-27 902 ret = PTR_ERR(disk);
af761f277b7fd8 Christoph Hellwig 2021-09-27 903 goto out_free_tag_set;
af761f277b7fd8 Christoph Hellwig 2021-09-27 904 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 905
af761f277b7fd8 Christoph Hellwig 2021-09-27 906 INIT_LIST_HEAD(&cd->rq_list);
af761f277b7fd8 Christoph Hellwig 2021-09-27 907 blk_queue_bounce_limit(disk->queue,
BLK_BOUNCE_HIGH);
af761f277b7fd8 Christoph Hellwig 2021-09-27 908 cd->disk = disk;
af761f277b7fd8 Christoph Hellwig 2021-09-27 909 cd->pi = &cd->pia;
af761f277b7fd8 Christoph Hellwig 2021-09-27 910 cd->present = 0;
af761f277b7fd8 Christoph Hellwig 2021-09-27 911 cd->last_sense = 0;
af761f277b7fd8 Christoph Hellwig 2021-09-27 912 cd->changed = 1;
af761f277b7fd8 Christoph Hellwig 2021-09-27 913 cd->drive = (*drives[cd -
pcd])[D_SLV];
^1da177e4c3f41 Linus Torvalds 2005-04-16 914
af761f277b7fd8 Christoph Hellwig 2021-09-27 915 cd->name =
&cd->info.name[0];
af761f277b7fd8 Christoph Hellwig 2021-09-27 916 snprintf(cd->name,
sizeof(cd->info.name), "%s%d", name, unit);
af761f277b7fd8 Christoph Hellwig 2021-09-27 917 cd->info.ops = &pcd_dops;
af761f277b7fd8 Christoph Hellwig 2021-09-27 918 cd->info.handle = cd;
af761f277b7fd8 Christoph Hellwig 2021-09-27 919 cd->info.speed = 0;
af761f277b7fd8 Christoph Hellwig 2021-09-27 920 cd->info.capacity = 1;
af761f277b7fd8 Christoph Hellwig 2021-09-27 921 cd->info.mask = 0;
af761f277b7fd8 Christoph Hellwig 2021-09-27 922 disk->major = major;
af761f277b7fd8 Christoph Hellwig 2021-09-27 923 disk->first_minor = unit;
af761f277b7fd8 Christoph Hellwig 2021-09-27 924 disk->minors = 1;
af761f277b7fd8 Christoph Hellwig 2021-09-27 925 strcpy(disk->disk_name,
cd->name); /* umm... */
af761f277b7fd8 Christoph Hellwig 2021-09-27 926 disk->fops = &pcd_bdops;
03b9d5d4dfb355 Christoph Hellwig 2021-11-10 927 disk->flags |= GENHD_FL_NO_PART;
af761f277b7fd8 Christoph Hellwig 2021-09-27 928 disk->events =
DISK_EVENT_MEDIA_CHANGE;
ded3720c03217f Christoph Hellwig 2021-11-10 929 disk->event_flags =
DISK_EVENT_FLAG_BLOCK_ON_EXCL_WRITE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 930
af761f277b7fd8 Christoph Hellwig 2021-09-27 931 if (!pi_init(cd->pi, autoprobe,
port, mode, unit, protocol, delay,
d0ac7a30e41174 Dan Carpenter 2021-10-01 932 pcd_buffer, PI_PCD, verbose,
cd->name)) {
d0ac7a30e41174 Dan Carpenter 2021-10-01 933 ret = -ENODEV;
af761f277b7fd8 Christoph Hellwig 2021-09-27 934 goto out_free_disk;
d0ac7a30e41174 Dan Carpenter 2021-10-01 935 }
d0ac7a30e41174 Dan Carpenter 2021-10-01 936 ret = pcd_probe(cd, ms);
d0ac7a30e41174 Dan Carpenter 2021-10-01 937 if (ret)
af761f277b7fd8 Christoph Hellwig 2021-09-27 938 goto out_pi_release;
f0d1762554014c YueHaibing 2019-04-05 939
af761f277b7fd8 Christoph Hellwig 2021-09-27 940 cd->present = 1;
af761f277b7fd8 Christoph Hellwig 2021-09-27 941 pcd_probe_capabilities(cd);
b6fa069971bc42 Luis Chamberlain 2021-09-27 942 ret = register_cdrom(cd->disk,
&cd->info);
b6fa069971bc42 Luis Chamberlain 2021-09-27 943 if (ret)
b6fa069971bc42 Luis Chamberlain 2021-09-27 944 goto out_pi_release;
4dfbd1390af607 Luis Chamberlain 2021-09-27 945 ret = add_disk(cd->disk);
4dfbd1390af607 Luis Chamberlain 2021-09-27 946 if (ret)
4dfbd1390af607 Luis Chamberlain 2021-09-27 947 goto out_unreg_cdrom;
af761f277b7fd8 Christoph Hellwig 2021-09-27 948 return 0;
af761f277b7fd8 Christoph Hellwig 2021-09-27 949
4dfbd1390af607 Luis Chamberlain 2021-09-27 950 out_unreg_cdrom:
4dfbd1390af607 Luis Chamberlain 2021-09-27 951 unregister_cdrom(&cd->info);
af761f277b7fd8 Christoph Hellwig 2021-09-27 952 out_pi_release:
af761f277b7fd8 Christoph Hellwig 2021-09-27 953 pi_release(cd->pi);
af761f277b7fd8 Christoph Hellwig 2021-09-27 954 out_free_disk:
af761f277b7fd8 Christoph Hellwig 2021-09-27 955 blk_cleanup_disk(cd->disk);
af761f277b7fd8 Christoph Hellwig 2021-09-27 956 out_free_tag_set:
f0d1762554014c YueHaibing 2019-04-05 957
blk_mq_free_tag_set(&cd->tag_set);
af761f277b7fd8 Christoph Hellwig 2021-09-27 958 return ret;
f0d1762554014c YueHaibing 2019-04-05 959 }
af761f277b7fd8 Christoph Hellwig 2021-09-27 960
:::::: The code at line 895 was first introduced by commit
:::::: af761f277b7fd896c27cb1100b25f11567987822 pcd: cleanup initialization
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Jens Axboe <axboe(a)kernel.dk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org