tree 555c74649c036e9f127e0325516c68e943942cb1
parent 710a5d9ce119c26b56b7f093fc5605705537fbd5
author fengqi <fengqi@xiaomi.com> 1680767589 +0800
committer Todd Kjos <tkjos@google.com> 1681228651 +0000

ANDROID: GKI: add symbol list file for xiaomi

add abi_gki_aarch64_xiaomi

INFO: 59 function symbol(s) added
  'void __blk_mq_end_request(struct request*, blk_status_t)'
  'struct scsi_device* __scsi_add_device(struct Scsi_Host*, uint, uint, u64, void*)'
  'int __traceiter_android_vh_binder_transaction_init(void*, struct binder_transaction*)'
  'int __traceiter_android_vh_binder_wait_for_work(void*, bool, struct binder_thread*, struct binder_proc*)'
  'void balance_dirty_pages_ratelimited(struct address_space*)'
  'struct backing_dev_info* bdi_alloc(int)'
  'void bdi_put(struct backing_dev_info*)'
  'int bdi_register(struct backing_dev_info*, const char*, ...)'
  'void blk_mq_freeze_queue(struct request_queue*)'
  'struct request_queue* blk_mq_init_queue(struct blk_mq_tag_set*)'
  'void blk_mq_tagset_busy_iter(struct blk_mq_tag_set*, busy_tag_iter_fn*, void*)'
  'void blk_mq_unfreeze_queue(struct request_queue*)'
  'void blk_queue_update_dma_alignment(struct request_queue*, int)'
  'void blk_queue_update_dma_pad(struct request_queue*, unsigned int)'
  'bool blk_update_request(struct request*, blk_status_t, unsigned int)'
  'void bsg_job_done(struct bsg_job*, int, unsigned int)'
  'void bsg_remove_queue(struct request_queue*)'
  'struct request_queue* bsg_setup_queue(struct device*, const char*, bsg_job_fn*, bsg_timeout_fn*, int)'
  'void deactivate_locked_super(struct super_block*)'
  'void dev_pm_opp_remove(struct device*, unsigned long)'
  'const char* drm_get_connector_type_name(unsigned int)'
  'void generic_shutdown_super(struct super_block*)'
  'int gpio_request_array(const struct gpio*, size_t)'
  'void lockref_get(struct lockref*)'
  'void logfc(struct fc_log*, const char*, char, const char*, ...)'
  'int lookup_bdev(const char*, dev_t*)'
  'void* mempool_alloc_pages(gfp_t, void*)'
  'void mempool_free_pages(void*, void*)'
  'int mempool_resize(mempool_t*, int)'
  'struct nvmem_device* nvmem_register(const struct nvmem_config*)'
  'void nvmem_unregister(struct nvmem_device*)'
  'struct page* read_cache_page(struct address_space*, unsigned long, filler_t*, struct file*)'
  'int scsi_add_host_with_dma(struct Scsi_Host*, struct device*, struct device*)'
  'int scsi_change_queue_depth(struct scsi_device*, int)'
  'struct scsi_device* scsi_device_lookup(struct Scsi_Host*, uint, uint, u64)'
  'int scsi_dma_map(struct scsi_cmnd*)'
  'void scsi_dma_unmap(struct scsi_cmnd*)'
  'struct Scsi_Host* scsi_host_alloc(struct scsi_host_template*, int)'
  'struct Scsi_Host* scsi_host_lookup(unsigned short)'
  'void scsi_host_put(struct Scsi_Host*)'
  'int scsi_is_host_device(const struct device*)'
  'void scsi_print_command(struct scsi_cmnd*)'
  'void scsi_remove_host(struct Scsi_Host*)'
  'void scsi_report_bus_reset(struct Scsi_Host*, int)'
  'void scsi_scan_host(struct Scsi_Host*)'
  'struct super_block* sget_fc(struct fs_context*, int(*)(struct super_block*, struct fs_context*), int(*)(struct super_block*, struct fs_context*))'
  'int ufshcd_alloc_host(struct device*, struct ufs_hba**)'
  'int ufshcd_config_pwr_mode(struct ufs_hba*, struct ufs_pa_layer_attr*)'
  'void ufshcd_dealloc_host(struct ufs_hba*)'
  'int ufshcd_hba_enable(struct ufs_hba*)'
  'int ufshcd_make_hba_operational(struct ufs_hba*)'
  'void ufshcd_update_evt_hist(struct ufs_hba*, u32, u32)'
  'int utf16s_to_utf8s(const wchar_t*, int, enum utf16_endian, u8*, int)'
  'void wait_for_device_probe()'
  'int wakeup_sources_read_lock()'
  'void wakeup_sources_read_unlock(int)'
  'struct wakeup_source* wakeup_sources_walk_next(struct wakeup_source*)'
  'struct wakeup_source* wakeup_sources_walk_start()'
  'int blk_mq_alloc_sq_tag_set(struct blk_mq_tag_set*, const struct blk_mq_ops*, unsigned int, unsigned int)'

3 variable symbol(s) added
  'struct tracepoint __tracepoint_android_vh_binder_transaction_init'
  'struct tracepoint __tracepoint_android_vh_binder_wait_for_work'
  'u64 jiffies_64'

Bug: 276850920

Change-Id: Ibc65a0bfb3332072be7bea17e0aea48277043510
Signed-off-by: fengqi <fengqi@xiaomi.com>
