Merge tag 'android14-6.1-2024-05_r1' of https://android.googlesource.com/kernel/common

android14-6.1 May 2024 release 1

Artifacts:
  https://ci.android.com/builds/submitted/11839406/kernel_aarch64/latest

* commit 'android14-6.1-2024-05_r1': (67 commits)
  UPSTREAM: crypto: x86/curve25519 - disable gcov
  ANDROID: GKI: Update QCOM symbol list and ABI STG
  ANDROID: GKI: update symbol list file for xiaomi
  UPSTREAM: netfilter: nft_set_pipapo: do not free live element
  UPSTREAM: net: tls: handle backlogging of crypto requests
  ANDROID: 16K: Fix show maps CFI failure
  ANDROID: 16K: Handle pad VMA splits and merges
  ANDROID: 16K: madvise_vma_pad_pages: Remove filemap_fault check
  ANDROID: 16K: Only madvise padding from dynamic linker context
  ANDROID: 16K: Separate padding from ELF LOAD segment mappings
  ANDROID: 16K: Exclude ELF padding for fault around range
  ANDROID: 16K: Use MADV_DONTNEED to save VMA padding pages.
  ANDROID: 16K: Introduce ELF padding representation for VMAs
  ANDROID: 16K: Introduce /sys/kernel/mm/pgsize_miration/enabled
  FROMGIT: usb: typec: tcpm: Check for port partner validity before consuming it
  Revert "FROMGIT: usb: typec: tcpm: Check for port partner validity before consuming it"
  FROMGIT: usb: typec: tcpm: Check for port partner validity before consuming it
  ANDROID: vendor_hooks: add symbols for lazy preemption
  ANDROID: vendor_hooks: add two hooks for lazy preemption
  ANDROID: KVM: arm64: wait_for_initramfs for pKVM module loading procfs
  ...

Change-Id: If336d92585acfd2b1d33faa0a81c3fe8b2389997
This commit is contained in:
Tao Huang
2024-06-07 11:19:57 +08:00
160 changed files with 6959 additions and 511 deletions

View File

@@ -120,6 +120,7 @@ filegroup(
"android/abi_gki_aarch64_rockchip",
"android/abi_gki_aarch64_sony",
"android/abi_gki_aarch64_tuxera",
"android/abi_gki_aarch64_type_visibility",
"android/abi_gki_aarch64_unisoc",
"android/abi_gki_aarch64_virtual_device",
"android/abi_gki_aarch64_vivo",

View File

@@ -1697,6 +1697,17 @@
(that will set all pages holding image data
during restoration read-only).
hibernate.compressor= [HIBERNATION] Compression algorithm to be
used with hibernation.
Format: { lzo | lz4 }
Default: lzo
lzo: Select LZO compression algorithm to
compress/decompress hibernation image.
lz4: Select LZ4 compression algorithm to
compress/decompress hibernation image.
highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact
size of <nn>. This works even on boxes that have no
highmem otherwise. This also works to reduce highmem

View File

@@ -115,6 +115,9 @@ events, except page fault notifications, may be generated:
areas. ``UFFD_FEATURE_MINOR_SHMEM`` is the analogous feature indicating
support for shmem virtual memory areas.
- ``UFFD_FEATURE_MOVE`` indicates that the kernel supports moving an
existing page contents from userspace.
The userland application should set the feature flags it intends to use
when invoking the ``UFFDIO_API`` ioctl, to request that those features be
enabled if supported.

File diff suppressed because it is too large Load Diff

View File

@@ -562,7 +562,6 @@
netif_receive_skb
netif_rx
netif_tx_wake_queue
netlink_broadcast
nla_memcpy
nla_put
nla_put_64bit
@@ -1070,6 +1069,7 @@
kfree_sensitive
ktime_get_coarse_with_offset
netdev_err
netlink_broadcast
netlink_register_notifier
netlink_unicast
netlink_unregister_notifier
@@ -1193,6 +1193,7 @@
platform_device_del
platform_device_put
pm_runtime_allow
usb_ep_set_halt
usb_gadget_set_state
usb_otg_state_string
usb_role_switch_set_role
@@ -2040,6 +2041,7 @@
irq_get_irqchip_state
of_property_read_variable_u16_array
pci_enable_wake
pci_load_and_free_saved_state
pcim_enable_device
pcim_iomap_regions
pcim_iomap_table
@@ -2057,6 +2059,7 @@
__cpuhp_state_remove_instance
dev_addr_mod
dev_alloc_name
dev_change_flags
__dev_queue_xmit
dev_set_threaded
down_trylock

View File

@@ -11,6 +11,8 @@
# commonly required by ledtrig-*.ko modules
led_blink_set_oneshot
led_get_default_pattern
led_set_brightness
led_set_brightness_nosleep
led_stop_software_blink

View File

@@ -63,6 +63,8 @@
nf_unregister_net_hooks
nr_running
of_css
osq_lock
osq_unlock
__page_file_index
__page_mapcount
pm_get_active_wakeup_sources
@@ -166,9 +168,12 @@
__traceiter_android_vh_cleanup_old_buffers_bypass
__traceiter_android_vh_dm_bufio_shrink_scan_bypass
__traceiter_android_vh_mutex_unlock_slowpath
__traceiter_android_vh_read_lazy_flag
__traceiter_android_vh_rtmutex_waiter_prio
__traceiter_android_vh_rt_mutex_steal
__traceiter_android_vh_rwsem_can_spin_on_owner
__traceiter_android_vh_rwsem_direct_rsteal
__traceiter_android_vh_rwsem_optimistic_rspin
__traceiter_android_vh_rwsem_opt_spin_finish
__traceiter_android_vh_rwsem_opt_spin_start
__traceiter_android_vh_rwsem_wake_finish
@@ -178,6 +183,7 @@
__traceiter_android_vh_sched_stat_runtime_rt
__traceiter_android_vh_shrink_node_memcgs
__traceiter_android_vh_sync_txn_recvd
__traceiter_android_vh_set_tsk_need_resched_lazy
__traceiter_android_vh_task_blocks_on_rtmutex
__traceiter_block_bio_queue
__traceiter_block_getrq
@@ -273,11 +279,14 @@
__tracepoint_android_vh_record_mutex_lock_starttime
__tracepoint_android_vh_record_pcpu_rwsem_starttime
__tracepoint_android_vh_percpu_rwsem_wq_add
__tracepoint_android_vh_read_lazy_flag
__tracepoint_android_vh_record_rtmutex_lock_starttime
__tracepoint_android_vh_record_rwsem_lock_starttime
__tracepoint_android_vh_rtmutex_waiter_prio
__tracepoint_android_vh_rt_mutex_steal
__tracepoint_android_vh_rwsem_can_spin_on_owner
__tracepoint_android_vh_rwsem_direct_rsteal
__tracepoint_android_vh_rwsem_optimistic_rspin
__tracepoint_android_vh_rwsem_opt_spin_finish
__tracepoint_android_vh_rwsem_opt_spin_start
__tracepoint_android_vh_rwsem_wake_finish
@@ -287,6 +296,7 @@
__tracepoint_android_vh_sched_stat_runtime_rt
__tracepoint_android_vh_shrink_node_memcgs
__tracepoint_android_vh_sync_txn_recvd
__tracepoint_android_vh_set_tsk_need_resched_lazy
__tracepoint_android_vh_task_blocks_on_rtmutex
__tracepoint_android_vh_test_clear_look_around_ref
__tracepoint_android_vh_tune_swappiness

View File

@@ -427,6 +427,7 @@
devm_device_add_group
devm_device_add_groups
devm_device_remove_group
devm_drm_bridge_add
__devm_drm_dev_alloc
devm_drm_of_get_bridge
devm_drm_panel_bridge_add_typed
@@ -476,6 +477,7 @@
devm_pinctrl_register_and_init
devm_platform_ioremap_resource
devm_platform_ioremap_resource_byname
devm_pm_runtime_enable
devm_power_supply_register
devm_pwm_get
devm_regmap_add_irq_chip

View File

@@ -1094,8 +1094,11 @@
ether_setup
eth_header_parse
eth_mac_addr
ethnl_cable_test_amplitude
ethnl_cable_test_fault_length
ethnl_cable_test_pulse
ethnl_cable_test_result
ethnl_cable_test_step
eth_platform_get_mac_address
eth_prepare_mac_addr_change
ethtool_convert_legacy_u32_to_link_mode
@@ -1212,10 +1215,12 @@
genphy_c45_check_and_restart_aneg
genphy_c45_pma_setup_forced
genphy_c45_read_status
genphy_check_and_restart_aneg
__genphy_config_aneg
genphy_read_abilities
genphy_read_mmd_unsupported
genphy_read_status
genphy_read_status_fixed
genphy_restart_aneg
genphy_resume
genphy_soft_reset
@@ -2197,6 +2202,7 @@
of_match_device
of_match_node
__of_mdiobus_register
of_mdio_find_bus
of_modalias_node
of_n_addr_cells
of_node_name_eq
@@ -2337,6 +2343,7 @@
perf_trace_run_bpf_submit
phy_attached_info
phy_calibrate
phy_config_aneg
phy_device_free
phy_device_register
phy_do_ioctl_running
@@ -2346,6 +2353,7 @@
phy_ethtool_get_wol
phy_ethtool_set_wol
phy_exit
phy_gbit_fibre_features
phy_init
phy_init_eee
phy_init_hw
@@ -2481,6 +2489,10 @@
power_supply_set_property
power_supply_unregister
power_supply_unreg_notifier
powercap_register_control_type
powercap_register_zone
powercap_unregister_control_type
powercap_unregister_zone
ppp_channel_index
ppp_dev_name
ppp_input
@@ -3430,6 +3442,8 @@
__traceiter_android_vh_ftrace_oops_exit
__traceiter_android_vh_ftrace_size_check
__traceiter_android_vh_gic_v3_suspend
__traceiter_android_vh_hibernate_save_cmp_len
__traceiter_android_vh_hibernated_do_mem_alloc
__traceiter_android_vh_ignore_dmabuf_vmap_bounds
__traceiter_android_vh_init_aes_encrypt
__traceiter_android_vh_ipi_stop
@@ -3579,6 +3593,8 @@
__tracepoint_android_vh_ftrace_oops_exit
__tracepoint_android_vh_ftrace_size_check
__tracepoint_android_vh_gic_v3_suspend
__tracepoint_android_vh_hibernate_save_cmp_len
__tracepoint_android_vh_hibernated_do_mem_alloc
__tracepoint_android_vh_ignore_dmabuf_vmap_bounds
__tracepoint_android_vh_init_aes_encrypt
__tracepoint_android_vh_ipi_stop

View File

@@ -0,0 +1,5 @@
[abi_symbol_list]
# for type visibility
ANDROID_GKI_struct_dwc3
ANDROID_GKI_struct_kernel_all_info

View File

@@ -371,3 +371,87 @@
pci_sriov_set_totalvfs
pci_num_vf
#required by cifs.ko
add_swap_extent
asn1_ber_decoder
copy_page_from_iter
copy_page_to_iter
clear_nlink
deactivate_super
dentry_path_raw
d_drop
d_move
d_hash_and_lookup
d_alloc_parallel
d_invalidate
errseq_check
file_modified
fs_param_is_bool
fs_param_is_u32
fs_param_is_u64
fs_param_is_string
finish_no_open
finish_open
filemap_map_pages
find_get_pages_range_tag
folio_wait_private_2
folio_clear_dirty_for_io
generate_random_uuid
generic_permission
generic_file_write_iter
generic_setlease
generic_copy_file_range
generic_writepages
generic_key_instantiate
iov_iter_discard
iov_iter_bvec
iov_iter_get_pages_alloc2
iget_failed
invalidate_inode_pages2
iov_iter_npages
kfree_link
key_type_logon
key_invalidate
key_revoke
key_validate
lock_two_nondirectories
lookup_positive_unlocked
locks_lock_inode_wait
look_up_OID
overflowgid
out_of_line_wait_on_bit_lock
override_creds
posix_lock_file
posix_test_lock
prepare_kernel_cred
request_key_tag
revert_creds
register_key_type
sget
set_anon_super
super_setup_bdi
seq_escape_mem
setattr_copy
sock_sendmsg
security_sb_eat_lsm_opts
sprint_oid
truncate_inode_pages_range
tcp_sock_set_nodelay
tcp_sock_set_cork
truncate_pagecache_range
unlock_two_nondirectories
utf8s_to_utf16s
utf8_to_utf32
unregister_key_type
user_describe
user_revoke
user_destroy
user_read
vfs_setpos
vfs_parse_fs_string
wait_on_page_writeback
__generic_file_write_iter
__folio_lock_killable
__break_lease
__d_lookup_unhash_wake
__fs_parse

View File

@@ -68,6 +68,8 @@ CONFIG_HIBERNATION=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=0
# CONFIG_PM_WAKELOCKS_GC is not set
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_ENERGY_MODEL=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_MENU=y
@@ -692,7 +694,6 @@ CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_ZSTD=y
CONFIG_CRYPTO_ANSI_CPRNG=y

View File

@@ -20,6 +20,8 @@
#include <linux/ratelimit.h>
#include <linux/syscalls.h>
#include <trace/hooks/dtask.h>
#include <asm/daifflags.h>
#include <asm/debug-monitors.h>
#include <asm/elf.h>
@@ -1107,8 +1109,11 @@ static void do_signal(struct pt_regs *regs)
void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags)
{
int thread_lazy_flag = 0;
do {
if (thread_flags & _TIF_NEED_RESCHED) {
trace_android_vh_read_lazy_flag(&thread_lazy_flag, &thread_flags);
if ((thread_flags & _TIF_NEED_RESCHED) || thread_lazy_flag) {
/* Unmask Debug and SError for the next task */
local_daif_restore(DAIF_PROCCTX_NOIRQ);

View File

@@ -4,6 +4,8 @@
* Author: Quentin Perret <qperret@google.com>
*/
#include <linux/init.h>
#include <linux/initrd.h>
#include <linux/io.h>
#include <linux/kmemleak.h>
#include <linux/kvm_host.h>
@@ -627,6 +629,7 @@ static int __init __pkvm_request_early_module(char *module_name,
"PATH=/sbin:/usr/sbin:/bin:/usr/bin",
NULL
};
static bool proc;
char **argv;
int idx = 0;
@@ -658,6 +661,15 @@ static int __init __pkvm_request_early_module(char *module_name,
/* Even with CONFIG_STATIC_USERMODEHELPER we really want this path */
info->path = modprobe_path;
if (!proc) {
wait_for_initramfs();
if (init_mount("proc", "/proc", "proc",
MS_SILENT | MS_NOEXEC | MS_NOSUID, NULL))
pr_warn("Couldn't mount /proc, pKVM module parameters will be ignored\n");
proc = true;
}
return call_usermodehelper_exec(info, UMH_WAIT_PROC | UMH_KILLABLE);
err:
kfree(argv);
@@ -686,11 +698,7 @@ int __init pkvm_load_early_modules(void)
{
char *token, *buf = early_pkvm_modules;
char *module_path = CONFIG_PKVM_MODULE_PATH;
int err = init_mount("proc", "/proc", "proc",
MS_SILENT | MS_NOEXEC | MS_NOSUID, NULL);
if (err)
return err;
int err;
while (true) {
token = strsep(&buf, ",");

View File

@@ -67,6 +67,8 @@ CONFIG_HIBERNATION=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=0
# CONFIG_PM_WAKELOCKS_GC is not set
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
# CONFIG_ACPI_FAN is not set
@@ -635,7 +637,6 @@ CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_ZSTD=y
CONFIG_CRYPTO_ANSI_CPRNG=y

View File

@@ -107,3 +107,6 @@ quiet_cmd_perlasm = PERLASM $@
cmd_perlasm = $(PERL) $< > $@
$(obj)/%.S: $(src)/%.pl FORCE
$(call if_changed,perlasm)
# Disable GCOV in odd or sensitive code
GCOV_PROFILE_curve25519-x86_64.o := n

View File

@@ -285,7 +285,8 @@ static struct bio *bio_split_rw(struct bio *bio, struct queue_limits *lim,
if (nsegs < lim->max_segments &&
bytes + bv.bv_len <= max_bytes &&
bv.bv_offset + bv.bv_len <= PAGE_SIZE) {
nsegs++;
/* single-page bvec optimization */
nsegs += blk_segments(lim, bv.bv_len);
bytes += bv.bv_len;
} else {
if (bvec_split_segs(lim, &bv, &nsegs, &bytes,
@@ -533,7 +534,10 @@ static int __blk_bios_map_sg(struct request_queue *q, struct bio *bio,
__blk_segment_map_sg_merge(q, &bvec, &bvprv, sg))
goto next_bvec;
if (bvec.bv_offset + bvec.bv_len <= PAGE_SIZE)
if (bvec.bv_offset + bvec.bv_len <= PAGE_SIZE &&
(!blk_queue_sub_page_limits(&q->limits) ||
bvec.bv_len <= q->limits.max_segment_size))
/* single-segment bvec optimization */
nsegs += __blk_bvec_map_sg(bvec, sglist, sg);
else
nsegs += blk_bvec_map_sg(q, &bvec, sglist, sg);

View File

@@ -2956,6 +2956,8 @@ void blk_mq_submit_bio(struct bio *bio)
bio = __bio_split_to_limits(bio, &q->limits, &nr_segs);
if (!bio)
return;
} else if (bio->bi_vcnt == 1) {
nr_segs = blk_segments(&q->limits, bio->bi_io_vec[0].bv_len);
}
if (!bio_integrity_prep(bio))
return;
@@ -2971,6 +2973,8 @@ void blk_mq_submit_bio(struct bio *bio)
bio = __bio_split_to_limits(bio, &q->limits, &nr_segs);
if (!bio)
goto fail;
} else if (bio->bi_vcnt == 1) {
nr_segs = blk_segments(&q->limits, bio->bi_io_vec[0].bv_len);
}
if (!bio_integrity_prep(bio))
goto fail;

View File

@@ -337,13 +337,12 @@ static inline bool bio_may_exceed_limits(struct bio *bio,
}
/*
* All drivers must accept single-segments bios that are <= PAGE_SIZE.
* This is a quick and dirty check that relies on the fact that
* bi_io_vec[0] is always valid if a bio has data. The check might
* lead to occasional false negatives when bios are cloned, but compared
* to the performance impact of cloned bios themselves the loop below
* doesn't matter anyway.
* Check whether bio splitting should be performed. This check may
* trigger the bio splitting code even if splitting is not necessary.
*/
if (blk_queue_sub_page_limits(lim) && bio->bi_io_vec &&
bio->bi_io_vec->bv_len > lim->max_segment_size)
return true;
return lim->chunk_sectors || bio->bi_vcnt != 1 ||
bio->bi_io_vec->bv_len + bio->bi_io_vec->bv_offset > PAGE_SIZE;
}

View File

@@ -193,6 +193,12 @@ static struct platform_driver debug_kinfo_driver = {
};
module_platform_driver(debug_kinfo_driver);
/*
* For type visibility
*/
const struct kernel_all_info *const ANDROID_GKI_struct_kernel_all_info;
EXPORT_SYMBOL_GPL(ANDROID_GKI_struct_kernel_all_info);
MODULE_AUTHOR("Jone Chou <jonechou@google.com>");
MODULE_DESCRIPTION("Debug Kinfo Driver");
MODULE_LICENSE("GPL v2");

View File

@@ -111,6 +111,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_opt_spin_start);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_opt_spin_finish);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_can_spin_on_owner);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_show_task);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_direct_rsteal);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_optimistic_rspin);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_enter);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_exit);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mpam_set);
@@ -406,3 +408,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_delayacct_wpcopy_end);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_usb_dev_suspend);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_usb_dev_resume);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sound_usb_support_cpu_suspend);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_hibernated_do_mem_alloc);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_hibernate_save_cmp_len);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_read_lazy_flag);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_tsk_need_resched_lazy);

View File

@@ -550,13 +550,90 @@ config COMMON_CLK_MT8183_VENCSYS
This driver supports MediaTek MT8183 vencsys clocks.
config COMMON_CLK_MT8186
bool "Clock driver for MediaTek MT8186"
tristate "Clock driver for MediaTek MT8186"
depends on ARM64 || COMPILE_TEST
select COMMON_CLK_MEDIATEK
default ARCH_MEDIATEK
help
This driver supports MediaTek MT8186 clocks.
config COMMON_CLK_MT8186_CAMSYS
tristate "Clock driver for MediaTek MT8186 camsys"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 camsys and camsys_raw clocks.
config COMMON_CLK_MT8186_IMGSYS
tristate "Clock driver for MediaTek MT8186 imgsys"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 imgsys and imgsys2 clocks.
config COMMON_CLK_MT8186_IPESYS
tristate "Clock driver for MediaTek MT8186 ipesys"
depends on COMMON_CLK_MT8186_IMGSYS
default COMMON_CLK_MT8186_IMGSYS
help
This driver supports MediaTek MT8186 ipesys clocks.
config COMMON_CLK_MT8186_WPESYS
tristate "Clock driver for MediaTek MT8186 wpesys"
depends on COMMON_CLK_MT8186_IMGSYS
default COMMON_CLK_MT8186_IMGSYS
help
This driver supports MediaTek MT8186 Warp Engine clocks.
config COMMON_CLK_MT8186_IMP_IIC_WRAP
tristate "Clock driver for MediaTek MT8186 imp_iic_wrap"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 imp_iic_wrap clocks.
config COMMON_CLK_MT8186_MCUSYS
tristate "Clock driver for MediaTek MT8186 mcusys"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 mcusys clocks.
config COMMON_CLK_MT8186_MDPSYS
tristate "Clock driver for MediaTek MT8186 mdpsys"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 mdpsys clocks.
config COMMON_CLK_MT8186_MFGCFG
tristate "Clock driver for MediaTek MT8186 mfgcfg"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 mfgcfg clocks.
config COMMON_CLK_MT8186_MMSYS
tristate "Clock driver for MediaTek MT8186 mmsys"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 mmsys clocks.
config COMMON_CLK_MT8186_VDECSYS
tristate "Clock driver for MediaTek MT8186 vdecsys"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 vdecsys and vdecsys_soc clocks.
config COMMON_CLK_MT8186_VENCSYS
tristate "Clock driver for MediaTek MT8186 vencsys"
depends on COMMON_CLK_MT8186
default COMMON_CLK_MT8186
help
This driver supports MediaTek MT8186 vencsys clocks.
config COMMON_CLK_MT8192
bool "Clock driver for MediaTek MT8192"
depends on ARM64 || COMPILE_TEST

View File

@@ -77,11 +77,19 @@ obj-$(CONFIG_COMMON_CLK_MT8183_MFGCFG) += clk-mt8183-mfgcfg.o
obj-$(CONFIG_COMMON_CLK_MT8183_MMSYS) += clk-mt8183-mm.o
obj-$(CONFIG_COMMON_CLK_MT8183_VDECSYS) += clk-mt8183-vdec.o
obj-$(CONFIG_COMMON_CLK_MT8183_VENCSYS) += clk-mt8183-venc.o
obj-$(CONFIG_COMMON_CLK_MT8186) += clk-mt8186-mcu.o clk-mt8186-topckgen.o clk-mt8186-infra_ao.o \
clk-mt8186-apmixedsys.o clk-mt8186-imp_iic_wrap.o \
clk-mt8186-mfg.o clk-mt8186-mm.o clk-mt8186-wpe.o \
clk-mt8186-img.o clk-mt8186-vdec.o clk-mt8186-venc.o \
clk-mt8186-cam.o clk-mt8186-mdp.o clk-mt8186-ipe.o
obj-$(CONFIG_COMMON_CLK_MT8186) += clk-mt8186-apmixedsys.o clk-mt8186-topckgen.o \
clk-mt8186-infra_ao.o
obj-$(CONFIG_COMMON_CLK_MT8186_CAMSYS) += clk-mt8186-cam.o
obj-$(CONFIG_COMMON_CLK_MT8186_IMGSYS) += clk-mt8186-img.o
obj-$(CONFIG_COMMON_CLK_MT8186_IMP_IIC_WRAP) += clk-mt8186-imp_iic_wrap.o
obj-$(CONFIG_COMMON_CLK_MT8186_IPESYS) += clk-mt8186-ipe.o
obj-$(CONFIG_COMMON_CLK_MT8186_MCUSYS) += clk-mt8186-mcu.o
obj-$(CONFIG_COMMON_CLK_MT8186_MDPSYS) += clk-mt8186-mdp.o
obj-$(CONFIG_COMMON_CLK_MT8186_MFGCFG) += clk-mt8186-mfg.o
obj-$(CONFIG_COMMON_CLK_MT8186_MMSYS) += clk-mt8186-mm.o
obj-$(CONFIG_COMMON_CLK_MT8186_VDECSYS) += clk-mt8186-vdec.o
obj-$(CONFIG_COMMON_CLK_MT8186_VENCSYS) += clk-mt8186-venc.o
obj-$(CONFIG_COMMON_CLK_MT8186_WPESYS) += clk-mt8186-wpe.o
obj-$(CONFIG_COMMON_CLK_MT8192) += clk-mt8192.o
obj-$(CONFIG_COMMON_CLK_MT8192_AUDSYS) += clk-mt8192-aud.o
obj-$(CONFIG_COMMON_CLK_MT8192_CAMSYS) += clk-mt8192-cam.o

View File

@@ -158,5 +158,5 @@ static struct platform_driver clk_mt2701_aud_drv = {
.of_match_table = of_match_clk_mt2701_aud,
},
};
builtin_platform_driver(clk_mt2701_aud_drv);
module_platform_driver(clk_mt2701_aud_drv);
MODULE_LICENSE("GPL");

View File

@@ -104,5 +104,5 @@ static struct platform_driver clk_mt2701_bdp_drv = {
.of_match_table = of_match_clk_mt2701_bdp,
},
};
builtin_platform_driver(clk_mt2701_bdp_drv);
module_platform_driver(clk_mt2701_bdp_drv);
MODULE_LICENSE("GPL");

View File

@@ -72,5 +72,5 @@ static struct platform_driver clk_mt2701_eth_drv = {
.of_match_table = of_match_clk_mt2701_eth,
},
};
builtin_platform_driver(clk_mt2701_eth_drv);
module_platform_driver(clk_mt2701_eth_drv);
MODULE_LICENSE("GPL");

View File

@@ -93,5 +93,5 @@ static struct platform_driver clk_mt2701_g3d_drv = {
.of_match_table = of_match_clk_mt2701_g3d,
},
};
builtin_platform_driver(clk_mt2701_g3d_drv);
module_platform_driver(clk_mt2701_g3d_drv);
MODULE_LICENSE("GPL");

View File

@@ -71,5 +71,5 @@ static struct platform_driver clk_mt2701_hif_drv = {
.of_match_table = of_match_clk_mt2701_hif,
},
};
builtin_platform_driver(clk_mt2701_hif_drv);
module_platform_driver(clk_mt2701_hif_drv);
MODULE_LICENSE("GPL");

View File

@@ -52,5 +52,5 @@ static struct platform_driver clk_mt2701_img_drv = {
.of_match_table = of_match_clk_mt2701_img,
},
};
builtin_platform_driver(clk_mt2701_img_drv);
module_platform_driver(clk_mt2701_img_drv);
MODULE_LICENSE("GPL");

View File

@@ -94,5 +94,5 @@ static struct platform_driver clk_mt2701_mm_drv = {
.name = "clk-mt2701-mm",
},
};
builtin_platform_driver(clk_mt2701_mm_drv);
module_platform_driver(clk_mt2701_mm_drv);
MODULE_LICENSE("GPL");

View File

@@ -57,5 +57,5 @@ static struct platform_driver clk_mt2701_vdec_drv = {
.of_match_table = of_match_clk_mt2701_vdec,
},
};
builtin_platform_driver(clk_mt2701_vdec_drv);
module_platform_driver(clk_mt2701_vdec_drv);
MODULE_LICENSE("GPL");

View File

@@ -1038,3 +1038,4 @@ static int __init clk_mt2701_init(void)
}
arch_initcall(clk_mt2701_init);
MODULE_LICENSE("GPL");

View File

@@ -74,5 +74,5 @@ static struct platform_driver clk_mt2712_bdp_drv = {
.of_match_table = of_match_clk_mt2712_bdp,
},
};
builtin_platform_driver(clk_mt2712_bdp_drv);
module_platform_driver(clk_mt2712_bdp_drv);
MODULE_LICENSE("GPL");

View File

@@ -52,5 +52,5 @@ static struct platform_driver clk_mt2712_img_drv = {
.of_match_table = of_match_clk_mt2712_img,
},
};
builtin_platform_driver(clk_mt2712_img_drv);
module_platform_driver(clk_mt2712_img_drv);
MODULE_LICENSE("GPL");

View File

@@ -48,5 +48,5 @@ static struct platform_driver clk_mt2712_jpgdec_drv = {
.of_match_table = of_match_clk_mt2712_jpgdec,
},
};
builtin_platform_driver(clk_mt2712_jpgdec_drv);
module_platform_driver(clk_mt2712_jpgdec_drv);
MODULE_LICENSE("GPL");

View File

@@ -47,5 +47,5 @@ static struct platform_driver clk_mt2712_mfg_drv = {
.of_match_table = of_match_clk_mt2712_mfg,
},
};
builtin_platform_driver(clk_mt2712_mfg_drv);
module_platform_driver(clk_mt2712_mfg_drv);
MODULE_LICENSE("GPL");

View File

@@ -135,5 +135,5 @@ static struct platform_driver clk_mt2712_mm_drv = {
.name = "clk-mt2712-mm",
},
};
builtin_platform_driver(clk_mt2712_mm_drv);
module_platform_driver(clk_mt2712_mm_drv);
MODULE_LICENSE("GPL");

View File

@@ -60,5 +60,5 @@ static struct platform_driver clk_mt2712_vdec_drv = {
.of_match_table = of_match_clk_mt2712_vdec,
},
};
builtin_platform_driver(clk_mt2712_vdec_drv);
module_platform_driver(clk_mt2712_vdec_drv);
MODULE_LICENSE("GPL");

View File

@@ -49,5 +49,5 @@ static struct platform_driver clk_mt2712_venc_drv = {
.of_match_table = of_match_clk_mt2712_venc,
},
};
builtin_platform_driver(clk_mt2712_venc_drv);
module_platform_driver(clk_mt2712_venc_drv);
MODULE_LICENSE("GPL");

View File

@@ -1453,10 +1453,5 @@ static struct platform_driver clk_mt2712_drv = {
.of_match_table = of_match_clk_mt2712,
},
};
static int __init clk_mt2712_init(void)
{
return platform_driver_register(&clk_mt2712_drv);
}
arch_initcall(clk_mt2712_init);
module_platform_driver(clk_mt2712_drv);
MODULE_LICENSE("GPL");

View File

@@ -74,5 +74,5 @@ static struct platform_driver clk_mt6765_audio_drv = {
.of_match_table = of_match_clk_mt6765_audio,
},
};
builtin_platform_driver(clk_mt6765_audio_drv);
module_platform_driver(clk_mt6765_audio_drv);
MODULE_LICENSE("GPL");

View File

@@ -55,5 +55,5 @@ static struct platform_driver clk_mt6765_cam_drv = {
.of_match_table = of_match_clk_mt6765_cam,
},
};
builtin_platform_driver(clk_mt6765_cam_drv);
module_platform_driver(clk_mt6765_cam_drv);
MODULE_LICENSE("GPL");

View File

@@ -51,5 +51,5 @@ static struct platform_driver clk_mt6765_img_drv = {
.of_match_table = of_match_clk_mt6765_img,
},
};
builtin_platform_driver(clk_mt6765_img_drv);
module_platform_driver(clk_mt6765_img_drv);
MODULE_LICENSE("GPL");

View File

@@ -48,5 +48,5 @@ static struct platform_driver clk_mt6765_mipi0a_drv = {
.of_match_table = of_match_clk_mt6765_mipi0a,
},
};
builtin_platform_driver(clk_mt6765_mipi0a_drv);
module_platform_driver(clk_mt6765_mipi0a_drv);
MODULE_LICENSE("GPL");

View File

@@ -77,5 +77,5 @@ static struct platform_driver clk_mt6765_mm_drv = {
.of_match_table = of_match_clk_mt6765_mm,
},
};
builtin_platform_driver(clk_mt6765_mm_drv);
module_platform_driver(clk_mt6765_mm_drv);
MODULE_LICENSE("GPL");

View File

@@ -50,5 +50,5 @@ static struct platform_driver clk_mt6765_vcodec_drv = {
.of_match_table = of_match_clk_mt6765_vcodec,
},
};
builtin_platform_driver(clk_mt6765_vcodec_drv);
module_platform_driver(clk_mt6765_vcodec_drv);
MODULE_LICENSE("GPL");

View File

@@ -878,3 +878,4 @@ static int __init clk_mt6765_init(void)
}
arch_initcall(clk_mt6765_init);
MODULE_LICENSE("GPL");

View File

@@ -48,5 +48,5 @@ static struct platform_driver clk_mt6797_img_drv = {
.of_match_table = of_match_clk_mt6797_img,
},
};
builtin_platform_driver(clk_mt6797_img_drv);
module_platform_driver(clk_mt6797_img_drv);
MODULE_LICENSE("GPL");

View File

@@ -107,5 +107,5 @@ static struct platform_driver clk_mt6797_mm_drv = {
.name = "clk-mt6797-mm",
},
};
builtin_platform_driver(clk_mt6797_mm_drv);
module_platform_driver(clk_mt6797_mm_drv);
MODULE_LICENSE("GPL");

View File

@@ -59,5 +59,5 @@ static struct platform_driver clk_mt6797_vdec_drv = {
.of_match_table = of_match_clk_mt6797_vdec,
},
};
builtin_platform_driver(clk_mt6797_vdec_drv);
module_platform_driver(clk_mt6797_vdec_drv);
MODULE_LICENSE("GPL");

View File

@@ -50,5 +50,5 @@ static struct platform_driver clk_mt6797_venc_drv = {
.of_match_table = of_match_clk_mt6797_venc,
},
};
builtin_platform_driver(clk_mt6797_venc_drv);
module_platform_driver(clk_mt6797_venc_drv);
MODULE_LICENSE("GPL");

View File

@@ -708,3 +708,4 @@ static int __init clk_mt6797_init(void)
}
arch_initcall(clk_mt6797_init);
MODULE_LICENSE("GPL");

View File

@@ -172,5 +172,5 @@ static struct platform_driver clk_mt7622_aud_drv = {
.of_match_table = of_match_clk_mt7622_aud,
},
};
builtin_platform_driver(clk_mt7622_aud_drv);
module_platform_driver(clk_mt7622_aud_drv);
MODULE_LICENSE("GPL");

View File

@@ -140,5 +140,5 @@ static struct platform_driver clk_mt7622_eth_drv = {
.of_match_table = of_match_clk_mt7622_eth,
},
};
builtin_platform_driver(clk_mt7622_eth_drv);
module_platform_driver(clk_mt7622_eth_drv);
MODULE_LICENSE("GPL");

View File

@@ -153,5 +153,5 @@ static struct platform_driver clk_mt7622_hif_drv = {
.of_match_table = of_match_clk_mt7622_hif,
},
};
builtin_platform_driver(clk_mt7622_hif_drv);
module_platform_driver(clk_mt7622_hif_drv);
MODULE_LICENSE("GPL");

View File

@@ -157,3 +157,4 @@ static struct platform_driver clk_mt7629_eth_drv = {
};
builtin_platform_driver(clk_mt7629_eth_drv);
MODULE_LICENSE("GPL");

View File

@@ -148,5 +148,5 @@ static struct platform_driver clk_mt7629_hif_drv = {
.of_match_table = of_match_clk_mt7629_hif,
},
};
builtin_platform_driver(clk_mt7629_hif_drv);
module_platform_driver(clk_mt7629_hif_drv);
MODULE_LICENSE("GPL");

View File

@@ -697,3 +697,4 @@ static int clk_mt7629_init(void)
}
arch_initcall(clk_mt7629_init);
MODULE_LICENSE("GPL");

View File

@@ -100,3 +100,4 @@ static struct platform_driver clk_mt7986_apmixed_drv = {
},
};
builtin_platform_driver(clk_mt7986_apmixed_drv);
MODULE_LICENSE("GPL");

View File

@@ -339,4 +339,5 @@ static struct platform_driver clk_mt7986_topckgen_drv = {
.of_match_table = of_match_clk_mt7986_topckgen,
},
};
builtin_platform_driver(clk_mt7986_topckgen_drv);
module_platform_driver(clk_mt7986_topckgen_drv);
MODULE_LICENSE("GPL");

View File

@@ -101,5 +101,5 @@ static struct platform_driver clk_mt8183_audio_drv = {
.of_match_table = of_match_clk_mt8183_audio,
},
};
builtin_platform_driver(clk_mt8183_audio_drv);
module_platform_driver(clk_mt8183_audio_drv);
MODULE_LICENSE("GPL");

View File

@@ -56,5 +56,5 @@ static struct platform_driver clk_mt8183_cam_drv = {
.of_match_table = of_match_clk_mt8183_cam,
},
};
builtin_platform_driver(clk_mt8183_cam_drv);
module_platform_driver(clk_mt8183_cam_drv);
MODULE_LICENSE("GPL");

View File

@@ -56,5 +56,5 @@ static struct platform_driver clk_mt8183_img_drv = {
.of_match_table = of_match_clk_mt8183_img,
},
};
builtin_platform_driver(clk_mt8183_img_drv);
module_platform_driver(clk_mt8183_img_drv);
MODULE_LICENSE("GPL");

View File

@@ -49,5 +49,5 @@ static struct platform_driver clk_mt8183_ipu_core0_drv = {
.of_match_table = of_match_clk_mt8183_ipu_core0,
},
};
builtin_platform_driver(clk_mt8183_ipu_core0_drv);
module_platform_driver(clk_mt8183_ipu_core0_drv);
MODULE_LICENSE("GPL");

View File

@@ -49,5 +49,5 @@ static struct platform_driver clk_mt8183_ipu_core1_drv = {
.of_match_table = of_match_clk_mt8183_ipu_core1,
},
};
builtin_platform_driver(clk_mt8183_ipu_core1_drv);
module_platform_driver(clk_mt8183_ipu_core1_drv);
MODULE_LICENSE("GPL");

View File

@@ -47,5 +47,5 @@ static struct platform_driver clk_mt8183_ipu_adl_drv = {
.of_match_table = of_match_clk_mt8183_ipu_adl,
},
};
builtin_platform_driver(clk_mt8183_ipu_adl_drv);
module_platform_driver(clk_mt8183_ipu_adl_drv);
MODULE_LICENSE("GPL");

View File

@@ -116,5 +116,5 @@ static struct platform_driver clk_mt8183_ipu_conn_drv = {
.of_match_table = of_match_clk_mt8183_ipu_conn,
},
};
builtin_platform_driver(clk_mt8183_ipu_conn_drv);
module_platform_driver(clk_mt8183_ipu_conn_drv);
MODULE_LICENSE("GPL");

View File

@@ -48,5 +48,5 @@ static struct platform_driver clk_mt8183_mfg_drv = {
.of_match_table = of_match_clk_mt8183_mfg,
},
};
builtin_platform_driver(clk_mt8183_mfg_drv);
module_platform_driver(clk_mt8183_mfg_drv);
MODULE_LICENSE("GPL");

View File

@@ -102,5 +102,5 @@ static struct platform_driver clk_mt8183_mm_drv = {
.name = "clk-mt8183-mm",
},
};
builtin_platform_driver(clk_mt8183_mm_drv);
module_platform_driver(clk_mt8183_mm_drv);
MODULE_LICENSE("GPL");

View File

@@ -60,5 +60,5 @@ static struct platform_driver clk_mt8183_vdec_drv = {
.of_match_table = of_match_clk_mt8183_vdec,
},
};
builtin_platform_driver(clk_mt8183_vdec_drv);
module_platform_driver(clk_mt8183_vdec_drv);
MODULE_LICENSE("GPL");

View File

@@ -52,5 +52,5 @@ static struct platform_driver clk_mt8183_venc_drv = {
.of_match_table = of_match_clk_mt8183_venc,
},
};
builtin_platform_driver(clk_mt8183_venc_drv);
module_platform_driver(clk_mt8183_venc_drv);
MODULE_LICENSE("GPL");

View File

@@ -1360,10 +1360,5 @@ static struct platform_driver clk_mt8183_drv = {
.of_match_table = of_match_clk_mt8183,
},
};
static int __init clk_mt8183_init(void)
{
return platform_driver_register(&clk_mt8183_drv);
}
arch_initcall(clk_mt8183_init);
module_platform_driver(clk_mt8183_drv)
MODULE_LICENSE("GPL");

View File

@@ -130,4 +130,5 @@ static struct platform_driver clk_mt8186_apmixed_drv = {
.of_match_table = of_match_clk_mt8186_apmixed,
},
};
builtin_platform_driver(clk_mt8186_apmixed_drv);
module_platform_driver(clk_mt8186_apmixed_drv);
MODULE_LICENSE("GPL");

View File

@@ -87,4 +87,5 @@ static struct platform_driver clk_mt8186_cam_drv = {
.of_match_table = of_match_clk_mt8186_cam,
},
};
builtin_platform_driver(clk_mt8186_cam_drv);
module_platform_driver(clk_mt8186_cam_drv);
MODULE_LICENSE("GPL");

View File

@@ -65,4 +65,5 @@ static struct platform_driver clk_mt8186_img_drv = {
.of_match_table = of_match_clk_mt8186_img,
},
};
builtin_platform_driver(clk_mt8186_img_drv);
module_platform_driver(clk_mt8186_img_drv);
MODULE_LICENSE("GPL");

View File

@@ -64,4 +64,5 @@ static struct platform_driver clk_mt8186_imp_iic_wrap_drv = {
.of_match_table = of_match_clk_mt8186_imp_iic_wrap,
},
};
builtin_platform_driver(clk_mt8186_imp_iic_wrap_drv);
module_platform_driver(clk_mt8186_imp_iic_wrap_drv);
MODULE_LICENSE("GPL");

View File

@@ -236,4 +236,5 @@ static struct platform_driver clk_mt8186_infra_ao_drv = {
.of_match_table = of_match_clk_mt8186_infra_ao,
},
};
builtin_platform_driver(clk_mt8186_infra_ao_drv);
module_platform_driver(clk_mt8186_infra_ao_drv);
MODULE_LICENSE("GPL");

View File

@@ -52,4 +52,5 @@ static struct platform_driver clk_mt8186_ipe_drv = {
.of_match_table = of_match_clk_mt8186_ipe,
},
};
builtin_platform_driver(clk_mt8186_ipe_drv);
module_platform_driver(clk_mt8186_ipe_drv);
MODULE_LICENSE("GPL");

View File

@@ -105,4 +105,5 @@ static struct platform_driver clk_mt8186_mcu_drv = {
.of_match_table = of_match_clk_mt8186_mcu,
},
};
builtin_platform_driver(clk_mt8186_mcu_drv);
module_platform_driver(clk_mt8186_mcu_drv);
MODULE_LICENSE("GPL");

View File

@@ -77,4 +77,5 @@ static struct platform_driver clk_mt8186_mdp_drv = {
.of_match_table = of_match_clk_mt8186_mdp,
},
};
builtin_platform_driver(clk_mt8186_mdp_drv);
module_platform_driver(clk_mt8186_mdp_drv);
MODULE_LICENSE("GPL");

View File

@@ -45,4 +45,5 @@ static struct platform_driver clk_mt8186_mfg_drv = {
.of_match_table = of_match_clk_mt8186_mfg,
},
};
builtin_platform_driver(clk_mt8186_mfg_drv);
module_platform_driver(clk_mt8186_mfg_drv);
MODULE_LICENSE("GPL");

View File

@@ -108,4 +108,5 @@ static struct platform_driver clk_mt8186_mm_drv = {
.name = "clk-mt8186-mm",
},
};
builtin_platform_driver(clk_mt8186_mm_drv);
module_platform_driver(clk_mt8186_mm_drv);
MODULE_LICENSE("GPL");

View File

@@ -777,4 +777,5 @@ static struct platform_driver clk_mt8186_topck_drv = {
.of_match_table = of_match_clk_mt8186_topck,
},
};
builtin_platform_driver(clk_mt8186_topck_drv);
module_platform_driver(clk_mt8186_topck_drv);
MODULE_LICENSE("GPL");

View File

@@ -85,4 +85,5 @@ static struct platform_driver clk_mt8186_vdec_drv = {
.of_match_table = of_match_clk_mt8186_vdec,
},
};
builtin_platform_driver(clk_mt8186_vdec_drv);
module_platform_driver(clk_mt8186_vdec_drv);
MODULE_LICENSE("GPL");

View File

@@ -48,4 +48,5 @@ static struct platform_driver clk_mt8186_venc_drv = {
.of_match_table = of_match_clk_mt8186_venc,
},
};
builtin_platform_driver(clk_mt8186_venc_drv);
module_platform_driver(clk_mt8186_venc_drv);
MODULE_LICENSE("GPL");

View File

@@ -48,4 +48,5 @@ static struct platform_driver clk_mt8186_wpe_drv = {
.of_match_table = of_match_clk_mt8186_wpe,
},
};
builtin_platform_driver(clk_mt8186_wpe_drv);
module_platform_driver(clk_mt8186_wpe_drv);
MODULE_LICENSE("GPL");

View File

@@ -114,5 +114,5 @@ static struct platform_driver clk_mt8192_aud_drv = {
.of_match_table = of_match_clk_mt8192_aud,
},
};
builtin_platform_driver(clk_mt8192_aud_drv);
module_platform_driver(clk_mt8192_aud_drv);
MODULE_LICENSE("GPL");

View File

@@ -104,5 +104,5 @@ static struct platform_driver clk_mt8192_cam_drv = {
.of_match_table = of_match_clk_mt8192_cam,
},
};
builtin_platform_driver(clk_mt8192_cam_drv);
module_platform_driver(clk_mt8192_cam_drv);
MODULE_LICENSE("GPL");

View File

@@ -67,5 +67,5 @@ static struct platform_driver clk_mt8192_img_drv = {
.of_match_table = of_match_clk_mt8192_img,
},
};
builtin_platform_driver(clk_mt8192_img_drv);
module_platform_driver(clk_mt8192_img_drv);
MODULE_LICENSE("GPL");

View File

@@ -116,5 +116,5 @@ static struct platform_driver clk_mt8192_imp_iic_wrap_drv = {
.of_match_table = of_match_clk_mt8192_imp_iic_wrap,
},
};
builtin_platform_driver(clk_mt8192_imp_iic_wrap_drv);
module_platform_driver(clk_mt8192_imp_iic_wrap_drv);
MODULE_LICENSE("GPL");

View File

@@ -54,5 +54,5 @@ static struct platform_driver clk_mt8192_ipe_drv = {
.of_match_table = of_match_clk_mt8192_ipe,
},
};
builtin_platform_driver(clk_mt8192_ipe_drv);
module_platform_driver(clk_mt8192_ipe_drv);
MODULE_LICENSE("GPL");

View File

@@ -79,5 +79,5 @@ static struct platform_driver clk_mt8192_mdp_drv = {
.of_match_table = of_match_clk_mt8192_mdp,
},
};
builtin_platform_driver(clk_mt8192_mdp_drv);
module_platform_driver(clk_mt8192_mdp_drv);
MODULE_LICENSE("GPL");

View File

@@ -49,5 +49,5 @@ static struct platform_driver clk_mt8192_mfg_drv = {
.of_match_table = of_match_clk_mt8192_mfg,
},
};
builtin_platform_driver(clk_mt8192_mfg_drv);
module_platform_driver(clk_mt8192_mfg_drv);
MODULE_LICENSE("GPL");

View File

@@ -104,5 +104,5 @@ static struct platform_driver clk_mt8192_mm_drv = {
.name = "clk-mt8192-mm",
},
};
builtin_platform_driver(clk_mt8192_mm_drv);
module_platform_driver(clk_mt8192_mm_drv);
MODULE_LICENSE("GPL");

View File

@@ -61,5 +61,5 @@ static struct platform_driver clk_mt8192_msdc_drv = {
.of_match_table = of_match_clk_mt8192_msdc,
},
};
builtin_platform_driver(clk_mt8192_msdc_drv);
module_platform_driver(clk_mt8192_msdc_drv);
MODULE_LICENSE("GPL");

View File

@@ -47,5 +47,5 @@ static struct platform_driver clk_mt8192_scp_adsp_drv = {
.of_match_table = of_match_clk_mt8192_scp_adsp,
},
};
builtin_platform_driver(clk_mt8192_scp_adsp_drv);
module_platform_driver(clk_mt8192_scp_adsp_drv);
MODULE_LICENSE("GPL");

View File

@@ -91,5 +91,5 @@ static struct platform_driver clk_mt8192_vdec_drv = {
.of_match_table = of_match_clk_mt8192_vdec,
},
};
builtin_platform_driver(clk_mt8192_vdec_drv);
module_platform_driver(clk_mt8192_vdec_drv);
MODULE_LICENSE("GPL");

View File

@@ -50,5 +50,5 @@ static struct platform_driver clk_mt8192_venc_drv = {
.of_match_table = of_match_clk_mt8192_venc,
},
};
builtin_platform_driver(clk_mt8192_venc_drv);
module_platform_driver(clk_mt8192_venc_drv);
MODULE_LICENSE("GPL");

View File

@@ -1251,3 +1251,4 @@ static int __init clk_mt8192_init(void)
}
arch_initcall(clk_mt8192_init);
MODULE_LICENSE("GPL");

View File

@@ -166,4 +166,5 @@ static struct platform_driver clk_mt8195_apmixed_drv = {
.of_match_table = of_match_clk_mt8195_apmixed,
},
};
builtin_platform_driver(clk_mt8195_apmixed_drv);
module_platform_driver(clk_mt8195_apmixed_drv);
MODULE_LICENSE("GPL");

Some files were not shown because too many files have changed in this diff Show More