Merge branch 'openwrt:master' into master
This commit is contained in:
commit
565e42825e
23 changed files with 416 additions and 97 deletions
24
.github/workflows/github-release.yml
vendored
Normal file
24
.github/workflows/github-release.yml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
name: Create GitHub release
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
draft: true
|
||||
prerelease: true
|
2
Makefile
2
Makefile
|
@ -14,7 +14,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir
|
|||
|
||||
world:
|
||||
|
||||
DISTRO_PKG_CONFIG:=$(shell $(TOPDIR)/scripts/command_all.sh pkg-config | grep '/usr' -m 1)
|
||||
DISTRO_PKG_CONFIG:=$(shell $(TOPDIR)/scripts/command_all.sh pkg-config | grep -e '/usr' -e '/nix/store' -m 1)
|
||||
|
||||
export ORIG_PATH:=$(if $(ORIG_PATH),$(ORIG_PATH),$(PATH))
|
||||
export PATH:=$(if $(STAGING_DIR),$(abspath $(STAGING_DIR)/../host/bin),$(TOPDIR)/staging_dir/host/bin):$(PATH)
|
||||
|
|
|
@ -26,6 +26,14 @@ menu "Global build settings"
|
|||
directory containing machine readable list of built profiles
|
||||
and resulting images.
|
||||
|
||||
config JSON_CYCLONEDX_SBOM
|
||||
bool "Create CycloneDX SBOM JSON"
|
||||
default BUILDBOT
|
||||
help
|
||||
Create a JSON files *.bom.cdx.json in the build
|
||||
directory containing Software Bill Of Materials in CycloneDX
|
||||
format.
|
||||
|
||||
config ALL_NONSHARED
|
||||
bool "Select all target specific packages by default"
|
||||
select ALL_KMODS
|
||||
|
|
|
@ -277,6 +277,11 @@ endef
|
|||
define Image/Manifest
|
||||
$(call opkg,$(TARGET_DIR_ORIG)) list-installed > \
|
||||
$(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest
|
||||
$(if $(CONFIG_JSON_CYCLONEDX_SBOM), \
|
||||
$(SCRIPT_DIR)/package-metadata.pl imgcyclonedxsbom \
|
||||
$(TMP_DIR)/.packageinfo \
|
||||
$(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest > \
|
||||
$(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).bom.cdx.json)
|
||||
endef
|
||||
|
||||
define Image/gzip-ext4-padded-squashfs
|
||||
|
|
|
@ -36,6 +36,8 @@ $(if $(USERID),Require-User: $(USERID)
|
|||
)Source: $(PKG_SOURCE)
|
||||
$(if $(LICENSE),License: $(LICENSE)
|
||||
)$(if $(LICENSE_FILES),LicenseFiles: $(LICENSE_FILES)
|
||||
)$(if $(PKG_CPE_ID),CPE-ID: $(PKG_CPE_ID)
|
||||
)$(if $(ABI_VERSION),ABI-Version: $(ABI_VERSION)
|
||||
)Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))
|
||||
$(if $(KCONFIG),Kernel-Config: $(KCONFIG)
|
||||
)$(if $(BUILDONLY),Build-Only: $(BUILDONLY)
|
||||
|
|
|
@ -106,6 +106,14 @@ ifdef CONFIG_SIGNED_PACKAGES
|
|||
$(STAGING_DIR_HOST)/bin/usign -S -m Packages -s $(BUILD_KEY); \
|
||||
); done
|
||||
endif
|
||||
ifdef CONFIG_JSON_CYCLONEDX_SBOM
|
||||
@echo Creating CycloneDX package SBOMs...
|
||||
@for d in $(PACKAGE_SUBDIRS); do ( \
|
||||
[ -d $$d ] && \
|
||||
cd $$d || continue; \
|
||||
$(SCRIPT_DIR)/package-metadata.pl pkgcyclonedxsbom Packages.manifest > Packages.bom.cdx.json || true; \
|
||||
); done
|
||||
endif
|
||||
|
||||
$(curdir)/flags-install:= -j1
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
{
|
||||
--- a/boot/image-fit.c
|
||||
+++ b/boot/image-fit.c
|
||||
@@ -2051,6 +2051,49 @@ static const char *fit_get_image_type_pr
|
||||
@@ -2051,6 +2051,47 @@ static const char *fit_get_image_type_pr
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
|
@ -93,11 +93,8 @@
|
|||
+ max_size = hdrsize;
|
||||
+
|
||||
+ images_noffset = fdt_path_offset(fit, FIT_IMAGES_PATH);
|
||||
+ if (images_noffset < 0) {
|
||||
+ printf("Can't find images parent node '%s' (%s)\n",
|
||||
+ FIT_IMAGES_PATH, fdt_strerror(images_noffset));
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (images_noffset < 0)
|
||||
+ goto out;
|
||||
+
|
||||
+ for (ndepth = 0,
|
||||
+ noffset = fdt_next_node(fit, images_noffset, &ndepth);
|
||||
|
@ -106,7 +103,7 @@
|
|||
+ if (ndepth == 1) {
|
||||
+ ret = fit_image_get_data_and_size(fit, noffset, &data, &data_size);
|
||||
+ if (ret)
|
||||
+ return 0;
|
||||
+ goto out;
|
||||
+
|
||||
+ img_total = data_size + (data - fit);
|
||||
+
|
||||
|
@ -114,6 +111,7 @@
|
|||
+ }
|
||||
+ }
|
||||
+
|
||||
+out:
|
||||
+ return max_size;
|
||||
+}
|
||||
+
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
--- a/include/linux/types.h
|
||||
+++ b/include/linux/types.h
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef _LINUX_TYPES_H
|
||||
#define _LINUX_TYPES_H
|
||||
|
||||
+typedef unsigned long long __u64;
|
||||
#include <linux/posix_types.h>
|
||||
#include <asm/types.h>
|
||||
#include <stdbool.h>
|
|
@ -1,10 +0,0 @@
|
|||
--- a/include/linux/types.h
|
||||
+++ b/include/linux/types.h
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef _LINUX_TYPES_H
|
||||
#define _LINUX_TYPES_H
|
||||
|
||||
+typedef unsigned long long __u64;
|
||||
#include <linux/posix_types.h>
|
||||
#include <asm/types.h>
|
||||
#include <stdbool.h>
|
|
@ -1,8 +1,6 @@
|
|||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2007-2012 OpenWrt.org
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
START=19
|
||||
|
||||
USE_PROCD=1
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
From: David Bauer <mail@david-bauer.net>
|
||||
To: hostap@lists.infradead.org
|
||||
Cc: =?utf-8?q?=C3=89tienne_Morice?= <neon.emorice@mail.com>
|
||||
Subject: [PATCH] nl80211: add extra-ies only if allowed by driver
|
||||
Date: Sun, 30 Jan 2022 20:22:00 +0100
|
||||
Message-Id: <20220130192200.10883-1-mail@david-bauer.net>
|
||||
List-Id: <hostap.lists.infradead.org>
|
||||
|
||||
Upgrading wpa_supplicant from 2.9 to 2.10 breaks broadcom-wl
|
||||
based adapters. The reason for it is hostapd tries to install additional
|
||||
IEs for scanning while the driver does not support this.
|
||||
|
||||
The kernel indicates the maximum number of bytes for additional scan IEs
|
||||
using the NL80211_ATTR_MAX_SCAN_IE_LEN attribute. Save this value and
|
||||
only add additional scan IEs in case the driver can accommodate these
|
||||
additional IEs.
|
||||
|
||||
Reported-by: Étienne Morice <neon.emorice@mail.com>
|
||||
Tested-by: Étienne Morice <neon.emorice@mail.com>
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
src/drivers/driver.h | 3 +++
|
||||
src/drivers/driver_nl80211_capa.c | 4 ++++
|
||||
src/drivers/driver_nl80211_scan.c | 2 +-
|
||||
3 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/src/drivers/driver.h
|
||||
+++ b/src/drivers/driver.h
|
||||
@@ -2283,6 +2283,9 @@ struct wpa_driver_capa {
|
||||
/** Maximum number of iterations in a single scan plan */
|
||||
u32 max_sched_scan_plan_iterations;
|
||||
|
||||
+ /** Maximum number of extra IE bytes for scans */
|
||||
+ u16 max_scan_ie_len;
|
||||
+
|
||||
/** Whether sched_scan (offloaded scanning) is supported */
|
||||
int sched_scan_supported;
|
||||
|
||||
--- a/src/drivers/driver_nl80211_capa.c
|
||||
+++ b/src/drivers/driver_nl80211_capa.c
|
||||
@@ -949,6 +949,10 @@ static int wiphy_info_handler(struct nl_
|
||||
nla_get_u32(tb[NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS]);
|
||||
}
|
||||
|
||||
+ if (tb[NL80211_ATTR_MAX_SCAN_IE_LEN])
|
||||
+ capa->max_scan_ie_len =
|
||||
+ nla_get_u16(tb[NL80211_ATTR_MAX_SCAN_IE_LEN]);
|
||||
+
|
||||
if (tb[NL80211_ATTR_MAX_MATCH_SETS])
|
||||
capa->max_match_sets =
|
||||
nla_get_u8(tb[NL80211_ATTR_MAX_MATCH_SETS]);
|
||||
--- a/src/drivers/driver_nl80211_scan.c
|
||||
+++ b/src/drivers/driver_nl80211_scan.c
|
||||
@@ -222,7 +222,7 @@ nl80211_scan_common(struct i802_bss *bss
|
||||
wpa_printf(MSG_DEBUG, "nl80211: Passive scan requested");
|
||||
}
|
||||
|
||||
- if (params->extra_ies) {
|
||||
+ if (params->extra_ies && drv->capa.max_scan_ie_len >= params->extra_ies_len) {
|
||||
wpa_hexdump(MSG_MSGDUMP, "nl80211: Scan extra IEs",
|
||||
params->extra_ies, params->extra_ies_len);
|
||||
if (nla_put(msg, NL80211_ATTR_IE, params->extra_ies_len,
|
|
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
|||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/urngd.git
|
||||
PKG_SOURCE_DATE:=2023-07-25
|
||||
PKG_SOURCE_VERSION:=7aefb47be57df0467d97d539f7fe9e23e607a3b4
|
||||
PKG_MIRROR_HASH:=427d4228fd65cf4320b8c212e710b86bcbfcdd4239f4e67132b3b471f7437202
|
||||
PKG_SOURCE_DATE:=2023-11-01
|
||||
PKG_SOURCE_VERSION:=44365eb1e1165f2a44cb31f404b04cf85031718e
|
||||
PKG_MIRROR_HASH:=743bdfacf1f1e779047a55fe8f388aaf31f6e55e8a4d0a00fcabffb68af2202e
|
||||
|
||||
PKG_LICENSE:=GPL-2.0 BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=
|
||||
|
|
|
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
|||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||
PKG_SOURCE_DATE:=2023-10-19
|
||||
PKG_SOURCE_VERSION:=07c03173d4e6a30953f92fa88ed29b0b956c9106
|
||||
PKG_MIRROR_HASH:=fd770335f442ebfc0f4e28d94bb60d886c43aa239ab88e965be7c490b3283a82
|
||||
PKG_SOURCE_DATE:=2023-11-02
|
||||
PKG_SOURCE_VERSION:=cfb24ea4f12131dcefe4f1ede2f51d3d16b88dec
|
||||
PKG_MIRROR_HASH:=f515a23ab438f92be5788c42b9f614a82e670de2df1c01cd63143cdc77fa24fe
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
|
|
|
@ -162,7 +162,7 @@ my %update_method = (
|
|||
'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)",
|
||||
'post_update' => "git submodule update --init --recursive",
|
||||
'controldir' => ".git",
|
||||
'revision' => "git rev-parse --short HEAD | tr -d '\n'"},
|
||||
'revision' => "git rev-parse HEAD | tr -d '\n'"},
|
||||
'src-git-full' => {
|
||||
'init' => "git clone '%s' '%s'",
|
||||
'init_branch' => "git clone --branch '%s' '%s' '%s'",
|
||||
|
@ -171,12 +171,12 @@ my %update_method = (
|
|||
'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)",
|
||||
'post_update' => "git submodule update --init --recursive",
|
||||
'controldir' => ".git",
|
||||
'revision' => "git rev-parse --short HEAD | tr -d '\n'"},
|
||||
'revision' => "git rev-parse HEAD | tr -d '\n'"},
|
||||
'src-gitsvn' => {
|
||||
'init' => "git svn clone -r HEAD '%s' '%s'",
|
||||
'update' => "git svn rebase",
|
||||
'controldir' => ".git",
|
||||
'revision' => "git rev-parse --short HEAD | tr -d '\n'"},
|
||||
'revision' => "git rev-parse HEAD | tr -d '\n'"},
|
||||
'src-bzr' => {
|
||||
'init' => "bzr checkout --lightweight '%s' '%s'",
|
||||
'update' => "bzr update",
|
||||
|
|
|
@ -2,7 +2,7 @@ package metadata;
|
|||
use base 'Exporter';
|
||||
use strict;
|
||||
use warnings;
|
||||
our @EXPORT = qw(%package %vpackage %srcpackage %category %overrides clear_packages parse_package_metadata parse_target_metadata get_multiline @ignore %usernames %groupnames);
|
||||
our @EXPORT = qw(%package %vpackage %srcpackage %category %overrides clear_packages parse_package_metadata parse_package_manifest_metadata parse_target_metadata get_multiline @ignore %usernames %groupnames);
|
||||
|
||||
our %package;
|
||||
our %vpackage;
|
||||
|
@ -256,6 +256,8 @@ sub parse_package_metadata($) {
|
|||
/^Source: \s*(.+)\s*$/ and $pkg->{source} = $1;
|
||||
/^License: \s*(.+)\s*$/ and $pkg->{license} = $1;
|
||||
/^LicenseFiles: \s*(.+)\s*$/ and $pkg->{licensefiles} = $1;
|
||||
/^CPE-ID: \s*(.+)\s*$/ and $pkg->{cpe_id} = $1;
|
||||
/^ABI-Version: \s*(.+)\s*$/ and $pkg->{abi_version} = $1;
|
||||
/^Default: \s*(.+)\s*$/ and $pkg->{default} = $1;
|
||||
/^Provides: \s*(.+)\s*$/ and do {
|
||||
my @vpkg = split /\s+/, $1;
|
||||
|
@ -315,4 +317,42 @@ sub parse_package_metadata($) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
sub parse_package_manifest_metadata($) {
|
||||
my $file = shift;
|
||||
my $pkg;
|
||||
my %pkgs;
|
||||
|
||||
open FILE, "<$file" or do {
|
||||
warn "Cannot open '$file': $!\n";
|
||||
return undef;
|
||||
};
|
||||
|
||||
while (<FILE>) {
|
||||
chomp;
|
||||
/^Package:\s*(.+?)\s*$/ and do {
|
||||
$pkg = {};
|
||||
$pkg->{name} = $1;
|
||||
$pkg->{depends} = [];
|
||||
$pkgs{$1} = $pkg;
|
||||
};
|
||||
/^Version:\s*(.+)\s*$/ and $pkg->{version} = $1;
|
||||
/^Depends:\s*(.+)\s*$/ and $pkg->{depends} = [ split /\s+/, $1 ];
|
||||
/^Source:\s*(.+)\s*$/ and $pkg->{source} = $1;
|
||||
/^SourceName:\s*(.+)\s*$/ and $pkg->{sourcename} = $1;
|
||||
/^License:\s*(.+)\s*$/ and $pkg->{license} = $1;
|
||||
/^LicenseFiles:\s*(.+)\s*$/ and $pkg->{licensefiles} = $1;
|
||||
/^Section:\s*(.+)\s*$/ and $pkg->{section} = $1;
|
||||
/^SourceDateEpoch: \s*(.+)\s*$/ and $pkg->{sourcedateepoch} = $1;
|
||||
/^CPE-ID:\s*(.+)\s*$/ and $pkg->{cpe_id} = $1;
|
||||
/^Architecture:\s*(.+)\s*$/ and $pkg->{architecture} = $1;
|
||||
/^Installed-Size:\s*(.+)\s*$/ and $pkg->{installedsize} = $1;
|
||||
/^Filename:\s*(.+)\s*$/ and $pkg->{filename} = $1;
|
||||
/^Size:\s*(\d+)\s*$/ and $pkg->{size} = $1;
|
||||
/^SHA256sum:\s*(.*)\s*$/ and $pkg->{sha256sum} = $1;
|
||||
}
|
||||
|
||||
close FILE;
|
||||
return %pkgs;
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
@ -4,6 +4,8 @@ use lib "$FindBin::Bin";
|
|||
use strict;
|
||||
use metadata;
|
||||
use Getopt::Long;
|
||||
use Time::Piece;
|
||||
use JSON::PP;
|
||||
|
||||
my %board;
|
||||
|
||||
|
@ -611,6 +613,7 @@ ${json}{
|
|||
"version":"$pkg->{version}",
|
||||
"category":"$pkg->{category}",
|
||||
"license":"$pkg->{license}",
|
||||
"cpe_id":"$pkg->{cpe_id}",
|
||||
"maintainer": [$pkg_maintainer],
|
||||
"depends":[$pkg_deps]},
|
||||
END_JSON
|
||||
|
@ -621,6 +624,173 @@ END_JSON
|
|||
print "[$json]";
|
||||
}
|
||||
|
||||
sub image_manifest_packages($)
|
||||
{
|
||||
my %packages;
|
||||
my $imgmanifest = shift;
|
||||
|
||||
open FILE, "<$imgmanifest" or return;
|
||||
while (<FILE>) {
|
||||
/^(.+?) - (.+)$/ and $packages{$1} = $2;
|
||||
}
|
||||
close FILE;
|
||||
|
||||
return %packages;
|
||||
}
|
||||
|
||||
sub dump_cyclonedxsbom_json {
|
||||
my (@components) = @_;
|
||||
|
||||
my $uuid = sprintf(
|
||||
"%04x%04x-%04x-%04x-%04x-%04x%04x%04x",
|
||||
rand(0xffff), rand(0xffff), rand(0xffff),
|
||||
rand(0x0fff) | 0x4000,
|
||||
rand(0x3fff) | 0x8000,
|
||||
rand(0xffff), rand(0xffff), rand(0xffff)
|
||||
);
|
||||
|
||||
my $cyclonedx = {
|
||||
bomFormat => "CycloneDX",
|
||||
specVersion => "1.4",
|
||||
serialNumber => "urn:uuid:$uuid",
|
||||
version => 1,
|
||||
metadata => {
|
||||
timestamp => gmtime->datetime,
|
||||
},
|
||||
"components" => [@components],
|
||||
};
|
||||
|
||||
return encode_json($cyclonedx);
|
||||
}
|
||||
|
||||
sub gen_image_cyclonedxsbom() {
|
||||
my $pkginfo = shift @ARGV;
|
||||
my $imgmanifest = shift @ARGV;
|
||||
my @components;
|
||||
my %image_packages;
|
||||
|
||||
%image_packages = image_manifest_packages($imgmanifest);
|
||||
%image_packages or exit 1;
|
||||
parse_package_metadata($pkginfo) or exit 1;
|
||||
|
||||
$package{"kernel"} = {
|
||||
license => "GPL-2.0",
|
||||
cpe_id => "cpe:/o:linux:linux_kernel",
|
||||
name => "kernel",
|
||||
};
|
||||
|
||||
my %abimap;
|
||||
my @abipkgs = grep { defined $package{$_}->{abi_version} } keys %package;
|
||||
foreach my $name (@abipkgs) {
|
||||
my $pkg = $package{$name};
|
||||
my $abipkg = $name . $pkg->{abi_version};
|
||||
$abimap{$abipkg} = $name;
|
||||
}
|
||||
|
||||
foreach my $name (sort {uc($a) cmp uc($b)} keys %image_packages) {
|
||||
my $pkg = $package{$name};
|
||||
if (!$pkg) {
|
||||
$pkg = $package{$abimap{$name}};
|
||||
next if !$pkg;
|
||||
}
|
||||
|
||||
my @licenses;
|
||||
my @license = split(/\s+/, $pkg->{license});
|
||||
foreach my $lic (@license) {
|
||||
push @licenses, (
|
||||
{ "license" => { "name" => $lic } }
|
||||
);
|
||||
}
|
||||
my $type;
|
||||
if ($pkg->{category}) {
|
||||
my $category = $pkg->{category};
|
||||
my %cat_type = (
|
||||
"Firmware" => "firmware",
|
||||
"Libraries" => "library"
|
||||
);
|
||||
|
||||
if ($cat_type{$category}) {
|
||||
$type = $cat_type{$category};
|
||||
} else {
|
||||
$type = "application";
|
||||
}
|
||||
}
|
||||
|
||||
my $version = $pkg->{version};
|
||||
if ($image_packages{$name}) {
|
||||
$version = $image_packages{$name};
|
||||
}
|
||||
$version =~ s/-\d+$// if $version;
|
||||
if ($name =~ /^(kernel|kmod-)/ and $version =~ /^(\d+\.\d+\.\d+)/) {
|
||||
$version = $1;
|
||||
}
|
||||
|
||||
push @components, {
|
||||
name => $pkg->{name},
|
||||
version => $version,
|
||||
@licenses > 0 ? (licenses => [ @licenses ]) : (),
|
||||
$pkg->{cpe_id} ? (cpe => $pkg->{cpe_id}.":".$version) : (),
|
||||
$type ? (type => $type) : (),
|
||||
$version ? (version => $version) : (),
|
||||
};
|
||||
}
|
||||
|
||||
print dump_cyclonedxsbom_json(@components);
|
||||
}
|
||||
|
||||
sub gen_package_cyclonedxsbom() {
|
||||
my $pkgmanifest = shift @ARGV;
|
||||
my @components;
|
||||
my %mpkgs;
|
||||
|
||||
%mpkgs = parse_package_manifest_metadata($pkgmanifest);
|
||||
%mpkgs or exit 1;
|
||||
|
||||
foreach my $name (sort {uc($a) cmp uc($b)} keys %mpkgs) {
|
||||
my $pkg = $mpkgs{$name};
|
||||
|
||||
my @licenses;
|
||||
my @license = split(/\s+/, $pkg->{license});
|
||||
foreach my $lic (@license) {
|
||||
push @licenses, (
|
||||
{ "license" => { "name" => $lic } }
|
||||
);
|
||||
}
|
||||
|
||||
my $type;
|
||||
if ($pkg->{section}) {
|
||||
my $section = $pkg->{section};
|
||||
my %section_type = (
|
||||
"firmware" => "firmware",
|
||||
"libs" => "library"
|
||||
);
|
||||
|
||||
if ($section_type{$section}) {
|
||||
$type = $section_type{$section};
|
||||
} else {
|
||||
$type = "application";
|
||||
}
|
||||
}
|
||||
|
||||
my $version = $pkg->{version};
|
||||
$version =~ s/-\d+$// if $version;
|
||||
if ($name =~ /^(kernel|kmod-)/ and $version =~ /^(\d+\.\d+\.\d+)/) {
|
||||
$version = $1;
|
||||
}
|
||||
|
||||
push @components, {
|
||||
name => $name,
|
||||
version => $version,
|
||||
@licenses > 0 ? (licenses => [ @licenses ]) : (),
|
||||
$pkg->{cpe_id} ? (cpe => $pkg->{cpe_id}.":".$version) : (),
|
||||
$type ? (type => $type) : (),
|
||||
$version ? (version => $version) : (),
|
||||
};
|
||||
}
|
||||
|
||||
print dump_cyclonedxsbom_json(@components);
|
||||
}
|
||||
|
||||
sub parse_command() {
|
||||
GetOptions("ignore=s", \@ignore);
|
||||
my $cmd = shift @ARGV;
|
||||
|
@ -631,6 +801,8 @@ sub parse_command() {
|
|||
/^source$/ and return gen_package_source();
|
||||
/^pkgaux$/ and return gen_package_auxiliary();
|
||||
/^pkgmanifestjson$/ and return gen_package_manifest_json();
|
||||
/^imgcyclonedxsbom$/ and return gen_image_cyclonedxsbom();
|
||||
/^pkgcyclonedxsbom$/ and return gen_package_cyclonedxsbom();
|
||||
/^license$/ and return gen_package_license(0);
|
||||
/^licensefull$/ and return gen_package_license(1);
|
||||
/^usergroup$/ and return gen_usergroup_list();
|
||||
|
@ -638,15 +810,17 @@ sub parse_command() {
|
|||
}
|
||||
die <<EOF
|
||||
Available Commands:
|
||||
$0 mk [file] Package metadata in makefile format
|
||||
$0 config [file] Package metadata in Kconfig format
|
||||
$0 mk [file] Package metadata in makefile format
|
||||
$0 config [file] Package metadata in Kconfig format
|
||||
$0 kconfig [file] [config] [patchver] Kernel config overrides
|
||||
$0 source [file] Package source file information
|
||||
$0 pkgaux [file] Package auxiliary variables in makefile format
|
||||
$0 pkgmanifestjson [file] Package manifests in JSON format
|
||||
$0 license [file] Package license information
|
||||
$0 source [file] Package source file information
|
||||
$0 pkgaux [file] Package auxiliary variables in makefile format
|
||||
$0 pkgmanifestjson [file] Package manifests in JSON format
|
||||
$0 imgcyclonedxsbom <file> [manifest] Image package manifest in CycloneDX SBOM JSON format
|
||||
$0 pkgcyclonedxsbom <file> Package manifest in CycloneDX SBOM JSON format
|
||||
$0 license [file] Package license information
|
||||
$0 licensefull [file] Package license information (full list)
|
||||
$0 usergroup [file] Package usergroup allocation list
|
||||
$0 usergroup [file] Package usergroup allocation list
|
||||
$0 version_filter [patchver] [list...] Filter list of version tagged strings
|
||||
|
||||
Options:
|
||||
|
|
|
@ -25,23 +25,27 @@ Cc: Arınç ÜNAL <arinc.unal@arinc9.com>
|
|||
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Cc: Scott Branden <scott.branden@broadcom.com>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Acked-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
---
|
||||
drivers/nvmem/brcm_nvram.c | 130 +++++++++++++++++++++++++------------
|
||||
1 file changed, 90 insertions(+), 40 deletions(-)
|
||||
drivers/nvmem/brcm_nvram.c | 134 ++++++++++++++++++++++++++-----------
|
||||
1 file changed, 94 insertions(+), 40 deletions(-)
|
||||
|
||||
--- a/drivers/nvmem/brcm_nvram.c
|
||||
+++ b/drivers/nvmem/brcm_nvram.c
|
||||
@@ -17,9 +17,20 @@
|
||||
@@ -17,9 +17,23 @@
|
||||
|
||||
#define NVRAM_MAGIC "FLSH"
|
||||
|
||||
+/**
|
||||
+ * struct brcm_nvram - driver state internal struct
|
||||
+ *
|
||||
+ * @dev: NVMEM device pointer
|
||||
+ * @nvmem_size: Size of the whole space available for NVRAM
|
||||
+ * @data: NVRAM data copy stored to avoid poking underlaying flash controller
|
||||
+ * @data_len: NVRAM data size
|
||||
+ * @padding_byte: Padding value used to fill remaining space
|
||||
+ * @cells: Array of discovered NVMEM cells
|
||||
+ * @ncells: Number of elements in cells
|
||||
+ */
|
||||
struct brcm_nvram {
|
||||
struct device *dev;
|
||||
|
@ -53,7 +57,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
struct nvmem_cell_info *cells;
|
||||
int ncells;
|
||||
};
|
||||
@@ -36,10 +47,47 @@ static int brcm_nvram_read(void *context
|
||||
@@ -36,10 +50,47 @@ static int brcm_nvram_read(void *context
|
||||
size_t bytes)
|
||||
{
|
||||
struct brcm_nvram *priv = context;
|
||||
|
@ -104,7 +108,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -67,8 +115,13 @@ static int brcm_nvram_add_cells(struct b
|
||||
@@ -67,8 +118,13 @@ static int brcm_nvram_add_cells(struct b
|
||||
size_t len)
|
||||
{
|
||||
struct device *dev = priv->dev;
|
||||
|
@ -119,7 +123,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
|
||||
priv->ncells = 0;
|
||||
for (var = data + sizeof(struct brcm_nvram_header);
|
||||
@@ -78,67 +131,67 @@ static int brcm_nvram_add_cells(struct b
|
||||
@@ -78,67 +134,68 @@ static int brcm_nvram_add_cells(struct b
|
||||
}
|
||||
|
||||
priv->cells = devm_kcalloc(dev, priv->ncells, sizeof(*priv->cells), GFP_KERNEL);
|
||||
|
@ -204,7 +208,8 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
- return err;
|
||||
+ len = le32_to_cpu(header->len);
|
||||
+ if (len > priv->nvmem_size) {
|
||||
+ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len, priv->nvmem_size);
|
||||
+ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len,
|
||||
+ priv->nvmem_size);
|
||||
+ return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -215,7 +220,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -150,7 +203,6 @@ static int brcm_nvram_probe(struct platf
|
||||
@@ -150,7 +207,6 @@ static int brcm_nvram_probe(struct platf
|
||||
.reg_read = brcm_nvram_read,
|
||||
};
|
||||
struct device *dev = &pdev->dev;
|
||||
|
@ -223,7 +228,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
struct brcm_nvram *priv;
|
||||
int err;
|
||||
|
||||
@@ -159,21 +211,19 @@ static int brcm_nvram_probe(struct platf
|
||||
@@ -159,21 +215,19 @@ static int brcm_nvram_probe(struct platf
|
||||
return -ENOMEM;
|
||||
priv->dev = dev;
|
||||
|
|
@ -25,23 +25,27 @@ Cc: Arınç ÜNAL <arinc.unal@arinc9.com>
|
|||
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Cc: Scott Branden <scott.branden@broadcom.com>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Acked-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
---
|
||||
drivers/nvmem/brcm_nvram.c | 130 +++++++++++++++++++++++++------------
|
||||
1 file changed, 90 insertions(+), 40 deletions(-)
|
||||
drivers/nvmem/brcm_nvram.c | 134 ++++++++++++++++++++++++++-----------
|
||||
1 file changed, 94 insertions(+), 40 deletions(-)
|
||||
|
||||
--- a/drivers/nvmem/brcm_nvram.c
|
||||
+++ b/drivers/nvmem/brcm_nvram.c
|
||||
@@ -17,9 +17,20 @@
|
||||
@@ -17,9 +17,23 @@
|
||||
|
||||
#define NVRAM_MAGIC "FLSH"
|
||||
|
||||
+/**
|
||||
+ * struct brcm_nvram - driver state internal struct
|
||||
+ *
|
||||
+ * @dev: NVMEM device pointer
|
||||
+ * @nvmem_size: Size of the whole space available for NVRAM
|
||||
+ * @data: NVRAM data copy stored to avoid poking underlaying flash controller
|
||||
+ * @data_len: NVRAM data size
|
||||
+ * @padding_byte: Padding value used to fill remaining space
|
||||
+ * @cells: Array of discovered NVMEM cells
|
||||
+ * @ncells: Number of elements in cells
|
||||
+ */
|
||||
struct brcm_nvram {
|
||||
struct device *dev;
|
||||
|
@ -53,7 +57,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
struct nvmem_cell_info *cells;
|
||||
int ncells;
|
||||
};
|
||||
@@ -36,10 +47,47 @@ static int brcm_nvram_read(void *context
|
||||
@@ -36,10 +50,47 @@ static int brcm_nvram_read(void *context
|
||||
size_t bytes)
|
||||
{
|
||||
struct brcm_nvram *priv = context;
|
||||
|
@ -104,7 +108,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -67,8 +115,13 @@ static int brcm_nvram_add_cells(struct b
|
||||
@@ -67,8 +118,13 @@ static int brcm_nvram_add_cells(struct b
|
||||
size_t len)
|
||||
{
|
||||
struct device *dev = priv->dev;
|
||||
|
@ -119,7 +123,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
|
||||
priv->ncells = 0;
|
||||
for (var = data + sizeof(struct brcm_nvram_header);
|
||||
@@ -78,67 +131,67 @@ static int brcm_nvram_add_cells(struct b
|
||||
@@ -78,67 +134,68 @@ static int brcm_nvram_add_cells(struct b
|
||||
}
|
||||
|
||||
priv->cells = devm_kcalloc(dev, priv->ncells, sizeof(*priv->cells), GFP_KERNEL);
|
||||
|
@ -204,7 +208,8 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
- return err;
|
||||
+ len = le32_to_cpu(header->len);
|
||||
+ if (len > priv->nvmem_size) {
|
||||
+ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len, priv->nvmem_size);
|
||||
+ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len,
|
||||
+ priv->nvmem_size);
|
||||
+ return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -215,7 +220,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -150,7 +203,6 @@ static int brcm_nvram_probe(struct platf
|
||||
@@ -150,7 +207,6 @@ static int brcm_nvram_probe(struct platf
|
||||
.reg_read = brcm_nvram_read,
|
||||
};
|
||||
struct device *dev = &pdev->dev;
|
||||
|
@ -223,7 +228,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||
struct brcm_nvram *priv;
|
||||
int err;
|
||||
|
||||
@@ -159,21 +211,19 @@ static int brcm_nvram_probe(struct platf
|
||||
@@ -159,21 +215,19 @@ static int brcm_nvram_probe(struct platf
|
||||
return -ENOMEM;
|
||||
priv->dev = dev;
|
||||
|
|
@ -52,7 +52,6 @@ CONFIG_ARM_GIC_V3_ITS=y
|
|||
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||
# CONFIG_ARM_MHU_V2 is not set
|
||||
CONFIG_ARM_PSCI_CPUIDLE=y
|
||||
CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
# CONFIG_ARM_QCOM_CPUFREQ_HW is not set
|
||||
CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
|
||||
|
@ -135,7 +134,6 @@ CONFIG_DMA_ENGINE=y
|
|||
CONFIG_DMA_OF=y
|
||||
CONFIG_DMA_VIRTUAL_CHANNELS=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DT_IDLE_GENPD=y
|
||||
CONFIG_DT_IDLE_STATES=y
|
||||
CONFIG_EDAC_SUPPORT=y
|
||||
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
|
||||
|
@ -200,7 +198,7 @@ CONFIG_IPQ_APSS_PLL=y
|
|||
# CONFIG_IPQ_GCC_4019 is not set
|
||||
# CONFIG_IPQ_GCC_6018 is not set
|
||||
# CONFIG_IPQ_GCC_806X is not set
|
||||
CONFIG_IPQ_GCC_8074=y
|
||||
# CONFIG_IPQ_GCC_8074 is not set
|
||||
# CONFIG_IPQ_LCC_806X is not set
|
||||
CONFIG_IRQCHIP=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
|
@ -223,9 +221,7 @@ CONFIG_MDIO_IPQ4019=y
|
|||
# CONFIG_MDM_GCC_9615 is not set
|
||||
# CONFIG_MDM_LCC_9615 is not set
|
||||
CONFIG_MEMFD_CREATE=y
|
||||
# CONFIG_MFD_HI6421_SPMI is not set
|
||||
# CONFIG_MFD_QCOM_RPM is not set
|
||||
CONFIG_MFD_SPMI_PMIC=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MMC=y
|
||||
|
@ -279,7 +275,6 @@ CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
|||
CONFIG_NVMEM=y
|
||||
CONFIG_NVMEM_QCOM_QFPROM=y
|
||||
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
|
||||
# CONFIG_NVMEM_SPMI_SDAM is not set
|
||||
CONFIG_NVMEM_SYSFS=y
|
||||
CONFIG_NVMEM_U_BOOT_ENV=y
|
||||
CONFIG_OF=y
|
||||
|
@ -327,7 +322,7 @@ CONFIG_PHY_QCOM_QUSB2=y
|
|||
# CONFIG_PHY_QCOM_USB_SS is not set
|
||||
CONFIG_PINCTRL=y
|
||||
# CONFIG_PINCTRL_IPQ6018 is not set
|
||||
CONFIG_PINCTRL_IPQ8074=y
|
||||
# CONFIG_PINCTRL_IPQ8074 is not set
|
||||
CONFIG_PINCTRL_MSM=y
|
||||
# CONFIG_PINCTRL_MSM8916 is not set
|
||||
# CONFIG_PINCTRL_MSM8976 is not set
|
||||
|
@ -335,7 +330,6 @@ CONFIG_PINCTRL_MSM=y
|
|||
# CONFIG_PINCTRL_MSM8996 is not set
|
||||
# CONFIG_PINCTRL_MSM8998 is not set
|
||||
# CONFIG_PINCTRL_QCM2290 is not set
|
||||
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
||||
# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set
|
||||
# CONFIG_PINCTRL_QCS404 is not set
|
||||
# CONFIG_PINCTRL_SC7180 is not set
|
||||
|
@ -348,15 +342,11 @@ CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
|||
# CONFIG_PINCTRL_SM8250 is not set
|
||||
# CONFIG_PINCTRL_SM8450 is not set
|
||||
CONFIG_PM=y
|
||||
# CONFIG_PM8916_WATCHDOG is not set
|
||||
CONFIG_PM_CLK=y
|
||||
CONFIG_PM_GENERIC_DOMAINS=y
|
||||
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
||||
CONFIG_PM_OPP=y
|
||||
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
|
||||
CONFIG_POWER_RESET=y
|
||||
# CONFIG_POWER_RESET_MSM is not set
|
||||
# CONFIG_POWER_RESET_QCOM_PON is not set
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_PREEMPT_NONE_BUILD=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
|
@ -366,18 +356,16 @@ CONFIG_PTP_1588_CLOCK_OPTIONAL=y
|
|||
# CONFIG_QCOM_A53PLL is not set
|
||||
# CONFIG_QCOM_AOSS_QMP is not set
|
||||
CONFIG_QCOM_APCS_IPC=y
|
||||
CONFIG_QCOM_APM=y
|
||||
# CONFIG_QCOM_APM is not set
|
||||
# CONFIG_QCOM_APR is not set
|
||||
CONFIG_QCOM_BAM_DMA=y
|
||||
# CONFIG_QCOM_CLK_APCC_MSM8996 is not set
|
||||
# CONFIG_QCOM_CLK_APCS_MSM8916 is not set
|
||||
# CONFIG_QCOM_CLK_APCS_SDX55 is not set
|
||||
# CONFIG_QCOM_COINCELL is not set
|
||||
# CONFIG_QCOM_COMMAND_DB is not set
|
||||
# CONFIG_QCOM_CPR is not set
|
||||
# CONFIG_QCOM_EBI2 is not set
|
||||
# CONFIG_QCOM_FASTRPC is not set
|
||||
CONFIG_QCOM_GDSC=y
|
||||
# CONFIG_QCOM_GENI_SE is not set
|
||||
# CONFIG_QCOM_GSBI is not set
|
||||
# CONFIG_QCOM_HFPLL is not set
|
||||
|
@ -406,12 +394,9 @@ CONFIG_QCOM_SMP2P=y
|
|||
# CONFIG_QCOM_SMSM is not set
|
||||
CONFIG_QCOM_SOCINFO=y
|
||||
# CONFIG_QCOM_SPM is not set
|
||||
CONFIG_QCOM_SPMI_ADC5=y
|
||||
# CONFIG_QCOM_SPMI_RRADC is not set
|
||||
# CONFIG_QCOM_STATS is not set
|
||||
# CONFIG_QCOM_SYSMON is not set
|
||||
CONFIG_QCOM_TSENS=y
|
||||
CONFIG_QCOM_VADC_COMMON=y
|
||||
# CONFIG_QCOM_WCNSS_CTRL is not set
|
||||
# CONFIG_QCOM_WCNSS_PIL is not set
|
||||
CONFIG_QCOM_WDT=y
|
||||
|
@ -425,15 +410,9 @@ CONFIG_RAS=y
|
|||
CONFIG_RATIONAL=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_MMIO=y
|
||||
CONFIG_REGMAP_SPMI=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_CPR3=y
|
||||
# CONFIG_REGULATOR_CPR3_NPU is not set
|
||||
CONFIG_REGULATOR_CPR4_APSS=y
|
||||
# CONFIG_REGULATOR_CPR3 is not set
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
# CONFIG_REGULATOR_QCOM_LABIBB is not set
|
||||
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
|
||||
# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
|
||||
CONFIG_RELOCATABLE=y
|
||||
CONFIG_REMOTEPROC=y
|
||||
|
@ -454,7 +433,6 @@ CONFIG_RPMSG_QCOM_SMD=y
|
|||
# CONFIG_RPMSG_TTY is not set
|
||||
CONFIG_RPS=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PM8XXX=y
|
||||
CONFIG_RTC_I2C_AND_SPI=y
|
||||
CONFIG_RWSEM_SPIN_ON_OWNER=y
|
||||
# CONFIG_SCHED_CORE is not set
|
||||
|
@ -512,10 +490,6 @@ CONFIG_SPI=y
|
|||
CONFIG_SPI_MASTER=y
|
||||
CONFIG_SPI_MEM=y
|
||||
CONFIG_SPI_QUP=y
|
||||
CONFIG_SPMI=y
|
||||
# CONFIG_SPMI_HISI3670 is not set
|
||||
CONFIG_SPMI_MSM_PMIC_ARB=y
|
||||
# CONFIG_SPMI_PMIC_CLKDIV is not set
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_SWPHY=y
|
||||
|
|
30
target/linux/qualcommax/ipq807x/config-default
Normal file
30
target/linux/qualcommax/ipq807x/config-default
Normal file
|
@ -0,0 +1,30 @@
|
|||
CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
|
||||
CONFIG_DT_IDLE_GENPD=y
|
||||
CONFIG_IPQ_GCC_8074=y
|
||||
# CONFIG_MFD_HI6421_SPMI is not set
|
||||
CONFIG_MFD_SPMI_PMIC=y
|
||||
# CONFIG_NVMEM_SPMI_SDAM is not set
|
||||
CONFIG_PINCTRL_IPQ8074=y
|
||||
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
||||
# CONFIG_PM8916_WATCHDOG is not set
|
||||
CONFIG_PM_GENERIC_DOMAINS=y
|
||||
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
||||
# CONFIG_POWER_RESET_QCOM_PON is not set
|
||||
CONFIG_QCOM_APM=y
|
||||
# CONFIG_QCOM_COINCELL is not set
|
||||
CONFIG_QCOM_GDSC=y
|
||||
CONFIG_QCOM_SPMI_ADC5=y
|
||||
# CONFIG_QCOM_SPMI_RRADC is not set
|
||||
CONFIG_QCOM_VADC_COMMON=y
|
||||
CONFIG_REGMAP_SPMI=y
|
||||
CONFIG_REGULATOR_CPR3=y
|
||||
# CONFIG_REGULATOR_CPR3_NPU is not set
|
||||
CONFIG_REGULATOR_CPR4_APSS=y
|
||||
# CONFIG_REGULATOR_QCOM_LABIBB is not set
|
||||
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
|
||||
CONFIG_RTC_DRV_PM8XXX=y
|
||||
CONFIG_SPMI=y
|
||||
# CONFIG_SPMI_HISI3670 is not set
|
||||
CONFIG_SPMI_MSM_PMIC_ARB=y
|
||||
# CONFIG_SPMI_PMIC_CLKDIV is not set
|
|
@ -23,7 +23,7 @@ ifeq ($(HOST_OS),Darwin)
|
|||
HOST_CFLAGS += -I/opt/homebrew/include
|
||||
endif
|
||||
|
||||
HOST_CFLAGS += -Wno-error
|
||||
HOST_CFLAGS += -Wno-error -fPIC
|
||||
|
||||
HOST_CONFIGURE_ARGS += \
|
||||
--without-libintl-prefix \
|
||||
|
@ -34,6 +34,7 @@ HOST_CONFIGURE_ARGS += \
|
|||
--disable-shared \
|
||||
--enable-static \
|
||||
--without-lzma \
|
||||
--without-bzlib \
|
||||
--without-zstd
|
||||
|
||||
ifeq ($(HOST_OS),Darwin)
|
||||
|
|
|
@ -291,7 +291,7 @@
|
|||
case DW_TAG_rvalue_reference_type
|
||||
|
||||
+#define auxv_info_alias(arch) \
|
||||
+ int EBLHOOK_1(arch, auxv_info) (GElf_Xword a_type, const char **name, const char **format) \
|
||||
+ int EBLHOOK_1(arch ## _, auxv_info) (GElf_Xword a_type, const char **name, const char **format) \
|
||||
+ { \
|
||||
+ return EBLHOOK(auxv_info)(a_type, name, format); \
|
||||
+ }
|
||||
|
|
|
@ -10,15 +10,20 @@
|
|||
#define _ASM_GENERIC_INT_LL64_H
|
||||
|
||||
typedef __signed__ char __s8;
|
||||
typedef unsigned char __u8;
|
||||
|
||||
typedef __signed__ short __s16;
|
||||
typedef unsigned short __u16;
|
||||
|
||||
typedef __signed__ int __s32;
|
||||
typedef unsigned int __u32;
|
||||
|
||||
#ifdef __GNUC__
|
||||
__extension__ typedef __signed__ long long __s64;
|
||||
__extension__ typedef unsigned long long __u64;
|
||||
#else
|
||||
typedef __signed__ long long __s64;
|
||||
typedef unsigned long long __u64;
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_GENERIC_INT_LL64_H */
|
||||
|
|
Loading…
Reference in a new issue