mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
7ccd5a538930fd72d8c0af131b5fcd0837f21f9c
Leaf changes summary: 2617 artifacts changed
Changed leaf types summary: 19 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 2242 Changed, 301 Added functions
Removed/Changed/Added variables summary: 0 Removed, 47 Changed, 8 Added variables
Function symbols changes summary: 0 Removed, 1 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info
301 Added functions:
[A] 'function void __blk_mq_end_request(request*, blk_status_t)'
[A] 'function int __blkdev_issue_discard(block_device*, sector_t, sector_t, gfp_t, int, bio**)'
[A] 'function int __blkdev_issue_zeroout(block_device*, sector_t, sector_t, gfp_t, bio**, unsigned int)'
[A] 'function void __do_once_done(bool*, static_key_true*, unsigned long int*)'
[A] 'function bool __do_once_start(bool*, unsigned long int*)'
[A] 'function int __mmc_claim_host(mmc_host*, mmc_ctx*, atomic_t*)'
[A] 'function int __mmc_send_status(mmc_card*, u32*, unsigned int)'
[A] 'function void __mmdrop(mm_struct*)'
[A] 'function int __platform_driver_probe(platform_driver*, int (platform_device*)*, module*)'
[A] 'function void __serio_register_port(serio*, module*)'
[A] 'function int __xa_insert(xarray*, unsigned long int, void*, gfp_t)'
[A] 'function void _dev_crit(const device*, const char*, ...)'
[A] 'function int anon_inode_getfd(const char*, const file_operations*, void*, int)'
[A] 'function async_cookie_t async_schedule_node(async_func_t, void*, int)'
[A] 'function void bd_set_nr_sectors(block_device*, sector_t)'
[A] 'function char* bin2hex(char*, void*, unsigned long int)'
[A] 'function void bio_init(bio*, bio_vec*, unsigned short int)'
[A] 'function void blk_freeze_queue_start(request_queue*)'
[A] 'function bool blk_get_queue(request_queue*)'
[A] 'function request* blk_mq_alloc_request(request_queue*, unsigned int, unsigned int)'
[A] 'function request* blk_mq_alloc_request_hctx(request_queue*, unsigned int, blk_mq_req_flags_t, unsigned int)'
[A] 'function bool blk_mq_complete_request_remote(request*)'
[A] 'function void blk_mq_delay_kick_requeue_list(request_queue*, unsigned long int)'
[A] 'function void blk_mq_free_request(request*)'
[A] 'function void blk_mq_freeze_queue(request_queue*)'
[A] 'function void blk_mq_freeze_queue_wait(request_queue*)'
[A] 'function int blk_mq_freeze_queue_wait_timeout(request_queue*, unsigned long int)'
[A] 'function int blk_mq_map_queues(blk_mq_queue_map*)'
[A] 'function int blk_mq_pci_map_queues(blk_mq_queue_map*, pci_dev*, int)'
[A] 'function void blk_mq_requeue_request(request*, bool)'
[A] 'function void blk_mq_run_hw_queues(request_queue*, bool)'
[A] 'function request* blk_mq_tag_to_rq(blk_mq_tags*, unsigned int)'
[A] 'function void blk_mq_tagset_busy_iter(blk_mq_tag_set*, busy_tag_iter_fn*, void*)'
[A] 'function void blk_mq_tagset_wait_completed_request(blk_mq_tag_set*)'
[A] 'function void blk_mq_unfreeze_queue(request_queue*)'
[A] 'function u32 blk_mq_unique_tag(request*)'
[A] 'function void blk_mq_update_nr_hw_queues(blk_mq_tag_set*, int)'
[A] 'function int blk_poll(request_queue*, unsigned int, bool)'
[A] 'function void blk_put_queue(request_queue*)'
[A] 'function void blk_queue_bounce_limit(request_queue*, u64)'
[A] 'function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)'
[A] 'function void blk_queue_chunk_sectors(request_queue*, unsigned int)'
[A] 'function void blk_queue_dma_alignment(request_queue*, int)'
[A] 'function bool blk_queue_flag_test_and_set(unsigned int, request_queue*)'
[A] 'function void blk_queue_rq_timeout(request_queue*, unsigned int)'
[A] 'function void blk_queue_virt_boundary(request_queue*, unsigned long int)'
[A] 'function void blk_set_queue_dying(request_queue*)'
[A] 'function bool blk_update_request(request*, blk_status_t, unsigned int)'
[A] 'function block_device* blkdev_get_by_path(const char*, unsigned int, void*)'
[A] 'function int blkdev_issue_flush(block_device*, unsigned int)'
[A] 'function int cache_line_size()'
[A] 'function void cec_s_phys_addr_from_edid(cec_adapter*, const edid*)'
[A] 'function void cec_transmit_done_ts(cec_adapter*, u8, u8, u8, u8, u8, ktime_t)'
[A] 'function int cpufreq_enable_boost_support()'
[A] 'function unsigned int cpufreq_generic_get(unsigned int)'
[A] 'function int cpufreq_generic_suspend(cpufreq_policy*)'
[A] 'function timespec64 current_time(inode*)'
[A] 'function void d_add(dentry*, inode*)'
[A] 'function dentry* d_alloc_name(dentry*, const char*)'
[A] 'function void d_delete(dentry*)'
[A] 'function dentry* d_make_root(inode*)'
[A] 'function void debugfs_create_size_t(const char*, umode_t, dentry*, size_t*)'
[A] 'function void debugfs_create_x64(const char*, umode_t, dentry*, u64*)'
[A] 'function void dev_pm_opp_free_cpufreq_table(device*, cpufreq_frequency_table**)'
[A] 'function unsigned long int dev_pm_opp_get_max_transition_latency(device*)'
[A] 'function opp_table* dev_pm_opp_get_opp_table(device*)'
[A] 'function int dev_pm_opp_get_sharing_cpus(device*, cpumask*)'
[A] 'function unsigned long int dev_pm_opp_get_suspend_opp_freq(device*)'
[A] 'function int dev_pm_opp_init_cpufreq_table(device*, cpufreq_frequency_table**)'
[A] 'function int dev_pm_opp_of_cpumask_add_table(const cpumask*)'
[A] 'function int dev_pm_opp_of_get_sharing_cpus(device*, cpumask*)'
[A] 'function void dev_pm_opp_put_opp_table(opp_table*)'
[A] 'function void dev_pm_opp_put_regulators(opp_table*)'
[A] 'function opp_table* dev_pm_opp_set_regulators(device*, const char* const*, unsigned int)'
[A] 'function int dev_pm_qos_expose_latency_tolerance(device*)'
[A] 'function void dev_pm_qos_hide_latency_tolerance(device*)'
[A] 'function int dev_pm_qos_update_user_latency_tolerance(device*, int)'
[A] 'function devfreq* devfreq_add_device(device*, devfreq_dev_profile*, const char*, void*)'
[A] 'function void devfreq_cooling_unregister(thermal_cooling_device*)'
[A] 'function int devfreq_register_opp_notifier(device*, devfreq*)'
[A] 'function int devfreq_remove_device(devfreq*)'
[A] 'function int devfreq_unregister_opp_notifier(device*, devfreq*)'
[A] 'function int device_create_bin_file(device*, const bin_attribute*)'
[A] 'function int device_property_read_string_array(device*, const char*, const char**, unsigned long int)'
[A] 'function void device_remove_bin_file(device*, const bin_attribute*)'
[A] 'function bool device_remove_file_self(device*, const device_attribute*)'
[A] 'function clk* devm_get_clk_from_child(device*, device_node*, const char*)'
[A] 'function char* devm_kvasprintf(device*, gfp_t, const char*, va_list)'
[A] 'function int devm_mfd_add_devices(device*, int, const mfd_cell*, int, resource*, int, irq_domain*)'
[A] 'function void* devm_of_iomap(device*, device_node*, int, resource_size_t*)'
[A] 'function rtc_device* devm_rtc_device_register(device*, const char*, const rtc_class_ops*, module*)'
[A] 'function int devm_snd_dmaengine_pcm_register(device*, const snd_dmaengine_pcm_config*, unsigned int)'
[A] 'function int dma_buf_mmap(dma_buf*, vm_area_struct*, unsigned long int)'
[A] 'function unsigned long int dma_get_merge_boundary(device*)'
[A] 'function const char* dma_heap_get_name(dma_heap*)'
[A] 'function size_t dma_max_mapping_size(device*)'
[A] 'function dma_pool* dmam_pool_create(const char*, device*, size_t, size_t, size_t)'
[A] 'function int down_trylock(semaphore*)'
[A] 'function void downgrade_write(rw_semaphore*)'
[A] 'function void drm_bridge_hpd_notify(drm_bridge*, drm_connector_status)'
[A] 'function void drm_crtc_arm_vblank_event(drm_crtc*, drm_pending_vblank_event*)'
[A] 'function drm_gem_cma_object* drm_fb_cma_get_gem_obj(drm_framebuffer*, unsigned int)'
[A] 'function int drm_gem_cma_dumb_create_internal(drm_file*, drm_device*, drm_mode_create_dumb*)'
[A] 'function void drm_gem_cma_free_object(drm_gem_object*)'
[A] 'function int drm_gem_cma_mmap(file*, vm_area_struct*)'
[A] 'function sg_table* drm_gem_cma_prime_get_sg_table(drm_gem_object*)'
[A] 'function drm_gem_object* drm_gem_cma_prime_import_sg_table(drm_device*, dma_buf_attachment*, sg_table*)'
[A] 'function int drm_gem_cma_prime_mmap(drm_gem_object*, vm_area_struct*)'
[A] 'function void* drm_gem_cma_prime_vmap(drm_gem_object*)'
[A] 'function void drm_gem_cma_prime_vunmap(drm_gem_object*, void*)'
[A] 'function drm_framebuffer* drm_gem_fb_create(drm_device*, drm_file*, const drm_mode_fb_cmd2*)'
[A] 'function uint32_t drm_of_find_possible_crtcs(drm_device*, device_node*)'
[A] 'function void drm_sysfs_hotplug_event(drm_device*)'
[A] 'function void* dup_iter(iov_iter*, iov_iter*, gfp_t)'
[A] 'function file* filp_open(const char*, int, unsigned short int)'
[A] 'function int generic_delete_inode(inode*)'
[A] 'function unsigned int get_next_ino()'
[A] 'function unsigned int get_random_u32()'
[A] 'function int get_tree_single(fs_context*, int (super_block*, fs_context*)*)'
[A] 'function long int get_user_pages(unsigned long int, unsigned long int, unsigned int, page**, vm_area_struct**)'
[A] 'function long int get_user_pages_remote(mm_struct*, unsigned long int, unsigned long int, unsigned int, page**, vm_area_struct**, int*)'
[A] 'function void hdmi_avi_infoframe_init(hdmi_avi_infoframe*)'
[A] 'function ssize_t hdmi_avi_infoframe_pack(hdmi_avi_infoframe*, void*, size_t)'
[A] 'function i2c_client* i2c_new_ancillary_device(i2c_client*, const char*, u16)'
[A] 'function int i2c_smbus_read_word_data(const i2c_client*, unsigned char)'
[A] 'function void i2c_unregister_device(i2c_client*)'
[A] 'function void ida_destroy(ida*)'
[A] 'function sk_buff* ieee80211_ap_probereq_get(ieee80211_hw*, ieee80211_vif*)'
[A] 'function void ieee80211_chswitch_done(ieee80211_vif*, bool)'
[A] 'function void ieee80211_cqm_beacon_loss_notify(ieee80211_vif*, gfp_t)'
[A] 'function void ieee80211_cqm_rssi_notify(ieee80211_vif*, nl80211_cqm_rssi_threshold_event, s32, gfp_t)'
[A] 'function unsigned int ieee80211_get_hdrlen_from_skb(const sk_buff*)'
[A] 'function void ieee80211_iterate_interfaces(ieee80211_hw*, u32, void (void*, u8*, ieee80211_vif*)*, void*)'
[A] 'function sk_buff* ieee80211_nullfunc_get(ieee80211_hw*, ieee80211_vif*, bool)'
[A] 'function sk_buff* ieee80211_pspoll_get(ieee80211_hw*, ieee80211_vif*)'
[A] 'function void ieee80211_sched_scan_results(ieee80211_hw*)'
[A] 'function void ieee80211_sched_scan_stopped(ieee80211_hw*)'
[A] 'function int ieee80211_sta_ps_transition(ieee80211_sta*, bool)'
[A] 'function void ieee80211_stop_rx_ba_session(ieee80211_vif*, u16, const u8*)'
[A] 'function void iov_iter_bvec(iov_iter*, unsigned int, const bio_vec*, unsigned long int, unsigned long int)'
[A] 'function void kill_litter_super(super_block*)'
[A] 'function void kiocb_set_cancel_fn(kiocb*, kiocb_cancel_fn*)'
[A] 'function int kstrtobool_from_user(const char*, unsigned long int, bool*)'
[A] 'function void kthread_unuse_mm(mm_struct*)'
[A] 'function void kthread_use_mm(mm_struct*)'
[A] 'function ktime_t ktime_add_safe(const ktime_t, const ktime_t)'
[A] 'function void kvfree_call_rcu(callback_head*, rcu_callback_t)'
[A] 'function void* mempool_alloc_slab(gfp_t, void*)'
[A] 'function mempool_t* mempool_create_node(int, mempool_alloc_t*, mempool_free_t*, void*, gfp_t, int)'
[A] 'function void mempool_free_slab(void*, void*)'
[A] 'function int mipi_dsi_driver_register_full(mipi_dsi_driver*, module*)'
[A] 'function void mipi_dsi_driver_unregister(mipi_dsi_driver*)'
[A] 'function void mm_trace_rss_stat(mm_struct*, int, long int, long int)'
[A] 'function int mmc_add_host(mmc_host*)'
[A] 'function mmc_host* mmc_alloc_host(int, device*)'
[A] 'function int mmc_app_cmd(mmc_host*, mmc_card*)'
[A] 'function unsigned int mmc_calc_max_discard(mmc_card*)'
[A] 'function int mmc_can_erase(mmc_card*)'
[A] 'function bool mmc_can_gpio_cd(mmc_host*)'
[A] 'function int mmc_can_secure_erase_trim(mmc_card*)'
[A] 'function int mmc_can_trim(mmc_card*)'
[A] 'function int mmc_cmdq_disable(mmc_card*)'
[A] 'function int mmc_cmdq_enable(mmc_card*)'
[A] 'function void mmc_cqe_post_req(mmc_host*, mmc_request*)'
[A] 'function int mmc_cqe_recovery(mmc_host*)'
[A] 'function int mmc_cqe_start_req(mmc_host*, mmc_request*)'
[A] 'function int mmc_detect_card_removed(mmc_host*)'
[A] 'function void mmc_detect_change(mmc_host*, unsigned long int)'
[A] 'function int mmc_erase(mmc_card*, unsigned int, unsigned int, unsigned int)'
[A] 'function int mmc_erase_group_aligned(mmc_card*, unsigned int, unsigned int)'
[A] 'function int mmc_flush_cache(mmc_card*)'
[A] 'function void mmc_free_host(mmc_host*)'
[A] 'function void mmc_get_card(mmc_card*, mmc_ctx*)'
[A] 'function int mmc_get_ext_csd(mmc_card*, unsigned char**)'
[A] 'function int mmc_gpio_get_cd(mmc_host*)'
[A] 'function int mmc_gpio_get_ro(mmc_host*)'
[A] 'function int mmc_gpiod_request_cd(mmc_host*, const char*, unsigned int, bool, unsigned int)'
[A] 'function void mmc_gpiod_request_cd_irq(mmc_host*)'
[A] 'function int mmc_gpiod_request_ro(mmc_host*, const char*, unsigned int, unsigned int)'
[A] 'function int mmc_hw_reset(mmc_host*)'
[A] 'function int mmc_of_parse_voltage(device_node*, u32*)'
[A] 'function void mmc_put_card(mmc_card*, mmc_ctx*)'
[A] 'function int mmc_register_driver(mmc_driver*)'
[A] 'function void mmc_release_host(mmc_host*)'
[A] 'function void mmc_remove_host(mmc_host*)'
[A] 'function void mmc_request_done(mmc_host*, mmc_request*)'
[A] 'function void mmc_retune_pause(mmc_host*)'
[A] 'function void mmc_retune_release(mmc_host*)'
[A] 'function void mmc_retune_unpause(mmc_host*)'
[A] 'function void mmc_run_bkops(mmc_card*)'
[A] 'function int mmc_sanitize(mmc_card*)'
[A] 'function int mmc_send_status(mmc_card*, unsigned int*)'
[A] 'function void mmc_set_data_timeout(mmc_data*, const mmc_card*)'
[A] 'function int mmc_start_request(mmc_host*, mmc_request*)'
[A] 'function int mmc_switch(mmc_card*, unsigned char, unsigned char, unsigned char, unsigned int)'
[A] 'function void mmc_unregister_driver(mmc_driver*)'
[A] 'function int mmc_wait_for_cmd(mmc_host*, mmc_command*, int)'
[A] 'function void mmc_wait_for_req(mmc_host*, mmc_request*)'
[A] 'function int netlink_has_listeners(sock*, unsigned int)'
[A] 'function inode* new_inode(super_block*)'
[A] 'function loff_t no_seek_end_llseek(file*, loff_t, int)'
[A] 'function thermal_cooling_device* of_devfreq_cooling_register_power(device_node*, devfreq*, devfreq_cooling_power*)'
[A] 'function int param_get_uint(char*, const kernel_param*)'
[A] 'function int param_set_uint(const char*, const kernel_param*)'
[A] 'function bool pci_device_is_present(pci_dev*)'
[A] 'function int pci_enable_device_mem(pci_dev*)'
[A] 'function void pci_free_irq(pci_dev*, unsigned int, void*)'
[A] 'function int pci_request_irq(pci_dev*, unsigned int, irq_handler_t, irq_handler_t, void*, const char*, ...)'
[A] 'function int pci_select_bars(pci_dev*, unsigned long int)'
[A] 'function void pcibios_resource_to_bus(pci_bus*, pci_bus_region*, resource*)'
[A] 'function bool pcie_aspm_enabled(pci_dev*)'
[A] 'function void percpu_ref_kill_and_confirm(percpu_ref*, void (percpu_ref*)*)'
[A] 'function int pinctrl_select_default_state(device*)'
[A] 'function bool policy_has_boost_freq(cpufreq_policy*)'
[A] 'function proc_dir_entry* proc_create_single_data(const char*, unsigned short int, proc_dir_entry*, int (seq_file*, void*)*, void*)'
[A] 'function rb_node* rb_prev(const rb_node*)'
[A] 'function void rb_replace_node(rb_node*, rb_node*, rb_root*)'
[A] 'function int regmap_add_irq_chip(regmap*, int, int, int, const regmap_irq_chip*, regmap_irq_chip_data**)'
[A] 'function void regmap_del_irq_chip(int, regmap_irq_chip_data*)'
[A] 'function irq_domain* regmap_irq_get_domain(regmap_irq_chip_data*)'
[A] 'function int regmap_raw_read(regmap*, unsigned int, void*, size_t)'
[A] 'function int regmap_raw_write(regmap*, unsigned int, void*, size_t)'
[A] 'function regulator* regulator_get_optional(device*, const char*)'
[A] 'function int regulator_get_voltage_sel_regmap(regulator_dev*)'
[A] 'function int regulator_list_voltage_table(regulator_dev*, unsigned int)'
[A] 'function int regulator_map_voltage_ascend(regulator_dev*, int, int)'
[A] 'function int regulator_set_voltage_sel_regmap(regulator_dev*, unsigned int)'
[A] 'function int remap_vmalloc_range(vm_area_struct*, void*, unsigned long int)'
[A] 'function rfkill_type rfkill_find_type(const char*)'
[A] 'function int rtc_valid_tm(rtc_time*)'
[A] 'function int rtc_year_days(unsigned int, unsigned int, unsigned int)'
[A] 'function void sdio_claim_host(sdio_func*)'
[A] 'function int sdio_disable_func(sdio_func*)'
[A] 'function int sdio_enable_func(sdio_func*)'
[A] 'function unsigned char sdio_f0_readb(sdio_func*, unsigned int, int*)'
[A] 'function void sdio_f0_writeb(sdio_func*, unsigned char, unsigned int, int*)'
[A] 'function mmc_pm_flag_t sdio_get_host_pm_caps(sdio_func*)'
[A] 'function int sdio_memcpy_fromio(sdio_func*, void*, unsigned int, int)'
[A] 'function int sdio_memcpy_toio(sdio_func*, unsigned int, void*, int)'
[A] 'function int sdio_readsb(sdio_func*, void*, unsigned int, int)'
[A] 'function int sdio_register_driver(sdio_driver*)'
[A] 'function void sdio_release_host(sdio_func*)'
[A] 'function int sdio_set_block_size(sdio_func*, unsigned int)'
[A] 'function int sdio_set_host_pm_flags(sdio_func*, mmc_pm_flag_t)'
[A] 'function void sdio_signal_irq(mmc_host*)'
[A] 'function void sdio_unregister_driver(sdio_driver*)'
[A] 'function int sdio_writesb(sdio_func*, unsigned int, void*, int)'
[A] 'function irqreturn_t serio_interrupt(serio*, unsigned char, unsigned int)'
[A] 'function void serio_reconnect(serio*)'
[A] 'function void serio_unregister_port(serio*)'
[A] 'function int set_page_dirty_lock(page*)'
[A] 'function size_t sg_zero_buffer(scatterlist*, unsigned int, size_t, off_t)'
[A] 'function scatterlist* sgl_alloc(long long unsigned int, unsigned int, unsigned int*)'
[A] 'function void sgl_free(scatterlist*)'
[A] 'function int simple_statfs(dentry*, kstatfs*)'
[A] 'function int snd_dmaengine_pcm_prepare_slave_config(snd_pcm_substream*, snd_pcm_hw_params*, dma_slave_config*)'
[A] 'function int snd_soc_dapm_get_pin_switch(snd_kcontrol*, snd_ctl_elem_value*)'
[A] 'function int snd_soc_dapm_info_pin_switch(snd_kcontrol*, snd_ctl_elem_info*)'
[A] 'function int snd_soc_dapm_put_pin_switch(snd_kcontrol*, snd_ctl_elem_value*)'
[A] 'function int snd_soc_jack_add_gpios(snd_soc_jack*, int, snd_soc_jack_gpio*)'
[A] 'function int snd_soc_of_parse_audio_simple_widgets(snd_soc_card*, const char*)'
[A] 'function unsigned int snd_soc_of_parse_daifmt(device_node*, const char*, device_node**, device_node**)'
[A] 'function void snd_soc_of_parse_node_prefix(device_node*, snd_soc_codec_conf*, device_node*, const char*)'
[A] 'function int snd_soc_of_parse_tdm_slot(device_node*, unsigned int*, unsigned int*, unsigned int*, unsigned int*)'
[A] 'function int snd_soc_runtime_calc_hw(snd_soc_pcm_runtime*, snd_pcm_hardware*, int)'
[A] 'function int spi_bus_lock(spi_controller*)'
[A] 'function int spi_bus_unlock(spi_controller*)'
[A] 'function int spi_sync_locked(spi_device*, spi_message*)'
[A] 'function __kernel_size_t strcspn(const char*, const char*)'
[A] 'function int stream_open(inode*, file*)'
[A] 'function irqreturn_t tcpci_irq(tcpci*)'
[A] 'function tcpci* tcpci_register_port(device*, tcpci_data*)'
[A] 'function void tcpci_unregister_port(tcpci*)'
[A] 'function int thermal_zone_device_disable(thermal_zone_device*)'
[A] 'function int thermal_zone_device_enable(thermal_zone_device*)'
[A] 'function int thermal_zone_get_temp(thermal_zone_device*, int*)'
[A] 'function thermal_zone_device* thermal_zone_get_zone_by_name(const char*)'
[A] 'function int usb_add_hcd(usb_hcd*, unsigned int, unsigned long int)'
[A] 'function int usb_ep_clear_halt(usb_ep*)'
[A] 'function void usb_ep_fifo_flush(usb_ep*)'
[A] 'function int usb_ep_fifo_status(usb_ep*)'
[A] 'function int usb_gadget_probe_driver(usb_gadget_driver*)'
[A] 'function int usb_gadget_unregister_driver(usb_gadget_driver*)'
[A] 'function char* usb_get_gadget_udc_name()'
[A] 'function int usb_hcd_check_unlink_urb(usb_hcd*, urb*, int)'
[A] 'function void usb_hcd_giveback_urb(usb_hcd*, urb*, int)'
[A] 'function int usb_hcd_link_urb_to_ep(usb_hcd*, urb*)'
[A] 'function void usb_hcd_poll_rh_status(usb_hcd*)'
[A] 'function void usb_hcd_resume_root_hub(usb_hcd*)'
[A] 'function void usb_hcd_unlink_urb_from_ep(usb_hcd*, urb*)'
[A] 'function void usb_put_hcd(usb_hcd*)'
[A] 'function void usb_remove_hcd(usb_hcd*)'
[A] 'function usb_role_switch* usb_role_switch_get(device*)'
[A] 'function void usb_role_switch_put(usb_role_switch*)'
[A] 'function void uuid_gen(__anonymous_struct__61*)'
[A] 'function int uuid_parse(const char*, uuid_t*)'
[A] 'function int vfs_fallocate(file*, int, long long int, long long int)'
[A] 'function int vfs_getattr(const path*, kstat*, u32, unsigned int)'
[A] 'function void* vmalloc_user(unsigned long int)'
[A] 'function unsigned int vmf_insert_pfn(vm_area_struct*, unsigned long int, unsigned long int)'
[A] 'function unsigned long int wait_for_completion_io_timeout(completion*, unsigned long int)'
2242 functions with some sub-type change:
[C] 'function void* PDE_DATA(const inode*)' at proc_fs.h:112:1 has some sub-type changes:
CRC (modversions) changed from 0xca6841d to 0x7aae1df7
[C] 'function void __ClearPageMovable(page*)' at compaction.c:138:1 has some sub-type changes:
CRC (modversions) changed from 0x6ddde37 to 0x10923ef0
[C] 'function void __SetPageMovable(page*, address_space*)' at compaction.c:130:1 has some sub-type changes:
CRC (modversions) changed from 0x75ba553a to 0x78273bab
... 2239 omitted; 2242 symbols have only CRC changes
8 Added variables:
[A] 'tracepoint __tracepoint_android_vh_iommu_setup_dma_ops'
[A] 'cma* dma_contiguous_default_area'
[A] 'const vm_operations_struct drm_gem_cma_vm_ops'
[A] 'static_key_false kasan_flag_enabled'
[A] 'const unsigned char rfc1042_header[6]'
[A] 'const inode_operations simple_dir_inode_operations'
[A] 'const file_operations simple_dir_operations'
[A] 'const uuid_t uuid_null'
47 Changed variables:
[C] 'pglist_data contig_page_data' was changed at memblock.c:96:1:
size of symbol changed from 7168 to 7296
CRC (modversions) changed from 0xd65ceba4 to 0xdeb74410
type of variable changed:
type size changed from 57344 to 58368 (in bits)
1 data member insertion:
'task_struct* pglist_data::mkswapd[16]', at offset 52608 (in bits) at mmzone.h:774:1
there are data member changes:
15 ('int pglist_data::kswapd_order' .. 'atomic_long_t pglist_data::vm_stat[38]') offsets changed (by +1024 bits)
2302 impacted interfaces
[C] 'net init_net' was changed at net_namespace.c:47:1:
size of symbol changed from 4224 to 4288
CRC (modversions) changed from 0xa31a2902 to 0x787ff561
type of variable changed:
type size changed from 33792 to 34304 (in bits)
1 data member insertion:
'netns_ieee802154_lowpan net::ieee802154_lowpan', at offset 18944 (in bits) at net_namespace.h:131:1
there are data member changes:
type 'struct netns_ipv4' of 'net::ipv4' changed:
type size hasn't changed
1 data member insertion:
'unsigned long int* netns_ipv4::sysctl_local_unbindable_ports', at offset 6976 (in bits) at ipv4.h:206:1
there are data member changes:
7 ('int netns_ipv4::sysctl_ip_prot_sock' .. 'siphash_key_t netns_ipv4::ip_id_key') offsets changed (by +64 bits)
281 impacted interfaces
10 ('netns_nf net::nf' .. 'netns_bpf net::bpf') offsets changed (by +128 bits)
4 ('netns_xfrm net::xfrm' .. 'sock* net::diag_nlsk') offsets changed (by +512 bits)
281 impacted interfaces
[C] 'task_struct init_task' was changed at init_task.c:64:1:
size of symbol changed from 4160 to 4224
CRC (modversions) changed from 0xacdeb771 to 0x4763faa0
type of variable changed:
type size changed from 33280 to 33792 (in bits)
1 data member deletion:
'wake_q_head* task_struct::wake_q_head', at offset 15808 (in bits) at sched.h:1011:1
1 data member insertion:
'int task_struct::wake_q_count', at offset 16320 (in bits) at sched.h:1011:1
there are data member changes:
type 'struct sched_entity' of 'task_struct::se' changed:
type size changed from 3072 to 3584 (in bits)
5 data member insertions:
'int sched_entity::depth', at offset 2560 (in bits) at sched.h:469:1
'sched_entity* sched_entity::parent', at offset 2624 (in bits) at sched.h:470:1
'cfs_rq* sched_entity::cfs_rq', at offset 2688 (in bits) at sched.h:472:1
'cfs_rq* sched_entity::my_q', at offset 2752 (in bits) at sched.h:474:1
'unsigned long int sched_entity::runnable_weight', at offset 2816 (in bits) at sched.h:476:1
there are data member changes:
'sched_avg sched_entity::avg' offset changed (by +512 bits)
2302 impacted interfaces
133 ('sched_rt_entity task_struct::rt' .. 'tlbflush_unmap_batch task_struct::tlb_ubc') offsets changed (by +512 bits)
anonymous data member 'union {refcount_t rcu_users; callback_head rcu;}' offset changed from 19008 to 19520 (in bits) (by +512 bits)
21 ('pipe_inode_info* task_struct::splice_pipe' .. 'thread_struct task_struct::thread') offsets changed (by +512 bits)
2302 impacted interfaces
[C] 'task_group root_task_group' was changed at core.c:7331:1:
size of symbol changed from 336 to 448
CRC (modversions) changed from 0x577959a6 to 0xe51acd56
type of variable changed:
type size changed from 2688 to 3584 (in bits)
4 data member insertions:
'sched_entity** task_group::se', at offset 1600 (in bits) at sched.h:384:1
'cfs_rq** task_group::cfs_rq', at offset 1664 (in bits) at sched.h:386:1
'unsigned long int task_group::shares', at offset 1728 (in bits) at sched.h:387:1
'atomic_long_t task_group::load_avg', at offset 2048 (in bits) at sched.h:395:1
there are data member changes:
11 ('callback_head task_group::rcu' .. 'u64 task_group::android_vendor_data1[4]') offsets changed (by +512 bits)
2302 impacted interfaces
[C] 'rq runqueues' was changed at core.c:51:1:
size of symbol changed from 3968 to 4096
CRC (modversions) changed from 0x590425db to 0x7d8ddb7c
type of variable changed:
type size changed from 31744 to 32768 (in bits)
2 data member insertions:
'list_head rq::leaf_cfs_rq_list', at offset 19584 (in bits) at sched.h:939:1
'list_head* rq::tmp_alone_branch', at offset 19712 (in bits) at sched.h:940:1
there are data member changes:
type 'struct cfs_rq' of 'rq::cfs' changed:
type size changed from 2048 to 3072 (in bits)
10 data member insertions:
'unsigned long int cfs_rq::tg_load_avg_contrib', at offset 2048 (in bits) at sched.h:562:1
'long int cfs_rq::propagate', at offset 2112 (in bits) at sched.h:563:1
'long int cfs_rq::prop_runnable_sum', at offset 2176 (in bits) at sched.h:564:1
'unsigned long int cfs_rq::h_load', at offset 2240 (in bits) at sched.h:572:1
'u64 cfs_rq::last_h_load_update', at offset 2304 (in bits) at sched.h:573:1
'sched_entity* cfs_rq::h_load_next', at offset 2368 (in bits) at sched.h:574:1
'rq* cfs_rq::rq', at offset 2432 (in bits) at sched.h:579:1
'int cfs_rq::on_list', at offset 2496 (in bits) at sched.h:589:1
'list_head cfs_rq::leaf_cfs_rq_list', at offset 2560 (in bits) at sched.h:590:1
'task_group* cfs_rq::tg', at offset 2688 (in bits) at sched.h:591:1
2302 impacted interfaces
2 ('rt_rq rq::rt' .. 'dl_rq rq::dl') offsets changed (by +1024 bits)
8 ('unsigned long int rq::nr_uninterruptible' .. 'u64 rq::clock') offsets changed (by +1216 bits)
43 ('u64 rq::clock_task' .. 'u64 rq::android_vendor_data1[96]') offsets changed (by +1024 bits)
2302 impacted interfaces
[C] 'bus_type amba_bustype' was changed at bus.c:215:1:
CRC (modversions) changed from 0x3a27bef1 to 0xa38da620
[C] 'const clk_ops clk_fixed_factor_ops' was changed at clk-fixed-factor.c:60:1:
CRC (modversions) changed from 0xf66fcfb6 to 0x6d350258
[C] 'const clk_ops clk_fixed_rate_ops' was changed at clk-fixed-rate.c:46:1:
CRC (modversions) changed from 0xa301d63c to 0x6a810889
... 39 omitted; 42 symbols have only CRC changes
1 Added function symbol not referenced by debug info:
[A] clear_page
'struct cfs_rq at sched.h:518:1' changed:
details were reported earlier
'struct cma at cma.h:7:1' changed:
type size changed from 1024 to 1280 (in bits)
3 data member insertions:
'hlist_head cma::mem_head', at offset 512 (in bits) at cma.h:14:1
'spinlock_t cma::mem_head_lock', at offset 576 (in bits) at cma.h:15:1
'debugfs_u32_array cma::dfs_bitmap', at offset 640 (in bits) at cma.h:16:1
there are data member changes:
'char cma::name[64]' offset changed (by +256 bits)
2303 impacted interfaces
'struct dma_buf at dma-buf.h:394:1' changed:
type size changed from 2112 to 3072 (in bits)
3 data member insertions:
'int dma_buf::mmap_count', at offset 2112 (in bits) at dma-buf.h:430:1
'const vm_operations_struct* dma_buf::exp_vm_ops', at offset 2176 (in bits) at dma-buf.h:431:1
'vm_operations_struct dma_buf::vm_ops', at offset 2240 (in bits) at dma-buf.h:432:1
68 impacted interfaces
'struct kmem_cache at slub_def.h:84:1' changed:
type size changed from 1728 to 1856 (in bits)
1 data member insertion:
'kasan_cache kmem_cache::kasan_info', at offset 1600 (in bits) at slub_def.h:129:1
there are data member changes:
2 ('unsigned int kmem_cache::useroffset' .. 'unsigned int kmem_cache::usersize') offsets changed (by +96 bits)
'kmem_cache_node* kmem_cache::node[1]' offset changed (by +128 bits)
2302 impacted interfaces
'struct mmc_host at host.h:275:1' changed:
type size changed from 11264 to 12800 (in bits)
1 data member insertion:
'blk_keyslot_manager mmc_host::ksm', at offset 11008 (in bits) at host.h:482:1
there are data member changes:
'bool mmc_host::hsq_enabled' offset changed (by +1488 bits)
'unsigned long int mmc_host::private[]' offset changed (by +1536 bits)
19 impacted interfaces
'struct mmc_request at core.h:144:1' changed:
type size changed from 1024 to 1152 (in bits)
3 data member insertions:
'bool mmc_request::crypto_enabled', at offset 1024 (in bits) at core.h:167:1
'int mmc_request::crypto_key_slot', at offset 1056 (in bits) at core.h:168:1
'u32 mmc_request::data_unit_num', at offset 1088 (in bits) at core.h:169:1
19 impacted interfaces
'struct module at module.h:366:1' changed:
type size hasn't changed
1 data member insertion:
'const char* module::scmversion', at offset 1600 (in bits) at module.h:380:1
there are data member changes:
19 ('kobject* module::holders_dir' .. 'int ()* module::init') offsets changed (by +64 bits)
2302 impacted interfaces
'struct ndisc_options at ndisc.h:111:1' changed:
type size changed from 1216 to 1408 (in bits)
1 data member insertion:
'nd_opt_hdr* ndisc_options::nd_802154_opt_array[3]', at offset 1216 (in bits) at ndisc.h:120:1
281 impacted interfaces
'struct net at net_namespace.h:56:1' changed:
details were reported earlier
'struct netns_ipv4 at ipv4.h:43:1' changed:
details were reported earlier
'struct pglist_data at mmzone.h:726:1' changed:
details were reported earlier
'struct rproc_ops at remoteproc.h:379:1' changed:
type size changed from 896 to 960 (in bits)
1 data member insertion:
'void (rproc*)* rproc_ops::coredump', at offset 896 (in bits) at remoteproc.h:397:1
16 impacted interfaces
'struct rq at sched.h:897:1' changed:
details were reported earlier
'struct sched_class at sched.h:1790:1' changed:
type size changed from 1536 to 1792 (in bits)
1 data member insertion:
'void (task_struct*, int)* sched_class::task_change_group', at offset 1536 (in bits) at sched.h:1845:1
2302 impacted interfaces
'struct sched_entity at sched.h:452:1' changed:
details were reported earlier
'struct task_group at sched.h:379:1' changed:
details were reported earlier
'struct task_struct at sched.h:641:1' changed:
details were reported earlier
'struct vm_fault at mm.h:519:1' changed:
type size changed from 1024 to 1088 (in bits)
3 data member deletions:
'vm_area_struct* vm_fault::vma', at offset 0 (in bits) at mm.h:520:1
'gfp_t vm_fault::gfp_mask', at offset 96 (in bits) at mm.h:522:1
'unsigned long int vm_fault::address', at offset 192 (in bits) at mm.h:524:1
there are data member changes:
data member unsigned long int vm_fault::pgoff at offset 128 (in bits) became anonymous data member 'struct {vm_area_struct* vma; gfp_t gfp_mask; unsigned long int pgoff; unsigned long int address;}'
and size changed from 64 to 256 (in bits) (by +192 bits)
'unsigned int vm_fault::flags' offset changed (by +320 bits)
2 ('unsigned int vm_fault::sequence' .. 'pmd_t vm_fault::orig_pmd') offsets changed (by -256 bits)
7 ('pmd_t* vm_fault::pmd' .. 'spinlock_t* vm_fault::ptl') offsets changed (by +64 bits)
type 'typedef pgtable_t' of 'vm_fault::prealloc_pte' changed:
underlying type 'page*' changed:
and offset changed from 832 to 896 (in bits) (by +64 bits)
2 ('unsigned long int vm_fault::vma_flags' .. 'pgprot_t vm_fault::vma_page_prot') offsets changed (by +64 bits)
2302 impacted interfaces
'struct vm_operations_struct at mm.h:578:1' changed:
type size hasn't changed
there are data member changes:
type 'void (vm_fault*, unsigned long int, unsigned long int)*' of 'vm_operations_struct::map_pages' changed:
pointer type changed from: 'void (vm_fault*, unsigned long int, unsigned long int)*' to: 'typedef vm_fault_t (vm_fault*, unsigned long int, unsigned long int)*'
2302 impacted interfaces
Bug: 180027765
Change-Id: I9d713d57f26b05e4c91ad21b8ba345f9de3538cf
Signed-off-by: Will McVicker <willmcvicker@google.com>
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.
- Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux,
additions of
EXPORT_SYMBOL_GPL()require an in-tree modular driver that uses the symbol -- so include the new driver or changes to an existing driver in the same patchset as the export. - When sending patches upstream, the commit message must contain a clear case for why the patch is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not not a persuasive case.
- Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux,
additions of
-
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 kernel-team@android.com. 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 commit ...)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 <fred.jones@foo.org>
- 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 <fred.jones@foo.org>
Bug: 135791357
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
(cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
Signed-off-by: Joe Smith <joe.smith@foo.org>
- 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 commit ...)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 <fred.jones@foo.org>
Bug: 135791357
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
(cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
[joe: Resolved minor conflict in drivers/foo/bar.c ]
Signed-off-by: Joe Smith <joe.smith@foo.org>
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 <fred.jones@foo.org>
- 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 <fred.jones@foo.org>
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 <joe.smith@foo.org>
- 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 - add a
Bug:tag with the Android bug (required for patches not accepted into a maintainer tree) - 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 <fred.jones@foo.org>
Bug: 135791357
Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Joe Smith <joe.smith@foo.org>
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 <joe.smith@foo.org>
- 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
Description
Languages
C
97.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%