From ec009e8cd45fafab8ba9458791f28d62d711d137 Mon Sep 17 00:00:00 2001 From: Matt Mower Date: Fri, 30 Jan 2015 13:00:49 -0600 Subject: Allow devices to override USB init This enables devices to provide their own USB configuration. The contents of init.recovery.usb.rc can most simply be modified and included in a device's init.recovery.${ro.hardware}.rc. Use option: TW_EXCLUDE_DEFAULT_USB_INIT := true Rationale: Some devices handle USB pid switching in the kernel. In this case, USB init provides switching functions which differ from the standard on property:sys.usb.config=xyz. Other devices should not see USB attempt mtp,adb mode when TW_EXCLUDE_MTP is set. Cherry-picked from android-5.0 Change-Id: Ief0fcaf46a1782102166fc1b733a34b1a1ba0802 --- etc/init.rc | 39 +-------------------------------------- 1 file changed, 1 insertion(+), 38 deletions(-) (limited to 'etc/init.rc') diff --git a/etc/init.rc b/etc/init.rc index f77c39ba3..4e7b84506 100644 --- a/etc/init.rc +++ b/etc/init.rc @@ -1,3 +1,4 @@ +import /init.recovery.usb.rc import /init.recovery.${ro.hardware}.rc on early-init @@ -43,15 +44,6 @@ on fs mkdir /dev/usb-ffs/adb 0770 shell shell mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 18D1 - write /sys/class/android_usb/android0/idProduct 4EE2 - write /sys/class/android_usb/android0/f_ffs/aliases adb - write /sys/class/android_usb/android0/functions mtp,adb - write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer} - write /sys/class/android_usb/android0/iProduct ${ro.product.model} - write /sys/class/android_usb/android0/iSerial ${ro.serialno} - on boot ifup lo hostname localhost @@ -87,35 +79,6 @@ on late-init on property:sys.powerctl=* powerctl ${sys.powerctl} -on property:sys.storage.ums_enabled=1 - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/functions mass_storage,adb - write /sys/class/android_usb/android0/enable 1 - -on property:sys.storage.ums_enabled=0 - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/functions ${sys.usb.config} - write /sys/class/android_usb/android0/enable ${service.adb.root} - -on property:sys.usb.config=none - stop adbd - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/bDeviceClass 0 - -on property:sys.usb.config=mtp,adb - stop adbd - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/functions mtp,adb - write /sys/class/android_usb/android0/enable 1 - start adbd - -on property:sys.usb.config=adb - stop adbd - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/functions adb - write /sys/class/android_usb/android0/enable ${service.adb.root} - start adbd - service ueventd /sbin/ueventd critical seclabel u:r:ueventd:s0 -- cgit v1.2.3