6 Commits
vic ... ksu

Author SHA1 Message Date
luffitys
a63f456044 drivers: power: supply: ti: Force PD charging if compatible
Xiaomi only supports PD if the charger is deemed official.
Bypass this to unlock PD with unofficial chargers.
Safety measures are not bypassed, as seen in
pd_get_bms_digest_verified() and usbpd_pm_sm().

Change-Id: Icc99a39ae00ee466f223807621bf9601f44c75ba
2025-08-22 20:54:21 +02:00
Rocky7842
0222d10465 input: touchscreen: fts_spi: Always report fp_state
* fod_status is used to enable reporting of fingerprint event when finger
  is detected, while fp_state is used one step earlier to wake the device.

Change-Id: Ibf9736f305368672751426c107d6198694718092
2025-08-22 20:54:21 +02:00
UP5468-GE-ES44AC
9b1bd6fa6a input: touchscreen: fts_spi: Report fp_state to sysfs
Change-Id: If5a7ab3adfdbbf44ea9940450fa388c4d03fa2ad
2025-08-22 20:54:21 +02:00
Ivan Vecera
423451dde7 drivers: input: touchscreen: Extend common touchpanel interface by fp_state
* Add fp_state attribute to common touch panel interface
  that will be used by touchscreen drivers to notify
  userspace when finger is in FOD area. This sysfs knob
  is used to implement UDFPS sensor sub-HAL

Signed-off-by: Ivan Vecera <ivan@cera.cz>
Change-Id: Ic5fb0cf389779854a1c3b13833bcc1137e67c817
2025-08-22 20:54:21 +02:00
919a2a99ff KernelSU-Next: backport path_umount 2025-08-22 20:54:15 +02:00
b88cc47233 sm8250: Add KernelSU-Next Support 2025-08-22 20:04:58 +02:00
9 changed files with 43 additions and 5 deletions

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "KernelSU-Next"]
path = KernelSU-Next
url = https://github.com/KernelSU-Next/KernelSU-Next

1
KernelSU-Next Submodule

Submodule KernelSU-Next added at 2241696498

View File

@@ -692,7 +692,6 @@
00 00 0a 0a
00 00 8a 8a];
qcom,platform-regulator-settings = [1d 1d 1d 1d 1d];
qcom,panel-allow-phy-poweroff;
qcom,phy-supply-entries {
#address-cells = <1>;
#size-cells = <0>;

View File

@@ -234,4 +234,5 @@ source "drivers/sensors/Kconfig"
source "drivers/gpu/msm/Kconfig"
source "drivers/energy_model/Kconfig"
source "drivers/kernelsu/Kconfig"
endmenu

View File

@@ -193,3 +193,5 @@ obj-$(CONFIG_UNISYS_VISORBUS) += visorbus/
obj-$(CONFIG_SIOX) += siox/
obj-$(CONFIG_GNSS) += gnss/
obj-$(CONFIG_SENSORS_SSC) += sensors/
obj-$(CONFIG_KSU) += kernelsu/

1
drivers/kernelsu Symbolic link
View File

@@ -0,0 +1 @@
../KernelSU-Next/kernel

View File

@@ -77,6 +77,7 @@ extern int finish_automount(struct vfsmount *, struct path *);
extern int sb_prepare_remount_readonly(struct super_block *);
extern void __init mnt_init(void);
int path_umount(struct path *path, int flags);
extern int __mnt_want_write_file(struct file *);
extern void __mnt_drop_write_file(struct file *);

View File

@@ -1645,6 +1645,40 @@ static inline bool may_mandlock(void)
}
#endif
static int can_umount(const struct path *path, int flags)
{
struct mount *mnt = real_mount(path->mnt);
if (flags & ~(MNT_FORCE | MNT_DETACH | MNT_EXPIRE | UMOUNT_NOFOLLOW))
return -EINVAL;
if (!may_mount())
return -EPERM;
if (path->dentry != path->mnt->mnt_root)
return -EINVAL;
if (!check_mnt(mnt))
return -EINVAL;
if (mnt->mnt.mnt_flags & MNT_LOCKED) /* Check optimistically */
return -EINVAL;
if (flags & MNT_FORCE && !capable(CAP_SYS_ADMIN))
return -EPERM;
return 0;
}
int path_umount(struct path *path, int flags)
{
struct mount *mnt = real_mount(path->mnt);
int ret;
ret = can_umount(path, flags);
if (!ret)
ret = do_umount(mnt, flags);
/* we mustn't call path_put() as that would clear mnt_expiry_mark */
dput(path->dentry);
mntput_no_expire(mnt);
return ret;
}
/*
* Now umount can handle mount points as well as block devices.
* This is important for filesystems which use unnamed block devices.

View File

@@ -325,12 +325,8 @@ static int dsi_phy_settings_init(struct platform_device *pdev,
/* Actual timing values are dependent on panel */
timing->count_per_lane = phy->ver_info->timing_cfg_count;
#ifndef CONFIG_MACH_XIAOMI_UMI
phy->allow_phy_power_off = of_property_read_bool(pdev->dev.of_node,
"qcom,panel-allow-phy-poweroff");
#else
phy->allow_phy_power_off = false;
#endif
of_property_read_u32(pdev->dev.of_node,
"qcom,dsi-phy-regulator-min-datarate-bps",