mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
6ba50a593690e4c4b0767dc19cdacd2519080b57
Update whitelist for the symbols used by the unisoc device and update the ABI representation accordingly. Leaf changes summary: 510 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 499 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 11 Added variables Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info Variable symbols changes summary: 0 Removed, 3 Added variable symbols not referenced by debug info 499 Added functions: [A] 'function block_device* I_BDEV(inode*)' [A] 'function int LZ4_decompress_safe_partial(const char*, char*, int, int, int)' [A] 'function gendisk* __alloc_disk_node(request_queue*, int, lock_class_key*)' [A] 'function void __blk_mq_end_request(request*, blk_status_t)' [A] 'function ssize_t __blockdev_direct_IO(kiocb*, inode*, block_device*, iov_iter*, get_block_t*, dio_iodone_t*, dio_submit_t*, int)' [A] 'function void __breadahead(block_device*, sector_t, unsigned int)' [A] 'function unsigned long int __crypto_memneq(void*, void*, size_t)' [A] 'function void __crypto_xor(u8*, const u8*, const u8*, unsigned int)' [A] 'function net_device* __dev_get_by_name(net*, const char*)' [A] 'function void __dynamic_netdev_dbg(_ddebug*, const net_device*, const char*, ...)' [A] 'function buffer_head* __find_get_block(block_device*, sector_t, unsigned int)' [A] 'function int __iio_trigger_register(iio_trigger*, module*)' [A] 'function void __ip_select_ident(net*, iphdr*, int)' [A] 'function int __ipv6_addr_type(const in6_addr*)' [A] 'function int __kfifo_from_user_r(__kfifo*, void*, unsigned long int, unsigned int*, size_t)' [A] 'function int __kfifo_to_user_r(__kfifo*, void*, unsigned long int, unsigned int*, size_t)' [A] 'function void __mark_inode_dirty(inode*, int)' [A] 'function sk_buff* __pskb_copy_fclone(sk_buff*, int, gfp_t, bool)' [A] 'function void __put_net(net*)' [A] 'function sock* __raw_v4_lookup(net*, sock*, unsigned short int, __be32, __be32, int, int)' [A] 'function sock* __raw_v6_lookup(net*, sock*, unsigned short int, const in6_addr*, const in6_addr*, int, int)' [A] 'function void __remove_inode_hash(inode*)' [A] 'function scsi_device* __scsi_add_device(Scsi_Host*, uint, uint, u64, void*)' [A] 'function int __sk_receive_skb(sock*, sk_buff*, const int, unsigned int, bool)' [A] 'function tty_driver* __tty_alloc_driver(unsigned int, module*, unsigned long int)' [A] 'function int __usb_get_extra_descriptor(char*, unsigned int, unsigned char, void**, size_t)' [A] 'function int add_to_page_cache_lru(page*, address_space*, unsigned long int, gfp_t)' [A] 'function int addrconf_prefix_rcv_add_addr(net*, net_device*, const prefix_info*, inet6_dev*, const in6_addr*, int, u32, bool, bool, __u32, u32)' [A] 'function void aes_encrypt(const crypto_aes_ctx*, u8*, const u8*)' [A] 'function int aes_expandkey(crypto_aes_ctx*, const u8*, unsigned int)' [A] 'function ktime_t alarm_expires_remaining(const alarm*)' [A] 'function u64 alarm_forward(alarm*, ktime_t, ktime_t)' [A] 'function void arc4_crypt(arc4_ctx*, u8*, const u8*, unsigned int)' [A] 'function int arc4_setkey(arc4_ctx*, const u8*, unsigned int)' [A] 'function int bio_add_page(bio*, page*, unsigned int, unsigned int)' [A] 'function void bio_associate_blkg(bio*)' [A] 'function void bio_init(bio*, bio_vec*, unsigned short int)' [A] 'function void bio_put(bio*)' [A] 'function int bit_wait(wait_bit_key*, int)' [A] 'function void blk_cleanup_queue(request_queue*)' [A] 'function void blk_finish_plug(blk_plug*)' [A] 'function int blk_mq_map_queues(blk_mq_queue_map*)' [A] 'function void blk_mq_requeue_request(request*, bool)' [A] 'function void blk_mq_run_hw_queues(request_queue*, bool)' [A] 'function void blk_queue_bounce_limit(request_queue*, blk_bounce)' [A] 'function void blk_queue_update_dma_alignment(request_queue*, int)' [A] 'function void blk_start_plug(blk_plug*)' [A] 'function bool blk_update_request(request*, blk_status_t, unsigned int)' [A] 'function void blkdev_put(block_device*, fmode_t)' [A] 'function int block_write_full_page(page*, get_block_t*, writeback_control*)' [A] 'function int bpf_prog_create(bpf_prog**, sock_fprog_kern*)' [A] 'function void bpf_prog_destroy(bpf_prog*)' [A] 'function void* bsearch(void*, void*, size_t, size_t, cmp_func_t)' [A] 'function int cdc_parse_cdc_header(usb_cdc_parsed_header*, usb_interface*, u8*, int)' [A] 'function int ce_aes_expandkey(crypto_aes_ctx*, const u8*, unsigned int)' [A] 'function void cfg80211_rx_unprot_mlme_mgmt(net_device*, const u8*, size_t)' [A] 'function void clear_nlink(inode*)' [A] 'function int clk_bulk_get(device*, int, clk_bulk_data*)' [A] 'function int clk_bulk_get_all(device*, clk_bulk_data**)' [A] 'function void console_lock()' [A] 'function int cont_write_begin(file*, address_space*, loff_t, unsigned int, unsigned int, page**, void**, get_block_t*, loff_t*)' [A] 'function unsigned int cpufreq_generic_get(unsigned int)' [A] 'function int cpufreq_generic_suspend(cpufreq_policy*)' [A] 'function int cpufreq_unregister_notifier(notifier_block*, unsigned int)' [A] 'function int crypto_ahash_digest(ahash_request*)' [A] 'function crypto_ahash* crypto_alloc_ahash(const char*, u32, u32)' [A] 'function crypto_engine* crypto_engine_alloc_init(device*, bool)' [A] 'function int crypto_engine_exit(crypto_engine*)' [A] 'function int crypto_engine_start(crypto_engine*)' [A] 'function int crypto_has_ahash(const char*, u32, u32)' [A] 'function void crypto_inc(u8*, unsigned int)' [A] 'function void crypto_mod_put(crypto_alg*)' [A] 'function int crypto_register_scomp(scomp_alg*)' [A] 'function int crypto_sha1_finup(shash_desc*, const u8*, unsigned int, u8*)' [A] 'function int crypto_sha1_update(shash_desc*, const u8*, unsigned int)' [A] 'function void crypto_unregister_skcipher(skcipher_alg*)' [A] 'function __wsum csum_partial(void*, int, __wsum)' [A] 'function timespec64 current_time(inode*)' [A] 'function dentry* d_find_alias(inode*)' [A] 'function void d_instantiate(dentry*, inode*)' [A] 'function void d_move(dentry*, dentry*)' [A] 'function bool debugfs_initialized()' [A] 'function void dev_add_pack(packet_type*)' [A] 'function net_device* dev_get_by_index(net*, int)' [A] 'function net_device* dev_get_by_index_rcu(net*, int)' [A] 'function net_device* dev_get_by_name_rcu(net*, const char*)' [A] 'function void dev_pm_opp_free_cpufreq_table(device*, cpufreq_frequency_table**)' [A] 'function void dev_pm_opp_remove(device*, unsigned long int)' [A] 'function void dev_remove_pack(packet_type*)' [A] 'function int devfreq_event_get_event(devfreq_event_dev*, devfreq_event_data*)' [A] 'function int devfreq_update_status(devfreq*, unsigned long int)' [A] 'function int devm_extcon_register_notifier_all(device*, extcon_dev*, notifier_block*)' [A] 'function hwspinlock* devm_hwspin_lock_request_specific(device*, unsigned int)' [A] 'function usb_phy* devm_usb_get_phy(device*, usb_phy_type)' [A] 'function size_t dma_max_mapping_size(device*)' [A] 'function int driver_attach(device_driver*)' [A] 'function void drm_atomic_helper_commit_tail_rpm(drm_atomic_state*)' [A] 'function void drm_atomic_helper_update_legacy_modeset_state(drm_device*, drm_atomic_state*)' [A] 'function void drm_atomic_set_fence_for_plane(drm_plane_state*, dma_fence*)' [A] 'function int drm_atomic_set_mode_for_crtc(drm_crtc_state*, const drm_display_mode*)' [A] 'function int drm_connector_attach_content_protection_property(drm_connector*, bool)' [A] 'function int drm_dp_calc_pbn_mode(int, int, bool)' [A] 'function dma_buf* drm_gem_prime_export(drm_gem_object*, int)' [A] 'function int drm_hdcp_check_ksvs_revoked(drm_device*, u8*, u32)' [A] 'function void drm_hdcp_update_content_protection(drm_connector*, u64)' [A] 'function long int drm_ioctl_kernel(file*, drm_ioctl_t*, void*, u32)' [A] 'function u8 drm_match_cea_mode(const drm_display_mode*)' [A] 'function int drm_plane_create_color_properties(drm_plane*, u32, u32, drm_color_encoding, drm_color_range)' [A] 'function int drm_plane_create_zpos_immutable_property(drm_plane*, unsigned int)' [A] 'function void drm_put_dev(drm_device*)' [A] 'function void drop_nlink(inode*)' [A] 'function u32 dw_pcie_read_dbi(dw_pcie*, u32, size_t)' [A] 'function int dw_pcie_wait_for_link(dw_pcie*)' [A] 'function void dw_pcie_write_dbi(dw_pcie*, u32, size_t, u32)' [A] 'function extcon_dev* extcon_find_edev_by_node(device_node*)' [A] 'function char* file_path(file*, char*, int)' [A] 'function int filemap_fdatawait_range(address_space*, loff_t, loff_t)' [A] 'function int filemap_fdatawrite_range(address_space*, loff_t, loff_t)' [A] 'function int filp_close(file*, fl_owner_t)' [A] 'function file* filp_open_block(const char*, int, umode_t)' [A] 'function unsigned char fs_ftype_to_dtype(unsigned int)' [A] 'function void* fwnode_connection_find_match(fwnode_handle*, const char*, void*, devcon_match_fn_t)' [A] 'function fwnode_handle* fwnode_get_parent(const fwnode_handle*)' [A] 'function int fwnode_property_read_u16_array(const fwnode_handle*, const char*, u16*, size_t)' [A] 'function unsigned long int gen_pool_fixed_alloc(unsigned long int*, unsigned long int, unsigned long int, unsigned int, void*, gen_pool*, unsigned long int)' [A] 'function sector_t generic_block_bmap(address_space*, sector_t, get_block_t*)' [A] 'function int generic_cont_expand_simple(inode*, loff_t)' [A] 'function int generic_file_fsync(file*, loff_t, loff_t, int)' [A] 'function ssize_t generic_file_write_iter(kiocb*, iov_iter*)' [A] 'function void generic_fillattr(user_namespace*, inode*, kstat*)' [A] 'function int generic_key_instantiate(key*, key_preparsed_payload*)' [A] 'function int generic_write_end(file*, address_space*, loff_t, unsigned int, unsigned int, page*, void*)' [A] 'function void gf128mul_lle(be128*, const be128*)' [A] 'function bool gpiochip_line_is_irq(gpio_chip*, unsigned int)' [A] 'function int gpiod_get_direction(gpio_desc*)' [A] 'function gpio_chip* gpiod_to_chip(const gpio_desc*)' [A] 'function int gre_add_protocol(const gre_protocol*, u8)' [A] 'function int gre_del_protocol(const gre_protocol*, u8)' [A] 'function int hwspin_lock_register(hwspinlock_device*, device*, const hwspinlock_ops*, int, int)' [A] 'function int hwspin_lock_unregister(hwspinlock_device*)' [A] 'function s32 i2c_smbus_read_word_data(const i2c_client*, u8)' [A] 'function void icmp6_send(sk_buff*, u8, u8, __u32, const in6_addr*, const inet6_skb_parm*)' [A] 'function void* idr_replace(idr*, void*, unsigned long int)' [A] 'function void iget_failed(inode*)' [A] 'function irqreturn_t iio_pollfunc_store_time(int, void*)' [A] 'function iio_trigger* iio_trigger_alloc(device*, const char*, ...)' [A] 'function void iio_trigger_free(iio_trigger*)' [A] 'function void iio_trigger_poll(iio_trigger*)' [A] 'function void iio_trigger_unregister(iio_trigger*)' [A] 'function int iio_write_channel_attribute(iio_channel*, int, int, iio_chan_info_enum)' [A] 'function inode* ilookup(super_block*, unsigned long int)' [A] 'function int in4_pton(const char*, int, u8*, int, const char**)' [A] 'function void in6_dev_finish_destroy(inet6_dev*)' [A] 'function int in_group_p(kgid_t)' [A] 'function void inc_nlink(inode*)' [A] 'function unsigned int inet_dev_addr_type(net*, const net_device*, __be32)' [A] 'function int inet_diag_bc_sk(const nlattr*, sock*)' [A] 'function int inet_diag_register(const inet_diag_handler*)' [A] 'function void inet_diag_unregister(const inet_diag_handler*)' [A] 'function void inet_proto_csum_replace4(__sum16*, sk_buff*, __be32, __be32, bool)' [A] 'function __be32 inet_select_addr(const net_device*, __be32, int)' [A] 'function int inet_sk_diag_fill(sock*, inet_connection_sock*, sk_buff*, netlink_callback*, const inet_diag_req_v2*, u16, bool)' [A] 'function void init_special_inode(inode*, umode_t, dev_t)' [A] 'function void inode_nohighmem(inode*)' [A] 'function int input_ff_create_memless(input_dev*, void*, int (input_dev*, void*, ff_effect*)*)' [A] 'function int input_mt_get_slot_by_key(input_dev*, int)' [A] 'function int input_scancode_to_scalar(const input_keymap_entry*, unsigned int*)' [A] 'function u64 int_pow(u64, unsigned int)' [A] 'function void invalidate_inode_buffers(inode*)' [A] 'function int iommu_device_link(iommu_device*, device*)' [A] 'function void iommu_group_remove_device(device*)' [A] 'function int ip6_find_1stfragopt(sk_buff*, u8**)' [A] 'function int ip6_local_out(net*, sock*, sk_buff*)' [A] 'function void ip6_redirect(sk_buff*, net*, int, u32, kuid_t)' [A] 'function dst_entry* ip6_route_output_flags(net*, const sock*, flowi6*, int)' [A] 'function void ip6_update_pmtu(sk_buff*, net*, __be32, int, u32, kuid_t)' [A] 'function void* ip6t_alloc_initial_table(const xt_table*)' [A] 'function unsigned int ip6t_do_table(sk_buff*, const nf_hook_state*, xt_table*)' [A] 'function int ip6t_register_table(net*, const xt_table*, const ip6t_replace*, const nf_hook_ops*)' [A] 'function int ip_local_out(net*, sock*, sk_buff*)' [A] 'function rtable* ip_route_output_flow(net*, flowi4*, const sock*)' [A] 'function void ipcomp_destroy(xfrm_state*)' [A] 'function int ipcomp_init_state(xfrm_state*)' [A] 'function int ipcomp_input(xfrm_state*, sk_buff*)' [A] 'function int ipcomp_output(xfrm_state*, sk_buff*)' [A] 'function void ipv4_redirect(sk_buff*, net*, int, u8)' [A] 'function void ipv4_update_pmtu(sk_buff*, net*, u32, int, u8)' [A] 'function int ipv6_chk_addr(net*, const in6_addr*, const net_device*, int)' [A] 'function int ipv6_dev_get_saddr(net*, const net_device*, const in6_addr*, unsigned int, in6_addr*)' [A] 'function bool ipv6_ext_hdr(u8)' [A] 'function int ipv6_find_hdr(const sk_buff*, unsigned int*, int, unsigned short int*, int*)' [A] 'function __be32 ipv6_select_ident(net*, const in6_addr*, const in6_addr*)' [A] 'function int ir_raw_gen_manchester(ir_raw_event**, unsigned int, const ir_raw_timings_manchester*, unsigned int, u64)' [A] 'function int ir_raw_gen_pd(ir_raw_event**, unsigned int, const ir_raw_timings_pd*, unsigned int, u64)' [A] 'function int ir_raw_gen_pl(ir_raw_event**, unsigned int, const ir_raw_timings_pl*, unsigned int, u64)' [A] 'function int ir_raw_handler_register(ir_raw_handler*)' [A] 'function void ir_raw_handler_unregister(ir_raw_handler*)' [A] 'function int is_console_locked()' [A] 'function ino_t iunique(super_block*, ino_t)' [A] 'function void key_invalidate(key*)' [A] 'function void key_put(key*)' [A] 'function void key_revoke(key*)' [A] 'function int key_validate(const key*)' [A] 'function key* keyring_alloc(const char*, kuid_t, kgid_t, const cred*, key_perm_t, unsigned long int, key_restriction*, key*)' [A] 'function void kfree_skb_list(sk_buff*)' [A] 'function int kill_pid(pid*, int, int)' [A] 'function char* kobject_get_path(kobject*, gfp_t)' [A] 'function size_t ksize(void*)' [A] 'function bool kthread_freezable_should_stop(bool*)' [A] 'function u64 ktime_get_boot_fast_ns()' [A] 'function l2tp_session* l2tp_session_create(int, l2tp_tunnel*, u32, u32, l2tp_session_cfg*)' [A] 'function void l2tp_session_delete(l2tp_session*)' [A] 'function l2tp_session* l2tp_session_get_nth(l2tp_tunnel*, int)' [A] 'function int l2tp_session_register(l2tp_session*, l2tp_tunnel*)' [A] 'function void l2tp_session_set_header_len(l2tp_session*, int)' [A] 'function int l2tp_tunnel_create(int, int, u32, u32, l2tp_tunnel_cfg*, l2tp_tunnel**)' [A] 'function void l2tp_tunnel_delete(l2tp_tunnel*)' [A] 'function l2tp_tunnel* l2tp_tunnel_get(const net*, u32)' [A] 'function l2tp_tunnel* l2tp_tunnel_get_nth(const net*, int)' [A] 'function l2tp_session* l2tp_tunnel_get_session(l2tp_tunnel*, u32)' [A] 'function int l2tp_tunnel_register(l2tp_tunnel*, net*, l2tp_tunnel_cfg*)' [A] 'function int l2tp_udp_encap_recv(sock*, sk_buff*)' [A] 'function int l2tp_xmit_skb(l2tp_session*, sk_buff*)' [A] 'function u32* led_get_default_pattern(led_classdev*, unsigned int*)' [A] 'function int led_trigger_register(led_trigger*)' [A] 'function void led_trigger_register_simple(const char*, led_trigger**)' [A] 'function void led_trigger_unregister(led_trigger*)' [A] 'function void led_trigger_unregister_simple(led_trigger*)' [A] 'function int lzorle1x_1_compress(const unsigned char*, size_t, unsigned char*, size_t*, void*)' [A] 'function int match_octal(substring_t*, int*)' [A] 'function char* match_strdup(const substring_t*)' [A] 'function mbox_chan* mbox_request_channel_byname(mbox_client*, const char*)' [A] 'function void* mempool_alloc(mempool_t*, gfp_t)' [A] 'function void* mempool_alloc_slab(gfp_t, void*)' [A] 'function mempool_t* mempool_create(int, mempool_alloc_t*, mempool_free_t*, void*)' [A] 'function void mempool_destroy(mempool_t*)' [A] 'function void mempool_free(void*, mempool_t*)' [A] 'function void mempool_free_slab(void*, void*)' [A] 'function void* memset32(uint32_t*, uint32_t, size_t)' [A] 'function int mipi_dsi_set_maximum_return_packet_size(mipi_dsi_device*, u16)' [A] 'function int mpage_readpage(page*, get_block_t*)' [A] 'function int mpage_writepages(address_space*, writeback_control*, get_block_t*)' [A] 'function void* msi_desc_to_pci_sysdata(msi_desc*)' [A] 'function bool netlink_net_capable(const sk_buff*, int)' [A] 'function nf_conntrack_tuple_hash* nf_conntrack_find_get(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)' [A] 'function bool nf_ct_get_tuplepr(const sk_buff*, unsigned int, u_int16_t, net*, nf_conntrack_tuple*)' [A] 'function bool nf_ct_invert_tuple(nf_conntrack_tuple*, const nf_conntrack_tuple*)' [A] 'function const nf_conntrack_l4proto* nf_ct_l4proto_find(u8)' [A] 'function bool ns_capable(user_namespace*, int)' [A] 'function unsigned int of_clk_get_parent_count(const device_node*)' [A] 'function dma_chan* of_dma_simple_xlate(of_phandle_args*, of_dma*)' [A] 'function void* of_fdt_unflatten_tree(const unsigned long int*, device_node*, device_node**)' [A] 'function int of_genpd_add_subdomain(of_phandle_args*, of_phandle_args*)' [A] 'function int of_get_drm_display_mode(device_node*, drm_display_mode*, u32*, int)' [A] 'function int of_hwspin_lock_get_id_byname(device_node*, const char*)' [A] 'function int of_irq_to_resource(device_node*, int, resource*)' [A] 'function int of_modalias_node(device_node*, char*, int)' [A] 'function nvmem_cell* of_nvmem_cell_get(device_node*, const char*)' [A] 'function pwm_device* of_pwm_get(device*, device_node*, const char*)' [A] 'function reset_control* of_reset_control_array_get(device_node*, bool, bool, bool)' [A] 'function void orderly_poweroff(bool)' [A] 'function int out_of_line_wait_on_bit_lock(void*, int, wait_bit_action_f*, unsigned int)' [A] 'function const char* page_get_link(dentry*, inode*, delayed_call*)' [A] 'function void pci_assign_unassigned_bus_resources(pci_bus*)' [A] 'function bool pci_check_and_mask_intx(pci_dev*)' [A] 'function bool pci_check_and_unmask_intx(pci_dev*)' [A] 'function void pci_disable_msix(pci_dev*)' [A] 'function int pci_enable_msix_range(pci_dev*, msix_entry*, int, int)' [A] 'function void* pci_ioremap_wc_bar(pci_dev*, int)' [A] 'function void pci_lock_rescan_remove()' [A] 'function int pci_msi_vec_count(pci_dev*)' [A] 'function int pci_request_regions(pci_dev*, const char*)' [A] 'function int pci_reset_function(pci_dev*)' [A] 'function unsigned int pci_scan_child_bus(pci_bus*)' [A] 'function void pci_stop_and_remove_bus_device(pci_dev*)' [A] 'function void pci_unlock_rescan_remove()' [A] 'function int pcie_capability_read_dword(pci_dev*, int, u32*)' [A] 'function int phy_mii_ioctl(phy_device*, ifreq*, int)' [A] 'function pinctrl_dev* pinctrl_register(pinctrl_desc*, device*, void*)' [A] 'function int pinctrl_utils_add_map_mux(pinctrl_dev*, pinctrl_map**, unsigned int*, unsigned int*, const char*, const char*)' [A] 'function void pm_get_active_wakeup_sources(char*, size_t)' [A] 'function void pm_print_active_wakeup_sources()' [A] 'function posix_acl* posix_acl_from_xattr(user_namespace*, void*, size_t)' [A] 'function power_supply_battery_ocv_table* power_supply_find_ocv2cap_table(power_supply_battery_info*, int, int*)' [A] 'function int power_supply_get_battery_info(power_supply*, power_supply_battery_info*)' [A] 'function int power_supply_ocv2cap_simple(power_supply_battery_ocv_table*, int, int)' [A] 'function int power_supply_powers(power_supply*, device*)' [A] 'function void power_supply_put_battery_info(power_supply*, power_supply_battery_info*)' [A] 'function int power_supply_temp2resist_simple(power_supply_resistance_temp_table*, int, int)' [A] 'function int ppp_channel_index(ppp_channel*)' [A] 'function char* ppp_dev_name(ppp_channel*)' [A] 'function void ppp_input(ppp_channel*, sk_buff*)' [A] 'function void ppp_input_error(ppp_channel*, int)' [A] 'function void ppp_output_wakeup(ppp_channel*)' [A] 'function int ppp_register_channel(ppp_channel*)' [A] 'function int ppp_register_compressor(compressor*)' [A] 'function int ppp_register_net_channel(net*, ppp_channel*)' [A] 'function int ppp_unit_number(ppp_channel*)' [A] 'function void ppp_unregister_channel(ppp_channel*)' [A] 'function void ppp_unregister_compressor(compressor*)' [A] 'function int pppox_compat_ioctl(socket*, unsigned int, unsigned long int)' [A] 'function int pppox_ioctl(socket*, unsigned int, unsigned long int)' [A] 'function void pppox_unbind_sock(sock*)' [A] 'function cred* prepare_kernel_cred(task_struct*)' [A] 'function proc_dir_entry* proc_create_net_data(const char*, umode_t, proc_dir_entry*, const seq_operations*, unsigned int, void*)' [A] 'function proc_dir_entry* proc_create_seq_private(const char*, umode_t, proc_dir_entry*, const seq_operations*, unsigned int, void*)' [A] 'function int pskb_trim_rcsum_slow(sk_buff*, unsigned int)' [A] 'function void put_disk(gendisk*)' [A] 'function void put_pages_list(list_head*)' [A] 'function unsigned int radix_tree_gang_lookup(const xarray*, void**, unsigned long int, unsigned int)' [A] 'function int radix_tree_preload(gfp_t)' [A] 'function void rc_keydown(rc_dev*, rc_proto, u64, u8)' [A] 'function int rc_map_register(rc_map_list*)' [A] 'function void rc_map_unregister(rc_map_list*)' [A] 'function void rc_repeat(rc_dev*)' [A] 'function page* read_cache_page_gfp(address_space*, unsigned long int, gfp_t)' [A] 'function int register_key_type(key_type*)' [A] 'function ctl_table_header* register_net_sysctl(net*, const char*, ctl_table*)' [A] 'function int register_pppox_proto(int, const pppox_proto*)' [A] 'function int register_tcf_proto_ops(tcf_proto_ops*)' [A] 'function int regmap_get_reg_stride(regmap*)' [A] 'function unsigned int regulator_get_linear_step(regulator*)' [A] 'function key* request_key_tag(key_type*, const char*, key_tag*, const char*)' [A] 'function void reset_control_put(reset_control*)' [A] 'function rt6_info* rt6_lookup(net*, const in6_addr*, const in6_addr*, int, const sk_buff*, int)' [A] 'function int scsi_add_host_with_dma(Scsi_Host*, device*, device*)' [A] 'function void scsi_eh_prep_cmnd(scsi_cmnd*, scsi_eh_save*, unsigned char*, int, unsigned int)' [A] 'function void scsi_eh_restore_cmnd(scsi_cmnd*, scsi_eh_save*)' [A] 'function scsi_device* scsi_get_host_dev(Scsi_Host*)' [A] 'function Scsi_Host* scsi_host_alloc(scsi_host_template*, int)' [A] 'function void scsi_host_put(Scsi_Host*)' [A] 'function int scsi_is_host_device(const device*)' [A] 'function void scsi_remove_host(Scsi_Host*)' [A] 'function void scsi_report_bus_reset(Scsi_Host*, int)' [A] 'function void scsi_report_device_reset(Scsi_Host*, int, int)' [A] 'function void scsi_scan_host(Scsi_Host*)' [A] 'function const u8* scsi_sense_desc_find(const u8*, int, int)' [A] 'function int scsi_test_unit_ready(scsi_device*, int, int, scsi_sense_hdr*)' [A] 'function void sdhci_enable_v4_mode(sdhci_host*)' [A] 'function void sdhci_request(mmc_host*, mmc_request*)' [A] 'function int sdhci_request_atomic(mmc_host*, mmc_request*)' [A] 'function int sdhci_runtime_resume_host(sdhci_host*, int)' [A] 'function int sdhci_runtime_suspend_host(sdhci_host*)' [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 u16 sdio_readw(sdio_func*, unsigned int, int*)' [A] 'function void sdio_writew(sdio_func*, u16, unsigned int, int*)' [A] 'function void security_sk_classify_flow(sock*, flowi_common*)' [A] 'function void seq_vprintf(seq_file*, const char*, va_list)' [A] 'function int set_blocksize(block_device*, int)' [A] 'function void setattr_copy(user_namespace*, inode*, const iattr*)' [A] 'function int setattr_prepare(user_namespace*, dentry*, iattr*)' [A] 'function bool sg_miter_skip(sg_mapping_iter*, off_t)' [A] 'function int sg_nents_for_len(scatterlist*, u64)' [A] 'function const char* simple_get_link(dentry*, inode*, delayed_call*)' [A] 'function void sk_setup_caps(sock*, dst_entry*)' [A] 'function int skb_checksum_help(sk_buff*)' [A] 'function int skb_cow_data(sk_buff*, int, sk_buff**)' [A] 'function int skb_ensure_writable(sk_buff*, int)' [A] 'function void skb_scrub_packet(sk_buff*, bool)' [A] 'function int skb_to_sgvec_nomark(sk_buff*, scatterlist*, int, int)' [A] 'function int slhc_compress(slcompress*, unsigned char*, int, unsigned char*, unsigned char**, int)' [A] 'function void slhc_free(slcompress*)' [A] 'function slcompress* slhc_init(int, int)' [A] 'function int slhc_remember(slcompress*, unsigned char*, int)' [A] 'function int slhc_toss(slcompress*)' [A] 'function int slhc_uncompress(slcompress*, unsigned char*, int)' [A] 'function int smpboot_register_percpu_thread(smp_hotplug_thread*)' [A] 'function void snd_info_free_entry(snd_info_entry*)' [A] 'function int snd_info_register(snd_info_entry*)' [A] 'function int snd_pcm_hw_constraint_mask64(snd_pcm_runtime*, snd_pcm_hw_param_t, u_int64_t)' [A] 'function unsigned int snd_pcm_rate_bit_to_rate(unsigned int)' [A] 'function unsigned int snd_pcm_rate_to_rate_bit(unsigned int)' [A] 'function int snd_soc_of_parse_audio_simple_widgets(snd_soc_card*, const char*)' [A] 'function int snd_soc_of_parse_tdm_slot(device_node*, unsigned int*, unsigned int*, unsigned int*, unsigned int*)' [A] 'function int sock_diag_destroy(sock*, int)' [A] 'function sk_buff* sock_wmalloc(sock*, unsigned long int, int, gfp_t)' [A] 'function void start_tty(tty_struct*)' [A] 'function void stop_tty(tty_struct*)' [A] 'function int submit_bio_wait(bio*)' [A] 'function int sync_blockdev(block_device*)' [A] 'function int sync_mapping_buffers(address_space*)' [A] 'function regmap* syscon_regmap_lookup_by_phandle_args(device_node*, const char*, int, unsigned int*)' [A] 'function int tcf_action_exec(sk_buff*, tc_action**, int, tcf_result*)' [A] 'function void tcf_exts_destroy(tcf_exts*)' [A] 'function int tcf_exts_dump(sk_buff*, tcf_exts*)' [A] 'function int tcf_exts_dump_stats(sk_buff*, tcf_exts*)' [A] 'function int tcf_exts_validate(net*, tcf_proto*, nlattr**, nlattr*, tcf_exts*, u32, netlink_ext_ack*)' [A] 'function bool tcf_queue_work(rcu_work*, work_func_t)' [A] 'function tcpm_port* tcpm_register_port(device*, tcpc_dev*)' [A] 'function void tcpm_unregister_port(tcpm_port*)' [A] 'function void touch_buffer(buffer_head*)' [A] 'function int trace_define_field(trace_event_call*, const char*, const char*, int, int, int, int)' [A] 'function int trace_set_clr_event(const char*, const char*, int)' [A] 'function void truncate_inode_pages(address_space*, loff_t)' [A] 'function void truncate_pagecache(inode*, loff_t)' [A] 'function void truncate_setsize(inode*, loff_t)' [A] 'function void tty_ldisc_deref(tty_ldisc*)' [A] 'function tty_ldisc* tty_ldisc_ref(tty_struct*)' [A] 'function void tty_port_close(tty_port*, tty_struct*, file*)' [A] 'function void tty_port_destroy(tty_port*)' [A] 'function void tty_port_hangup(tty_port*)' [A] 'function void tty_port_init(tty_port*)' [A] 'function void tty_port_link_device(tty_port*, tty_driver*, unsigned int)' [A] 'function int tty_port_open(tty_port*, tty_struct*, file*)' [A] 'function void tty_port_put(tty_port*)' [A] 'function device* tty_port_register_device(tty_port*, tty_driver*, unsigned int, device*)' [A] 'function void tty_port_tty_hangup(tty_port*, bool)' [A] 'function void tty_port_tty_wakeup(tty_port*)' [A] 'function int tty_register_driver(tty_driver*)' [A] 'function void tty_schedule_flip(tty_port*)' [A] 'function int tty_standard_install(tty_driver*, tty_struct*)' [A] 'function void tty_termios_copy_hw(ktermios*, ktermios*)' [A] 'function void tty_unregister_device(tty_driver*, unsigned int)' [A] 'function void tty_unregister_driver(tty_driver*)' [A] 'function void tty_unthrottle(tty_struct*)' [A] 'function void tty_vhangup(tty_struct*)' [A] 'function void typec_altmode_attention(typec_altmode*, u32)' [A] 'function int typec_altmode_notify(typec_altmode*, unsigned long int, void*)' [A] 'function void typec_altmode_update_active(typec_altmode*, bool)' [A] 'function int typec_altmode_vdm(typec_altmode*, const u32, const u32*, int)' [A] 'function int typec_find_power_role(const char*)' [A] 'function typec_altmode* typec_match_altmode(typec_altmode**, size_t, u16, u8)' [A] 'function typec_altmode* typec_partner_register_altmode(typec_partner*, const typec_altmode_desc*)' [A] 'function typec_altmode* typec_port_register_altmode(typec_port*, const typec_altmode_desc*)' [A] 'function int typec_set_mode(typec_port*, int)' [A] 'function void typec_unregister_altmode(typec_altmode*)' [A] 'function int ufshcd_config_pwr_mode(ufs_hba*, ufs_pa_layer_attr*)' [A] 'function void unregister_key_type(key_type*)' [A] 'function void unregister_pppox_proto(int)' [A] 'function int unregister_tcf_proto_ops(tcf_proto_ops*)' [A] 'function int usb_autopm_get_interface_async(usb_interface*)' [A] 'function void usb_autopm_get_interface_no_resume(usb_interface*)' [A] 'function void usb_autopm_put_interface_async(usb_interface*)' [A] 'function void usb_autopm_put_interface_no_suspend(usb_interface*)' [A] 'function int usb_clear_halt(usb_device*, int)' [A] 'function int usb_find_common_endpoints(usb_host_interface*, usb_endpoint_descriptor**, usb_endpoint_descriptor**, usb_endpoint_descriptor**, usb_endpoint_descriptor**)' [A] 'function int usb_gadget_map_request_by_dev(device*, usb_request*, int)' [A] 'function usb_interface* usb_get_intf(usb_interface*)' [A] 'function int usb_hcd_map_urb_for_dma(usb_hcd*, urb*, gfp_t)' [A] 'function void usb_hcd_unmap_urb_for_dma(usb_hcd*, urb*)' [A] 'function int usb_lock_device_for_reset(usb_device*, const usb_interface*)' [A] 'function int usb_match_one_id(usb_interface*, const usb_device_id*)' [A] 'function void usb_phy_get_charger_current(usb_phy*, unsigned int*, unsigned int*)' [A] 'function void usb_phy_set_charger_state(usb_phy*, usb_charger_state)' [A] 'function void usb_poison_urb(urb*)' [A] 'function void usb_put_intf(usb_interface*)' [A] 'function int usb_reset_device(usb_device*)' [A] 'function void usb_sg_cancel(usb_sg_request*)' [A] 'function int usb_sg_init(usb_sg_request*, usb_device*, unsigned int, unsigned int, scatterlist*, int, size_t, gfp_t)' [A] 'function void usb_sg_wait(usb_sg_request*)' [A] 'function ssize_t usb_show_dynids(usb_dynids*, char*)' [A] 'function ssize_t usb_store_new_id(usb_dynids*, const usb_device_id*, device_driver*, const char*, size_t)' [A] 'function int usb_unlink_urb(urb*)' [A] 'function void usb_unpoison_urb(urb*)' [A] 'function void user_destroy(key*)' [A] 'function long int user_read(const key*, char*, size_t)' [A] 'function void user_revoke(key*)' [A] 'function int utf16s_to_utf8s(const wchar_t*, int, utf16_endian, u8*, int)' [A] 'function int utf8s_to_utf16s(const u8*, int, utf16_endian, wchar_t*, int)' [A] 'function int vm_insert_page(vm_area_struct*, unsigned long int, page*)' [A] 'function void vm_unmap_aliases()' [A] 'function vm_fault_t vmf_insert_pfn(vm_area_struct*, unsigned long int, unsigned long int)' [A] 'function int vsscanf(const char*, const char*, va_list)' [A] 'function int write_inode_now(inode*, int)' [A] 'function int xfrm4_protocol_deregister(xfrm4_protocol*, unsigned char)' [A] 'function int xfrm4_protocol_register(xfrm4_protocol*, unsigned char)' [A] 'function int xfrm4_rcv(sk_buff*)' [A] 'function int xfrm4_tunnel_deregister(xfrm_tunnel*, unsigned short int)' [A] 'function int xfrm4_tunnel_register(xfrm_tunnel*, unsigned short int)' [A] 'function int xfrm6_protocol_deregister(xfrm6_protocol*, unsigned char)' [A] 'function int xfrm6_protocol_register(xfrm6_protocol*, unsigned char)' [A] 'function int xfrm6_rcv(sk_buff*)' [A] 'function xfrm_algo_desc* xfrm_aalg_get_byname(const char*, int)' [A] 'function int xfrm_init_state(xfrm_state*)' [A] 'function int xfrm_input(sk_buff*, int, __be32, int)' [A] 'function int xfrm_input_resume(sk_buff*, int)' [A] 'function dst_entry* xfrm_lookup(net*, dst_entry*, const flowi*, const sock*, int)' [A] 'function int xfrm_output_resume(sk_buff*, int)' [A] 'function int xfrm_register_type(const xfrm_type*, unsigned short int)' [A] 'function xfrm_state_afinfo* xfrm_state_afinfo_get_rcu(unsigned int)' [A] 'function xfrm_state* xfrm_state_alloc(net*)' [A] 'function void xfrm_state_insert(xfrm_state*)' [A] 'function xfrm_state* xfrm_state_lookup(net*, u32, const xfrm_address_t*, __be32, u8, unsigned short int)' [A] 'function void xfrm_unregister_type(const xfrm_type*, unsigned short int)' [A] 'function nf_hook_ops* xt_hook_ops_alloc(const xt_table*, nf_hookfn*)' [A] 'function int xt_register_match(xt_match*)' [A] 'function int xt_register_matches(xt_match*, unsigned int)' [A] 'function int xt_register_target(xt_target*)' [A] 'function int xt_register_targets(xt_target*, unsigned int)' [A] 'function void xt_unregister_match(xt_match*)' [A] 'function void xt_unregister_matches(xt_match*, unsigned int)' [A] 'function void xt_unregister_target(xt_target*)' [A] 'function void xt_unregister_targets(xt_target*, unsigned int)' [A] 'function int zlib_inflate(z_streamp, int)' [A] 'function int zlib_inflateEnd(z_streamp)' [A] 'function int zlib_inflateIncomp(z_stream*)' [A] 'function int zlib_inflateInit2(z_streamp, int)' [A] 'function int zlib_inflateReset(z_streamp)' 11 Added variables: [A] 'tracepoint __tracepoint_android_rvh_tk_based_time_sync' [A] 'const u16 crc_ccitt_table[256]' [A] 'const file_operations generic_ro_fops' [A] 'atomic_t ignore_console_lock_warning' [A] 'user_namespace init_user_ns' [A] 'const xattr_handler posix_acl_access_xattr_handler' [A] 'const xattr_handler posix_acl_default_xattr_handler' [A] 'raw_hashinfo raw_v4_hashinfo' [A] 'raw_hashinfo raw_v6_hashinfo' [A] 'ktermios tty_std_termios' [A] 'static_key xt_tee_enabled' 3 Added variable symbols not referenced by debug info: [A] crypto_aes_inv_sbox [A] crypto_aes_sbox [A] fb_mode_option Bug: 227282653 Change-Id: I5051006793cfc9f1d6266c0554018f8976118f2d Signed-off-by: Jian Gong <Jian.Gong@unisoc.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
scripts/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%