From: Huang, Tao Date: Thu, 5 Mar 2015 09:11:40 +0000 (+0800) Subject: Merge tag 'lsk-v3.10-android-15.02' X-Git-Tag: firefly_0821_release~4158^2~400 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1ca180425cb8d57166bdcbc7ae4fbceaeae0f1fd;p=firefly-linux-kernel-4.4.55.git Merge tag 'lsk-v3.10-android-15.02' LSK Android 15.02 v3.10 Conflicts: drivers/Kconfig drivers/regulator/core.c include/linux/of.h --- 1ca180425cb8d57166bdcbc7ae4fbceaeae0f1fd diff --cc drivers/Kconfig index 45a3e8015410,4f990ce9515a..27d02dccf21b mode 100755,100644..100755 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@@ -168,10 -168,8 +168,12 @@@ source "drivers/ipack/Kconfig source "drivers/reset/Kconfig" +source "drivers/phy/Kconfig" + source "drivers/gator/Kconfig" +source "drivers/headset_observe/Kconfig" + + source "drivers/android/Kconfig" + endmenu diff --cc drivers/Makefile index a77fca50d550,3774b56c5d80..6f90a3177c70 mode 100755,100644..100755 --- a/drivers/Makefile +++ b/drivers/Makefile @@@ -157,5 -155,5 +157,6 @@@ obj-$(CONFIG_IPACK_BUS) += ipack obj-$(CONFIG_NTB) += ntb/ obj-$(CONFIG_GATOR) += gator/ +obj-y += headset_observe/ obj-$(CONFIG_CORESIGHT) += coresight/ + obj-$(CONFIG_ANDROID) += android/ diff --cc drivers/i2c/i2c-core.c index c604ce8661b5,780599ce4657..c1f8ccd40b15 mode 100755,100644..100755 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c diff --cc drivers/regulator/core.c index d7b9b4dc8a3d,f3082ca20f11..bc9aed9b1ec7 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@@ -1363,36 -1410,7 +1363,36 @@@ struct regulator *regulator_get_exclusi } EXPORT_SYMBOL_GPL(regulator_get_exclusive); +/** + * regulator_get_optional - obtain optional access to a regulator. + * @dev: device for regulator "consumer" + * @id: Supply name or regulator ID. + * + * Returns a struct regulator corresponding to the regulator producer, + * or IS_ERR() condition containing errno. Other consumers will be + * unable to obtain this reference is held and the use count for the + * regulator will be initialised to reflect the current state of the + * regulator. + * + * This is intended for use by consumers for devices which can have + * some supplies unconnected in normal use, such as some MMC devices. + * It can allow the regulator core to provide stub supplies for other + * supplies requested using normal regulator_get() calls without + * disrupting the operation of drivers that can handle absent + * supplies. + * + * Use of supply names configured via regulator_set_device_supply() is + * strongly encouraged. It is recommended that the supply name used + * should match the name used for the supply and/or the relevant + * device pins in the datasheet. + */ +struct regulator *regulator_get_optional(struct device *dev, const char *id) +{ + return _regulator_get(dev, id, 0); +} +EXPORT_SYMBOL_GPL(regulator_get_optional); + - /* Locks held by regulator_put() */ + /* regulator_list_mutex lock held by regulator_put() */ static void _regulator_put(struct regulator *regulator) { struct regulator_dev *rdev; diff --cc drivers/staging/android/ion/ion.c index 44178ca69a75,698e363be551..f497979b6c40 mode 100755,100644..100755 --- a/drivers/staging/android/ion/ion.c +++ b/drivers/staging/android/ion/ion.c @@@ -2034,20 -1615,9 +2043,21 @@@ void __init ion_reserve(struct ion_plat if (data->heaps[i].size == 0) continue; - if (data->heaps[i].base == 0) { + if (data->heaps[i].id==ION_CMA_HEAP_ID) { + struct device *dev = (struct device*)data->heaps[i].priv; + int ret = dma_declare_contiguous(dev, + data->heaps[i].size, + data->heaps[i].base, + MEMBLOCK_ALLOC_ANYWHERE); + if (ret) { + pr_err("%s: dma_declare_contiguous failed %d\n", + __func__, ret); + continue; + }; + data->heaps[i].base = PFN_PHYS(dev_get_cma_area(dev)->base_pfn); + } else if (data->heaps[i].base == 0) { phys_addr_t paddr; + paddr = memblock_alloc_base(data->heaps[i].size, data->heaps[i].align, MEMBLOCK_ALLOC_ANYWHERE); diff --cc drivers/staging/android/ion/ion_heap.c index 5c838ee384f9,e1bbd8b1b4f4..7201bc55b321 mode 100755,100644..100755 --- a/drivers/staging/android/ion/ion_heap.c +++ b/drivers/staging/android/ion/ion_heap.c diff --cc drivers/staging/android/ion/ion_priv.h index 671b05248edd,8871f35f384b..aaac72219b24 mode 100755,100644..100755 --- a/drivers/staging/android/ion/ion_priv.h +++ b/drivers/staging/android/ion/ion_priv.h diff --cc drivers/staging/android/ion/ion_system_heap.c index e53e0456787e,5945445ee5f3..2476b0358d11 mode 100755,100644..100755 --- a/drivers/staging/android/ion/ion_system_heap.c +++ b/drivers/staging/android/ion/ion_system_heap.c diff --cc drivers/usb/gadget/android.c index 58c2b3c1c4d1,83b1240d9b19..8027ec940f96 mode 100755,100644..100755 --- a/drivers/usb/gadget/android.c +++ b/drivers/usb/gadget/android.c