From: 蔡建清 Date: Tue, 29 Oct 2013 06:55:39 +0000 (+0800) Subject: Set mass storage as virtural CDROM for driver install. X-Git-Tag: firefly_0821_release~6521 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1f9760dcfccc057c4f298bcad0319195525c5163;p=firefly-linux-kernel-4.4.55.git Set mass storage as virtural CDROM for driver install. --- diff --git a/arch/arm/configs/rk3188_ac_defconfig b/arch/arm/configs/rk3188_ac_defconfig index baf2c1807497..e1d22889ee02 100644 --- a/arch/arm/configs/rk3188_ac_defconfig +++ b/arch/arm/configs/rk3188_ac_defconfig @@ -1,4 +1,5 @@ CONFIG_EXPERIMENTAL=y +CONFIG_UMS_AS_CDROM=y # CONFIG_LOCALVERSION_AUTO is not set CONFIG_KERNEL_LZO=y CONFIG_LOG_BUF_SHIFT=19 diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 49d5f1d2930d..40744b26855f 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -1086,5 +1086,11 @@ config BYPASS_INPUT_TO_HIDG help If say "y" there will create a new gadget HIDG and HID reports form HID devices will be bypass to PC - + +config UMS_AS_CDROM + bool "Set mass storage as a virtual CDROM" + default n + help + Set mass storage as a virtual CDROM for drivers install. + endif # USB_GADGET diff --git a/drivers/usb/gadget/android.c b/drivers/usb/gadget/android.c old mode 100755 new mode 100644 index ad057bf112a2..86a77dbd9655 --- a/drivers/usb/gadget/android.c +++ b/drivers/usb/gadget/android.c @@ -639,10 +639,19 @@ static int mass_storage_function_init(struct android_usb_function *f, GFP_KERNEL); if (!config) return -ENOMEM; - +#ifdef CONFIG_UMS_AS_CDROM + //printk(KERN_ERR "CONFIG_UMS_AS_CDROM is true++++++++++++++++++\n"); + config->fsg.nluns = 1; + config->fsg.luns[0].removable = 1; + config->fsg.luns[0].ro = 1; + config->fsg.luns[0].cdrom = 1; +#else + //printk(KERN_ERR "CONFIG_UMS_AS_CDROM is false -------------------\n"); config->fsg.nluns = 2; config->fsg.luns[0].removable = 1; config->fsg.luns[1].removable = 1; +#endif + common = fsg_common_init(NULL, cdev, &config->fsg); if (IS_ERR(common)) { @@ -653,12 +662,14 @@ static int mass_storage_function_init(struct android_usb_function *f, err = sysfs_create_link(&f->dev->kobj, &common->luns[0].dev.kobj, "lun"); - err = sysfs_create_link(&f->dev->kobj, &common->luns[1].dev.kobj,"lun1"); +#ifndef CONFIG_UMS_AS_CDROM + //printk(KERN_ERR "CONFIG_UMS_AS_CDROM is false -------------------\n"); + err = sysfs_create_link(&f->dev->kobj, &common->luns[1].dev.kobj,"lun1"); if (err) { kfree(config); return err; } - +#endif config->common = common; f->config = config; return 0;