Add EDL sysfs entry for mhi controller that provides edl_trigger callback. Add mhi_pci_generic_edl_trigger for qualcomm sdx55,sdx65 and sdx75 as edl_trigger callback. v4->v5: 1. Add a blank line before the #endif in patch[2/3]. 2. Add reviewed-by tag. v3->v4: 1. Modify some comments, commit message and sysfs entry description. 2. Add error cleanups if get channel doorbell offset fail. 3. s/force_edl/trigger_edl 4. s/mhi_get_channel_doorbell/mhi_get_channel_doorbell_offset 5. Use mhi_get_channel_doorbell_offset in mhi_init_mmio() v2->v3: 1. Update Documentation/ABI/stable/sysfs-bus-mhi with description of force_edl sysfs entry. 2. Add comments about edl_trigger callback in mhi_controller struct. 3. Follow reverse christmas tree in mhi_pci_generic_edl_trigger. 4. Add a new API in MHI to allow controller to get CHDB address and avoid duplicating the definition of CHDBOFF. v1->v2: 1. Move all process needed by qualcomm sdx55,sdx65,sdx75 to enter EDL into mhi_pci_generic_edl_trigger() as the callback to edl_trigger. 2. MHI stack creates EDL sysfs entry to invoke edl_trigger callback so that devices need different mechanism to enter EDL can provide its own edl_trigger callabck. Qiang Yu (3): bus: mhi: host: Add sysfs entry to force device to enter EDL bus: mhi: host: Add a new API for getting channel doorbell address bus: mhi: host: pci_generic: Add edl callback to enter EDL Documentation/ABI/stable/sysfs-bus-mhi | 13 ++++++++++ drivers/bus/mhi/host/init.c | 39 ++++++++++++++++++++++++++--- drivers/bus/mhi/host/main.c | 16 ++++++++++++ drivers/bus/mhi/host/pci_generic.c | 45 ++++++++++++++++++++++++++++++++++ include/linux/mhi.h | 9 +++++++ 5 files changed, 118 insertions(+), 4 deletions(-) -- 2.7.4