diff --git a/arch/arm64/configs/vendor/ext_config/cebu-default.config b/arch/arm64/configs/vendor/ext_config/cebu-default.config index 5ea9318a5a32..e8badcb7112a 100644 --- a/arch/arm64/configs/vendor/ext_config/cebu-default.config +++ b/arch/arm64/configs/vendor/ext_config/cebu-default.config @@ -18,3 +18,24 @@ CONFIG_CEBU_DTB=y CONFIG_PANEL_NOTIFICATIONS=y # CONFIG_SMB1355_SLAVE_CHARGER is not set CONFIG_NFC_NQ=y + +# Android R compatibility requirements +CONFIG_ANDROID_BINDERFS=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +# CONFIG_CRYPTO_MD4 is not set +CONFIG_DM_SNAPSHOT=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +# CONFIG_FW_CACHE is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_STATIC_USERMODEHELPER=y +CONFIG_UTS_NS=y +CONFIG_VETH=y +CONFIG_ARM64_SW_TTBR0_PAN=y +# DISALLOW_CONFIG_IKHEADERS_IS_N +CONFIG_IKHEADERS=y +CONFIG_EXT4_FS_POSIX_ACL=y + diff --git a/arch/arm64/configs/vendor/ext_config/guam-default.config b/arch/arm64/configs/vendor/ext_config/guam-default.config index d5b4ff45351d..07fc10236bf9 100644 --- a/arch/arm64/configs/vendor/ext_config/guam-default.config +++ b/arch/arm64/configs/vendor/ext_config/guam-default.config @@ -17,3 +17,23 @@ CONFIG_GUAM_DTB=y CONFIG_BAT_NTC_10K=y CONFIG_PANEL_NOTIFICATIONS=y # CONFIG_SMB1355_SLAVE_CHARGER is not set + +# Android R compatibility requirements +CONFIG_ANDROID_BINDERFS=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +# CONFIG_CRYPTO_MD4 is not set +CONFIG_DM_SNAPSHOT=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +# CONFIG_FW_CACHE is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_STATIC_USERMODEHELPER=y +CONFIG_UTS_NS=y +CONFIG_VETH=y +CONFIG_ARM64_SW_TTBR0_PAN=y +# DISALLOW_CONFIG_IKHEADERS_IS_N +CONFIG_IKHEADERS=y +CONFIG_EXT4_FS_POSIX_ACL=y diff --git a/drivers/power/supply/qcom/smb5-lib.c b/drivers/power/supply/qcom/smb5-lib.c index 1745585f6e51..03ba1008db11 100644 --- a/drivers/power/supply/qcom/smb5-lib.c +++ b/drivers/power/supply/qcom/smb5-lib.c @@ -6108,7 +6108,7 @@ void smblib_usb_plugin_locked(struct smb_charger *chg) !vbus_rising, 0); power_supply_changed(chg->usb_psy); - __pm_stay_awake(&chg->mmi.smblib_mmi_hb_wake_source); + __pm_stay_awake(chg->mmi.smblib_mmi_hb_wake_source); cancel_delayed_work(&chg->mmi.heartbeat_work); schedule_delayed_work(&chg->mmi.heartbeat_work, msecs_to_jiffies(0)); @@ -6714,7 +6714,7 @@ static void typec_src_removal(struct smb_charger *chg) struct storm_watch *wdata; int sec_charger; u8 val[2] = {0}; - union power_supply_propval val; + union power_supply_propval propval; sec_charger = chg->sec_pl_present ? POWER_SUPPLY_CHARGER_SEC_PL : POWER_SUPPLY_CHARGER_SEC_NONE; @@ -6761,12 +6761,12 @@ static void typec_src_removal(struct smb_charger *chg) vote(chg->usb_icl_votable, THERMAL_THROTTLE_VOTER, false, 0); vote(chg->usb_icl_votable, LPD_VOTER, false, 0); vote(chg->usb_icl_votable, ICL_LIMIT_VOTER, false, 0); - rc = smblib_get_prop_usb_present(chg, &val); + rc = smblib_get_prop_usb_present(chg, &propval); if (rc < 0) { smblib_err(chg, "Error getting USB Present rc = %d\n", rc); chg->mmi.apsd_done = false; chg->mmi.charger_rate = POWER_SUPPLY_CHARGE_RATE_NONE; - } else if (!val.intval) { + } else if (!propval.intval) { chg->mmi.apsd_done = false; chg->mmi.charger_rate = POWER_SUPPLY_CHARGE_RATE_NONE; } @@ -10748,7 +10748,7 @@ end_hb: ns_to_ktime(SMBCHG_HEARTBEAT_INTERVAL_NS)); } - __pm_relax(&mmi->smblib_mmi_hb_wake_source); + __pm_relax(mmi->smblib_mmi_hb_wake_source); if (!vbus_present) vote(chip->awake_votable, HEARTBEAT_VOTER, false, 0); } @@ -11908,7 +11908,7 @@ static enum alarmtimer_restart mmi_heartbeat_alarm_cb(struct alarm *alarm, smblib_dbg(chip, PR_MOTO, "SMB: HB alarm fired\n"); - __pm_stay_awake(&chip->mmi.smblib_mmi_hb_wake_source); + __pm_stay_awake(chip->mmi.smblib_mmi_hb_wake_source); cancel_delayed_work(&chip->mmi.heartbeat_work); /* Delay by 500 ms to allow devices to resume. */ schedule_delayed_work(&chip->mmi.heartbeat_work, @@ -11952,8 +11952,14 @@ void mmi_init(struct smb_charger *chg) chg->mmi.charger_rate = POWER_SUPPLY_CHARGE_RATE_NONE; INIT_DELAYED_WORK(&chg->mmi.heartbeat_work, mmi_heartbeat_work); - wakeup_source_init(&chg->mmi.smblib_mmi_hb_wake_source, + /*wakeup_source_init(&chg->mmi.smblib_mmi_hb_wake_source, + "smblib_mmi_hb_wake");*/ + chg->mmi.smblib_mmi_hb_wake_source = wakeup_source_register(chg->dev, "smblib_mmi_hb_wake"); + if(!chg->mmi.smblib_mmi_hb_wake_source) { + smblib_err(chg, "Failed to allocate wakeup source\n"); + return; + } alarm_init(&chg->mmi.heartbeat_alarm, ALARM_BOOTTIME, mmi_heartbeat_alarm_cb); @@ -12087,6 +12093,6 @@ void mmi_deinit(struct smb_charger *chg) device_remove_file(chg->dev, &dev_attr_force_chg_itrick); } - wakeup_source_trash(&chg->mmi.smblib_mmi_hb_wake_source); + wakeup_source_unregister(chg->mmi.smblib_mmi_hb_wake_source); power_supply_unreg_notifier(&chg->mmi.mmi_psy_notifier); } diff --git a/drivers/power/supply/qcom/smb5-lib.h b/drivers/power/supply/qcom/smb5-lib.h index 67516ec72434..02e3dce199d6 100644 --- a/drivers/power/supply/qcom/smb5-lib.h +++ b/drivers/power/supply/qcom/smb5-lib.h @@ -488,7 +488,7 @@ struct mmi_params { struct power_supply *wls_psy; struct power_supply *usbeb_psy; struct pinctrl *smb_pinctrl; - struct wakeup_source smblib_mmi_hb_wake_source; + struct wakeup_source *smblib_mmi_hb_wake_source; bool apsd_done; int charger_rate; bool hvdcp3_con; diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index b8ec1dbd1be5..eea45e7317b7 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -173,6 +173,7 @@ unsigned long kallsyms_lookup_name(const char *name) } return module_kallsyms_lookup_name(name); } +EXPORT_SYMBOL_GPL(kallsyms_lookup_name); int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, unsigned long), @@ -191,6 +192,7 @@ int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, } return module_kallsyms_on_each_symbol(fn, data); } +EXPORT_SYMBOL_GPL(kallsyms_on_each_symbol); static unsigned long get_symbol_pos(unsigned long addr, unsigned long *symbolsize,