Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de38aefeee | ||
|
|
90752575c0 | ||
|
|
c80395fcdd |
No files matched your search
@@ -25,6 +25,7 @@ makedepends="
|
||||
"
|
||||
source="https://gitlab.com/postmarketOS/linux-postmarketos/-/archive/$_commit/linux-postmarketos-$_commit.tar.gz
|
||||
config-$_flavor.armv7
|
||||
hammerhead-proximity.patch
|
||||
"
|
||||
builddir="$srcdir/linux-postmarketos-$_commit"
|
||||
|
||||
@@ -54,4 +55,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="27393de29fb1e08867f6572194625453a220cc0fb2d884c73da7f12ebef86912bf96ba1cac881639e44b6b3da9d3cbd44951488b2e019f5b0d597b284588f39f linux-postmarketos-901cb33cc2ea167dbb1de7032815ea65fd49d81f.tar.gz
|
||||
19846a0d7c0e51de89bdfd517acaebc94a1478f0e7e1ff8d7666e7d9cc5a0dc5d7edf09fb413aeb37448aabe80b5457c6c07ece9f825c9507110b1588e7ce5a2 config-postmarketos-qcom-msm8974.armv7"
|
||||
19846a0d7c0e51de89bdfd517acaebc94a1478f0e7e1ff8d7666e7d9cc5a0dc5d7edf09fb413aeb37448aabe80b5457c6c07ece9f825c9507110b1588e7ce5a2 config-postmarketos-qcom-msm8974.armv7
|
||||
668c304e7a72fd2beb44db31a136531b786e44e6ecc4d5c6eb436ed85eb06aa403ce15852871ae0ccb107e9613ed62f57eb890657abab60c00a4ee5714a0f66a hammerhead-proximity.patch"
|
||||
@@ -0,0 +1,77 @@
|
||||
diff --git a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
|
||||
index fc619cb6f939..d492d9964fd2 100644
|
||||
--- a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
|
||||
+++ b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
|
||||
@@ -677,6 +677,7 @@ avago_apds993@39 {
|
||||
vddio-supply = <&pm8941_lvs1>;
|
||||
led-max-microamp = <100000>;
|
||||
amstaos,proximity-diodes = <0>;
|
||||
+ proximity-near-level = <100>;
|
||||
};
|
||||
};
|
||||
|
||||
diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
|
||||
index d79205361dfa..c2f55c2f504a 100644
|
||||
--- a/drivers/iio/light/tsl2772.c
|
||||
+++ b/drivers/iio/light/tsl2772.c
|
||||
@@ -179,6 +179,7 @@ struct tsl2772_chip {
|
||||
const struct tsl2772_chip_info *chip_info;
|
||||
const struct iio_info *info;
|
||||
s64 event_timestamp;
|
||||
+ uint32_t near_level;
|
||||
/*
|
||||
* This structure is intentionally large to accommodate
|
||||
* updates via sysfs.
|
||||
@@ -614,6 +615,10 @@ static void tsl2772_parse_dt(struct tsl2772_chip *chip)
|
||||
{
|
||||
tsl2772_read_prox_led_current(chip);
|
||||
tsl2772_read_prox_diodes(chip);
|
||||
+
|
||||
+ if (of_property_read_u32(chip->client->dev.of_node, "proximity-near-level",
|
||||
+ &chip->near_level))
|
||||
+ chip->near_level = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1512,6 +1517,25 @@ static const struct iio_event_spec tsl2772_events[] = {
|
||||
},
|
||||
};
|
||||
|
||||
+static ssize_t tsl2772_read_near_level(struct iio_dev *indio_dev,
|
||||
+ uintptr_t priv,
|
||||
+ const struct iio_chan_spec *chan,
|
||||
+ char *buf)
|
||||
+{
|
||||
+ struct tsl2772_chip *chip = iio_priv(indio_dev);
|
||||
+
|
||||
+ return sprintf(buf, "%u\n", chip->near_level);
|
||||
+}
|
||||
+
|
||||
+static const struct iio_chan_spec_ext_info tsl2772_ext_info[] = {
|
||||
+ {
|
||||
+ .name = "nearlevel",
|
||||
+ .shared = IIO_SEPARATE,
|
||||
+ .read = tsl2772_read_near_level,
|
||||
+ },
|
||||
+ { /* sentinel */ }
|
||||
+};
|
||||
+
|
||||
static const struct tsl2772_chip_info tsl2772_chip_info_tbl[] = {
|
||||
[ALS] = {
|
||||
.channel_with_events = {
|
||||
@@ -1716,6 +1740,7 @@ static const struct tsl2772_chip_info tsl2772_chip_info_tbl[] = {
|
||||
BIT(IIO_CHAN_INFO_CALIBSCALE),
|
||||
.event_spec = tsl2772_events,
|
||||
.num_event_specs = ARRAY_SIZE(tsl2772_events),
|
||||
+ .ext_info = tsl2772_ext_info,
|
||||
},
|
||||
},
|
||||
.channel_without_events = {
|
||||
@@ -1748,6 +1773,7 @@ static const struct tsl2772_chip_info tsl2772_chip_info_tbl[] = {
|
||||
BIT(IIO_CHAN_INFO_CALIBSCALE),
|
||||
.info_mask_separate_available =
|
||||
BIT(IIO_CHAN_INFO_CALIBSCALE),
|
||||
+ .ext_info = tsl2772_ext_info,
|
||||
},
|
||||
},
|
||||
.chan_table_elements = 4,
|
||||
@@ -0,0 +1,34 @@
|
||||
It only needs systemd to determine the unit dir, so delete the dep for now.
|
||||
|
||||
From a1c5436d11e3e0dabc3cd236bf8175b13ac929cb Mon Sep 17 00:00:00 2001
|
||||
From: Andrea Brancaleoni <abc@pompel.me>
|
||||
Date: Fri, 23 Dec 2016 12:43:36 +0100
|
||||
Subject: [PATCH] Revert "build: Check for .pc files before using them"
|
||||
|
||||
This reverts commit 78b4656fc24a1b21c948d8e68252f42df2a91735.
|
||||
---
|
||||
configure.ac | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f8ded66..1d54698 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -25,14 +25,12 @@ AX_COMPILER_FLAGS([WARN_CFLAGS],[WARN_LDFLAGS])
|
||||
|
||||
GTK_DOC_CHECK([1.11],[--flavour no-tmpl])
|
||||
|
||||
-PKG_CHECK_EXISTS(udev, [], [AC_MSG_ERROR(udev development libraries are required)])
|
||||
AC_ARG_WITH([udevrulesdir],
|
||||
AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules]),
|
||||
[],
|
||||
[with_udevrulesdir=$($PKG_CONFIG --variable=udevdir udev)"/rules.d"])
|
||||
AC_SUBST([udevrulesdir], [$with_udevrulesdir])
|
||||
|
||||
-PKG_CHECK_EXISTS(systemd, [], [AC_MSG_ERROR(systemd development libraries are required)])
|
||||
AC_ARG_WITH([systemdsystemunitdir],
|
||||
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
|
||||
[],
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From ed427251b703dc832a2051b5e4bdd1b51b99b115 Mon Sep 17 00:00:00 2001
|
||||
From: Guido Günther <agx@sigxcpu.org>
|
||||
Date: Wed, 25 Mar 2020 11:59:03 +0100
|
||||
Subject: [PATCH] proximity: Get near-level from sysfs if available
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
DT based devices can set the near-level via sysfs. Parse it from
|
||||
there too.
|
||||
|
||||
Signed-off-by: Guido Günther <agx@sigxcpu.org>
|
||||
Closes: #297
|
||||
---
|
||||
src/drv-iio-poll-proximity.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/drv-iio-poll-proximity.c b/src/drv-iio-poll-proximity.c
|
||||
index 98bacb1..432cda5 100644
|
||||
--- a/src/drv-iio-poll-proximity.c
|
||||
+++ b/src/drv-iio-poll-proximity.c
|
||||
@@ -100,6 +100,9 @@ get_near_level (GUdevDevice *device)
|
||||
gint near_level;
|
||||
|
||||
near_level = g_udev_device_get_property_as_int (device, PROXIMITY_NEAR_LEVEL);
|
||||
+ if (!near_level)
|
||||
+ near_level = g_udev_device_get_sysfs_attr_as_int (device, "in_proximity_nearlevel");
|
||||
+
|
||||
if (!near_level) {
|
||||
g_warning ("Found proximity sensor but no " PROXIMITY_NEAR_LEVEL " udev property");
|
||||
g_warning ("See https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/blob/master/README.md");
|
||||
--
|
||||
2.30.0
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# Forked from Alpine INSERT-REASON-HERE (CHANGEME!)
|
||||
|
||||
pkgname=iio-sensor-proxy
|
||||
pkgver=9999
|
||||
_pkgver=3.0
|
||||
pkgrel=0
|
||||
pkgdesc="IIO sensors to D-Bus proxy"
|
||||
url="https://developer.gnome.org/iio-sensor-proxy/1.0/"
|
||||
arch="all"
|
||||
license="GPL-2.0-or-later"
|
||||
makedepends="eudev-dev libgudev-dev glib-dev autoconf automake libtool gtk+3.0-dev"
|
||||
subpackages="$pkgname-doc $pkgname-openrc"
|
||||
source="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/uploads/de965bcb444552d328255639b241ce73/iio-sensor-proxy-$_pkgver.tar.xz
|
||||
iio-sensor-proxy.initd
|
||||
0001-Revert-build-Check-for-.pc-files-before-using-them.patch
|
||||
0002-proximity-Get-near-level-from-sysfs-if-available.patch
|
||||
proximity-hammerhead.patch
|
||||
"
|
||||
builddir="$srcdir/$pkgname-$_pkgver"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
autoreconf -if
|
||||
}
|
||||
|
||||
build() {
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--host=$CHOST \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--mandir=/usr/share/man \
|
||||
--localstatedir=/var \
|
||||
--with-geoclue-user=geoclue
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
make check
|
||||
}
|
||||
|
||||
package() {
|
||||
make DESTDIR="$pkgdir" install
|
||||
|
||||
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
|
||||
}
|
||||
|
||||
sha512sums="50e84a5df006c34db07532bdb583142723ad610ade7dc495d0c1b076c7ef84564a60202a8be378173a429bd04dee10e8b33e5b7acc4b3dd810755cb831ebf2ea iio-sensor-proxy-3.0.tar.xz
|
||||
b0f2875074ff1211faeca3e29b32f60c5604ca31b6dac3d4d99f057ed32e2453aefc4495c34cf3885badacc7168b6c032f3d084052db52977bbe8438e76eac5f iio-sensor-proxy.initd
|
||||
5480763f85cb22fd7b1b791609baa3a4b251fc30a025b40aee2de584fa114686bf181a87a249ba4b0cb9080881ff55498baa7e496513bc39fa1af7c43253c465 0001-Revert-build-Check-for-.pc-files-before-using-them.patch
|
||||
ceda9e69c78a84e0f8dfd242e401ad4d84e58ef54ea46de284890896b7adf75ab4b66a1a58305e2f554861005ba941912558749d00963008f14642a66b311cf9 0002-proximity-Get-near-level-from-sysfs-if-available.patch
|
||||
55921f6c2d994b070475dad51461b526600ac8bed504be911dcd601532a6e724835d126941bee1290f962cd6a16b4e537b655a48eba8ac424504c76eadd3177a proximity-hammerhead.patch"
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
supervisor=supervise-daemon
|
||||
command="/usr/sbin/iio-sensor-proxy"
|
||||
@@ -0,0 +1,34 @@
|
||||
diff --git a/data/80-iio-sensor-proxy.rules b/data/80-iio-sensor-proxy.rules
|
||||
index 85d93f9..82c3bd5 100644
|
||||
--- a/data/80-iio-sensor-proxy.rules
|
||||
+++ b/data/80-iio-sensor-proxy.rules
|
||||
@@ -14,6 +14,7 @@ SUBSYSTEM=="iio", TEST=="in_illuminance_raw", ENV{IIO_SENSOR_PROXY_TYPE}+="iio-p
|
||||
SUBSYSTEM=="iio", TEST=="in_intensity_clear_raw", ENV{IIO_SENSOR_PROXY_TYPE}+="iio-poll-als"
|
||||
SUBSYSTEM=="iio", TEST=="scan_elements/in_intensity_both_en", ENV{IIO_SENSOR_PROXY_TYPE}+="iio-buffer-als"
|
||||
SUBSYSTEM=="iio", TEST=="in_proximity_raw", ENV{IIO_SENSOR_PROXY_TYPE}+="iio-poll-proximity"
|
||||
+SUBSYSTEM=="iio", TEST=="in_proximity0_raw", ENV{IIO_SENSOR_PROXY_TYPE}+="iio-poll-proximity"
|
||||
SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="1", ENV{IIO_SENSOR_PROXY_TYPE}+="input-accel"
|
||||
|
||||
ENV{IIO_SENSOR_PROXY_TYPE}=="", GOTO="iio_sensor_proxy_end"
|
||||
diff --git a/src/drv-iio-poll-proximity.c b/src/drv-iio-poll-proximity.c
|
||||
index 4d6f07b..1c49243 100644
|
||||
--- a/src/drv-iio-poll-proximity.c
|
||||
+++ b/src/drv-iio-poll-proximity.c
|
||||
@@ -38,7 +38,7 @@ poll_proximity (gpointer user_data)
|
||||
gdouble near_level = drv_data->near_level;
|
||||
|
||||
/* g_udev_device_get_sysfs_attr_as_int does not update when there's no event */
|
||||
- prox = g_udev_device_get_sysfs_attr_as_int_uncached (drv_data->dev, "in_proximity_raw");
|
||||
+ prox = g_udev_device_get_sysfs_attr_as_int_uncached (drv_data->dev, "in_proximity0_raw");
|
||||
/* Use a margin so we don't trigger too often */
|
||||
near_level *= (drv_data->last_level > near_level) ? PROXIMITY_WATER_MARK_LOW : PROXIMITY_WATER_MARK_HIGH;
|
||||
readings.is_near = (prox > near_level) ? PROXIMITY_NEAR_TRUE : PROXIMITY_NEAR_FALSE;
|
||||
@@ -81,7 +81,7 @@ get_near_level (GUdevDevice *device)
|
||||
|
||||
near_level = g_udev_device_get_property_as_int (device, PROXIMITY_NEAR_LEVEL);
|
||||
if (!near_level)
|
||||
- near_level = g_udev_device_get_sysfs_attr_as_int (device, "in_proximity_nearlevel");
|
||||
+ near_level = g_udev_device_get_sysfs_attr_as_int (device, "in_proximity0_nearlevel");
|
||||
|
||||
if (!near_level) {
|
||||
g_warning ("Found proximity sensor but no " PROXIMITY_NEAR_LEVEL " udev property");
|
||||
Reference in new issue
Block a user