No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alistair Delva 167420966b ANDROID: update ABI for db845c changes
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct pci_dev at pci.h:291:1' changed:
  type size changed from 15744 to 15808 (in bits)
  2 data member insertions:
    'unsigned int pci_dev::ltr_path', at offset 31 (in bits) at pci.h:363:1
    'pcie_link_state* pci_dev::link_state', at offset 1216 (in bits) at pci.h:362:1
  there are data member changes:
   'unsigned int pci_dev::eetlp_prefix_path' offset changed from 31 to 30 (in bits) (by -1 bits)
   'pci_channel_state_t pci_dev::error_state' offset changed from 1216 to 1312 (in bits) (by +96 bits)
   'device pci_dev::dev' offset changed from 1280 to 1344 (in bits) (by +64 bits)
   'int pci_dev::cfg_size' offset changed from 7424 to 7488 (in bits) (by +64 bits)
   'unsigned int pci_dev::irq' offset changed from 7456 to 7520 (in bits) (by +64 bits)
   'resource pci_dev::resource[11]' offset changed from 7488 to 7552 (in bits) (by +64 bits)
   'bool pci_dev::match_driver' offset changed from 13120 to 13184 (in bits) (by +64 bits)
   'unsigned int pci_dev::reset_fn' offset changed from 13120 to 13184 (in bits) (by +64 bits)
   'pci_dev_flags_t pci_dev::dev_flags' offset changed from 13168 to 13232 (in bits) (by +64 bits)
   'atomic_t pci_dev::enable_cnt' offset changed from 13184 to 13248 (in bits) (by +64 bits)
   'u32 pci_dev::saved_config_space[16]' offset changed from 13216 to 13280 (in bits) (by +64 bits)
   'hlist_head pci_dev::saved_cap_space' offset changed from 13760 to 13824 (in bits) (by +64 bits)
   'bin_attribute* pci_dev::rom_attr' offset changed from 13824 to 13888 (in bits) (by +64 bits)
   'int pci_dev::rom_attr_enabled' offset changed from 13888 to 13952 (in bits) (by +64 bits)
   'bin_attribute* pci_dev::res_attr[11]' offset changed from 13952 to 14016 (in bits) (by +64 bits)
   'bin_attribute* pci_dev::res_attr_wc[11]' offset changed from 14656 to 14720 (in bits) (by +64 bits)
   'const attribute_group** pci_dev::msi_irq_groups' offset changed from 15360 to 15424 (in bits) (by +64 bits)
   'pci_vpd* pci_dev::vpd' offset changed from 15424 to 15488 (in bits) (by +64 bits)
   'phys_addr_t pci_dev::rom' offset changed from 15488 to 15552 (in bits) (by +64 bits)
   'size_t pci_dev::romlen' offset changed from 15552 to 15616 (in bits) (by +64 bits)
   'char* pci_dev::driver_override' offset changed from 15616 to 15680 (in bits) (by +64 bits)
   'unsigned long int pci_dev::priv_flags' offset changed from 15680 to 15744 (in bits) (by +64 bits)

  17 impacted interfaces:
    function int __pci_register_driver(pci_driver*, module*, const char*)
    function int pci_alloc_irq_vectors_affinity(pci_dev*, unsigned int, unsigned int, unsigned int, irq_affinity*)
    function void pci_disable_device(pci_dev*)
    function int pci_enable_device(pci_dev*)
    function int pci_find_capability(pci_dev*, int)
    function int pci_find_ext_capability(pci_dev*, int)
    function int pci_find_next_capability(pci_dev*, u8, int)
    function void pci_free_irq_vectors(pci_dev*)
    function void* pci_iomap_range(pci_dev*, int, unsigned long int, unsigned long int)
    function const cpumask* pci_irq_get_affinity(pci_dev*, int)
    function int pci_irq_vector(pci_dev*, unsigned int)
    function int pci_read_config_byte(const pci_dev*, int, u8*)
    function int pci_read_config_dword(const pci_dev*, int, u32*)
    function void pci_release_selected_regions(pci_dev*, int)
    function int pci_request_selected_regions(pci_dev*, int, const char*)
    function void pci_set_master(pci_dev*)
    function void pci_unregister_driver(pci_driver*)

'struct pm_subsys_data at pm.h:530:1' changed:
  type size changed from 192 to 256 (in bits)
  1 data member insertion:
    'pm_domain_data* pm_subsys_data::domain_data', at offset 192 (in bits) at pm.h:537:1

  478 impacted interfaces:
    function void* PDE_DATA(const inode*)
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function class* __class_create(module*, const char*, lock_class_key*)
    function int __class_register(class*, lock_class_key*)
    function net_device* __dev_get_by_index(net*, int)
    function resource* __devm_request_region(device*, resource*, resource_size_t, resource_size_t, const char*)
    function reset_control* __devm_reset_control_get(device*, const char*, int, bool, bool, bool)
    function void* __devres_alloc_node(dr_release_t, size_t, gfp_t, int, const char*)
    function int __ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)
    function char* __get_task_comm(char*, size_t, task_struct*)
    function void __hvc_resize(hvc_struct*, winsize)
    function sk_buff* __napi_alloc_skb(napi_struct*, unsigned int, gfp_t)
    function void __napi_schedule(napi_struct*)
    function sk_buff* __netdev_alloc_skb(net_device*, unsigned int, gfp_t)
    function int __netif_set_xps_queue(net_device*, const unsigned long int*, u16, bool)
    function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)
    function int __pci_register_driver(pci_driver*, module*, const char*)
    function int __platform_driver_register(platform_driver*, module*)
    function void __pm_runtime_disable(device*, bool)
    function int __pm_runtime_idle(device*, int)
    function int __pm_runtime_resume(device*, int)
    function int __pm_runtime_set_status(device*, unsigned int)
    function int __pm_runtime_suspend(device*, int)
    function void __pm_runtime_use_autosuspend(device*, bool)
    function int __register_chrdev(unsigned int, unsigned int, unsigned int, const char*, const file_operations*)
    function int __rtc_register_device(module*, rtc_device*)
    function bool __skb_flow_dissect(const net*, const sk_buff*, flow_dissector*, void*, void*, __be16, int, int, unsigned int)
    function void __sock_recv_ts_and_drops(msghdr*, sock*, sk_buff*)
    function ssize_t __splice_from_pipe(pipe_inode_info*, splice_desc*, splice_actor*)
    function void _dev_err(const device*, const char*, ...)
    function void _dev_info(const device*, const char*, ...)
    function void _dev_notice(const device*, const char*, ...)
    function void _dev_warn(const device*, const char*, ...)
    function net_device* alloc_etherdev_mqs(int, unsigned int, unsigned int)
    function net_device* alloc_netdev_mqs(int, const char*, unsigned char, void ()*, unsigned int, unsigned int)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function bool blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_unquiesce_queue(request_queue*)
    function int blk_mq_virtio_map_queues(blk_mq_queue_map*, virtio_device*, int)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned short int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_discard_segments(request_queue*, unsigned short int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_max_write_zeroes_sectors(request_queue*, unsigned int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function int call_netdevice_notifiers(unsigned long int, net_device*)
    function int cdev_add(cdev*, dev_t, unsigned int)
    function cdev* cdev_alloc()
    function void cdev_del(cdev*)
    function int cdev_device_add(cdev*, device*)
    function void cdev_device_del(cdev*, device*)
    function void cdev_init(cdev*, const file_operations*)
    function void cfg80211_connect_done(net_device*, cfg80211_connect_resp_params*, gfp_t)
    function void cfg80211_disconnected(net_device*, u16, const u8*, size_t, bool, gfp_t)
    function cfg80211_bss* cfg80211_inform_bss_data(wiphy*, cfg80211_inform_bss*, cfg80211_bss_frame_type, const u8*, u64, u16, u16, const u8*, size_t, gfp_t)
    function void cfg80211_put_bss(wiphy*, cfg80211_bss*)
    function void cfg80211_scan_done(cfg80211_scan_request*, cfg80211_scan_info*)
    function int check_disk_change(block_device*)
    function void class_destroy(class*)
    function void class_unregister(class*)
    function int cpufreq_register_driver(cpufreq_driver*)
    function int cpufreq_unregister_driver(cpufreq_driver*)
    function int crypto_register_alg(crypto_alg*)
    function int crypto_unregister_alg(crypto_alg*)
    function __poll_t datagram_poll(file*, socket*, poll_table*)
    function ssize_t debugfs_attr_read(file*, char*, size_t, loff_t*)
    function ssize_t debugfs_attr_write(file*, const char*, size_t, loff_t*)
    function dentry* debugfs_create_dir(const char*, dentry*)
    function dentry* debugfs_create_file(const char*, umode_t, dentry*, void*, const file_operations*)
    function dentry* debugfs_create_file_unsafe(const char*, umode_t, dentry*, void*, const file_operations*)
    function dentry* debugfs_create_x32(const char*, umode_t, dentry*, u32*)
    function void debugfs_remove(dentry*)
    function void debugfs_remove_recursive(dentry*)
    function loff_t default_llseek(file*, loff_t, int)
    function void del_gendisk(gendisk*)
    function void dev_add_pack(packet_type*)
    function void dev_close(net_device*)
    function const char* dev_driver_string(const device*)
    function fwnode_handle* dev_fwnode(device*)
    function net_device* dev_get_by_index(net*, int)
    function net_device* dev_get_by_index_rcu(net*, int)
    function rtnl_link_stats64* dev_get_stats(net_device*, rtnl_link_stats64*)
    function int dev_mc_sync_multiple(net_device*, net_device*)
    function void dev_mc_unsync(net_device*, net_device*)
    function int dev_open(net_device*, netlink_ext_ack*)
    function int dev_pm_domain_attach(device*, bool)
    function void dev_pm_domain_detach(device*, bool)
    function void dev_printk(const char*, const device*, const char*, ...)
    function void dev_remove_pack(packet_type*)
    function int dev_set_mtu(net_device*, int)
    function int dev_set_name(device*, const char*, ...)
    function int dev_uc_sync_multiple(net_device*, net_device*)
    function void dev_uc_unsync(net_device*, net_device*)
    function int device_add(device*)
    function void device_add_disk(device*, gendisk*, const attribute_group**)
    function device* device_create(class*, device*, dev_t, void*, const char*, ...)
    function int device_create_file(device*, const device_attribute*)
    function void device_del(device*)
    function void device_destroy(class*, dev_t)
    function int device_for_each_child(device*, void*, void ()*)
    function int device_init_wakeup(device*, bool)
    function void device_initialize(device*)
    function bool device_property_present(device*, const char*)
    function int device_property_read_u32_array(device*, const char*, u32*, size_t)
    function int device_register(device*)
    function void device_remove_file(device*, const device_attribute*)
    function void device_unregister(device*)
    function clk* devm_clk_get(device*, const char*)
    function gpio_desc* devm_gpiod_get_index(device*, const char*, unsigned int, gpiod_flags)
    function void* devm_ioremap(device*, resource_size_t, resource_size_t)
    function char* devm_kasprintf(device*, gfp_t, const char*, ...)
    function void devm_kfree(device*, void*)
    function void* devm_kmalloc(device*, size_t, gfp_t)
    function void* devm_platform_ioremap_resource(platform_device*, unsigned int)
    function regulator* devm_regulator_get_optional(device*, const char*)
    function int devm_request_threaded_irq(device*, unsigned int, irq_handler_t, irq_handler_t, unsigned long int, const char*, void*)
    function rtc_device* devm_rtc_allocate_device(device*)
    function void devres_add(device*, void*)
    function int devres_destroy(device*, dr_release_t, dr_match_t, void*)
    function void* dma_alloc_attrs(device*, size_t, dma_addr_t*, gfp_t, unsigned long int)
    function dma_addr_t dma_direct_map_page(device*, page*, unsigned long int, size_t, dma_data_direction, unsigned long int)
    function int dma_direct_map_sg(device*, scatterlist*, int, dma_data_direction, unsigned long int)
    function void dma_direct_sync_sg_for_cpu(device*, scatterlist*, int, dma_data_direction)
    function void dma_direct_sync_sg_for_device(device*, scatterlist*, int, dma_data_direction)
    function void dma_direct_sync_single_for_cpu(device*, dma_addr_t, size_t, dma_data_direction)
    function void dma_direct_sync_single_for_device(device*, dma_addr_t, size_t, dma_data_direction)
    function void dma_direct_unmap_page(device*, dma_addr_t, size_t, dma_data_direction, unsigned long int)
    function void dma_direct_unmap_sg(device*, scatterlist*, int, dma_data_direction, unsigned long int)
    function void dma_free_attrs(device*, size_t, void*, dma_addr_t, unsigned long int)
    function unsigned long int dma_get_merge_boundary(device*)
    function size_t dma_max_mapping_size(device*)
    function void dma_resv_add_excl_fence(dma_resv*, dma_fence*)
    function void dma_resv_add_shared_fence(dma_resv*, dma_fence*)
    function int dma_resv_copy_fences(dma_resv*, dma_resv*)
    function void dma_resv_fini(dma_resv*)
    function void dma_resv_init(dma_resv*)
    function int dma_resv_reserve_shared(dma_resv*, unsigned int)
    function bool dma_resv_test_signaled_rcu(dma_resv*, bool)
    function long int dma_resv_wait_timeout_rcu(dma_resv*, bool, bool, unsigned long int)
    function int dma_set_coherent_mask(device*, u64)
    function int dma_set_mask(device*, u64)
    function int drm_add_edid_modes(drm_connector*, edid*)
    function int drm_add_modes_noedid(drm_connector*, int, int)
    function int drm_atomic_helper_check(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_cleanup_planes(drm_device*, drm_atomic_state*)
    function int drm_atomic_helper_commit(drm_device*, drm_atomic_state*, bool)
    function void drm_atomic_helper_commit_hw_done(drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_disables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_enables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_planes(drm_device*, drm_atomic_state*, uint32_t)
    function void drm_atomic_helper_connector_destroy_state(drm_connector*, drm_connector_state*)
    function drm_connector_state* drm_atomic_helper_connector_duplicate_state(drm_connector*)
    function void drm_atomic_helper_connector_reset(drm_connector*)
    function void drm_atomic_helper_crtc_destroy_state(drm_crtc*, drm_crtc_state*)
    function drm_crtc_state* drm_atomic_helper_crtc_duplicate_state(drm_crtc*)
    function void drm_atomic_helper_crtc_reset(drm_crtc*)
    function int drm_atomic_helper_dirtyfb(drm_framebuffer*, drm_file*, unsigned int, unsigned int, drm_clip_rect*, unsigned int)
    function int drm_atomic_helper_disable_plane(drm_plane*, drm_modeset_acquire_ctx*)
    function int drm_atomic_helper_page_flip(drm_crtc*, drm_framebuffer*, drm_pending_vblank_event*, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_plane_destroy_state(drm_plane*, drm_plane_state*)
    function drm_plane_state* drm_atomic_helper_plane_duplicate_state(drm_plane*)
    function void drm_atomic_helper_plane_reset(drm_plane*)
    function int drm_atomic_helper_set_config(drm_mode_set*, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_shutdown(drm_device*)
    function int drm_atomic_helper_update_plane(drm_plane*, drm_crtc*, drm_framebuffer*, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_wait_for_vblanks(drm_device*, drm_atomic_state*)
    function int drm_class_device_register(device*)
    function void drm_class_device_unregister(device*)
    function long int drm_compat_ioctl(file*, unsigned int, unsigned long int)
    function void drm_connector_attach_edid_property(drm_connector*)
    function int drm_connector_attach_encoder(drm_connector*, drm_encoder*)
    function void drm_connector_cleanup(drm_connector*)
    function int drm_connector_init(drm_device*, drm_connector*, const drm_connector_funcs*, int)
    function int drm_connector_register(drm_connector*)
    function void drm_connector_unregister(drm_connector*)
    function int drm_connector_update_edid_property(drm_connector*, const edid*)
    function void drm_crtc_cleanup(drm_crtc*)
    function int drm_crtc_init_with_planes(drm_device*, drm_crtc*, drm_plane*, drm_plane*, const drm_crtc_funcs*, const char*, ...)
    function void drm_crtc_send_vblank_event(drm_crtc*, drm_pending_vblank_event*)
    function drm_display_mode* drm_cvt_mode(drm_device*, int, int, int, bool, bool, bool)
    function int drm_debugfs_create_files(const drm_info_list*, int, dentry*, drm_minor*)
    function drm_device* drm_dev_alloc(drm_driver*, device*)
    function void drm_dev_put(drm_device*)
    function int drm_dev_register(drm_device*, unsigned long int)
    function int drm_dev_set_unique(drm_device*, const char*)
    function void drm_dev_unregister(drm_device*)
    function edid* drm_do_get_edid(drm_connector*, void ()*, void*)
    function void drm_encoder_cleanup(drm_encoder*)
    function int drm_encoder_init(drm_device*, drm_encoder*, const drm_encoder_funcs*, int, const char*, ...)
    function int drm_framebuffer_init(drm_device*, drm_framebuffer*, const drm_framebuffer_funcs*)
    function int drm_gem_fb_create_handle(drm_framebuffer*, drm_file*, unsigned int*)
    function void drm_gem_fb_destroy(drm_framebuffer*)
    function int drm_gem_handle_create(drm_file*, drm_gem_object*, u32*)
    function int drm_gem_object_init(drm_device*, drm_gem_object*, size_t)
    function drm_gem_object* drm_gem_object_lookup(drm_file*, u32)
    function void drm_gem_object_put_unlocked(drm_gem_object*)
    function void drm_gem_object_release(drm_gem_object*)
    function int drm_gem_prime_fd_to_handle(drm_device*, drm_file*, int, uint32_t*)
    function int drm_gem_prime_handle_to_fd(drm_device*, drm_file*, uint32_t, uint32_t, int*)
    function int drm_gem_prime_mmap(drm_gem_object*, vm_area_struct*)
    function bool drm_helper_hpd_irq_event(drm_device*)
    function void drm_helper_mode_fill_fb_struct(drm_device*, drm_framebuffer*, const drm_mode_fb_cmd2*)
    function int drm_helper_probe_single_connector_modes(drm_connector*, uint32_t, uint32_t)
    function long int drm_ioctl(file*, unsigned int, unsigned long int)
    function void drm_kms_helper_hotplug_event(drm_device*)
    function void drm_mode_config_cleanup(drm_device*)
    function void drm_mode_config_init(drm_device*)
    function void drm_mode_config_reset(drm_device*)
    function void drm_mode_probed_add(drm_connector*, drm_display_mode*)
    function int drm_open(inode*, file*)
    function void drm_plane_cleanup(drm_plane*)
    function __poll_t drm_poll(file*, poll_table_struct*)
    function void drm_put_dev(drm_device*)
    function ssize_t drm_read(file*, char*, size_t, loff_t*)
    function int drm_release(inode*, file*)
    function void drm_set_preferred_mode(drm_connector*, int, int)
    function int drm_universal_plane_init(drm_device*, drm_plane*, uint32_t, const drm_plane_funcs*, const uint32_t*, unsigned int, const uint64_t*, drm_plane_type, const char*, ...)
    function void eth_commit_mac_addr_change(net_device*, void*)
    function int eth_prepare_mac_addr_change(net_device*, void*)
    function __be16 eth_type_trans(sk_buff*, net_device*)
    function int eth_validate_addr(net_device*)
    function void ether_setup(net_device*)
    function u32 ethtool_op_get_link(net_device*)
    function int ethtool_op_get_ts_info(net_device*, ethtool_ts_info*)
    function event_trigger_type event_triggers_call(trace_event_file*, void*, ring_buffer_event*)
    function int fasync_helper(int, file*, int, fasync_struct**)
    function void fd_install(unsigned int, file*)
    function void fput(file*)
    function void free_netdev(net_device*)
    function bool freezing_slow_path(task_struct*)
    function int fsl8250_handle_irq(uart_port*)
    function loff_t generic_file_llseek(file*, loff_t, int)
    function device* get_device(device*)
    function int gpiod_cansleep(const gpio_desc*)
    function int gpiod_get_raw_value(const gpio_desc*)
    function int gpiod_get_raw_value_cansleep(const gpio_desc*)
    function int gpiod_get_value(const gpio_desc*)
    function int gpiod_get_value_cansleep(const gpio_desc*)
    function int gpiod_is_active_low(const gpio_desc*)
    function int gpiod_set_debounce(gpio_desc*, unsigned int)
    function int gpiod_to_irq(const gpio_desc*)
    function hvc_struct* hvc_alloc(uint32_t, int, const hv_ops*, int)
    function int hvc_instantiate(uint32_t, int, const hv_ops*)
    function int hvc_poll(hvc_struct*)
    function int hvc_remove(hvc_struct*)
    function void input_alloc_absinfo(input_dev*)
    function input_dev* input_allocate_device()
    function void input_event(input_dev*, unsigned int, unsigned int, int)
    function void input_free_device(input_dev*)
    function int input_mt_init_slots(input_dev*, unsigned int, unsigned int)
    function int input_register_device(input_dev*)
    function void input_set_abs_params(input_dev*, unsigned int, int, int, int, int)
    function void input_unregister_device(input_dev*)
    function void kobject_del(kobject*)
    function int kobject_init_and_add(kobject*, kobj_type*, kobject*, const char*, ...)
    function void kobject_put(kobject*)
    function int kobject_uevent(kobject*, kobject_action)
    function int kobject_uevent_env(kobject*, kobject_action, char**)
    function task_struct* kthread_create_on_node(void ()*, void*, int, const char*, ...)
    function kthread_worker* kthread_create_worker(unsigned int, const char*, ...)
    function void kthread_destroy_worker(kthread_worker*)
    function bool kthread_queue_work(kthread_worker*, kthread_work*)
    function int kthread_stop(task_struct*)
    function int led_classdev_register_ext(device*, led_classdev*, led_init_data*)
    function void led_classdev_unregister(led_classdev*)
    function void led_trigger_event(led_trigger*, led_brightness)
    function void led_trigger_register_simple(const char*, led_trigger**)
    function void led_trigger_unregister_simple(led_trigger*)
    function void lock_sock_nested(sock*, int)
    function void misc_deregister(miscdevice*)
    function int misc_register(miscdevice*)
    function bool napi_complete_done(napi_struct*, int)
    function void napi_disable(napi_struct*)
    function gro_result_t napi_gro_receive(napi_struct*, sk_buff*)
    function bool napi_hash_del(napi_struct*)
    function bool napi_schedule_prep(napi_struct*)
    function void netdev_change_features(net_device*)
    function void netdev_err(const net_device*, const char*, ...)
    function void netdev_info(const net_device*, const char*, ...)
    function void netdev_lower_state_changed(net_device*, void*)
    function int netdev_master_upper_dev_link(net_device*, net_device*, void*, void*, netlink_ext_ack*)
    function void netdev_notify_peers(net_device*)
    function u16 netdev_pick_tx(net_device*, sk_buff*, net_device*)
    function int netdev_rx_handler_register(net_device*, rx_handler_func_t*, void*)
    function void netdev_rx_handler_unregister(net_device*)
    function int netdev_upper_dev_link(net_device*, net_device*, netlink_ext_ack*)
    function void netdev_upper_dev_unlink(net_device*, net_device*)
    function void netdev_warn(const net_device*, const char*, ...)
    function void netif_carrier_off(net_device*)
    function void netif_carrier_on(net_device*)
    function void netif_device_attach(net_device*)
    function void netif_device_detach(net_device*)
    function void netif_napi_add(net_device*, napi_struct*, void ()*, int)
    function void netif_napi_del(napi_struct*)
    function int netif_set_real_num_rx_queues(net_device*, unsigned int)
    function int netif_set_real_num_tx_queues(net_device*, unsigned int)
    function void netif_stacked_transfer_operstate(const net_device*, net_device*)
    function void netif_tx_stop_all_queues(net_device*)
    function loff_t no_llseek(file*, loff_t, int)
    function int nonseekable_open(inode*, file*)
    function loff_t noop_llseek(file*, loff_t, int)
    function int of_address_to_resource(device_node*, int, resource*)
    function int of_alias_get_id(device_node*, const char*)
    function void* of_device_get_match_data(const device*)
    function bool of_device_is_big_endian(const device_node*)
    function int of_device_is_compatible(const device_node*, const char*)
    function property* of_find_property(const device_node*, const char*, int*)
    function device_node* of_get_child_by_name(const device_node*, const char*)
    function device_node* of_get_next_child(const device_node*, device_node*)
    function void* of_get_property(const device_node*, const char*, int*)
    function int of_irq_get(device_node*, int)
    function device_node* of_parse_phandle(const device_node*, const char*, int)
    function int of_property_read_u64(const device_node*, const char*, u64*)
    function int of_property_read_variable_u32_array(const device_node*, const char*, u32*, size_t, size_t)
    function netdev_features_t passthru_features_check(sk_buff*, net_device*, netdev_features_t)
    function int pci_alloc_irq_vectors_affinity(pci_dev*, unsigned int, unsigned int, unsigned int, irq_affinity*)
    function void pci_disable_device(pci_dev*)
    function int pci_enable_device(pci_dev*)
    function int pci_find_capability(pci_dev*, int)
    function int pci_find_ext_capability(pci_dev*, int)
    function int pci_find_next_capability(pci_dev*, u8, int)
    function void pci_free_irq_vectors(pci_dev*)
    function void* pci_iomap_range(pci_dev*, int, unsigned long int, unsigned long int)
    function const cpumask* pci_irq_get_affinity(pci_dev*, int)
    function int pci_irq_vector(pci_dev*, unsigned int)
    function int pci_read_config_byte(const pci_dev*, int, u8*)
    function int pci_read_config_dword(const pci_dev*, int, u32*)
    function void pci_release_selected_regions(pci_dev*, int)
    function int pci_request_selected_regions(pci_dev*, int, const char*)
    function void pci_set_master(pci_dev*)
    function void pci_unregister_driver(pci_driver*)
    function void perf_trace_run_bpf_submit(void*, int, int, trace_event_call*, u64, pt_regs*, hlist_head*, task_struct*)
    function int platform_device_add(platform_device*)
    function int platform_device_add_data(platform_device*, void*, size_t)
    function platform_device* platform_device_alloc(const char*, int)
    function void platform_device_del(platform_device*)
    function void platform_device_put(platform_device*)
    function platform_device* platform_device_register_full(const platform_device_info*)
    function void platform_device_unregister(platform_device*)
    function void platform_driver_unregister(platform_driver*)
    function int platform_get_irq(platform_device*, unsigned int)
    function resource* platform_get_resource(platform_device*, unsigned int, unsigned int)
    function int pm_generic_resume(device*)
    function int pm_generic_runtime_resume(device*)
    function int pm_generic_runtime_suspend(device*)
    function int pm_generic_suspend(device*)
    function void pm_runtime_enable(device*)
    function void pm_runtime_set_autosuspend_delay(device*, int)
    function void pm_wakeup_dev_event(device*, unsigned int, bool)
    function void put_device(device*)
    function void put_disk(gendisk*)
    function int register_netdev(net_device*)
    function int register_netdevice(net_device*)
    function int register_pernet_subsys(pernet_operations*)
    function int regulator_count_voltages(regulator*)
    function int regulator_disable(regulator*)
    function int regulator_enable(regulator*)
    function int regulator_get_current_limit(regulator*)
    function int regulator_get_voltage(regulator*)
    function int regulator_is_supported_voltage(regulator*, int, int)
    function int regulator_list_voltage(regulator*, unsigned int)
    function int regulator_set_voltage(regulator*, int, int)
    function void release_sock(sock*)
    function int reset_control_assert(reset_control*)
    function int reset_control_deassert(reset_control*)
    function int revalidate_disk(gendisk*)
    function void rtc_update_irq(rtc_device*, unsigned long int, unsigned long int)
    function int rtnl_link_register(rtnl_link_ops*)
    function void rtnl_link_unregister(rtnl_link_ops*)
    function int sched_setscheduler(task_struct*, int, const sched_param*)
    function loff_t seq_lseek(file*, loff_t, int)
    function void seq_printf(seq_file*, const char*, ...)
    function void seq_putc(seq_file*, char)
    function void seq_puts(seq_file*, const char*)
    function ssize_t seq_read(file*, char*, size_t, loff_t*)
    function uart_8250_port* serial8250_get_port(int)
    function int serial8250_register_8250_port(uart_8250_port*)
    function void set_disk_ro(gendisk*, int)
    function file* shmem_file_setup(const char*, loff_t, unsigned long int)
    function int simple_attr_open(inode*, file*, void ()*, void ()*, const char*)
    function ssize_t simple_attr_read(file*, char*, size_t, loff_t*)
    function int simple_attr_release(inode*, file*)
    function ssize_t simple_attr_write(file*, const char*, size_t, loff_t*)
    function int single_open(file*, void ()*, void*)
    function int single_release(inode*, file*)
    function sock* sk_alloc(net*, int, gfp_t, proto*, int)
    function void sk_free(sock*)
    function void skb_free_datagram(sock*, sk_buff*)
    function sk_buff* skb_recv_datagram(sock*, unsigned int, int, int*)
    function sk_buff* sock_alloc_send_skb(sock*, unsigned long int, int, int*)
    function int sock_diag_register(const sock_diag_handler*)
    function void sock_diag_save_cookie(sock*, __u32*)
    function void sock_diag_unregister(const sock_diag_handler*)
    function int sock_gettstamp(socket*, void*, bool, bool)
    function unsigned long int sock_i_ino(sock*)
    function void sock_init_data(socket*, sock*)
    function int sock_no_accept(socket*, socket*, int, bool)
    function int sock_no_bind(socket*, sockaddr*, int)
    function int sock_no_connect(socket*, sockaddr*, int, int)
    function int sock_no_getname(socket*, sockaddr*, int)
    function int sock_no_getsockopt(socket*, int, int, char*, int*)
    function int sock_no_ioctl(socket*, unsigned int, unsigned long int)
    function int sock_no_listen(socket*, int)
    function int sock_no_mmap(file*, socket*, vm_area_struct*)
    function ssize_t sock_no_sendpage(socket*, page*, int, size_t, int)
    function int sock_no_setsockopt(socket*, int, int, char*, unsigned int)
    function int sock_no_shutdown(socket*, int)
    function int sock_no_socketpair(socket*, socket*)
    function int sock_queue_rcv_skb(sock*, sk_buff*)
    function int sock_register(const net_proto_family*)
    function sync_file* sync_file_create(dma_fence*)
    function int sysfs_create_bin_file(kobject*, const bin_attribute*)
    function int sysfs_create_group(kobject*, const attribute_group*)
    function void sysfs_remove_bin_file(kobject*, const bin_attribute*)
    function void sysfs_remove_group(kobject*, const attribute_group*)
    function int trace_define_field(trace_event_call*, const char*, const char*, int, int, int, int)
    function void trace_event_buffer_commit(trace_event_buffer*)
    function void* trace_event_buffer_reserve(trace_event_buffer*, trace_event_file*, unsigned long int)
    function bool trace_event_ignore_this_pid(trace_event_file*)
    function int trace_event_raw_init(trace_event_call*)
    function int trace_event_reg(trace_event_call*, trace_reg, void*)
    function void unregister_netdev(net_device*)
    function void unregister_netdevice_queue(net_device*, list_head*)
    function void unregister_pernet_subsys(pernet_operations*)
    function int usb_add_gadget_udc(device*, usb_gadget*)
    function int usb_add_hcd(usb_hcd*, unsigned int, unsigned long int)
    function usb_hcd* usb_create_hcd(const hc_driver*, device*, const char*)
    function usb_hcd* usb_create_shared_hcd(const hc_driver*, device*, const char*, usb_hcd*)
    function usb_device* usb_get_dev(usb_device*)
    function int usb_hcd_check_unlink_urb(usb_hcd*, urb*, int)
    function void usb_hcd_giveback_urb(usb_hcd*, urb*, int)
    function int usb_hcd_is_primary_hcd(usb_hcd*)
    function int usb_hcd_link_urb_to_ep(usb_hcd*, urb*)
    function void usb_hcd_poll_rh_status(usb_hcd*)
    function void usb_hcd_resume_root_hub(usb_hcd*)
    function void usb_hcd_unlink_urb_from_ep(usb_hcd*, urb*)
    function void usb_put_dev(usb_device*)
    function void usb_put_hcd(usb_hcd*)
    function void usb_remove_hcd(usb_hcd*)
    function vm_fault_t vmf_insert_mixed(vm_area_struct*, unsigned long int, pfn_t)
    function vm_fault_t vmf_insert_pfn(vm_area_struct*, unsigned long int, unsigned long int)
    function int wake_up_process(task_struct*)
    function void wiphy_free(wiphy*)
    function wiphy* wiphy_new_nm(const cfg80211_ops*, int, const char*)
    function int wiphy_register(wiphy*)
    function void wiphy_unregister(wiphy*)
    function int ww_mutex_lock(ww_mutex*, ww_acquire_ctx*)
    function int ww_mutex_lock_interruptible(ww_mutex*, ww_acquire_ctx*)
    function void ww_mutex_unlock(ww_mutex*)
    function int xdp_do_redirect(net_device*, xdp_buff*, bpf_prog*)
    function int xdp_rxq_info_reg(xdp_rxq_info*, net_device*, u32)

Bug: 146449535
Change-Id: I27bdc96f7ebd9891eb41562b4db18d691308496d
Signed-off-by: Alistair Delva <adelva@google.com>
2019-12-20 10:25:41 -08:00
arch
block
certs
crypto
Documentation
drivers
fs
include
init
ipc
kernel
lib
LICENSES
mm
net
samples
scripts
security
sound
tools
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
abi_gki_aarch64.xml ANDROID: update ABI for db845c changes 2019-12-20 10:25:41 -08:00
abi_gki_aarch64_whitelist
build.config.aarch64
build.config.allmodconfig
build.config.allmodconfig.aarch64
build.config.allmodconfig.x86_64
build.config.common
build.config.gki
build.config.gki.aarch64
build.config.gki.x86_64
build.config.x86_64
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
README.md

How do I submit patches to Android Common Kernels

  1. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.

  2. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with kernel-team@android.com. If you want to proceed, post a patch that conforms to the patch requirements below.

Common Kernel patch requirements

  • All patches must conform to the Linux kernel coding standards and pass script/checkpatch.pl
  • Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
  • If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch: UPSTREAM:, BACKPORT:, FROMGIT:, FROMLIST:, or ANDROID:.
  • All patches must have a Change-Id: tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
  • If an Android bug has been assigned, there must be a Bug: tag.
  • All patches must have a Signed-off-by: tag by the author and the submitter

Additional requirements are listed below based on patch type

Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:

  • If the patch is a cherry-pick from Linux mainline with no changes at all
    • tag the patch subject with UPSTREAM:.
    • add upstream commit information with a (cherry-picked from ...) line
    • Example:
      • if the upstream commit message is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
    - then Joe Smith would upload the patch for the common kernel as
        UPSTREAM: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch requires any changes from the upstream version, tag the patch with BACKPORT: instead of UPSTREAM:.
    • use the same tags as UPSTREAM:
    • add comments about the changes under the (cherry-picked from ...) line
    • Example:
        BACKPORT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [ Resolved minor conflict in drivers/foo/bar.c ]
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for other backports: FROMGIT:, FROMLIST:,

  • If the patch has been merged into an upstream maintainer tree, but has not yet been merged into Linux mainline
    • tag the patch subject with FROMGIT:
    • add info on where the patch came from as (cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't use linux-next for example).
    • if changes were required, use BACKPORT: FROMGIT:
    • Example:
      • if the commit message in the maintainer tree is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
    - then Joe Smith would upload the patch for the common kernel as
        FROMGIT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
         https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch has been submitted to LKML, but not accepted into any maintainer tree
    • tag the patch subject with FROMLIST:
    • add a Link: tag with a link to the submittal on lore.kernel.org
    • if changes were required, use BACKPORT: FROMLIST:
    • Example:
        FROMLIST: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for Android-specific patches: ANDROID:

  • If the patch is fixing a bug to Android-specific code
    • tag the patch subject with ANDROID:
    • add a Fixes: tag that cites the patch with the bug
    • Example:
        ANDROID: fix android-specific bug in foobar.c

        This is the detailed description of the important fix

        Fixes: 1234abcd2468 ("foobar: add cool feature")
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch is a new feature
    • tag the patch subject with ANDROID:
    • add a Bug: tag with the Android bug (required for android-specific features)