Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.

Commit

Permalink
Merge branch 'master' into krogoth
Browse files Browse the repository at this point in the history
  • Loading branch information
Intel Aero committed Dec 20, 2016
2 parents e6226df + cea218c commit d058b2c
Show file tree
Hide file tree
Showing 30 changed files with 1,044 additions and 463 deletions.
1 change: 1 addition & 0 deletions conf/bblayers.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ BBLAYERS ?= " \
##OEROOT##/meta-intel-aero \
##OEROOT##/meta-intel-aero-connectivity \
##OEROOT##/meta-intel-aero-librealsense \
##OEROOT##/intel-aero-samples \
##OEROOT##/meta-openembedded/meta-oe \
##OEROOT##/meta-openembedded/meta-python \
##OEROOT##/meta-openembedded/meta-networking \
Expand Down
2 changes: 1 addition & 1 deletion conf/layer.conf
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \

BBFILE_COLLECTIONS += "intelaero"
BBFILE_PATTERN_intelaero = "^${LAYERDIR}/"
BBFILE_PRIORITY_intelaero = "5"
BBFILE_PRIORITY_intelaero = "6"
LAYERVERSION_intelaero = "0"
2 changes: 1 addition & 1 deletion conf/machine/intel-aero.conf
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ require conf/machine/include/tune-core2.inc
require conf/machine/include/genericx86-common.inc

MACHINE_EXTRA_RRECOMMENDS += "spidev"
KERNEL_MODULE_AUTOLOAD += "spi_imu spi_fpga"
KERNEL_MODULE_AUTOLOAD += "spi_imu spi_fpga spi_can"
CORE_IMAGE_EXTRA_INSTALL += "librealsense-graphical-examples"
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ DESCRIPTION = "Description: The AirMap airspace management system facilitates \
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5"

RDEPENDS_${PN} += "python-json libgps libgpsd gpsd-conf gpsd-gpsctl gps-utils"
RDEPENDS_${PN} += "python-json libgps libgpsd gpsd-conf gpsd-gpsctl gps-utils python-paho-mqtt"

SRC_URI = "file://requests-master.zip \
file://AirMapSDK-Embedded.zip \
Expand Down
Binary file modified recipes-airmap/airmap/files/AirMapSDK-Embedded.zip
Binary file not shown.
13 changes: 13 additions & 0 deletions recipes-core/images/intel-aero-image.bb
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ IMAGE_INSTALL += "gstreamer1.0 gst-player \
aero-watchdog \
aero-utils \
px4-fw \
mavlink-router \
"

# Build tools
Expand Down Expand Up @@ -46,3 +47,15 @@ GRUB_TIMEOUT = "3"

# librealsense
IMAGE_INSTALL += "librealsense"

addtask create_link after do_rootfs before do_image
addtask create_os_version_file after do_rootfs before do_image

do_create_link() {
ln -s /lib ${WORKDIR}/rootfs/lib64
}

do_create_os_version_file() {
echo "v01.00.04" > ${WORKDIR}/rootfs/etc/os_version
chmod 444 ${WORKDIR}/rootfs/etc/os_version
}
9 changes: 9 additions & 0 deletions recipes-core/initscripts/initscripts/build_version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/sh
# This script will:
# a) Read and store BIOS version
# b) Make os_version file immutable

dmesg | grep DMI > /etc/bios_version
chmod 444 /etc/bios_version
chattr +i /etc/bios_version
chattr +i /etc/os_version
21 changes: 21 additions & 0 deletions recipes-core/initscripts/initscripts/init_complete.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/sh

red=437
blue=403
green=397

if [ ! -e /sys/class/gpio/gpio$red ]; then
echo $red > /sys/class/gpio/export
fi
if [ ! -e /sys/class/gpio/gpio$green ]; then
echo $green > /sys/class/gpio/export
fi
if [ ! -e /sys/class/gpio/gpio$blue ]; then
echo $blue > /sys/class/gpio/export
fi

echo 0 > /sys/class/gpio/gpio$red/value
echo 0 > /sys/class/gpio/gpio$blue/value
echo 1 > /sys/class/gpio/gpio$green/value
echo $red > /sys/class/gpio/unexport
echo $blue > /sys/class/gpio/unexport
25 changes: 25 additions & 0 deletions recipes-core/initscripts/initscripts/init_start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/sh

red=437
green=397
blue=403

# Check if GPIO's are already exported
if [ ! -e /sys/class/gpio/gpio$red ]; then
echo $red > /sys/class/gpio/export
fi
if [ ! -e /sys/class/gpio/gpio$green ]; then
echo $green > /sys/class/gpio/export
fi
if [ ! -e /sys/class/gpio/gpio$blue ]; then
echo $blue > /sys/class/gpio/export
fi

# Set direction
echo out > /sys/class/gpio/gpio$red/direction
echo out > /sys/class/gpio/gpio$blue/direction
echo out > /sys/class/gpio/gpio$green/direction

echo 0 > /sys/class/gpio/gpio$green/value
echo 1 > /sys/class/gpio/gpio$red/value
echo 1 > /sys/class/gpio/gpio$blue/value
48 changes: 0 additions & 48 deletions recipes-core/initscripts/initscripts/mavlink_bridge.py

This file was deleted.

32 changes: 22 additions & 10 deletions recipes-core/initscripts/initscripts_1.0.bbappend
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,23 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/initscripts:"

SRC_URI += "file://ds4.sh \
file://aero-wd.sh \
file://mavlink_bridge.sh \
file://mavlink_bridge.py \
file://init_start.sh \
file://init_complete.sh \
file://build_version.sh \
"

do_install_append () {
install -m 0755 ${WORKDIR}/ds4.sh ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/aero-wd.sh ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init_start.sh ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init_complete.sh ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/build_version.sh ${D}${sysconfdir}/init.d

install -m 0755 ${WORKDIR}/mavlink_bridge.sh ${D}${sysconfdir}/init.d
install -d ${D}${sbindir}
install -m 0755 ${WORKDIR}/mavlink_bridge.py ${D}${sbindir}
ln -sf ../init.d/init_start.sh ${D}${sysconfdir}/rc1.d/S00init_start
ln -sf ../init.d/init_start.sh ${D}${sysconfdir}/rc2.d/S00init_start
ln -sf ../init.d/init_start.sh ${D}${sysconfdir}/rc3.d/S00init_start
ln -sf ../init.d/init_start.sh ${D}${sysconfdir}/rc4.d/S00init_start
ln -sf ../init.d/init_start.sh ${D}${sysconfdir}/rc5.d/S00init_start

ln -sf ../init.d/ds4.sh ${D}${sysconfdir}/rc1.d/S10ds4
ln -sf ../init.d/ds4.sh ${D}${sysconfdir}/rc2.d/S10ds4
Expand All @@ -26,9 +32,15 @@ do_install_append () {
ln -sf ../init.d/aero-wd.sh ${D}${sysconfdir}/rc4.d/S10aero-wd
ln -sf ../init.d/aero-wd.sh ${D}${sysconfdir}/rc5.d/S10aero-wd

ln -sf ../init.d/mavlink_bridge.sh ${D}${sysconfdir}/rc1.d/S71mavlink_bridge
ln -sf ../init.d/mavlink_bridge.sh ${D}${sysconfdir}/rc2.d/S71mavlink_bridge
ln -sf ../init.d/mavlink_bridge.sh ${D}${sysconfdir}/rc3.d/S71mavlink_bridge
ln -sf ../init.d/mavlink_bridge.sh ${D}${sysconfdir}/rc4.d/S71mavlink_bridge
ln -sf ../init.d/mavlink_bridge.sh ${D}${sysconfdir}/rc5.d/S71mavlink_bridge
ln -sf ../init.d/build_version.sh ${D}${sysconfdir}/rc1.d/S90build_version
ln -sf ../init.d/build_version.sh ${D}${sysconfdir}/rc2.d/S90build_version
ln -sf ../init.d/build_version.sh ${D}${sysconfdir}/rc3.d/S90build_version
ln -sf ../init.d/build_version.sh ${D}${sysconfdir}/rc4.d/S90build_version
ln -sf ../init.d/build_version.sh ${D}${sysconfdir}/rc5.d/S90build_version

ln -sf ../init.d/init_complete.sh ${D}${sysconfdir}/rc1.d/S99init_complete
ln -sf ../init.d/init_complete.sh ${D}${sysconfdir}/rc2.d/S99init_complete
ln -sf ../init.d/init_complete.sh ${D}${sysconfdir}/rc3.d/S99init_complete
ln -sf ../init.d/init_complete.sh ${D}${sysconfdir}/rc4.d/S99init_complete
ln -sf ../init.d/init_complete.sh ${D}${sysconfdir}/rc5.d/S99init_complete
}
1 change: 1 addition & 0 deletions recipes-core/packagegroups/packagegroup-airmap.bb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ PR = "r0"
RDEPENDS_${PN} = "\
python-cryptography \
airmap \
python-paho-mqtt \
"
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
From a42b2cadab405f8baac0b46d04e8408efe0f5a49 Mon Sep 17 00:00:00 2001
From: Pranav Tipnis <[email protected]>
Date: Thu, 1 Dec 2016 10:19:21 -0800
Subject: [PATCH] acpi: Workaround for not registering CAN controller

This patch skips adding ACPI device for MCHP2515 CAN
controller. CAN controller will be accessed via spidev
interface instead.

Signed-off-by: Pranav Tipnis <[email protected]>
---
drivers/acpi/scan.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 78d5f02..1c21f72 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -606,6 +606,13 @@ int acpi_device_add(struct acpi_device *device,
struct acpi_device_bus_id *acpi_device_bus_id, *new_bus_id;
int found = 0;

+ /* Workaround: Do not add MCHP2515 CAN controller */
+ struct acpi_hardware_id *hwid;
+ list_for_each_entry(hwid, &device->pnp.ids, list)
+ if (!strcmp("MCHP2515", hwid->id))
+ return -ENODEV;
+ /* End of Workaround */
+
if (device->handle) {
acpi_status status;

--
1.9.1

1 change: 1 addition & 0 deletions recipes-kernel/linux/linux-yocto/debug.cfg
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
CONFIG_I2C_CHARDEV=y
CONFIG_GPIO_SYSFS=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_PRINTK_TIME=y
1 change: 1 addition & 0 deletions recipes-kernel/linux/linux-yocto_4.4.bbappend
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ SRC_URI += "file://0001-thermal-add-cherryview-support-to-soc-dts.patch \
file://0021-ov8858-fix-return-logic-on-ov8858_s_ctrl.patch \
file://0022-ov8858-fix-regulator-management-on-ov8858_s_ctrl.patch \
file://0023-ov7251-remove-early-return-statement.patch \
file://0024-acpi-Workaround-for-not-registering-CAN-controller.patch \
"

do_install_append() {
Expand Down
1 change: 1 addition & 0 deletions recipes-modules/intel-aero/files/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
obj-m += spi_imu.o
obj-m += spi_fpga.o
obj-m += spi_can.o

SRC := $(shell pwd)

Expand Down
69 changes: 69 additions & 0 deletions recipes-modules/intel-aero/files/spi_can.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/******************************************************************************
*
* Copyright (C) 2016 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* Author: Israel Cepeda <[email protected]>
*
*****************************************************************************/
#include <linux/platform_device.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/spi/spi.h>

#if (!defined(CONFIG_SPI_SPIDEV) && !defined(CONFIG_SPI_SPIDEV_MODULE))
#error SPI_SPIDEV is missing
#endif

#define CAN_SPI_BUS 1
#define CAN_SPI_CS 0
#define CAN_SPI_MZ 8000000

struct spi_board_info can_device_info = {
.modalias = "spidev",
.max_speed_hz = CAN_SPI_MZ,
.bus_num = CAN_SPI_BUS,
.chip_select = CAN_SPI_CS,
};

static struct spi_device *spi_device;

static int __init can_spidev_init(void)
{
struct spi_master *master;

master = spi_busnum_to_master(CAN_SPI_BUS);
if(!master){
pr_err("SPI master driver not found...return value %d\n", master);
return -ENODEV;
}

spi_device = spi_new_device(master, &can_device_info);

if(!spi_device) {
pr_err("CAN spidev register failed!!!\n");
return -ENODEV;
}
pr_info("spidev CAN registered\n");
return 0;
}


static void __exit can_spidev_exit(void)
{
if(spi_device)
spi_unregister_device(spi_device);
}

module_init(can_spidev_init);
module_exit(can_spidev_exit);

MODULE_LICENSE("GPL");
1 change: 1 addition & 0 deletions recipes-modules/intel-aero/spidev_0.1.bb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ inherit module
SRC_URI = "file://Makefile \
file://spi_imu.c \
file://spi_fpga.c \
file://spi_can.c \
file://COPYING \
"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
From b499389da21d89d32deff500376c5ee4f8f0b04c Mon Sep 17 00:00:00 2001
From: Robert Shih <[email protected]>
Date: Fri, 11 Mar 2016 18:33:51 -0800
Subject: [PATCH] Avoid free-before-initialize vulnerability in heap

Bug: 27211885
Change-Id: Ib9c93bd9ffdde2a5f8d31a86f06e267dc9c152db
---

diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
index d13b23b..7dff737 100644
--- a/src/libFLAC/stream_decoder.c
+++ b/src/libFLAC/stream_decoder.c
@@ -1739,6 +1739,7 @@
if (obj->num_comments > 0) {
if (0 == (obj->comments = safe_malloc_mul_2op_p(obj->num_comments, /*times*/sizeof(FLAC__StreamMetadata_VorbisComment_Entry)))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
+ obj->num_comments = 0;
return false;
}
for (i = 0; i < obj->num_comments; i++) {
Loading

0 comments on commit d058b2c

Please sign in to comment.