summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWootak Jung <wootak.jung@samsung.com>2018-05-10 09:29:08 +0900
committerWootak Jung <wootak.jung@samsung.com>2018-05-10 09:30:49 +0900
commit2ae0d157e5a09a65d04dac6397b3c90ffff6fcd8 (patch)
treeabeeb118cf3db1c793c76d83d1920b77164ccbf3
parent5e3965ce46369843dd15932dd1fa748eec829ace (diff)
downloadbluetooth-firmware-marvell-2ae0d157e5a09a65d04dac6397b3c90ffff6fcd8.tar.gz
bluetooth-firmware-marvell-2ae0d157e5a09a65d04dac6397b3c90ffff6fcd8.tar.bz2
bluetooth-firmware-marvell-2ae0d157e5a09a65d04dac6397b3c90ffff6fcd8.zip
'insmod' should be executed by systemd not bt-core. Change-Id: I9d62bacc94c10982b2a19ff8660a32b5e2cd9fbf
-rw-r--r--packaging/bluetooth-firmware-marvell.spec12
-rw-r--r--packaging/bt-driver-insmod.path5
-rw-r--r--packaging/bt-driver-insmod.service10
-rwxr-xr-xscripts/bt-dev-start.sh6
4 files changed, 30 insertions, 3 deletions
diff --git a/packaging/bluetooth-firmware-marvell.spec b/packaging/bluetooth-firmware-marvell.spec
index 587f182..0eee6b5 100644
--- a/packaging/bluetooth-firmware-marvell.spec
+++ b/packaging/bluetooth-firmware-marvell.spec
@@ -35,6 +35,16 @@ rm -rf %{buildroot}
%make_install
+install -D -m 0644 packaging/bt-driver-insmod.service %{buildroot}%{_libdir}/systemd/system/bt-driver-insmod.service
+install -D -m 0644 packaging/bt-driver-insmod.path %{buildroot}%{_libdir}/systemd/system/bt-driver-insmod.path
+
+%post artik530
+mkdir -p %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
+mkdir -p %{_libdir}/systemd/system/multi-user.target.wants/
+ln -sf %{_libdir}/systemd/system/bt-driver-insmod.service %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
+ln -sf %{_libdir}/systemd/system/bt-driver-insmod.path %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
+ln -sf %{_libdir}/systemd/system/bt-driver-insmod.path %{_libdir}/systemd/system/multi-user.target.wants/
+
%files
%manifest %{name}.manifest
%license LICENSE
@@ -46,3 +56,5 @@ rm -rf %{buildroot}
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-end.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-dev-start.sh
%attr(755,-,-) %{_prefix}/etc/bluetooth/bt-set-addr.sh
+%{_libdir}/systemd/system/bt-driver-insmod.service
+%{_libdir}/systemd/system/bt-driver-insmod.path
diff --git a/packaging/bt-driver-insmod.path b/packaging/bt-driver-insmod.path
new file mode 100644
index 0000000..2418979
--- /dev/null
+++ b/packaging/bt-driver-insmod.path
@@ -0,0 +1,5 @@
+[Unit]
+Description=Path activation for the bt-driver-insmod
+
+[Path]
+PathExists=/run/.bt_driver_insmod
diff --git a/packaging/bt-driver-insmod.service b/packaging/bt-driver-insmod.service
new file mode 100644
index 0000000..5a0bab0
--- /dev/null
+++ b/packaging/bt-driver-insmod.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Bluetooth driver insmod
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/insmod /usr/lib/modules/4.4.71-29.3-artik530-raptor/kernel/drivers/net/wireless/sd8977/mbt_src/bt8xxx.ko
+Capabilities=cap_net_admin,cap_net_bind_service,cap_dac_override=eip
+
+[Install]
+WantedBy=multi-user.target
diff --git a/scripts/bt-dev-start.sh b/scripts/bt-dev-start.sh
index c8b2968..c480b86 100755
--- a/scripts/bt-dev-start.sh
+++ b/scripts/bt-dev-start.sh
@@ -11,12 +11,12 @@ HCI_CONFIG=/usr/bin/hciconfig
CP="/bin/cp"
#KERNEL_DIR=`uname -a | awk '{print($3)}'`
#DRV_DIR=/lib/modules/$KERNEL_DIR/kernel
-BT_DRIVER=/usr/lib/modules/4.4.19-9.2-artik530-raptor/kernel/drivers/net/wireless/sd8977/mbt_src/bt8xxx.ko
+#BT_DRIVER=$DRV_DIR/drivers/net/wireless/sd8977/mbt_src/bt8xxx.ko
echo "MARVELL89XX BT START"
-echo "Insert BT driver module"
-/usr/sbin/insmod $BT_DRIVER
+#echo "Insert BT driver module"
+#/usr/sbin/insmod $BT_DRIVER
echo "create bd address and write bd address via /sys/module/bt8xxx/parameters/bt_mac"
${SETBD}