فهرست منبع

ANDROID: Add hikey960 build infrastructure file

Adds build.config.hikey960 and android/abi_gki_aarch64_hikey960 files

Signed-off-by: John Stultz <[email protected]>
Bug: 146450171
Change-Id: Ice445cf09780b16059e5e4ef624ac30e300c6500
John Stultz 4 سال پیش
والد
کامیت
795028f7e7
3فایلهای تغییر یافته به همراه1344 افزوده شده و 0 حذف شده
  1. 1319 0
      android/abi_gki_aarch64_hikey960
  2. 1 0
      build.config.gki.aarch64
  3. 24 0
      build.config.hikey960

+ 1319 - 0
android/abi_gki_aarch64_hikey960

@@ -0,0 +1,1319 @@
+[abi_symbol_list]
+# commonly used symbols
+  alloc_chrdev_region
+  __alloc_disk_node
+  __alloc_pages_nodemask
+  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
+  arm64_use_ng_mappings
+  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
+  cancel_delayed_work
+  cancel_delayed_work_sync
+  cancel_work_sync
+  capable
+  cdev_device_add
+  cdev_device_del
+  cdev_init
+  __check_object_size
+  __class_create
+  class_destroy
+  clk_disable
+  clk_enable
+  clk_get
+  clk_get_rate
+  clk_prepare
+  clk_put
+  clk_set_rate
+  clk_unprepare
+  complete
+  __const_udelay
+  cpu_hwcap_keys
+  cpu_hwcaps
+  cpumask_next
+  cpu_number
+  __cpu_online_mask
+  __cpu_possible_mask
+  debugfs_attr_read
+  debugfs_attr_write
+  debugfs_create_dir
+  debugfs_create_file
+  debugfs_create_file_unsafe
+  debugfs_remove
+  default_llseek
+  delayed_work_timer_fn
+  del_gendisk
+  del_timer
+  del_timer_sync
+  destroy_workqueue
+  dev_driver_string
+  _dev_err
+  device_add_disk
+  device_create_file
+  device_get_match_data
+  device_initialize
+  device_init_wakeup
+  device_remove_file
+  _dev_info
+  devm_clk_get
+  devm_gpiod_get
+  devm_gpiod_get_optional
+  devm_ioremap
+  devm_ioremap_resource
+  devm_kfree
+  devm_kmalloc
+  devm_pinctrl_get
+  devm_platform_ioremap_resource
+  __devm_regmap_init
+  __devm_regmap_init_i2c
+  __devm_regmap_init_mmio_clk
+  devm_regulator_register
+  devm_request_threaded_irq
+  __devm_reset_control_get
+  dev_pm_opp_get_opp_count
+  dev_set_name
+  _dev_warn
+  disable_irq
+  dma_alloc_attrs
+  dma_buf_export
+  dma_free_attrs
+  dma_heap_add
+  dma_heap_get_name
+  dmam_alloc_attrs
+  dma_map_page_attrs
+  dma_map_sg_attrs
+  dma_pool_alloc
+  dma_pool_create
+  dma_pool_destroy
+  dma_pool_free
+  dma_release_channel
+  dma_request_chan
+  dma_set_coherent_mask
+  dma_set_mask
+  dma_sync_sg_for_cpu
+  dma_sync_sg_for_device
+  dma_sync_single_for_cpu
+  dma_sync_single_for_device
+  dma_unmap_page_attrs
+  dma_unmap_sg_attrs
+  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_err
+  drm_helper_probe_single_connector_modes
+  drm_mode_copy
+  drm_mode_vrefresh
+  enable_irq
+  event_triggers_call
+  find_next_bit
+  find_next_zero_bit
+  finish_wait
+  flush_work
+  flush_workqueue
+  fput
+  free_irq
+  __free_pages
+  free_pages
+  generic_file_llseek
+  get_device
+  __get_free_pages
+  get_random_bytes
+  get_zeroed_page
+  gic_nonsecure_priorities
+  gpiod_set_value_cansleep
+  gpio_to_desc
+  i2c_del_driver
+  i2c_register_driver
+  i2c_transfer
+  ida_alloc_range
+  ida_destroy
+  ida_free
+  ieee80211_channel_to_freq_khz
+  ieee80211_connection_loss
+  ieee80211_find_sta
+  ieee80211_get_hdrlen_from_skb
+  ieee80211_queue_delayed_work
+  ieee80211_stop_rx_ba_session
+  __init_swait_queue_head
+  init_timer_key
+  init_wait_entry
+  __init_waitqueue_head
+  __ioremap
+  iounmap
+  irq_get_irq_data
+  irq_of_parse_and_map
+  irq_set_irq_wake
+  jiffies
+  kasan_flag_enabled
+  kfree
+  kfree_const
+  kfree_skb
+  __kmalloc
+  kmalloc_caches
+  kmalloc_order_trace
+  kmem_cache_alloc_trace
+  kmemdup
+  kstrndup
+  kstrtoint
+  kstrtouint
+  kstrtoul_from_user
+  kstrtoull
+  kthread_create_on_node
+  ktime_get
+  ktime_get_mono_fast_ns
+  ktime_get_with_offset
+  __list_add_valid
+  __list_del_entry_valid
+  __log_post_read_mmio
+  __log_read_mmio
+  __log_write_mmio
+  memchr_inv
+  memcpy
+  memdup_user
+  memmove
+  mempool_alloc
+  mempool_destroy
+  mempool_free
+  memset
+  memstart_addr
+  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_timer
+  module_layout
+  module_put
+  __msecs_to_jiffies
+  msleep
+  __mutex_init
+  mutex_lock
+  mutex_lock_interruptible
+  mutex_unlock
+  nla_put
+  no_llseek
+  nonseekable_open
+  nr_cpu_ids
+  of_alias_get_id
+  of_clk_get
+  of_device_get_match_data
+  of_device_is_compatible
+  of_find_compatible_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_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_dev_put
+  __pci_register_driver
+  pci_unregister_driver
+  perf_trace_buf_alloc
+  perf_trace_run_bpf_submit
+  pinctrl_lookup_state
+  pinctrl_pm_select_sleep_state
+  pinctrl_select_state
+  platform_device_unregister
+  __platform_driver_register
+  platform_driver_unregister
+  platform_get_irq
+  platform_get_resource
+  __pm_runtime_disable
+  pm_runtime_enable
+  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
+  put_device
+  put_disk
+  __put_task_struct
+  queue_delayed_work_on
+  queue_work_on
+  ___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
+  __rcu_read_lock
+  __rcu_read_unlock
+  rdev_get_drvdata
+  refcount_warn_saturate
+  register_shrinker
+  regmap_read
+  regmap_update_bits_base
+  regmap_write
+  regulator_disable
+  regulator_enable
+  regulator_enable_regmap
+  regulator_get_voltage_sel_regmap
+  regulator_list_voltage_table
+  regulator_set_voltage
+  regulator_set_voltage_sel_regmap
+  release_firmware
+  remap_pfn_range
+  request_firmware
+  request_threaded_irq
+  reset_control_assert
+  reset_control_deassert
+  schedule
+  schedule_timeout
+  scnprintf
+  seq_lseek
+  seq_printf
+  seq_puts
+  seq_read
+  set_disk_ro
+  sg_alloc_table
+  sg_free_table
+  sg_init_table
+  sg_miter_next
+  sg_miter_start
+  sg_miter_stop
+  sg_next
+  simple_attr_open
+  simple_attr_release
+  simple_open
+  simple_read_from_buffer
+  single_open
+  single_release
+  skb_pull
+  skb_queue_tail
+  snprintf
+  __spi_register_driver
+  spi_setup
+  spi_sync
+  sprintf
+  sscanf
+  __stack_chk_fail
+  __stack_chk_guard
+  strcmp
+  strlcpy
+  strncmp
+  strncpy
+  strnlen
+  __sw_hweight64
+  synchronize_irq
+  synchronize_rcu
+  syscon_node_to_regmap
+  syscon_regmap_lookup_by_phandle
+  sysfs_streq
+  system_wq
+  tasklet_init
+  __tasklet_schedule
+  trace_event_buffer_commit
+  trace_event_buffer_reserve
+  trace_event_ignore_this_pid
+  trace_event_raw_init
+  trace_event_reg
+  trace_handle_return
+  __tracepoint_rwmmio_post_read
+  __tracepoint_rwmmio_read
+  __tracepoint_rwmmio_write
+  trace_print_symbols_seq
+  trace_raw_output_prep
+  trace_seq_printf
+  trace_seq_putc
+  try_module_get
+  unregister_chrdev_region
+  up_read
+  up_write
+  usb_disabled
+  __usecs_to_jiffies
+  usleep_range
+  vabits_actual
+  vfree
+  vmalloc
+  vmap
+  vunmap
+  wait_for_completion
+  wait_for_completion_timeout
+  __wake_up
+  wake_up_process
+  __warn_printk
+  xa_destroy
+  xa_erase
+  xa_find
+  xa_find_after
+  xa_load
+
+# required by adv7511.ko
+  cec_allocate_adapter
+  cec_delete_adapter
+  cec_received_msg_ts
+  cec_register_adapter
+  cec_s_phys_addr
+  cec_s_phys_addr_from_edid
+  cec_transmit_attempt_done_ts
+  cec_transmit_done_ts
+  cec_unregister_adapter
+  devm_regulator_bulk_get
+  drm_add_edid_modes
+  drm_bridge_add
+  drm_bridge_hpd_notify
+  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 ambakmi.ko
+  serio_interrupt
+  serio_reconnect
+  __serio_register_port
+  serio_unregister_port
+
+# required by armmmci.ko
+  clk_round_rate
+  devm_of_iomap
+  pinctrl_select_default_state
+
+# required by clk-hi655x.ko
+  devm_clk_hw_register
+  devm_of_clk_add_hw_provider
+  of_clk_hw_simple_get
+
+# required by cma_heap.ko
+  cma_alloc
+  cma_get_name
+  cma_release
+  dma_contiguous_default_area
+  dma_heap_get_drvdata
+  sg_alloc_table_from_pages
+
+# required by cn.ko
+  __alloc_skb
+  init_net
+  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
+  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_opp_table
+  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_opp_table
+  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 deferred-free-helper.ko
+  freezing_slow_path
+  __refrigerator
+  sched_set_normal
+  system_freezing_cnt
+
+# required by dw_mmc.ko
+  debugfs_create_u32
+  debugfs_create_x64
+  dev_err_probe
+  device_property_present
+  device_property_read_string_array
+  device_property_read_u32_array
+  mmc_can_gpio_cd
+  sdio_signal_irq
+
+# required by gadgetfs.ko
+  _copy_from_iter_full
+  _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
+  kthread_unuse_mm
+  kthread_use_mm
+  mutex_trylock
+  new_inode
+  register_filesystem
+  simple_dir_inode_operations
+  simple_dir_operations
+  simple_statfs
+  unregister_filesystem
+  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_set_state
+  usb_gadget_unregister_driver
+  usb_gadget_vbus_draw
+  usb_get_gadget_udc_name
+  wait_for_completion_interruptible
+
+# 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 hi3660-mailbox.ko
+  devm_mbox_controller_register
+
+# required by hi6421-pmic-core.ko
+  devm_mfd_add_devices
+
+# required by hi6421v530-regulator.ko
+  regulator_disable_regmap
+  regulator_is_enabled_regmap
+  regulator_map_voltage_ascend
+
+# 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 hi655x-regulator.ko
+  regulator_list_voltage_linear
+
+# required by hisi_hikey_usb.ko
+  dev_fwnode
+  devm_regulator_get
+  regulator_is_enabled
+  usb_role_switch_get
+  usb_role_switch_get_drvdata
+  usb_role_switch_put
+  usb_role_switch_register
+  usb_role_switch_set_role
+  usb_role_switch_unregister
+
+# required by hisi_powerkey.ko
+  devm_input_allocate_device
+  devm_request_any_context_irq
+  input_event
+  input_register_device
+  input_set_capability
+  platform_get_irq_byname
+
+# required by hisi_thermal.ko
+  _dev_crit
+  devm_thermal_zone_of_sensor_register
+  of_thermal_get_ntrips
+  of_thermal_get_trip_points
+  thermal_zone_device_disable
+  thermal_zone_device_enable
+  thermal_zone_device_update
+
+# required by i2c-designware-core.ko
+  i2c_add_numbered_adapter
+  i2c_generic_scl_recovery
+  i2c_recover_bus
+
+# required by i2c-designware-platform.ko
+  devm_clk_get_optional
+  i2c_del_adapter
+  i2c_parse_fw_timings
+
+# required by i2c-dev.ko
+  bus_register_notifier
+  bus_unregister_notifier
+  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 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
+  tasklet_setup
+  vchan_dma_desc_free_list
+  vchan_find_desc
+  vchan_init
+  vchan_tx_desc_free
+  vchan_tx_submit
+
+# 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_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
+  drmm_mode_config_init
+  drm_mode_config_cleanup
+  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_connector_list_iter_begin
+  drm_connector_list_iter_end
+  drm_connector_list_iter_next
+  drm_connector_unregister
+  __drm_dbg
+  drm_encoder_cleanup
+  drm_encoder_init
+  drm_of_find_possible_crtcs
+  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 mali_kbase.ko
+  anon_inode_getfd
+  __bitmap_weight
+  cache_line_size
+  clear_page
+  __close_fd
+  debugfs_create_bool
+  debugfs_create_size_t
+  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_map_attachment
+  dma_buf_mmap
+  dma_buf_put
+  dma_buf_unmap_attachment
+  dma_buf_vmap
+  dma_buf_vunmap
+  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
+  hrtimer_cancel
+  hrtimer_init
+  hrtimer_start_range_ns
+  iomem_resource
+  kimage_voffset
+  kstrdup
+  kstrtobool_from_user
+  kthread_should_stop
+  kthread_stop
+  ktime_add_safe
+  ktime_get_raw_ts64
+  misc_deregister
+  misc_register
+  __mmdrop
+  mm_trace_rss_stat
+  msleep_interruptible
+  of_devfreq_cooling_register_power
+  of_find_device_by_node
+  of_get_next_available_child
+  of_parse_phandle
+  of_property_read_u64
+  __put_page
+  rb_erase
+  rb_first
+  rb_insert_color
+  rb_next
+  rb_prev
+  rb_replace_node
+  regulator_get_optional
+  regulator_put
+  __release_region
+  remap_vmalloc_range
+  __request_region
+  seq_open
+  seq_putc
+  seq_release
+  seq_write
+  set_page_dirty_lock
+  simple_attr_read
+  simple_attr_write
+  __sw_hweight32
+  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
+  vmalloc_user
+  vmf_insert_pfn
+  vm_mmap
+  vzalloc
+
+# 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
+  bus_register
+  bus_unregister
+  dma_get_merge_boundary
+  mmc_app_cmd
+  mmc_calc_max_discard
+  mmc_can_erase
+  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_sanitize
+  __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
+  register_blkdev
+  sg_init_one
+  simple_strtoul
+  string_get_size
+  unregister_blkdev
+
+# required by mmc_spi.ko
+  is_vmalloc_addr
+  mmc_gpiod_request_cd_irq
+  spi_bus_lock
+  spi_bus_unlock
+  spi_sync_locked
+
+# required by nvme-core.ko
+  add_uevent_var
+  bdget_disk
+  bdput
+  bd_set_nr_sectors
+  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_unfreeze_queue
+  blk_mq_unique_tag
+  blk_poll
+  blk_queue_chunk_sectors
+  blk_queue_dma_alignment
+  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
+  bpf_trace_run3
+  cleanup_srcu_struct
+  compat_ptr_ioctl
+  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_size
+  set_capacity_revalidate_and_notify
+  __srcu_read_unlock
+  synchronize_srcu
+  sysfs_create_link
+  sysfs_remove_link
+  uuid_null
+  xa_store
+
+# required by nvme.ko
+  async_schedule_node
+  blk_mq_complete_request_remote
+  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_uint
+  param_set_uint
+  pci_alloc_irq_vectors_affinity
+  pcibios_resource_to_bus
+  pci_device_is_present
+  pci_disable_device
+  pcie_aspm_enabled
+  pci_enable_device_mem
+  pci_free_irq
+  pci_free_irq_vectors
+  pci_irq_vector
+  pci_load_saved_state
+  pci_read_config_word
+  pci_release_selected_regions
+  pci_request_irq
+  pci_request_selected_regions
+  pci_restore_state
+  pci_save_state
+  pci_select_bars
+  pci_set_master
+  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
+  blk_finish_plug
+  blk_start_plug
+  configfs_register_subsystem
+  configfs_unregister_subsystem
+  config_group_init
+  config_group_init_type_name
+  _ctype
+  filp_open
+  fs_bio_set
+  hex_to_bin
+  iov_iter_bvec
+  kmem_cache_create
+  kmem_cache_destroy
+  kmemdup_nul
+  kstrtobool
+  kstrtou16
+  kvfree_call_rcu
+  mempool_alloc_slab
+  mempool_create
+  mempool_free_slab
+  mod_delayed_work_on
+  __per_cpu_offset
+  percpu_ref_exit
+  percpu_ref_init
+  percpu_ref_kill_and_confirm
+  radix_tree_delete
+  radix_tree_next_chunk
+  __request_module
+  sgl_alloc
+  sgl_free
+  sg_pcopy_from_buffer
+  sg_pcopy_to_buffer
+  sg_zero_buffer
+  strcspn
+  strlen
+  submit_bio
+  uuid_gen
+  uuid_parse
+  vfs_fallocate
+  vfs_fsync
+  vfs_getattr
+  __xa_insert
+
+# required by of_mmc_spi.ko
+  mmc_of_parse_voltage
+
+# required by ohci-hcd.ko
+  device_set_wakeup_capable
+  gen_pool_dma_alloc_align
+  gen_pool_dma_zalloc_align
+  gen_pool_free_owner
+  sb800_prefetch
+  schedule_timeout_uninterruptible
+  usb_amd_dev_put
+  usb_amd_quirk_pll_disable
+  usb_amd_quirk_pll_enable
+  usb_calc_bus_time
+  usb_debug_root
+  usb_hcd_check_unlink_urb
+  usb_hcd_giveback_urb
+  usb_hc_died
+  usb_hcd_link_urb_to_ep
+  usb_hcd_poll_rh_status
+  usb_hcd_resume_root_hub
+  usb_hcds_loaded
+  usb_hcd_unlink_urb_from_ep
+  usb_root_hub_lost_power
+
+# required by ohci-pci.ko
+  pci_get_slot
+  pci_match_id
+  usb_amd_prefetch_quirk
+  usb_amd_quirk_pll_check
+  usb_hcd_pci_pm_ops
+  usb_hcd_pci_probe
+  usb_hcd_pci_remove
+  usb_hcd_pci_shutdown
+
+# required by ohci-platform.ko
+  device_wakeup_enable
+  devm_reset_control_array_get
+  usb_add_hcd
+  usb_create_hcd
+  usb_hcd_platform_shutdown
+  usb_put_hcd
+  usb_remove_hcd
+
+# required by page_pool.ko
+  contig_page_data
+  mod_node_page_state
+
+# required by phy-hi3660-usb3.ko
+  __devm_of_phy_provider_register
+  devm_phy_create
+  of_phy_simple_xlate
+
+# required by reboot-mode.ko
+  devres_add
+  devres_alloc_node
+  devres_free
+  devres_release
+  kstrdup_const
+  register_reboot_notifier
+  unregister_reboot_notifier
+
+# required by rfkill-gpio.ko
+  device_property_read_string
+  rfkill_alloc
+  rfkill_destroy
+  rfkill_find_type
+  rfkill_register
+  rfkill_unregister
+
+# required by rtc-efi.ko
+  devm_rtc_device_register
+  efi
+  __platform_driver_probe
+  rtc_valid_tm
+  rtc_year_days
+
+# 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
+  snd_soc_runtime_calc_hw
+
+# 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_dai_link_set_capabilities
+  snd_soc_of_get_dai_name
+  snd_soc_of_parse_aux_devs
+  snd_soc_of_parse_node_prefix
+  snd_soc_of_parse_tdm_slot
+  snd_soc_pm_ops
+
+# required by spi-pl022.ko
+  devm_gpio_request
+  devm_spi_register_controller
+  __dma_request_channel
+  gpiod_direction_output_raw
+  gpiod_set_raw_value
+  loops_per_jiffy
+  pinctrl_pm_select_default_state
+  pinctrl_pm_select_idle_state
+  __spi_alloc_controller
+  spi_controller_resume
+  spi_controller_suspend
+  spi_delay_exec
+  spi_finalize_current_message
+  spi_get_next_queued_message
+
+# required by spidev.ko
+  device_create
+  device_destroy
+  __register_chrdev
+  stream_open
+  __unregister_chrdev
+
+# required by system_heap.ko
+  dma_heap_get_dev
+  __sg_page_iter_next
+  __sg_page_iter_start
+
+# required by tcpci_rt1711h.ko
+  i2c_smbus_read_word_data
+  regmap_raw_read
+  regmap_raw_write
+  tcpci_irq
+  tcpci_register_port
+  tcpci_unregister_port
+
+# required by wl18xx.ko
+  __cfg80211_alloc_event_skb
+  __cfg80211_send_event_skb
+  ieee80211_radar_detected
+  kstrtou8_from_user
+
+# required by wlcore.ko
+  bcmp
+  __cfg80211_alloc_reply_skb
+  cfg80211_find_elem_match
+  cfg80211_find_vendor_elem
+  cfg80211_vendor_cmd_reply
+  complete_all
+  consume_skb
+  device_create_bin_file
+  device_remove_bin_file
+  dev_pm_clear_wake_irq
+  dev_pm_set_dedicated_wake_irq
+  disable_irq_nosync
+  get_random_u32
+  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_freq_khz_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_msecs
+  jiffies_to_usecs
+  __local_bh_enable_ip
+  __netdev_alloc_skb
+  __nla_parse
+  no_seek_end_llseek
+  _raw_spin_trylock
+  request_firmware_nowait
+  rfc1042_header
+  skb_dequeue
+  skb_push
+  skb_put
+  skb_queue_head
+  skb_trim
+  vscnprintf
+  wiphy_to_ieee80211_hw
+
+# required by wlcore_sdio.ko
+  platform_device_add
+  platform_device_add_data
+  platform_device_add_resources
+  platform_device_alloc
+  platform_device_put
+  print_hex_dump
+  sdio_claim_host
+  sdio_disable_func
+  sdio_enable_func
+  sdio_f0_readb
+  sdio_f0_writeb
+  sdio_get_host_pm_caps
+  sdio_memcpy_fromio
+  sdio_memcpy_toio
+  sdio_readsb
+  sdio_register_driver
+  sdio_release_host
+  sdio_set_block_size
+  sdio_set_host_pm_flags
+  sdio_unregister_driver
+  sdio_writesb

+ 1 - 0
build.config.gki.aarch64

@@ -8,6 +8,7 @@ ADDITIONAL_KMI_SYMBOL_LISTS="
 android/abi_gki_aarch64_db845c
 android/abi_gki_aarch64_qcom
 android/abi_gki_aarch64_virtual_device
+android/abi_gki_aarch64_hikey960
 "
 
 MODULES_ORDER=android/gki_aarch64_modules

+ 24 - 0
build.config.hikey960

@@ -0,0 +1,24 @@
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
+
+DEFCONFIG=hikey960_gki_defconfig
+PRE_DEFCONFIG_CMDS="cat ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/hikey960_gki.fragment > ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG};"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}"
+
+EXT_MODULES="
+hikey-modules/midgard
+"
+
+MAKE_GOALS="${MAKE_GOALS}
+hisilicon/hi3660-hikey960.dtb
+Image.gz
+"
+
+FILES="${FILES}
+arch/arm64/boot/Image.gz
+arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb
+vmlinux
+System.map
+"
+KMI_SYMBOL_LIST=android/abi_gki_aarch64_hikey960
+GKI_MODULES_LIST=android/gki_aarch64_modules