Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8874c961 authored by John Stultz's avatar John Stultz
Browse files

ANDROID: ABI/Whitelist: update for hikey960



This adds a whitelist for the symbols used by the hikey960
device, adds the list to the build.config.gki.aarch64 file,
and updates the abi_gki_aarch64.xml file with build_abi.sh

Leaf changes summary: 464 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 464 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

464 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 int __close_fd(files_struct*, unsigned int)'
  [A] 'function dma_chan* __dma_request_channel(const dma_cap_mask_t*, dma_filter_fn, void*, device_node*)'
  [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 __ion_device_add_heap(ion_heap*, module*)'
  [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 void __module_put_and_exit(module*, long int)'
  [A] 'function sock* __netlink_kernel_create(net*, int, module*, netlink_kernel_cfg*)'
  [A] 'function int __register_chrdev(unsigned int, unsigned int, unsigned int, const char*, const file_operations*)'
  [A] 'function void __serio_register_port(serio*, module*)'
  [A] 'function void __unregister_chrdev(unsigned int, unsigned int, unsigned int, const char*)'
  [A] 'function void _dev_crit(const device*, const char*, ...)'
  [A] 'function void add_wait_queue_exclusive(wait_queue_head*, wait_queue_entry*)'
  [A] 'function int amba_driver_register(amba_driver*)'
  [A] 'function void amba_driver_unregister(amba_driver*)'
  [A] 'function void amba_release_regions(amba_device*)'
  [A] 'function int amba_request_regions(amba_device*, const char*)'
  [A] 'function int anon_inode_getfd(const char*, const file_operations*, void*, int)'
  [A] 'function void arch_set_freq_scale(cpumask*, unsigned long int, unsigned long int)'
  [A] 'function async_cookie_t async_schedule_node(async_func_t, void*, int)'
  [A] 'function void baswap(bdaddr_t*, const bdaddr_t*)'
  [A] 'function char* bin2hex(char*, void*, unsigned long int)'
  [A] 'function int bio_add_page(bio*, page*, unsigned int, unsigned int)'
  [A] 'function void bio_associate_blkg(bio*)'
  [A] 'function void bio_endio(bio*)'
  [A] 'function void bio_init(bio*, bio_vec*, unsigned short int)'
  [A] 'function void bio_put(bio*)'
  [A] 'function void blk_execute_rq_nowait(request_queue*, gendisk*, request*, int, rq_end_io_fn*)'
  [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 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_pci_map_queues(blk_mq_queue_map*, pci_dev*, int)'
  [A] 'function int blk_mq_request_completed(request*)'
  [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 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_flag_clear(unsigned int, request_queue*)'
  [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 int blk_rq_map_user(request_queue*, request*, rq_map_data*, void*, unsigned long int, gfp_t)'
  [A] 'function int blk_rq_unmap_user(bio*)'
  [A] 'function void blk_set_queue_dying(request_queue*)'
  [A] 'function void blk_sync_queue(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, long long unsigned int*)'
  [A] 'function void blkdev_put(block_device*, unsigned int)'
  [A] 'function sock* bt_accept_dequeue(sock*, socket*)'
  [A] 'function void bt_accept_enqueue(sock*, sock*, bool)'
  [A] 'function void bt_accept_unlink(sock*)'
  [A] 'function void bt_procfs_cleanup(net*, const char*)'
  [A] 'function int bt_procfs_init(net*, const char*, bt_sock_list*, void ()*)'
  [A] 'function int bt_sock_ioctl(socket*, unsigned int, unsigned long int)'
  [A] 'function void bt_sock_link(bt_sock_list*, sock*)'
  [A] 'function __poll_t bt_sock_poll(file*, socket*, poll_table*)'
  [A] 'function void bt_sock_reclassify_lock(sock*, int)'
  [A] 'function int bt_sock_register(int, const net_proto_family*)'
  [A] 'function int bt_sock_stream_recvmsg(socket*, msghdr*, size_t, int)'
  [A] 'function void bt_sock_unlink(bt_sock_list*, sock*)'
  [A] 'function void bt_sock_unregister(int)'
  [A] 'function int bt_sock_wait_ready(sock*, unsigned long int)'
  [A] 'function int bt_sock_wait_state(sock*, int, unsigned long int)'
  [A] 'function void bt_warn(const char*, ...)'
  [A] 'function int bus_register_notifier(bus_type*, notifier_block*)'
  [A] 'function int bus_unregister_notifier(bus_type*, notifier_block*)'
  [A] 'function const element* cfg80211_find_elem_match(unsigned char, const unsigned char*, unsigned int, const unsigned char*, unsigned int, unsigned int)'
  [A] 'function const element* cfg80211_find_vendor_elem(unsigned int, int, const u8*, unsigned int)'
  [A] 'function int check_disk_change(block_device*)'
  [A] 'function void cleanup_srcu_struct(srcu_struct*)'
  [A] 'function page* cma_alloc(cma*, unsigned long int, unsigned int, bool)'
  [A] 'function int cma_for_each_area(void ()*, void*)'
  [A] 'function const char* cma_get_name(const cma*)'
  [A] 'function bool cma_release(cma*, const page*, unsigned int)'
  [A] 'function bool completion_done(completion*)'
  [A] 'function int cpufreq_enable_boost_support()'
  [A] 'function int cpufreq_generic_frequency_table_verify(cpufreq_policy_data*)'
  [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 void dev_pm_clear_wake_irq(device*)'
  [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 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 void dev_pm_opp_of_cpumask_remove_table(const cpumask*)'
  [A] 'function int dev_pm_opp_of_get_sharing_cpus(device*, cpumask*)'
  [A] 'function void dev_pm_opp_of_register_em(cpumask*)'
  [A] 'function void dev_pm_opp_put_regulators(opp_table*)'
  [A] 'function int dev_pm_opp_set_rate(device*, unsigned long int)'
  [A] 'function opp_table* dev_pm_opp_set_regulators(device*, const char* const*, unsigned int)'
  [A] 'function int dev_pm_opp_set_sharing_cpus(device*, const cpumask*)'
  [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 int dev_pm_set_dedicated_wake_irq(device*, int)'
  [A] 'function devfreq* devfreq_add_device(device*, devfreq_dev_profile*, const char*, void*)'
  [A] 'function int devfreq_remove_device(devfreq*)'
  [A] 'function int device_create_bin_file(device*, const bin_attribute*)'
  [A] 'function int device_move(device*, device*, dpm_order)'
  [A] 'function int device_property_read_string_array(device*, const char*, const char**, size_t)'
  [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_kasprintf(device*, unsigned int, const char*, ...)'
  [A] 'function char* devm_kvasprintf(device*, gfp_t, const char*, va_list)'
  [A] 'function int devm_mbox_controller_register(device*, mbox_controller*)'
  [A] 'function int devm_snd_dmaengine_pcm_register(device*, const snd_dmaengine_pcm_config*, unsigned int)'
  [A] 'function thermal_zone_device* devm_thermal_zone_of_sensor_register(device*, int, void*, const thermal_zone_of_device_ops*)'
  [A] 'function usb_phy* devm_usb_get_phy(device*, usb_phy_type)'
  [A] 'function usb_phy* devm_usb_get_phy_by_phandle(device*, const char*, u8)'
  [A] 'function void dma_direct_sync_sg_for_cpu(device*, scatterlist*, int, dma_data_direction)'
  [A] 'function int dma_fence_get_status(dma_fence*)'
  [A] 'function bool dma_fence_remove_callback(dma_fence*, dma_fence_cb*)'
  [A] 'function unsigned long int dma_get_merge_boundary(device*)'
  [A] 'function dma_chan* dma_get_slave_channel(dma_chan*)'
  [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 drm_crtc_state* drm_atomic_get_crtc_state(drm_atomic_state*, drm_crtc*)'
  [A] 'function void drm_connector_list_iter_begin(drm_device*, drm_connector_list_iter*)'
  [A] 'function void drm_connector_list_iter_end(drm_connector_list_iter*)'
  [A] 'function drm_connector* drm_connector_list_iter_next(drm_connector_list_iter*)'
  [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 dma_buf* drm_gem_prime_export(drm_gem_object*, int)'
  [A] 'function void drm_mode_copy(drm_display_mode*, const drm_display_mode*)'
  [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 int fasync_helper(int, file*, int, fasync_struct**)'
  [A] 'function device* get_cpu_device(unsigned int)'
  [A] 'function unsigned int get_next_ino()'
  [A] 'function unsigned int get_random_u32()'
  [A] 'function int get_tree_single(fs_context*, void ()*)'
  [A] 'function long int get_user_pages(unsigned long int, unsigned long int, unsigned int, page**, vm_area_struct**)'
  [A] 'function int get_user_pages_fast(unsigned long int, int, unsigned int, page**)'
  [A] 'function long int get_user_pages_remote(task_struct*, mm_struct*, unsigned long int, unsigned long int, unsigned int, page**, vm_area_struct**, int*)'
  [A] 'function unsigned long int get_zeroed_page(unsigned int)'
  [A] 'function int hci_conn_check_secure(hci_conn*, __u8)'
  [A] 'function int hci_conn_security(hci_conn*, __u8, __u8, bool)'
  [A] 'function int hci_conn_switch_role(hci_conn*, __u8)'
  [A] 'function hci_dev* hci_get_route(bdaddr_t*, bdaddr_t*, uint8_t)'
  [A] 'function int hci_register_cb(hci_cb*)'
  [A] 'function int hci_unregister_cb(hci_cb*)'
  [A] 'function int hdmi_avi_infoframe_init(hdmi_avi_infoframe*)'
  [A] 'function ssize_t hdmi_avi_infoframe_pack(hdmi_avi_infoframe*, void*, size_t)'
  [A] 'function int hex_to_bin(char)'
  [A] 'function int hid_add_device(hid_device*)'
  [A] 'function hid_device* hid_allocate_device()'
  [A] 'function void hid_destroy_device(hid_device*)'
  [A] 'function bool hid_ignore(hid_device*)'
  [A] 'function int hid_input_report(hid_device*, int, unsigned char*, unsigned int, int)'
  [A] 'function int hid_parse_report(hid_device*, unsigned char*, unsigned int)'
  [A] 'function int i2c_for_each_dev(void*, void ()*)'
  [A] 'function int i2c_generic_scl_recovery(i2c_adapter*)'
  [A] 'function i2c_adapter* i2c_get_adapter(int)'
  [A] 'function i2c_client* i2c_new_ancillary_device(i2c_client*, const char*, u16)'
  [A] 'function void i2c_parse_fw_timings(device*, i2c_timings*, bool)'
  [A] 'function void i2c_put_adapter(i2c_adapter*)'
  [A] 'function int i2c_recover_bus(i2c_adapter*)'
  [A] 'function int i2c_smbus_read_word_data(const i2c_client*, unsigned char)'
  [A] 'function int i2c_smbus_xfer(i2c_adapter*, unsigned short int, unsigned short int, char, unsigned char, int, i2c_smbus_data*)'
  [A] 'function int i2c_transfer_buffer_flags(const i2c_client*, char*, int, unsigned short int)'
  [A] 'function void i2c_unregister_device(i2c_client*)'
  [A] 'function i2c_client* i2c_verify_client(device*)'
  [A] 'function ieee80211_hw* ieee80211_alloc_hw_nm(size_t, const ieee80211_ops*, const char*)'
  [A] 'function sk_buff* ieee80211_ap_probereq_get(ieee80211_hw*, ieee80211_vif*)'
  [A] 'function sk_buff* ieee80211_beacon_get_tim(ieee80211_hw*, ieee80211_vif*, u16*, u16*)'
  [A] 'function void ieee80211_chswitch_done(ieee80211_vif*, bool)'
  [A] 'function void ieee80211_connection_loss(ieee80211_vif*)'
  [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 void ieee80211_csa_finish(ieee80211_vif*)'
  [A] 'function ieee80211_sta* ieee80211_find_sta(ieee80211_vif*, const u8*)'
  [A] 'function void ieee80211_free_hw(ieee80211_hw*)'
  [A] 'function void ieee80211_free_txskb(ieee80211_hw*, sk_buff*)'
  [A] 'function unsigned int ieee80211_get_hdrlen_from_skb(const sk_buff*)'
  [A] 'function unsigned int ieee80211_hdrlen(__le16)'
  [A] 'function void ieee80211_iterate_active_interfaces_atomic(ieee80211_hw*, u32, void ()*, void*)'
  [A] 'function void ieee80211_iterate_interfaces(ieee80211_hw*, u32, void ()*, void*)'
  [A] 'function sk_buff* ieee80211_nullfunc_get(ieee80211_hw*, ieee80211_vif*, bool)'
  [A] 'function sk_buff* ieee80211_probereq_get(ieee80211_hw*, const u8*, const u8*, size_t, size_t)'
  [A] 'function sk_buff* ieee80211_proberesp_get(ieee80211_hw*, ieee80211_vif*)'
  [A] 'function sk_buff* ieee80211_pspoll_get(ieee80211_hw*, ieee80211_vif*)'
  [A] 'function void ieee80211_queue_delayed_work(ieee80211_hw*, delayed_work*, unsigned long int)'
  [A] 'function void ieee80211_queue_work(ieee80211_hw*, work_struct*)'
  [A] 'function void ieee80211_radar_detected(ieee80211_hw*)'
  [A] 'function void ieee80211_ready_on_channel(ieee80211_hw*)'
  [A] 'function int ieee80211_register_hw(ieee80211_hw*)'
  [A] 'function void ieee80211_remain_on_channel_expired(ieee80211_hw*)'
  [A] 'function void ieee80211_report_low_ack(ieee80211_sta*, u32)'
  [A] 'function void ieee80211_restart_hw(ieee80211_hw*)'
  [A] 'function void ieee80211_rx_napi(ieee80211_hw*, ieee80211_sta*, sk_buff*, napi_struct*)'
  [A] 'function void ieee80211_scan_completed(ieee80211_hw*, cfg80211_scan_info*)'
  [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_queue(ieee80211_hw*, int)'
  [A] 'function void ieee80211_stop_queues(ieee80211_hw*)'
  [A] 'function void ieee80211_stop_rx_ba_session(ieee80211_vif*, u16, const u8*)'
  [A] 'function void ieee80211_tx_status(ieee80211_hw*, sk_buff*)'
  [A] 'function void ieee80211_unregister_hw(ieee80211_hw*)'
  [A] 'function void ieee80211_wake_queue(ieee80211_hw*, int)'
  [A] 'function void ieee80211_wake_queues(ieee80211_hw*)'
  [A] 'function int init_srcu_struct(srcu_struct*)'
  [A] 'function void ion_buffer_prep_noncached(ion_buffer*)'
  [A] 'function void ion_device_remove_heap(ion_heap*)'
  [A] 'function void iov_iter_bvec(iov_iter*, unsigned int, const bio_vec*, unsigned long int, unsigned long int)'
  [A] 'function int kernel_accept(socket*, socket**, int)'
  [A] 'function int kernel_bind(socket*, sockaddr*, int)'
  [A] 'function int kernel_connect(socket*, sockaddr*, int, int)'
  [A] 'function int kernel_listen(socket*, int)'
  [A] 'function int kernel_sendmsg(socket*, msghdr*, kvec*, size_t, size_t)'
  [A] 'function void kill_fasync(fasync_struct**, int, int)'
  [A] 'function void kill_litter_super(super_block*)'
  [A] 'function void kiocb_set_cancel_fn(kiocb*, kiocb_cancel_fn*)'
  [A] 'function int kobject_set_name(kobject*, const char*, ...)'
  [A] 'function char* kstrndup(const char*, unsigned long int, unsigned int)'
  [A] 'function int kstrtou16(const char*, unsigned int, unsigned short int*)'
  [A] 'function ktime_t ktime_add_safe(const ktime_t, const ktime_t)'
  [A] 'function l2cap_conn* l2cap_conn_get(l2cap_conn*)'
  [A] 'function void l2cap_conn_put(l2cap_conn*)'
  [A] 'function bool l2cap_is_socket(socket*)'
  [A] 'function int l2cap_register_user(l2cap_conn*, l2cap_user*)'
  [A] 'function void l2cap_unregister_user(l2cap_conn*, l2cap_user*)'
  [A] 'function void list_sort(void*, list_head*, void ()*)'
  [A] 'function void* memchr_inv(void*, int, size_t)'
  [A] 'function mempool_s* mempool_create_node(int, void ()*, void ()*, void*, unsigned int, int)'
  [A] 'function void mempool_kfree(void*, void*)'
  [A] 'function void* mempool_kmalloc(gfp_t, void*)'
  [A] 'function void* memscan(void*, int, size_t)'
  [A] 'function void mfd_remove_devices(device*)'
  [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_sanitize(mmc_card*)'
  [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 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_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, bool*)'
  [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, bool*)'
  [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 int mmc_regulator_get_supply(mmc_host*)'
  [A] 'function int mmc_regulator_set_ocr(mmc_host*, regulator*, unsigned short int)'
  [A] 'function void mmc_release_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_send_status(mmc_card*, unsigned int*)'
  [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 unsigned long int msleep_interruptible(unsigned int)'
  [A] 'function int netlink_broadcast(sock*, sk_buff*, unsigned int, unsigned int, unsigned int)'
  [A] 'function int netlink_has_listeners(sock*, unsigned int)'
  [A] 'function void netlink_kernel_release(sock*)'
  [A] 'function inode* new_inode(super_block*)'
  [A] 'function bool of_device_is_big_endian(const device_node*)'
  [A] 'function int of_property_read_u64(const device_node*, const char*, long long unsigned int*)'
  [A] 'function int of_thermal_get_ntrips(thermal_zone_device*)'
  [A] 'function const thermal_trip* of_thermal_get_trip_points(thermal_zone_device*)'
  [A] 'function int param_get_int(char*, const kernel_param*)'
  [A] 'function int param_set_int(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_load_saved_state(pci_dev*, pci_saved_state*)'
  [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 bool pcie_aspm_enabled(pci_dev*)'
  [A] 'function void percpu_ref_exit(percpu_ref*)'
  [A] 'function int percpu_ref_init(percpu_ref*, void ()*, unsigned int, unsigned int)'
  [A] 'function void percpu_ref_kill_and_confirm(percpu_ref*, void ()*)'
  [A] 'function int pinctrl_pm_select_idle_state(device*)'
  [A] 'function void pinctrl_put(pinctrl*)'
  [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*, void ()*, void*)'
  [A] 'function void** radix_tree_next_chunk(const xarray*, radix_tree_iter*, unsigned int)'
  [A] 'function void rb_erase(rb_node*, rb_root*)'
  [A] 'function rb_node* rb_first(const rb_root*)'
  [A] 'function void rb_insert_color(rb_node*, rb_root*)'
  [A] 'function rb_node* rb_next(const rb_node*)'
  [A] 'function rb_node* rb_prev(const rb_node*)'
  [A] 'function void rb_replace_node(rb_node*, rb_node*, rb_root*)'
  [A] 'function void regcache_mark_dirty(regmap*)'
  [A] 'function int regcache_sync(regmap*)'
  [A] 'fution int register_chrdev_region(dev_t, unsigned int, const char*)'
  [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 int regmap_raw_read(regmap*, unsigned int, void*, size_t)'
  [A] 'function int regmap_raw_write(regmap*, unsigned int, void*, size_t)'
  [A] 'function int regmap_register_patch(regmap*, const reg_sequence*, int)'
  [A] 'function regulator* regulator_get_optional(device*, const char*)'
  [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 remap_vmalloc_range(vm_area_struct*, void*, unsigned long int)'
  [A] 'function rfkill_type rfkill_find_type(const char*)'
  [A] 'function int rtc_year_days(unsigned int, unsigned int, unsigned int)'
  [A] 'function int sdio_claim_irq(sdio_func*, sdio_irq_handler_t*)'
  [A] 'function int sdio_disable_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_release_irq(sdio_func*)'
  [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 security_sk_clone(const sock*, sock*)'
  [A] 'function int serdev_device_get_tiocm(serdev_device*)'
  [A] 'function void serial8250_clear_and_reinit_fifos(uart_8250_port*)'
  [A] 'function void serial8250_do_pm(uart_port*, unsigned int, unsigned int)'
  [A] 'function void serial8250_do_set_ldisc(uart_port*, ktermios*)'
  [A] 'function void serial8250_do_set_termios(uart_port*, ktermios*, ktermios*)'
  [A] 'function int serial8250_handle_irq(uart_port*, unsigned int)'
  [A] 'function int serial8250_register_8250_port(uart_8250_port*)'
  [A] 'function void serial8250_resume_port(int)'
  [A] 'function void serial8250_suspend_port(int)'
  [A] 'function void serial8250_unregister_port(int)'
  [A] 'function irqreturn 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 int sg_alloc_table(sg_table*, unsigned int, unsigned int)'
  [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 void skb_queue_head(sk_buff_head*, sk_buff*)'
  [A] 'function int snd_dmaengine_pcm_prepare_slave_config(snd_pcm_substream*, snd_pcm_hw_params*, dma_slave_config*)'
  [A] 'function int snd_soc_dai_set_sysclk(snd_soc_dai*, int, unsigned int, int)'
  [A] 'function int snd_soc_dai_set_tdm_slot(snd_soc_dai*, unsigned int, unsigned int, int, int)'
  [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 void snd_soc_of_parse_node_prefix(device_node*, snd_soc_codec_conf*, device_node*, const char*)'
  [A] 'function int sock_create_kern(net*, int, int, int, socket**)'
  [A] 'function int sock_no_bind(socket*, sockaddr*, int)'
  [A] 'function int sock_no_connect(socket*, sockaddr*, int, int)'
  [A] 'function int sock_no_getname(socket*, sockaddr*, int)'
  [A] 'function int sock_no_recvmsg(socket*, msghdr*, size_t, int)'
  [A] 'function int sock_no_sendmsg(socket*, msghdr*, size_t)'
  [A] 'function void sock_release(socket*)'
  [A] 'function socket* sockfd_lookup(int, int*)'
  [A] 'function int spi_bus_lock(spi_controller*)'
  [A] 'functionnt spi_bus_unlock(spi_controller*)'
  [A] 'function int spi_controller_resume(spi_controller*)'
  [A] 'function void spi_finalize_current_message(spi_controller*)'
  [A] 'function spi_message* spi_get_next_queued_message(spi_controller*)'
  [A] 'function int spi_setup(spi_device*)'
  [A] 'function int spi_sync_locked(spi_device*, spi_message*)'
  [A] 'function unsigned long int strcspn(const char*, const char*)'
  [A] 'function int stream_open(inode*, file*)'
  [A] 'function char* strpbrk(const char*, const char*)'
  [A] 'function long int strscpy(char*, const char*, unsigned long int)'
  [A] 'function void synchronize_srcu(srcu_struct*)'
  [A] 'function void sysfs_remove_file_from_group(kobject*, const attribute*, const char*)'
  [A] 'function void thermal_zone_device_update(thermal_zone_device*, thermal_notify_event)'
  [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 void trace_seq_putc(trace_seq*, unsigned char)'
  [A] 'function int tty_port_install(tty_port*, tty_driver*, tty_struct*)'
  [A] 'function void tty_wakeup(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_port_data_role(const char*)'
  [A] 'function int typec_find_port_power_role(const char*)'
  [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 int typec_partner_set_identity(typec_partner*)'
  [A] 'function typec_altmode* typec_port_register_altmode(typec_port*, const typec_altmode_desc*)'
  [A] 'function typec_partner* typec_register_partner(typec_port*, typec_partner_desc*)'
  [A] 'function typec_port* typec_register_port(device*, const typec_capability*)'
  [A] 'function void typec_set_data_role(typec_port*, typec_data_role)'
  [A] 'function int typec_set_mode(typec_port*, int)'
  [A] 'function int typec_set_orientation(typec_port*, typec_orientation)'
  [A] 'function void typec_set_pwr_opmode(typec_port*, typec_pwr_opmode)'
  [A] 'function void typec_set_pwr_role(typec_port*, typec_role)'
  [A] 'function void typec_set_vconn_role(typec_port*, typec_role)'
  [A] 'function void typec_unregister_altmode(typec_altmode*)'
  [A] 'function void typec_unregister_partner(typec_partner*)'
  [A] 'function void typec_unregister_port(typec_port*)'
  [A] 'function void unuse_mm(mm_struct*)'
  [A] 'function usb_request* usb_ep_alloc_request(usb_ep*, unsigned int)'
  [A] 'function int usb_ep_clear_halt(usb_ep*)'
  [A] 'function int usb_ep_dequeue(usb_ep*, usb_request*)'
  [A] 'function int usb_ep_enable(usb_ep*)'
  [A] 'function void usb_ep_fifo_flush(usb_ep*)'
  [A] 'function int usb_ep_fifo_status(usb_ep*)'
  [A] 'function void usb_ep_free_request(usb_ep*, usb_request*)'
  [A] 'function int usb_ep_queue(usb_ep*, usb_request*, unsigned int)'
  [A] 'function int usb_gadget_probe_driver(usb_gadget_driver*)'
  [A] 'function int usb_gadget_unregister_driver(usb_gadget_driver*)'
  [A] 'function int usb_gadget_vbus_draw(usb_gadget*, unsigned int)'
  [A] 'function char* usb_get_gadget_udc_name()'
  [A] 'function void use_mm(mm_struct*)'
  [A] 'function void uuid_gen(__anonymous_struct__26*)'
  [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_fsync(file*, int)'
  [A] 'function unsigned long int vm_mmap(file*, unsigned long int, unsigned long int, unsigned long int, unsigned long int, unsigned long int)'
  [A] 'function void* vmalloc_user(unsigned long int)'
  [A] 'function int vscnprintf(char*, unsigned long int, const char*, __va_list)'
  [A] 'function signed long int wait_for_completion_io_timeout(completion*, unsigned long int)'
  [A] 'function ieee80211_hw* wiphy_to_ieee80211_hw(wiphy*)'

Bug: 146450171
Change-Id: I189626865424855bf91f754f6689e1e1da1ef52f
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
parent 285dc038
Loading
Loading
Loading
Loading
+45203 −37628

File changed.

File size exceeds preview limit.

+1550 −0
Original line number Diff line number Diff line
[abi_whitelist]
# commonly used symbols
  add_uevent_var
  add_wait_queue
  alloc_chrdev_region
  __alloc_disk_node
  __alloc_pages_nodemask
  __alloc_skb
  alloc_workqueue
  amba_driver_register
  amba_driver_unregister
  amba_release_regions
  amba_request_regions
  __arch_copy_from_user
  __arch_copy_to_user
  arm64_const_caps_ready
  blk_cleanup_queue
  blk_execute_rq
  blk_execute_rq_nowait
  blk_get_queue
  blk_mq_alloc_tag_set
  blk_mq_complete_request
  blk_mq_end_request
  blk_mq_free_request
  blk_mq_free_tag_set
  blk_mq_init_queue
  blk_mq_quiesce_queue
  blk_mq_requeue_request
  blk_mq_start_request
  blk_mq_unquiesce_queue
  blk_put_queue
  blk_queue_flag_clear
  blk_queue_flag_set
  blk_queue_logical_block_size
  blk_queue_max_discard_sectors
  blk_queue_max_hw_sectors
  blk_queue_max_segments
  blk_queue_write_cache
  blk_rq_map_sg
  bpf_trace_run1
  bpf_trace_run2
  bpf_trace_run3
  bt_err
  bt_info
  bt_procfs_cleanup
  bt_procfs_init
  bt_sock_link
  bt_sock_register
  bt_sock_unlink
  bt_sock_unregister
  bus_register
  bus_unregister
  cancel_delayed_work
  cancel_delayed_work_sync
  cancel_work_sync
  capable
  cdev_device_add
  cdev_device_del
  cdev_init
  __cfi_slowpath
  __check_object_size
  __class_create
  class_destroy
  clk_bulk_disable
  clk_bulk_enable
  clk_bulk_prepare
  clk_bulk_unprepare
  clk_disable
  clk_enable
  clk_get
  clk_get_rate
  clk_prepare
  clk_put
  clk_round_rate
  clk_set_rate
  clk_unprepare
  complete
  complete_all
  __const_udelay
  _copy_from_iter_full
  cpu_hwcap_keys
  cpu_hwcaps
  cpu_number
  __cpu_online_mask
  __cpu_possible_mask
  delayed_work_timer_fn
  del_gendisk
  del_timer
  del_timer_sync
  destroy_workqueue
  dev_driver_string
  _dev_err
  dev_fwnode
  device_add_disk
  device_create
  device_create_file
  device_destroy
  device_get_match_data
  device_initialize
  device_init_wakeup
  device_property_present
  device_property_read_string
  device_property_read_u32_array
  device_register
  device_remove_file
  device_set_wakeup_capable
  device_unregister
  device_wakeup_enable
  _dev_info
  devm_clk_get
  devm_clk_get_optional
  devm_gpiod_get
  devm_gpiod_get_optional
  devm_ioremap
  devm_ioremap_resource
  devm_kfree
  devm_kmalloc
  devm_pinctrl_get
  __devm_regmap_init_i2c
  __devm_regmap_init_mmio_clk
  devm_regulator_register
  devm_request_threaded_irq
  devm_reset_control_array_get
  __devm_reset_control_get
  devm_thermal_zone_of_sensor_register
  devm_usb_get_phy_by_phandle
  dev_pm_opp_get_opp_count
  devres_add
  devres_alloc_node
  devres_free
  devres_release
  dev_set_name
  _dev_warn
  disable_irq
  disable_irq_nosync
  dma_alloc_attrs
  dma_direct_map_page
  dma_direct_map_sg
  dma_direct_sync_single_for_cpu
  dma_direct_sync_single_for_device
  dma_direct_unmap_page
  dma_direct_unmap_sg
  dma_free_attrs
  dmam_alloc_attrs
  dma_pool_alloc
  dma_pool_create
  dma_pool_destroy
  dma_pool_free
  dma_release_channel
  dma_request_slave_channel
  dma_set_coherent_mask
  dma_set_mask
  down_read
  down_write
  driver_unregister
  drm_atomic_helper_connector_destroy_state
  drm_atomic_helper_connector_duplicate_state
  drm_atomic_helper_connector_reset
  drm_connector_attach_encoder
  drm_connector_cleanup
  drm_connector_init
  drm_connector_list_iter_begin
  drm_connector_list_iter_end
  drm_connector_list_iter_next
  drm_connector_unregister
  drm_err
  drm_helper_probe_single_connector_modes
  drm_mode_copy
  drm_mode_vrefresh
  enable_irq
  event_triggers_call
  extcon_get_edev_by_phandle
  extcon_get_state
  find_next_bit
  find_next_zero_bit
  finish_wait
  flush_work
  flush_workqueue
  fput
  free_irq
  __free_pages
  free_pages
  fwnode_property_present
  get_device
  __get_free_pages
  get_random_bytes
  gpiod_set_value_cansleep
  gpio_to_desc
  hci_alloc_dev
  hci_free_dev
  hci_recv_frame
  hci_register_dev
  hci_unregister_dev
  hrtimer_cancel
  hrtimer_init
  hrtimer_start_range_ns
  i2c_del_driver
  i2c_register_driver
  i2c_transfer
  ida_alloc_range
  ida_destroy
  ida_free
  ieee80211_channel_to_frequency
  ieee80211_connection_loss
  ieee80211_find_sta
  ieee80211_get_hdrlen_from_skb
  ieee80211_queue_delayed_work
  ieee80211_stop_rx_ba_session
  init_net
  init_timer_key
  init_wait_entry
  __init_waitqueue_head
  input_event
  input_register_device
  __ioremap
  iounmap
  irq_get_irq_data
  irq_of_parse_and_map
  irq_set_irq_wake
  jiffies
  jiffies_to_msecs
  kernel_sendmsg
  kfree
  kfree_const
  kfree_skb
  kimage_vaddr
  __kmalloc
  kmalloc_caches
  kmalloc_order_trace
  kmem_cache_alloc_trace
  kmemdup
  kstrtobool
  kstrtoint
  kstrtouint
  kstrtoull
  kthread_create_on_node
  kthread_should_stop
  kthread_stop
  ktime_get
  ktime_get_mono_fast_ns
  ktime_get_with_offset
  memchr_inv
  memcpy
  memdup_user
  memmove
  mempool_alloc
  mempool_destroy
  mempool_free
  memset
  mmc_add_host
  mmc_alloc_host
  mmc_detect_change
  mmc_free_host
  mmc_gpiod_request_cd
  mmc_gpiod_request_ro
  mmc_gpio_get_cd
  mmc_gpio_get_ro
  mmc_hw_reset
  mmc_of_parse
  mmc_regulator_get_supply
  mmc_regulator_set_ocr
  mmc_regulator_set_vqmmc
  mmc_remove_host
  mmc_request_done
  mmc_send_tuning
  mod_delayed_work_on
  mod_timer
  __module_get
  module_layout
  module_put
  __msecs_to_jiffies
  msleep
  __mutex_init
  mutex_lock
  mutex_lock_interruptible
  mutex_unlock
  no_llseek
  of_alias_get_id
  of_clk_get
  of_device_get_match_data
  of_device_is_compatible
  of_find_compatible_node
  of_find_device_by_node
  of_find_property
  of_get_child_by_name
  of_get_named_gpio_flags
  of_get_property
  of_graph_get_remote_node
  of_graph_parse_endpoint
  of_iomap
  of_match_device
  of_match_node
  of_parse_phandle
  of_platform_depopulate
  of_platform_populate
  of_property_read_string
  of_property_read_string_helper
  of_property_read_variable_u32_array
  param_ops_bool
  param_ops_charp
  param_ops_int
  param_ops_uint
  pci_alloc_irq_vectors_affinity
  pci_dev_put
  pci_free_irq_vectors
  pci_irq_vector
  pci_match_id
  pci_read_config_byte
  pci_read_config_word
  __pci_register_driver
  pci_set_master
  pci_set_mwi
  pci_unregister_driver
  perf_trace_buf_alloc
  perf_trace_run_bpf_submit
  pinctrl_lookup_state
  pinctrl_pm_select_default_state
  pinctrl_pm_select_sleep_state
  pinctrl_select_state
  platform_device_add
  platform_device_add_properties
  platform_device_add_resources
  platform_device_alloc
  platform_device_put
  platform_device_unregister
  __platform_driver_register
  platform_driver_unregister
  platform_get_irq
  platform_get_irq_byname
  platform_get_resource
  platform_get_resource_byname
  pm_runtime_allow
  __pm_runtime_disable
  pm_runtime_enable
  pm_runtime_forbid
  pm_runtime_force_resume
  pm_runtime_force_suspend
  __pm_runtime_idle
  __pm_runtime_resume
  pm_runtime_set_autosuspend_delay
  __pm_runtime_set_status
  __pm_runtime_suspend
  __pm_runtime_use_autosuspend
  pm_suspend_global_flags
  pm_wakeup_dev_event
  preempt_schedule
  preempt_schedule_notrace
  prepare_to_wait_event
  printk
  proto_register
  proto_unregister
  __pskb_pull_tail
  put_device
  put_disk
  __put_task_struct
  queue_delayed_work_on
  queue_work_on
  radix_tree_delete
  ___ratelimit
  _raw_spin_lock
  _raw_spin_lock_bh
  _raw_spin_lock_irq
  _raw_spin_lock_irqsave
  _raw_spin_unlock
  _raw_spin_unlock_bh
  _raw_spin_unlock_irq
  _raw_spin_unlock_irqrestore
  _raw_write_lock_bh
  _raw_write_unlock_bh
  __rcu_read_lock
  __rcu_read_unlock
  rdev_get_drvdata
  refcount_dec_and_test_checked
  refcount_inc_checked
  refcount_inc_not_zero_checked
  regmap_raw_read
  regmap_raw_write
  regmap_read
  regmap_update_bits_base
  regmap_write
  regulator_disable
  regulator_enable
  regulator_enable_regmap
  regulator_get_optional
  regulator_get_voltage_sel_regmap
  regulator_list_voltage_table
  regulator_put
  regulator_set_voltage
  regulator_set_voltage_sel_regmap
  release_firmware
  remove_wait_queue
  request_firmware
  request_threaded_irq
  reset_control_assert
  reset_control_deassert
  schedule
  schedule_timeout
  schedule_timeout_uninterruptible
  scnprintf
  sdio_claim_host
  sdio_disable_func
  sdio_enable_func
  sdio_readsb
  sdio_register_driver
  sdio_release_host
  sdio_unregister_driver
  sdio_writesb
  seq_printf
  set_disk_ro
  set_user_nice
  sg_alloc_table
  sg_free_table
  sg_init_table
  sg_miter_next
  sg_miter_start
  sg_miter_stop
  sg_next
  sg_pcopy_from_buffer
  sg_pcopy_to_buffer
  sk_alloc
  skb_dequeue
  skb_pull
  skb_push
  skb_put
  skb_queue_head
  skb_queue_purge
  skb_queue_tail
  sk_free
  snprintf
  sock_init_data
  sock_no_mmap
  sock_no_socketpair
  __spi_register_driver
  spi_setup
  spi_sync
  sprintf
  sscanf
  __stack_chk_fail
  __stack_chk_guard
  strcmp
  strcpy
  strlcpy
  strlen
  strncmp
  strncpy
  strnlen
  strscpy
  __sw_hweight32
  __sw_hweight64
  synchronize_irq
  synchronize_rcu
  syscon_node_to_regmap
  syscon_regmap_lookup_by_phandle
  sysfs_streq
  system_wq
  tasklet_init
  __tasklet_schedule
  trace_define_field
  trace_event_buffer_commit
  trace_event_buffer_reserve
  trace_event_ignore_this_pid
  trace_event_raw_init
  trace_event_reg
  trace_handle_return
  trace_print_symbols_seq
  trace_raw_output_prep
  trace_seq_printf
  trace_seq_putc
  try_module_get
  tty_termios_baud_rate
  unregister_chrdev_region
  up_read
  up_write
  usb_add_hcd
  usb_amd_dev_put
  usb_amd_quirk_pll_check
  usb_amd_quirk_pll_disable
  usb_amd_quirk_pll_enable
  usb_calc_bus_time
  usb_create_hcd
  usb_disabled
  usb_gadget_set_state
  usb_get_dr_mode
  usb_hcd_check_unlink_urb
  usb_hcd_end_port_resume
  usb_hcd_giveback_urb
  usb_hc_died
  usb_hcd_is_primary_hcd
  usb_hcd_link_urb_to_ep
  usb_hcd_pci_pm_ops
  usb_hcd_pci_probe
  usb_hcd_pci_remove
  usb_hcd_pci_shutdown
  usb_hcd_platform_shutdown
  usb_hcd_poll_rh_status
  usb_hcd_resume_root_hub
  usb_hcds_loaded
  usb_hcd_start_port_resume
  usb_hcd_unlink_urb_from_ep
  usb_hub_clear_tt_buffer
  usb_put_hcd
  usb_remove_hcd
  usb_root_hub_lost_power
  __usecs_to_jiffies
  usleep_range
  vfree
  vmalloc
  vmemmap
  wait_for_completion
  wait_for_completion_timeout
  wait_woken
  __wake_up
  wake_up_process
  __warn_printk
  woken_wake_function

# required by btsdio.ko
  sdio_claim_irq
  sdio_readb
  sdio_release_irq
  sdio_writeb

# required by hci_uart.ko
  baswap
  bit_wait_timeout
  bt_warn
  __hci_cmd_sync
  n_tty_ioctl_helper
  nvmem_cell_get
  nvmem_cell_put
  nvmem_cell_read
  out_of_line_wait_on_bit_timeout
  __percpu_down_read
  percpu_down_write
  percpu_free_rwsem
  __percpu_init_rwsem
  __percpu_up_read
  percpu_up_write
  serdev_device_close
  __serdev_device_driver_register
  serdev_device_get_tiocm
  serdev_device_open
  serdev_device_set_baudrate
  serdev_device_set_flow_control
  serdev_device_set_tiocm
  serdev_device_write_buf
  serdev_device_write_flush
  tty_driver_flush_buffer
  tty_ldisc_flush
  tty_register_ldisc
  tty_set_termios
  tty_termios_encode_baud_rate
  tty_unregister_ldisc
  tty_unthrottle
  wake_up_bit

# required by clk-hi655x.ko
  devm_clk_hw_register
  devm_of_clk_add_hw_provider
  of_clk_hw_simple_get

# required by cn.ko
  netlink_broadcast
  netlink_has_listeners
  __netlink_kernel_create
  netlink_kernel_release
  netlink_unicast
  __nlmsg_put
  proc_create_single_data
  remove_proc_entry

# required by cpufreq-dt.ko
  arch_set_freq_scale
  cpufreq_enable_boost_support
  cpufreq_freq_attr_scaling_available_freqs
  cpufreq_freq_attr_scaling_boost_freqs
  cpufreq_generic_frequency_table_verify
  cpufreq_generic_get
  cpufreq_generic_suspend
  cpufreq_register_driver
  cpufreq_unregister_driver
  dev_pm_opp_free_cpufreq_table
  dev_pm_opp_get_max_transition_latency
  dev_pm_opp_get_sharing_cpus
  dev_pm_opp_get_suspend_opp_freq
  dev_pm_opp_init_cpufreq_table
  dev_pm_opp_of_cpumask_add_table
  dev_pm_opp_of_cpumask_remove_table
  dev_pm_opp_of_get_sharing_cpus
  dev_pm_opp_of_register_em
  dev_pm_opp_put_regulators
  dev_pm_opp_set_rate
  dev_pm_opp_set_regulators
  dev_pm_opp_set_sharing_cpus
  get_cpu_device
  policy_has_boost_freq

# required by k3dma.ko
  devm_free_irq
  dma_async_device_register
  dma_async_device_unregister
  dma_async_tx_descriptor_init
  dma_get_slave_channel
  dmam_pool_create
  of_dma_controller_free
  of_dma_controller_register
  tasklet_kill

# required by adv7511.ko
  devm_regulator_bulk_get
  drm_add_edid_modes
  drm_bridge_add
  drm_bridge_remove
  drm_connector_update_edid_property
  drm_detect_hdmi_monitor
  drm_do_get_edid
  drm_kms_helper_hotplug_event
  hdmi_avi_infoframe_init
  hdmi_avi_infoframe_pack
  i2c_new_ancillary_device
  i2c_unregister_device
  mipi_dsi_attach
  mipi_dsi_detach
  mipi_dsi_device_register_full
  mipi_dsi_device_unregister
  mipi_dsi_driver_register_full
  mipi_dsi_driver_unregister
  of_find_mipi_dsi_host_by_node
  platform_device_register_full
  regcache_mark_dirty
  regcache_sync
  regmap_bulk_write
  regmap_register_patch
  regulator_bulk_disable
  regulator_bulk_enable

# required by kirin-drm.ko
  component_bind_all
  component_master_add_with_match
  component_master_del
  component_unbind_all
  drm_atomic_get_crtc_state
  drm_atomic_helper_check
  drm_atomic_helper_commit
  drm_atomic_helper_crtc_destroy_state
  drm_atomic_helper_crtc_duplicate_state
  drm_atomic_helper_crtc_reset
  drm_atomic_helper_disable_plane
  drm_atomic_helper_page_flip
  drm_atomic_helper_plane_destroy_state
  drm_atomic_helper_plane_duplicate_state
  drm_atomic_helper_plane_reset
  drm_atomic_helper_set_config
  drm_atomic_helper_update_plane
  drm_compat_ioctl
  drm_connector_register
  drm_crtc_arm_vblank_event
  drm_crtc_cleanup
  drm_crtc_handle_vblank
  drm_crtc_init_with_planes
  drm_crtc_send_vblank_event
  drm_crtc_vblank_get
  drm_crtc_vblank_off
  drm_crtc_vblank_on
  drm_dev_alloc
  drm_dev_put
  drm_dev_register
  drm_dev_unregister
  drm_fb_cma_get_gem_obj
  drm_gem_cma_dumb_create_internal
  drm_gem_cma_free_object
  drm_gem_cma_mmap
  drm_gem_cma_prime_get_sg_table
  drm_gem_cma_prime_import_sg_table
  drm_gem_cma_prime_mmap
  drm_gem_cma_prime_vmap
  drm_gem_cma_prime_vunmap
  drm_gem_cma_vm_ops
  drm_gem_fb_create
  drm_gem_prime_export
  drm_gem_prime_fd_to_handle
  drm_gem_prime_handle_to_fd
  drm_gem_prime_import
  drm_ioctl
  drm_kms_helper_poll_fini
  drm_kms_helper_poll_init
  drm_mode_config_cleanup
  drm_mode_config_init
  drm_mode_config_reset
  drm_of_component_match_add
  drm_open
  drm_plane_cleanup
  drm_poll
  drm_read
  drm_release
  drm_universal_plane_init
  drm_vblank_init
  noop_llseek

# required by kirin-dsi.ko
  component_add
  component_del
  drm_bridge_attach
  drm_dbg
  drm_encoder_cleanup
  drm_encoder_init
  drm_of_find_possible_crtcs
  drm_panel_attach
  drm_panel_disable
  drm_panel_enable
  drm_panel_get_modes
  drm_panel_prepare
  drm_panel_unprepare
  drm_sysfs_hotplug_event
  mipi_dsi_host_register
  mipi_dsi_host_unregister
  of_drm_find_bridge
  of_drm_find_panel
  of_graph_get_next_endpoint
  of_graph_get_remote_port_parent

# required by hwmon.ko
  __class_register
  class_unregister
  kstrtoll
  strpbrk

# required by i2c-designware-core.ko
  i2c_add_numbered_adapter
  i2c_generic_scl_recovery
  i2c_recover_bus

# required by i2c-designware-platform.ko
  i2c_del_adapter
  i2c_parse_fw_timings

# required by i2c-dev.ko
  bus_register_notifier
  bus_unregister_notifier
  cdev_add
  cdev_del
  device_for_each_child
  i2c_adapter_type
  i2c_bus_type
  i2c_for_each_dev
  i2c_get_adapter
  i2c_put_adapter
  i2c_smbus_xfer
  i2c_transfer_buffer_flags
  i2c_verify_client
  register_chrdev_region

# required by hisi_powerkey.ko
  devm_input_allocate_device
  devm_request_any_context_irq
  input_set_capability

# required by ambakmi.ko
  serio_interrupt
  serio_reconnect
  __serio_register_port
  serio_unregister_port

# required by hi3660-mailbox.ko
  devm_mbox_controller_register

# required by cec.ko
  kobject_set_name
  wait_for_completion_killable

# required by hi6421-pmic-core.ko
  devm_mfd_add_devices

# required by hi655x-pmic.ko
  devm_gpio_request_one
  gpiod_to_irq
  mfd_add_devices
  mfd_remove_devices
  regmap_add_irq_chip
  regmap_del_irq_chip
  regmap_irq_get_domain

# required by mmc_block.ko
  blk_get_request
  __blk_mq_end_request
  blk_mq_run_hw_queues
  blk_put_request
  blk_queue_bounce_limit
  blk_queue_can_use_dma_map_merging
  blk_queue_max_segment_size
  blk_queue_rq_timeout
  blk_update_request
  check_disk_change
  dma_get_merge_boundary
  mmc_app_cmd
  mmc_calc_max_discard
  mmc_can_erase
  mmc_can_sanitize
  mmc_can_secure_erase_trim
  mmc_can_trim
  __mmc_claim_host
  mmc_cmdq_disable
  mmc_cmdq_enable
  mmc_cqe_post_req
  mmc_cqe_recovery
  mmc_cqe_start_req
  mmc_detect_card_removed
  mmc_erase
  mmc_erase_group_aligned
  mmc_flush_cache
  mmc_get_card
  mmc_get_ext_csd
  mmc_put_card
  mmc_register_driver
  mmc_release_host
  mmc_retune_pause
  mmc_retune_release
  mmc_retune_unpause
  mmc_run_bkops
  __mmc_send_status
  mmc_send_status
  mmc_set_data_timeout
  mmc_start_request
  mmc_switch
  mmc_unregister_driver
  mmc_wait_for_cmd
  mmc_wait_for_req
  nonseekable_open
  register_blkdev
  sg_init_one
  simple_strtoul
  string_get_size
  unregister_blkdev

# required by dw_mmc.ko
  device_property_read_string_array
  dma_direct_sync_sg_for_cpu
  dma_direct_sync_sg_for_device
  mmc_can_gpio_cd
  sdio_signal_irq

# required by mmc_spi.ko
  mmc_gpiod_request_cd_irq
  spi_bus_lock
  spi_bus_unlock
  spi_sync_locked

# required by of_mmc_spi.ko
  mmc_of_parse_voltage

# required by wl18xx.ko
  __cfg80211_alloc_event_skb
  __cfg80211_send_event_skb
  ieee80211_radar_detected
  nla_put

# required by wlcore.ko
  bcmp
  cfg80211_find_elem_match
  cfg80211_find_vendor_elem
  consume_skb
  device_create_bin_file
  device_remove_bin_file
  dev_pm_clear_wake_irq
  dev_pm_set_dedicated_wake_irq
  get_random_u32
  get_zeroed_page
  ieee80211_alloc_hw_nm
  ieee80211_ap_probereq_get
  ieee80211_beacon_get_tim
  ieee80211_chswitch_done
  ieee80211_cqm_beacon_loss_notify
  ieee80211_cqm_rssi_notify
  ieee80211_csa_finish
  ieee80211_free_hw
  ieee80211_free_txskb
  ieee80211_frequency_to_channel
  ieee80211_hdrlen
  ieee80211_iterate_active_interfaces_atomic
  ieee80211_iterate_interfaces
  ieee80211_nullfunc_get
  ieee80211_probereq_get
  ieee80211_proberesp_get
  ieee80211_pspoll_get
  ieee80211_queue_work
  ieee80211_ready_on_channel
  ieee80211_register_hw
  ieee80211_remain_on_channel_expired
  ieee80211_report_low_ack
  ieee80211_restart_hw
  ieee80211_rx_napi
  ieee80211_scan_completed
  ieee80211_sched_scan_results
  ieee80211_sched_scan_stopped
  ieee80211_sta_ps_transition
  ieee80211_stop_queue
  ieee80211_stop_queues
  ieee80211_tx_status
  ieee80211_unregister_hw
  ieee80211_wake_queue
  ieee80211_wake_queues
  jiffies_to_usecs
  __local_bh_enable_ip
  __netdev_alloc_skb
  __nla_parse
  request_firmware_nowait
  rfc1042_header
  simple_read_from_buffer
  skb_trim
  vscnprintf
  wiphy_to_ieee80211_hw

# required by wlcore_sdio.ko
  platform_device_add_data
  print_hex_dump
  sdio_f0_readb
  sdio_f0_writeb
  sdio_get_host_pm_caps
  sdio_memcpy_fromio
  sdio_memcpy_toio
  sdio_set_block_size
  sdio_set_host_pm_flags

# required by nvme-core.ko
  blk_freeze_queue_start
  blk_mq_alloc_request
  blk_mq_alloc_request_hctx
  blk_mq_delay_kick_requeue_list
  blk_mq_freeze_queue
  blk_mq_freeze_queue_wait
  blk_mq_freeze_queue_wait_timeout
  blk_mq_request_completed
  blk_mq_unfreeze_queue
  blk_mq_unique_tag
  blk_poll
  blk_queue_chunk_sectors
  blk_queue_flag_test_and_set
  blk_queue_io_min
  blk_queue_io_opt
  blk_queue_max_discard_segments
  blk_queue_max_write_zeroes_sectors
  blk_queue_physical_block_size
  blk_queue_virt_boundary
  blk_rq_map_kern
  blk_rq_map_user
  blk_rq_unmap_user
  blk_set_queue_dying
  blk_status_to_errno
  blk_sync_queue
  cleanup_srcu_struct
  completion_done
  device_add
  device_del
  device_remove_file_self
  dev_pm_qos_expose_latency_tolerance
  dev_pm_qos_hide_latency_tolerance
  dev_pm_qos_update_user_latency_tolerance
  __init_rwsem
  init_srcu_struct
  kasprintf
  kobject_uevent_env
  list_sort
  param_ops_byte
  param_ops_ulong
  revalidate_disk
  synchronize_srcu
  sysfs_create_link
  sysfs_remove_link
  uuid_null

# required by nvme.ko
  async_schedule_node
  blk_mq_map_queues
  blk_mq_pci_map_queues
  blk_mq_tagset_busy_iter
  blk_mq_tagset_wait_completed_request
  blk_mq_tag_to_rq
  blk_mq_update_nr_hw_queues
  device_release_driver
  dma_max_mapping_size
  __do_once_done
  __do_once_start
  mempool_create_node
  mempool_kfree
  mempool_kmalloc
  param_get_int
  param_set_int
  pci_device_is_present
  pci_disable_device
  pcie_aspm_enabled
  pci_enable_device_mem
  pci_free_irq
  pci_load_saved_state
  pci_release_selected_regions
  pci_request_irq
  pci_request_selected_regions
  pci_restore_state
  pci_save_state
  pci_select_bars
  sysfs_remove_file_from_group
  wait_for_completion_io_timeout

# required by nvmet.ko
  bin2hex
  bio_add_page
  bio_alloc_bioset
  bio_associate_blkg
  bio_chain
  bio_endio
  bio_init
  bio_put
  blkdev_get_by_path
  __blkdev_issue_discard
  blkdev_issue_flush
  __blkdev_issue_zeroout
  blkdev_put
  configfs_register_subsystem
  configfs_unregister_subsystem
  config_group_init
  config_group_init_type_name
  cpumask_next
  _ctype
  filp_open
  fs_bio_set
  hex_to_bin
  iov_iter_bvec
  kmem_cache_create
  kmem_cache_destroy
  kstrndup
  kstrtou16
  mempool_alloc_slab
  mempool_create
  mempool_free_slab
  nr_cpu_ids
  __per_cpu_offset
  percpu_ref_exit
  percpu_ref_init
  percpu_ref_kill_and_confirm
  radix_tree_next_chunk
  __request_module
  sgl_alloc
  sgl_free
  sg_zero_buffer
  strcspn
  submit_bio
  uuid_gen
  uuid_parse
  vfs_fallocate
  vfs_fsync
  vfs_getattr

# required by phy-hi3660-usb3.ko
  __devm_of_phy_provider_register
  devm_phy_create
  of_phy_simple_xlate

# required by reboot-mode.ko
  kstrdup_const
  register_reboot_notifier
  unregister_reboot_notifier

# required by hi6421v530-regulator.ko
  regulator_disable_regmap
  regulator_is_enabled_regmap
  regulator_map_voltage_ascend

# required by hi655x-regulator.ko
  regulator_list_voltage_linear

# required by rtc-efi.ko
  devm_rtc_device_register
  efi
  __platform_driver_probe
  rtc_valid_tm
  rtc_year_days
  seq_puts

# required by ufs-hisi.ko
  devm_platform_ioremap_resource
  ufshcd_dme_get_attr
  ufshcd_dme_set_attr
  ufshcd_get_pwr_dev_param
  ufshcd_pltfrm_init
  ufshcd_pltfrm_resume
  ufshcd_pltfrm_runtime_idle
  ufshcd_pltfrm_runtime_resume
  ufshcd_pltfrm_runtime_suspend
  ufshcd_pltfrm_shutdown
  ufshcd_pltfrm_suspend
  ufshcd_remove

# required by spi-pl022.ko
  devm_gpio_request
  devm_spi_register_controller
  dma_request_chan
  __dma_request_channel
  gpiod_direction_output_raw
  gpiod_set_raw_value
  loops_per_jiffy
  pinctrl_pm_select_idle_state
  __spi_alloc_controller
  spi_controller_resume
  spi_controller_suspend
  spi_finalize_current_message
  spi_get_next_queued_message
  __udelay

# required by spidev.ko
  __register_chrdev
  stream_open
  __unregister_chrdev

# required by ion_cma_heap.ko
  cma_alloc
  cma_for_each_area
  cma_get_name
  cma_release
  ion_buffer_prep_noncached
  __ion_device_add_heap
  ion_device_remove_heap

# required by hisi_thermal.ko
  _dev_crit
  of_thermal_get_ntrips
  of_thermal_get_trip_points
  thermal_zone_device_update

# required by 8250_dw.ko
  dw8250_setup_port
  of_device_is_big_endian
  serial8250_clear_and_reinit_fifos
  serial8250_do_pm
  serial8250_do_set_ldisc
  serial8250_do_set_termios
  serial8250_handle_irq
  serial8250_register_8250_port
  serial8250_resume_port
  serial8250_suspend_port
  serial8250_unregister_port

# required by dwc3-haps.ko
  pcim_enable_device

# required by dwc3-of-simple.ko
  clk_bulk_get_all
  clk_bulk_put_all
  of_reset_control_array_get
  reset_control_put
  reset_control_reset

# required by dwc3-qcom.ko
  devm_extcon_register_notifier
  irq_modify_status
  of_clk_get_parent_count

# required by dwc3.ko
  bpf_trace_run4
  device_property_read_u8_array
  devm_clk_bulk_get_all
  devm_phy_get
  devm_usb_get_phy
  extcon_find_edev_by_node
  extcon_get_extcon_dev
  extcon_register_notifier
  extcon_unregister_notifier
  of_usb_get_phy_mode
  phy_exit
  phy_init
  phy_pm_runtime_get_sync
  phy_pm_runtime_put_sync
  phy_power_off
  phy_power_on
  phy_set_mode_ext
  platform_get_irq_byname_optional
  system_freezable_wq
  usb_add_gadget_udc
  usb_decode_ctrl
  usb_del_gadget_udc
  usb_ep_set_maxpacket_limit
  usb_gadget_giveback_request
  usb_gadget_map_request_by_dev
  usb_gadget_udc_reset
  usb_gadget_unmap_request_by_dev
  usb_get_maximum_speed

# required by gadgetfs.ko
  _copy_to_iter
  current_time
  d_add
  d_alloc_name
  d_delete
  d_make_root
  dput
  dup_iter
  fasync_helper
  generic_delete_inode
  get_next_ino
  get_tree_single
  kill_fasync
  kill_litter_super
  kiocb_set_cancel_fn
  mutex_trylock
  new_inode
  register_filesystem
  simple_dir_inode_operations
  simple_dir_operations
  simple_statfs
  unregister_filesystem
  unuse_mm
  usb_ep_alloc_request
  usb_ep_clear_halt
  usb_ep_dequeue
  usb_ep_disable
  usb_ep_enable
  usb_ep_fifo_flush
  usb_ep_fifo_status
  usb_ep_free_request
  usb_ep_queue
  usb_ep_set_halt
  usb_gadget_probe_driver
  usb_gadget_unregister_driver
  usb_gadget_vbus_draw
  usb_get_gadget_udc_name
  use_mm

# required by ehci-hcd.ko
  ehci_cf_port_reset_rwsem
  usb_for_each_dev

# required by ehci-pci.ko
  pci_clear_mwi
  pci_find_capability
  pci_read_config_dword
  pci_write_config_byte
  usb_amd_hang_symptom_quirk

# required by ehci-platform.ko
  device_pm_wait_for_dev
  usb_of_get_companion_dev

# required by ohci-hcd.ko
  gen_pool_dma_alloc_align
  gen_pool_dma_zalloc_align
  gen_pool_free_owner
  sb800_prefetch

# required by ohci-pci.ko
  pci_get_slot
  usb_amd_prefetch_quirk

# required by xhci-hcd.ko
  add_timer
  devm_add_action
  __num_online_cpus
  param_ops_ullong
  radix_tree_insert
  radix_tree_lookup
  radix_tree_maybe_preload
  usb_amd_pt_check_port
  usb_asmedia_modifyflowcontrol
  usb_disable_xhci_ports
  usb_hcd_irq
  usb_hcd_map_urb_for_dma
  usb_wakeup_notification
  vsnprintf

# required by xhci-pci.ko
  pci_d3cold_disable
  pci_set_power_state
  usb_create_shared_hcd
  usb_enable_intel_xhci_ports

# required by xhci-plat-hcd.ko
  of_fwnode_ops
  of_usb_host_tpl_support
  pci_bus_type
  __usb_create_hcd

# required by roles.ko
  class_find_device
  device_connection_find_match
  device_match_fwnode
  device_match_name
  fwnode_connection_find_match
  fwnode_get_parent
  __sysfs_match_string

# required by tcpci.ko
  device_get_named_child_node

# required by tcpci_rt1711h.ko
  i2c_smbus_read_word_data

# required by tcpm.ko
  devm_power_supply_register
  fwnode_property_read_string
  fwnode_property_read_u32_array
  power_supply_changed
  power_supply_get_drvdata
  typec_altmode_attention
  typec_altmode_notify
  typec_altmode_update_active
  typec_altmode_vdm
  typec_find_port_data_role
  typec_find_port_power_role
  typec_find_power_role
  typec_match_altmode
  typec_partner_register_altmode
  typec_partner_set_identity
  typec_port_register_altmode
  typec_register_partner
  typec_register_port
  typec_set_data_role
  typec_set_mode
  typec_set_orientation
  typec_set_pwr_opmode
  typec_set_pwr_role
  typec_set_vconn_role
  typec_unregister_altmode
  typec_unregister_partner
  typec_unregister_port

# required by hidp.ko
  hid_add_device
  hid_allocate_device
  hid_destroy_device
  hid_ignore
  hid_input_report
  hid_parse_report
  input_allocate_device
  input_unregister_device
  l2cap_conn_get
  l2cap_conn_put
  l2cap_is_socket
  l2cap_register_user
  l2cap_unregister_user
  memscan
  __module_put_and_exit
  sockfd_lookup
  sock_no_accept
  sock_no_bind
  sock_no_connect
  sock_no_getname
  sock_no_getsockopt
  sock_no_listen
  sock_no_recvmsg
  sock_no_sendmsg
  sock_no_setsockopt
  sock_no_shutdown

# required by rfcomm.ko
  add_wait_queue_exclusive
  bt_accept_dequeue
  bt_accept_enqueue
  bt_accept_unlink
  bt_sock_ioctl
  bt_sock_poll
  bt_sock_reclassify_lock
  bt_sock_stream_recvmsg
  bt_sock_wait_ready
  bt_sock_wait_state
  device_move
  hci_conn_check_secure
  hci_conn_security
  hci_conn_switch_role
  hci_get_route
  hci_register_cb
  hci_unregister_cb
  kernel_accept
  kernel_bind
  kernel_connect
  kernel_listen
  lock_sock_nested
  put_tty_driver
  _raw_read_lock
  _raw_read_unlock
  _raw_write_lock
  _raw_write_unlock
  release_sock
  security_sk_clone
  sock_alloc_send_skb
  sock_create_kern
  sock_gettstamp
  sock_release
  __tty_alloc_driver
  tty_flip_buffer_push
  tty_insert_flip_string_fixed_flag
  tty_kref_put
  tty_port_close
  tty_port_hangup
  tty_port_init
  tty_port_install
  tty_port_open
  tty_port_put
  tty_port_register_device
  tty_port_tty_get
  tty_port_tty_hangup
  tty_port_tty_wakeup
  tty_register_driver
  tty_set_operations
  tty_std_termios
  tty_unregister_device
  tty_unregister_driver
  tty_vhangup
  tty_wakeup

# required by rfkill-gpio.ko
  rfkill_alloc
  rfkill_destroy
  rfkill_find_type
  rfkill_register
  rfkill_unregister

# required by snd-soc-hdmi-codec.ko
  devm_snd_soc_register_component
  hdmi_audio_infoframe_init
  snd_ctl_add
  snd_ctl_new1
  snd_pcm_add_chmap_ctls
  snd_pcm_create_iec958_consumer_hw_params
  snd_pcm_format_width
  snd_pcm_hw_constraint_eld
  snd_soc_dapm_add_routes
  snd_soc_jack_report

# required by snd-soc-simple-card-utils.ko
  devm_get_clk_from_child
  devm_kasprintf
  devm_kvasprintf
  snd_soc_card_jack_new
  snd_soc_dai_set_sysclk
  snd_soc_dai_set_tdm_slot
  snd_soc_dapm_get_pin_switch
  snd_soc_dapm_info_pin_switch
  snd_soc_dapm_put_pin_switch
  snd_soc_jack_add_gpios
  snd_soc_of_parse_audio_routing
  snd_soc_of_parse_audio_simple_widgets
  snd_soc_of_parse_card_name
  snd_soc_of_parse_daifmt

# required by snd-soc-simple-card.ko
  devm_snd_soc_register_card
  of_device_is_available
  of_get_next_child
  of_get_parent
  of_parse_phandle_with_args
  snd_soc_of_get_dai_name
  snd_soc_of_parse_node_prefix
  snd_soc_of_parse_tdm_slot
  snd_soc_pm_ops

# required by hi3660-i2s.ko
  devm_snd_dmaengine_pcm_register
  pinctrl_put
  snd_dmaengine_pcm_prepare_slave_config
  snd_soc_register_component
  snd_soc_unregister_component

# required by mali_kbase.ko
  anon_inode_getfd
  __bitmap_weight
  cache_line_size
  clear_page
  __close_fd
  devfreq_add_device
  devfreq_cooling_unregister
  devfreq_recommended_opp
  devfreq_register_opp_notifier
  devfreq_remove_device
  devfreq_resume_device
  devfreq_suspend_device
  devfreq_unregister_opp_notifier
  dev_pm_opp_find_freq_floor
  dev_pm_opp_get_voltage
  dev_pm_opp_of_add_table
  dev_pm_opp_of_remove_table
  dev_pm_opp_put
  dma_buf_attach
  dma_buf_begin_cpu_access
  dma_buf_detach
  dma_buf_end_cpu_access
  dma_buf_get
  dma_buf_kmap
  dma_buf_kunmap
  dma_buf_map_attachment
  dma_buf_mmap
  dma_buf_put
  dma_buf_unmap_attachment
  dma_fence_add_callback
  dma_fence_context_alloc
  dma_fence_default_wait
  dma_fence_get_status
  dma_fence_init
  dma_fence_release
  dma_fence_remove_callback
  dma_fence_signal
  down
  downgrade_write
  down_trylock
  dump_stack
  fd_install
  find_vma
  get_unused_fd_flags
  get_user_pages
  get_user_pages_fast
  get_user_pages_remote
  iomem_resource
  kimage_voffset
  ktime_add_safe
  ktime_get_raw_ts64
  misc_deregister
  misc_register
  __mmdrop
  mm_trace_rss_stat
  msleep_interruptible
  of_devfreq_cooling_register_power
  of_get_next_available_child
  of_property_read_u64
  physvirt_offset
  __put_page
  rb_erase
  rb_first
  rb_insert_color
  rb_next
  rb_prev
  rb_replace_node
  register_shrinker
  __release_region
  remap_pfn_range
  remap_vmalloc_range
  __request_region
  set_page_dirty_lock
  sync_file_create
  sync_file_get_fence
  sysfs_create_group
  sysfs_remove_group
  thermal_zone_get_temp
  thermal_zone_get_zone_by_name
  _totalram_pages
  unmap_mapping_range
  unregister_shrinker
  up
  vabits_actual
  vmalloc_user
  vmap
  vmf_insert_pfn
  vm_mmap
  vunmap
  vzalloc
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ KMI_WHITELIST=abi_gki_aarch64_whitelist
ADDITIONAL_KMI_WHITELISTS="
abi_gki_aarch64_cuttlefish_whitelist
abi_gki_aarch64_db845c_whitelist
abi_gki_aarch64_hikey960_whitelist
abi_gki_aarch64_unisoc_whitelist
"
TRIM_NONLISTED_KMI=1