mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-11-11 05:12:12 -05:00
No description
- C 98.2%
- Assembly 1%
- Makefile 0.3%
- Shell 0.2%
- Python 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Leaf changes summary: 248 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 236 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 12 Added variables 236 Added functions: [A] 'function int __bitmap_parse(const char*, unsigned int, int, unsigned long int*, int)' [A] 'function int __cpuhp_setup_state_cpuslocked(cpuhp_state, const char*, bool, void ()*, void ()*, bool)' [A] 'function ktime_t __hrtimer_get_remaining(const hrtimer*, bool)' [A] 'function int __iio_device_register(iio_dev*, module*)' [A] 'function void __ioread32_copy(void*, void*, size_t)' [A] 'function int __irq_alloc_descs(int, unsigned int, unsigned int, int, module*, const irq_affinity_desc*)' [A] 'function int __raw_notifier_call_chain(raw_notifier_head*, unsigned long int, void*, int, int*)' [A] 'function scsi_device* __scsi_device_lookup_by_target(scsi_target*, u64)' [A] 'function int __scsi_execute(scsi_device*, const unsigned char*, int, void*, unsigned int, unsigned char*, scsi_sense_hdr*, int, int, u64, req_flags_t, int*)' [A] 'function int __sync_dirty_buffer(buffer_head*, int)' [A] 'function int __trace_puts(unsigned long int, const char*, int)' [A] 'function unsigned int _bcd2bin(unsigned char)' [A] 'function unsigned char _bin2bcd(unsigned int)' [A] 'function void arch_setup_dma_ops(device*, u64, u64, const iommu_ops*, bool)' [A] 'function bool bio_crypt_should_process(request*)' [A] 'function unsigned int blk_lookup_devt(const char*, int)' [A] 'function void bpf_trace_run9(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64)' [A] 'function clk_hw* clk_hw_register_gate(device*, const char*, const char*, unsigned long int, void*, u8, u8, spinlock_t*)' [A] 'function void clk_hw_unregister_gate(clk_hw*)' [A] 'function int clk_register_clkdev(clk*, const char*, const char*)' [A] 'function clk* clk_register_fixed_factor(device*, const char*, const char*, unsigned long int, unsigned int, unsigned int)' [A] 'function clk* clk_register_fixed_rate(device*, const char*, const char*, unsigned long int, unsigned long int)' [A] 'function clk* clk_register_gate(device*, const char*, const char*, unsigned long int, void*, u8, u8, spinlock_t*)' [A] 'function int console_trylock()' [A] 'function cpufreq_policy* cpufreq_cpu_get(unsigned int)' [A] 'function cpufreq_policy* cpufreq_cpu_get_raw(unsigned int)' [A] 'function void cpufreq_cpu_put(cpufreq_policy*)' [A] 'function unsigned int cpufreq_driver_resolve_freq(cpufreq_policy*, unsigned int)' [A] 'function void cpufreq_freq_transition_begin(cpufreq_policy*, cpufreq_freqs*)' [A] 'function void cpufreq_freq_transition_end(cpufreq_policy*, cpufreq_freqs*, int)' [A] 'function int cpufreq_frequency_table_verify(cpufreq_policy_data*, cpufreq_frequency_table*)' [A] 'function unsigned int cpufreq_quick_get(unsigned int)' [A] 'function int cpufreq_table_index_unsorted(cpufreq_policy*, unsigned int, unsigned int)' [A] 'function int cpumask_next_and(int, const cpumask*, const cpumask*)' [A] 'function int crypto_register_rngs(rng_alg*, int)' [A] 'function void crypto_unregister_rngs(rng_alg*, int)' [A] 'function int dapm_pinctrl_event(snd_soc_dapm_widget*, snd_kcontrol*, int)' [A] 'function int desc_to_gpio(const gpio_desc*)' [A] 'function opp_table* dev_pm_opp_get_opp_table(device*)' [A] 'function void dev_pm_opp_put_opp_table(opp_table*)' [A] 'function int dev_pm_qos_add_request(device*, dev_pm_qos_request*, dev_pm_qos_req_type, s32)' [A] 'function int dev_pm_qos_remove_request(dev_pm_qos_request*)' [A] 'function int dev_pm_qos_update_request(dev_pm_qos_request*, int)' [A] 'function dev_dma_attr device_get_dma_attr(device*)' [A] 'function ssize_t device_show_bool(device*, device_attribute*, char*)' [A] 'function ssize_t device_store_bool(device*, device_attribute*, const char*, size_t)' [A] 'function int dma_get_slave_caps(dma_chan*, dma_slave_caps*)' [A] 'function void dmaengine_unmap_put(dmaengine_unmap_data*)' [A] 'function device_driver* driver_find(const char*, bus_type*)' [A] 'function int drm_dp_atomic_find_vcpi_slots(drm_atomic_state*, drm_dp_mst_topology_mgr*, drm_dp_mst_port*, int)' [A] 'function int drm_dp_atomic_release_vcpi_slots(drm_atomic_state*, drm_dp_mst_topology_mgr*, drm_dp_mst_port*)' [A] 'function int drm_dp_find_vcpi_slots(drm_dp_mst_topology_mgr*, int)' [A] 'function bool drm_dp_mst_allocate_vcpi(drm_dp_mst_topology_mgr*, drm_dp_mst_port*, int, int)' [A] 'function void drm_dp_mst_deallocate_vcpi(drm_dp_mst_topology_mgr*, drm_dp_mst_port*)' [A] 'function drm_connector_status drm_dp_mst_detect_port(drm_connector*, drm_dp_mst_topology_mgr*, drm_dp_mst_port*)' [A] 'function edid* drm_dp_mst_get_edid(drm_connector*, drm_dp_mst_topology_mgr*, drm_dp_mst_port*)' [A] 'function int drm_dp_mst_hpd_irq(drm_dp_mst_topology_mgr*, u8*, bool*)' [A] 'function void drm_dp_mst_reset_vcpi_slots(drm_dp_mst_topology_mgr*, drm_dp_mst_port*)' [A] 'function void drm_dp_mst_topology_mgr_destroy(drm_dp_mst_topology_mgr*)' [A] 'function int drm_dp_mst_topology_mgr_init(drm_dp_mst_topology_mgr*, drm_device*, drm_dp_aux*, int, int, int)' [A] 'function int drm_dp_mst_topology_mgr_set_mst(drm_dp_mst_topology_mgr*, bool)' [A] 'function int drm_dp_send_power_updown_phy(drm_dp_mst_topology_mgr*, drm_dp_mst_port*, bool)' [A] 'function int drm_dp_update_payload_part1(drm_dp_mst_topology_mgr*)' [A] 'function int drm_dp_update_payload_part2(drm_dp_mst_topology_mgr*)' [A] 'function edid* drm_edid_duplicate(const edid*)' [A] 'function void drm_modeset_lock_all(drm_device*)' [A] 'function void drm_modeset_unlock_all(drm_device*)' [A] 'function int drm_panel_notifier_register(drm_panel*, notifier_block*)' [A] 'function int drm_panel_notifier_unregister(drm_panel*, notifier_block*)' [A] 'function void drm_wait_one_vblank(drm_device*, unsigned int)' [A] 'function int dw_pcie_read(void*, int, unsigned int*)' [A] 'function int dw_pcie_write(void*, int, unsigned int)' [A] 'function const char* extcon_get_edev_name(extcon_dev*)' [A] 'function int extcon_set_property(extcon_dev*, unsigned int, unsigned int, extcon_property_value)' [A] 'function int extcon_set_property_capability(extcon_dev*, unsigned int, unsigned int)' [A] 'function int freq_qos_add_request(freq_constraints*, freq_qos_request*, freq_qos_req_type, s32)' [A] 'function int freq_qos_remove_request(freq_qos_request*)' [A] 'function int freq_qos_update_request(freq_qos_request*, s32)' [A] 'function unsigned long int gcd(unsigned long int, unsigned long int)' [A] 'function file* get_task_exe_file(task_struct*)' [A] 'function mm_struct* get_task_mm(task_struct*)' [A] 'function int gpiochip_lock_as_irq(gpio_chip*, unsigned int)' [A] 'function void gpiochip_unlock_as_irq(gpio_chip*, unsigned int)' [A] 'function usb_request* gs_alloc_req(usb_ep*, unsigned int, gfp_t)' [A] 'function void gs_free_req(usb_ep*, usb_request*)' [A] 'function int gserial_alloc_line(unsigned char*)' [A] 'function int gserial_connect(gserial*, unsigned char)' [A] 'function void gserial_disconnect(gserial*)' [A] 'function void gserial_free_line(unsigned char)' [A] 'function i2c_client* i2c_new_dummy(i2c_adapter*, u16)' [A] 'function int i2c_smbus_read_i2c_block_data(const i2c_client*, unsigned char, unsigned char, unsigned char*)' [A] 'function int i2c_smbus_write_i2c_block_data(const i2c_client*, unsigned char, unsigned char, const unsigned char*)' [A] 'function int i2c_smbus_write_word_data(const i2c_client*, unsigned char, unsigned short int)' [A] 'function void iio_channel_release(iio_channel*)' [A] 'function void input_mt_destroy_slots(input_dev*)' [A] 'function void input_mt_report_pointer_emulation(input_dev*, bool)' [A] 'function int iommu_attach_group(iommu_domain*, iommu_group*)' [A] 'function int iommu_dma_reserve_iova(device*, dma_addr_t, u64)' [A] 'function int iommu_group_for_each_dev(iommu_group*, void*, void ()*)' [A] 'function int iommu_group_set_name(iommu_group*, const char*)' [A] 'function phys_addr_t iommu_iova_to_phys(iommu_domain*, dma_addr_t)' [A] 'function int iommu_register_device_fault_handler(device*, iommu_dev_fault_handler_t, void*)' [A] 'function int iommu_report_device_fault(device*, iommu_fault_event*)' [A] 'function int iommu_unregister_device_fault_handler(device*)' [A] 'function size_t ion_query_heaps_kernel(ion_heap_data*, size_t)' [A] 'function int irq_set_affinity_notifier(unsigned int, irq_affinity_notify*)' [A] 'function int irq_set_handler_data(unsigned int, void*)' [A] 'function long long unsigned int jiffies_64_to_clock_t(long long unsigned int)' [A] 'function long int kernel_write(file*, void*, unsigned long int, long long int*)' [A] 'function keyslot_manager* keyslot_manager_create(device*, unsigned int, const keyslot_mgmt_ll_ops*, unsigned int, const unsigned int*, void*)' [A] 'function keyslot_manager* keyslot_manager_create_passthrough(device*, const keyslot_mgmt_ll_ops*, unsigned int, const unsigned int*, void*)' [A] 'function void* keyslot_manager_private(keyslot_manager*)' [A] 'function int kstrtoul_from_user(const char*, unsigned long int, unsigned int, unsigned long int*)' [A] 'function media_link* media_create_intf_link(media_entity*, media_interface*, u32)' [A] 'function int media_device_register_entity(media_device*, media_entity*)' [A] 'function void media_device_unregister_entity(media_entity*)' [A] 'function media_intf_devnode* media_devnode_create(media_device*, u32, u32, u32, u32)' [A] 'function void media_devnode_remove(media_intf_devnode*)' [A] 'function void media_entity_remove_links(media_entity*)' [A] 'function void media_remove_intf_links(media_interface*)' [A] 'function unsigned long int memweight(void*, unsigned long int)' [A] 'function void mmput(mm_struct*)' [A] 'function timeval ns_to_timeval(long long int)' [A] 'function const char* of_clk_get_parent_name(device_node*, int)' [A] 'function device_node* of_find_node_by_phandle(unsigned int)' [A] 'function int of_get_dma_window(device_node*, const char*, int, unsigned long int*, dma_addr_t*, size_t*)' [A] 'function pci_bus* pci_find_bus(int, int)' [A] 'function unsigned int pci_rescan_bus(pci_bus*)' [A] 'function perf_event* perf_event_create_kernel_counter(perf_event_attr*, int, task_struct*, void ()*, void*)' [A] 'function void perf_event_disable(perf_event*)' [A] 'function void perf_event_enable(perf_event*)' [A] 'function u64 perf_event_read_value(perf_event*, u64*, u64*)' [A] 'function int perf_event_release_kernel(perf_event*)' [A] 'function int phy_reset(phy*)' [A] 'function void pinctrl_add_gpio_range(pinctrl_dev*, pinctrl_gpio_range*)' [A] 'function int pinctrl_force_sleep(pinctrl_dev*)' [A] 'function void pinctrl_remove_gpio_range(pinctrl_dev*, pinctrl_gpio_range*)' [A] 'function void pm_runtime_irq_safe(device*)' [A] 'function int power_supply_reg_notifier(notifier_block*)' [A] 'function void power_supply_unreg_notifier(notifier_block*)' [A] 'function void proc_remove(proc_dir_entry*)' [A] 'function void* pwm_get_chip_data(pwm_device*)' [A] 'function int pwm_set_chip_data(pwm_device*, void*)' [A] 'function int rdev_get_id(regulator_dev*)' [A] 'function int regcache_drop_region(regmap*, unsigned int, unsigned int)' [A] 'function void register_console(console*)' [A] 'function int register_die_notifier(notifier_block*)' [A] 'function int regmap_async_complete(regmap*)' [A] 'function int regmap_multi_reg_write_bypassed(regmap*, const reg_sequence*, int)' [A] 'function int regmap_raw_write_async(regmap*, unsigned int, void*, size_t)' [A] 'function void* regulator_get_drvdata(regulator*)' [A] 'function void release_pages(page**, int)' [A] 'function void* return_address(unsigned int)' [A] 'function int rpmh_flush(const device*)' [A] 'function void rtc_class_close(rtc_device*)' [A] 'function rtc_device* rtc_class_open(const char*)' [A] 'function int rtc_read_time(rtc_device*, rtc_time*)' [A] 'function int sched_setscheduler_nocheck(task_struct*, int, const sched_param*)' [A] 'function void sched_show_task(task_struct*)' [A] 'function void scsi_print_sense_hdr(const scsi_device*, const char*, const scsi_sense_hdr*)' [A] 'function int smpboot_register_percpu_thread(smp_hotplug_thread*)' [A] 'function int snd_compr_stop_error(snd_compr_stream*, snd_pcm_state_t)' [A] 'function int snd_hwdep_new(snd_card*, char*, int, snd_hwdep**)' [A] 'function void snd_pcm_lib_preallocate_free_for_all(snd_pcm*)' [A] 'function void snd_pcm_lib_preallocate_pages(snd_pcm_substream*, int, device*, size_t, size_t)' [A] 'function unsigned int snd_pcm_rate_range_to_bits(unsigned int, unsigned int)' [A] 'function int snd_soc_bytes_info_ext(snd_kcontrol*, snd_ctl_elem_info*)' [A] 'function void snd_soc_component_async_complete(snd_soc_component*)' [A] 'function int snd_soc_component_disable_pin(snd_soc_component*, const char*)' [A] 'function int snd_soc_component_force_enable_pin(snd_soc_component*, const char*)' [A] 'function int snd_soc_component_read(snd_soc_component*, unsigned int, unsigned int*)' [A] 'function int snd_soc_component_set_pll(snd_soc_component*, int, int, unsigned int, unsigned int)' [A] 'function int snd_soc_component_set_sysclk(snd_soc_component*, int, int, unsigned int, int)' [A] 'function int snd_soc_component_update_bits_async(snd_soc_component*, unsigned int, unsigned int, unsigned int)' [A] 'function int snd_soc_dai_set_bclk_ratio(snd_soc_dai*, unsigned int)' [A] 'function int snd_soc_dapm_get_pin_status(snd_soc_dapm_context*, const char*)' [A] 'function snd_soc_dapm_widget* snd_soc_dapm_new_control(snd_soc_dapm_context*, const snd_soc_dapm_widget*)' [A] 'function int snd_soc_dapm_weak_routes(snd_soc_dapm_context*, const snd_soc_dapm_route*, int)' [A] 'function snd_soc_dai* snd_soc_find_dai(const snd_soc_dai_link_component*)' [A] 'function snd_soc_pcm_runtime* snd_soc_get_pcm_runtime(snd_soc_card*, const char*)' [A] 'function int snd_soc_get_volsw_range(snd_kcontrol*, snd_ctl_elem_value*)' [A] 'function int snd_soc_get_xr_sx(snd_kcontrol*, snd_ctl_elem_value*)' [A] 'function int snd_soc_info_volsw_range(snd_kcontrol*, snd_ctl_elem_info*)' [A] 'function int snd_soc_info_xr_sx(snd_kcontrol*, snd_ctl_elem_info*)' [A] 'function int snd_soc_of_get_dai_link_codecs(device*, device_node*, snd_soc_dai_link*)' [A] 'function void snd_soc_of_put_dai_link_codecs(snd_soc_dai_link*)' [A] 'function int snd_soc_params_to_bclk(snd_pcm_hw_params*)' [A] 'function int snd_soc_put_volsw_range(snd_kcontrol*, snd_ctl_elem_value*)' [A] 'function int snd_soc_put_xr_sx(snd_kcontrol*, snd_ctl_elem_value*)' [A] 'function int snd_soc_tplg_component_load(snd_soc_component*, snd_soc_tplg_ops*, const firmware*, u32)' [A] 'function int snd_soc_tplg_component_remove(snd_soc_component*, unsigned int)' [A] 'function int snd_soc_tplg_widget_bind_event(snd_soc_dapm_widget*, const snd_soc_tplg_widget_events*, int, u16)' [A] 'function int subsys_system_register(bus_type*, const attribute_group**)' [A] 'function int sysfs_add_file_to_group(kobject*, const attribute*, const char*)' [A] 'function void thermal_cdev_update(thermal_cooling_device*)' [A] 'function void thermal_cooling_device_unregister(thermal_cooling_device*)' [A] 'function thermal_cooling_device* thermal_of_cooling_device_register(device_node*, const char*, void*, const thermal_cooling_device_ops*)' [A] 'function thermal_zone_device* thermal_zone_device_register(const char*, int, int, void*, thermal_zone_device_ops*, thermal_zone_params*, int, int)' [A] 'function void thermal_zone_of_sensor_unregister(device*, thermal_zone_device*)' [A] 'function void touch_softlockup_watchdog()' [A] 'function int ufshcd_crypto_cap_find(ufs_hba*, blk_crypto_mode_num, unsigned int)' [A] 'function void ufshcd_crypto_disable_spec(ufs_hba*)' [A] 'function void ufshcd_crypto_enable_spec(ufs_hba*)' [A] 'function int ufshcd_shutdown(ufs_hba*)' [A] 'function int ufshcd_system_resume(ufs_hba*)' [A] 'function int ufshcd_system_suspend(ufs_hba*)' [A] 'function int usb_add_function(usb_configuration*, usb_function*)' [A] 'function usb_descriptor_header** usb_copy_descriptors(usb_descriptor_header**)' [A] 'function void usb_enable_autosuspend(usb_device*)' [A] 'function int usb_get_current_frame_number(usb_device*)' [A] 'function s32 v4l2_ctrl_g_ctrl(v4l2_ctrl*)' [A] 'function int v4l2_ctrl_handler_setup(v4l2_ctrl_handler*)' [A] 'function int v4l2_ctrl_log_status(file*, void*)' [A] 'function void v4l2_ctrl_merge(const v4l2_event*, v4l2_event*)' [A] 'function void v4l2_ctrl_replace(v4l2_event*, const v4l2_event*)' [A] 'function void v4l2_device_disconnect(v4l2_device*)' [A] 'function int v4l2_device_put(v4l2_device*)' [A] 'function const v4l2_format_info* v4l2_format_info(u32)' [A] 'function void v4l2_prio_init(v4l2_prio_state*)' [A] 'function int vb2_create_bufs(vb2_queue*, v4l2_create_buffers*)' [A] 'function int vb2_expbuf(vb2_queue*, v4l2_exportbuffer*)' [A] 'function int vb2_ioctl_create_bufs(file*, void*, v4l2_create_buffers*)' [A] 'function int vb2_ioctl_prepare_buf(file*, void*, v4l2_buffer*)' [A] 'function int vb2_mmap(vb2_queue*, vm_area_struct*)' [A] 'function void* vb2_plane_vaddr(vb2_buffer*, unsigned int)' [A] 'function __poll_t vb2_poll(vb2_queue*, file*, poll_table*)' [A] 'function int vb2_prepare_buf(vb2_queue*, media_device*, v4l2_buffer*)' [A] 'function int vb2_querybuf(vb2_queue*, v4l2_buffer*)' [A] 'function void vb2_queue_error(vb2_queue*)' [A] 'function bool vb2_request_object_is_buffer(media_request_object*)' [A] 'function int vb2_wait_for_all_buffers(vb2_queue*)' [A] 'function int vm_map_pages(vm_area_struct*, page**, unsigned long int)' [A] 'function vm_fault_t vmf_insert_pfn_prot(vm_area_struct*, unsigned long int, unsigned long int, pgprot_t)' [A] 'function int watchdog_register_device(watchdog_device*)' [A] 'function void watchdog_set_restart_priority(watchdog_device*, int)' [A] 'function void watchdog_unregister_device(watchdog_device*)' 12 Added variables: [A] 'cpumask __cpu_active_mask' [A] 'const unsigned long int cpu_all_bits[1]' [A] 'bool cpuhp_tasks_frozen' [A] 'task_struct init_task' [A] 'u64 jiffies_64' [A] 'kernel_stat kstat' [A] 'int nr_irqs' [A] 'device_node* of_root' [A] 'reboot_mode reboot_mode' [A] 'static_key_false rps_needed' [A] 'bool static_key_initialized' [A] 'const char* v4l2_type_names[15]' Bug: 151190212 Signed-off-by: Quentin Perret <[email protected]> Change-Id: Idb56bafa6cf25330f78d0a06602270b7477117cb |
||
| arch | ||
| block | ||
| certs | ||
| crypto | ||
| Documentation | ||
| drivers | ||
| fs | ||
| include | ||
| init | ||
| ipc | ||
| kernel | ||
| lib | ||
| LICENSES | ||
| mm | ||
| net | ||
| samples | ||
| scripts | ||
| security | ||
| sound | ||
| tools | ||
| usr | ||
| virt | ||
| .clang-format | ||
| .cocciconfig | ||
| .get_maintainer.ignore | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| abi_gki_aarch64.xml | ||
| abi_gki_aarch64_cuttlefish_whitelist | ||
| abi_gki_aarch64_db845c_whitelist | ||
| abi_gki_aarch64_exynos_whitelist | ||
| abi_gki_aarch64_goldfish_whitelist | ||
| abi_gki_aarch64_hikey960_whitelist | ||
| abi_gki_aarch64_qcom_whitelist | ||
| abi_gki_aarch64_sunxi_whitelist | ||
| abi_gki_aarch64_unisoc_whitelist | ||
| abi_gki_aarch64_whitelist | ||
| build.config.aarch64 | ||
| build.config.allmodconfig | ||
| build.config.allmodconfig.aarch64 | ||
| build.config.allmodconfig.arm | ||
| build.config.allmodconfig.x86_64 | ||
| build.config.arm | ||
| build.config.common | ||
| build.config.db845c | ||
| build.config.gki | ||
| build.config.gki-debug.aarch64 | ||
| build.config.gki-debug.x86_64 | ||
| build.config.gki.aarch64 | ||
| build.config.gki.x86_64 | ||
| build.config.hikey960 | ||
| build.config.x86_64 | ||
| COPYING | ||
| CREDITS | ||
| Kbuild | ||
| Kconfig | ||
| MAINTAINERS | ||
| Makefile | ||
| README | ||
| README.md | ||
How do I submit patches to Android Common Kernels
-
BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.
-
LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with [email protected]. If you want to proceed, post a patch that conforms to the patch requirements below.
Common Kernel patch requirements
- All patches must conform to the Linux kernel coding standards and pass
script/checkpatch.pl - Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
- If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch:
UPSTREAM:,BACKPORT:,FROMGIT:,FROMLIST:, orANDROID:. - All patches must have a
Change-Id:tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html) - If an Android bug has been assigned, there must be a
Bug:tag. - All patches must have a
Signed-off-by:tag by the author and the submitter
Additional requirements are listed below based on patch type
Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:
- If the patch is a cherry-pick from Linux mainline with no changes at all
- tag the patch subject with
UPSTREAM:. - add upstream commit information with a
(cherry-picked from ...)line - Example:
- if the upstream commit message is
- tag the patch subject with
important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <[email protected]>
- then Joe Smith would upload the patch for the common kernel as
UPSTREAM: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <[email protected]>
Bug: 135791357
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
(cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
Signed-off-by: Joe Smith <[email protected]>
- If the patch requires any changes from the upstream version, tag the patch with
BACKPORT:instead ofUPSTREAM:.- use the same tags as
UPSTREAM: - add comments about the changes under the
(cherry-picked from ...)line - Example:
- use the same tags as
BACKPORT: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <[email protected]>
Bug: 135791357
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
(cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
[ Resolved minor conflict in drivers/foo/bar.c ]
Signed-off-by: Joe Smith <[email protected]>
Requirements for other backports: FROMGIT:, FROMLIST:,
- If the patch has been merged into an upstream maintainer tree, but has not yet
been merged into Linux mainline
- tag the patch subject with
FROMGIT: - add info on where the patch came from as
(cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't uselinux-nextfor example). - if changes were required, use
BACKPORT: FROMGIT: - Example:
- if the commit message in the maintainer tree is
- tag the patch subject with
important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <[email protected]>
- then Joe Smith would upload the patch for the common kernel as
FROMGIT: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <[email protected]>
Bug: 135791357
(cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Joe Smith <[email protected]>
- If the patch has been submitted to LKML, but not accepted into any maintainer tree
- tag the patch subject with
FROMLIST: - add a
Link:tag with a link to the submittal on lore.kernel.org - if changes were required, use
BACKPORT: FROMLIST: - Example:
- tag the patch subject with
FROMLIST: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <[email protected]>
Bug: 135791357
Link: https://lore.kernel.org/lkml/[email protected]/
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Joe Smith <[email protected]>
Requirements for Android-specific patches: ANDROID:
- If the patch is fixing a bug to Android-specific code
- tag the patch subject with
ANDROID: - add a
Fixes:tag that cites the patch with the bug - Example:
- tag the patch subject with
ANDROID: fix android-specific bug in foobar.c
This is the detailed description of the important fix
Fixes: 1234abcd2468 ("foobar: add cool feature")
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Joe Smith <[email protected]>
- If the patch is a new feature
- tag the patch subject with
ANDROID: - add a
Bug:tag with the Android bug (required for android-specific features)
- tag the patch subject with